Merge "Control all transition alpha with TransitionViewModels" into main
diff --git a/apex/jobscheduler/framework/java/android/app/job/JobInfo.java b/apex/jobscheduler/framework/java/android/app/job/JobInfo.java
index 7de6799..60eb4ac 100644
--- a/apex/jobscheduler/framework/java/android/app/job/JobInfo.java
+++ b/apex/jobscheduler/framework/java/android/app/job/JobInfo.java
@@ -124,6 +124,15 @@
@Overridable // Aid in testing
public static final long ENFORCE_MINIMUM_TIME_WINDOWS = 311402873L;
+ /**
+ * Require that minimum latencies and override deadlines are nonnegative.
+ *
+ * @hide
+ */
+ @ChangeId
+ @EnabledAfter(targetSdkVersion = Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
+ public static final long REJECT_NEGATIVE_DELAYS_AND_DEADLINES = 323349338L;
+
/** @hide */
@IntDef(prefix = { "NETWORK_TYPE_" }, value = {
NETWORK_TYPE_NONE,
@@ -692,14 +701,14 @@
* @see JobInfo.Builder#setMinimumLatency(long)
*/
public long getMinLatencyMillis() {
- return minLatencyMillis;
+ return Math.max(0, minLatencyMillis);
}
/**
* @see JobInfo.Builder#setOverrideDeadline(long)
*/
public long getMaxExecutionDelayMillis() {
- return maxExecutionDelayMillis;
+ return Math.max(0, maxExecutionDelayMillis);
}
/**
@@ -1869,6 +1878,13 @@
* Because it doesn't make sense setting this property on a periodic job, doing so will
* throw an {@link java.lang.IllegalArgumentException} when
* {@link android.app.job.JobInfo.Builder#build()} is called.
+ *
+ * Negative latencies also don't make sense for a job and are indicative of an error,
+ * so starting in Android version {@link android.os.Build.VERSION_CODES#VANILLA_ICE_CREAM},
+ * setting a negative deadline will result in
+ * {@link android.app.job.JobInfo.Builder#build()} throwing an
+ * {@link java.lang.IllegalArgumentException}.
+ *
* @param minLatencyMillis Milliseconds before which this job will not be considered for
* execution.
* @see JobInfo#getMinLatencyMillis()
@@ -1892,6 +1908,13 @@
* throw an {@link java.lang.IllegalArgumentException} when
* {@link android.app.job.JobInfo.Builder#build()} is called.
*
+ * <p>
+ * Negative deadlines also don't make sense for a job and are indicative of an error,
+ * so starting in Android version {@link android.os.Build.VERSION_CODES#VANILLA_ICE_CREAM},
+ * setting a negative deadline will result in
+ * {@link android.app.job.JobInfo.Builder#build()} throwing an
+ * {@link java.lang.IllegalArgumentException}.
+ *
* <p class="note">
* Since a job will run once the deadline has passed regardless of the status of other
* constraints, setting a deadline of 0 (or a {@link #setMinimumLatency(long) delay} equal
@@ -2189,13 +2212,15 @@
public JobInfo build() {
return build(Compatibility.isChangeEnabled(DISALLOW_DEADLINES_FOR_PREFETCH_JOBS),
Compatibility.isChangeEnabled(REJECT_NEGATIVE_NETWORK_ESTIMATES),
- Compatibility.isChangeEnabled(ENFORCE_MINIMUM_TIME_WINDOWS));
+ Compatibility.isChangeEnabled(ENFORCE_MINIMUM_TIME_WINDOWS),
+ Compatibility.isChangeEnabled(REJECT_NEGATIVE_DELAYS_AND_DEADLINES));
}
/** @hide */
public JobInfo build(boolean disallowPrefetchDeadlines,
boolean rejectNegativeNetworkEstimates,
- boolean enforceMinimumTimeWindows) {
+ boolean enforceMinimumTimeWindows,
+ boolean rejectNegativeDelaysAndDeadlines) {
// This check doesn't need to be inside enforceValidity. It's an unnecessary legacy
// check that would ideally be phased out instead.
if (mBackoffPolicySet && (mConstraintFlags & CONSTRAINT_FLAG_DEVICE_IDLE) != 0) {
@@ -2205,7 +2230,7 @@
}
JobInfo jobInfo = new JobInfo(this);
jobInfo.enforceValidity(disallowPrefetchDeadlines, rejectNegativeNetworkEstimates,
- enforceMinimumTimeWindows);
+ enforceMinimumTimeWindows, rejectNegativeDelaysAndDeadlines);
return jobInfo;
}
@@ -2225,7 +2250,8 @@
*/
public final void enforceValidity(boolean disallowPrefetchDeadlines,
boolean rejectNegativeNetworkEstimates,
- boolean enforceMinimumTimeWindows) {
+ boolean enforceMinimumTimeWindows,
+ boolean rejectNegativeDelaysAndDeadlines) {
// Check that network estimates require network type and are reasonable values.
if ((networkDownloadBytes > 0 || networkUploadBytes > 0 || minimumNetworkChunkBytes > 0)
&& networkRequest == null) {
@@ -2259,6 +2285,17 @@
throw new IllegalArgumentException("Minimum chunk size must be positive");
}
+ if (rejectNegativeDelaysAndDeadlines) {
+ if (minLatencyMillis < 0) {
+ throw new IllegalArgumentException(
+ "Minimum latency is negative: " + minLatencyMillis);
+ }
+ if (maxExecutionDelayMillis < 0) {
+ throw new IllegalArgumentException(
+ "Override deadline is negative: " + maxExecutionDelayMillis);
+ }
+ }
+
final boolean hasDeadline = maxExecutionDelayMillis != 0L;
// Check that a deadline was not set on a periodic job.
if (isPeriodic) {
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 a83c099..f819f15 100644
--- a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java
+++ b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java
@@ -4850,7 +4850,7 @@
Slog.w(TAG, "Uid " + uid + " set bias on its job");
return new JobInfo.Builder(job)
.setBias(JobInfo.BIAS_DEFAULT)
- .build(false, false, false);
+ .build(false, false, false, false);
}
}
@@ -4874,7 +4874,9 @@
JobInfo.DISALLOW_DEADLINES_FOR_PREFETCH_JOBS, callingUid),
rejectNegativeNetworkEstimates,
CompatChanges.isChangeEnabled(
- JobInfo.ENFORCE_MINIMUM_TIME_WINDOWS, callingUid));
+ JobInfo.ENFORCE_MINIMUM_TIME_WINDOWS, callingUid),
+ CompatChanges.isChangeEnabled(
+ JobInfo.REJECT_NEGATIVE_DELAYS_AND_DEADLINES, callingUid));
if ((job.getFlags() & JobInfo.FLAG_WILL_BE_FOREGROUND) != 0) {
getContext().enforceCallingOrSelfPermission(
android.Manifest.permission.CONNECTIVITY_INTERNAL, TAG);
diff --git a/apex/jobscheduler/service/java/com/android/server/job/JobStore.java b/apex/jobscheduler/service/java/com/android/server/job/JobStore.java
index 53b14d6..d8934d8 100644
--- a/apex/jobscheduler/service/java/com/android/server/job/JobStore.java
+++ b/apex/jobscheduler/service/java/com/android/server/job/JobStore.java
@@ -1495,7 +1495,7 @@
// return value), the deadline is dropped. Periodic jobs require all constraints
// to be met, so there's no issue with their deadlines.
// The same logic applies for other target SDK-based validation checks.
- builtJob = jobBuilder.build(false, false, false);
+ builtJob = jobBuilder.build(false, false, false, false);
} catch (Exception e) {
Slog.w(TAG, "Unable to build job from XML, ignoring: " + jobBuilder.summarize(), e);
return null;
diff --git a/apex/jobscheduler/service/java/com/android/server/job/controllers/JobStatus.java b/apex/jobscheduler/service/java/com/android/server/job/controllers/JobStatus.java
index a0b9c5f..edd86e3 100644
--- a/apex/jobscheduler/service/java/com/android/server/job/controllers/JobStatus.java
+++ b/apex/jobscheduler/service/java/com/android/server/job/controllers/JobStatus.java
@@ -652,7 +652,7 @@
.build());
// Don't perform validation checks at this point since we've already passed the
// initial validation check.
- job = builder.build(false, false, false);
+ job = builder.build(false, false, false, false);
}
this.job = job;
diff --git a/api/StubLibraries.bp b/api/StubLibraries.bp
index 852abdf..1f5b83c 100644
--- a/api/StubLibraries.bp
+++ b/api/StubLibraries.bp
@@ -225,6 +225,7 @@
java_version: "1.8",
compile_dex: true,
visibility: ["//visibility:public"],
+ is_stubs_module: true,
}
java_defaults {
@@ -233,6 +234,7 @@
system_modules: "none",
java_version: "1.8",
compile_dex: true,
+ is_stubs_module: true,
}
java_defaults {
@@ -716,6 +718,7 @@
// with its own package-private android.annotation.Nullable.
"private-stub-annotations-jar",
],
+ is_stubs_module: true,
}
java_genrule {
@@ -732,6 +735,10 @@
system_modules: "none",
static_libs: ["android_stubs_private_hjar"],
dist: {
+ // Add to private_api_stubs dist target for easier packaging by scripts. This module is
+ // useful for creating a platform SDK, which can be packaged in ANDROID_HOME and used from
+ // Gradle, allowing for development of platform apps that make use of hidden APIs.
+ targets: ["private_api_stubs"],
dir: "apistubs/android/private",
},
}
@@ -749,7 +756,12 @@
"done && " +
"sort -u $(genDir)/framework.aidl.merged > $(out)",
dist: {
- targets: ["sdk"],
+ targets: [
+ "sdk",
+ // Add to private_api_stubs dist target for easier packaging by scripts.
+ // See explanation in the "android_stubs_private" module above.
+ "private_api_stubs",
+ ],
dir: "apistubs/android/private",
},
}
@@ -770,6 +782,7 @@
// annotations found, thus should exist inside android.jar.
"private-stub-annotations-jar",
],
+ is_stubs_module: true,
}
// Listing of API domains contribution and dependencies per API surfaces
diff --git a/api/api.go b/api/api.go
index c733f5b..b31a26c 100644
--- a/api/api.go
+++ b/api/api.go
@@ -79,7 +79,45 @@
var PrepareForCombinedApisTest = android.FixtureRegisterWithContext(registerBuildComponents)
+func (a *CombinedApis) apiFingerprintStubDeps() []string {
+ ret := []string{}
+ ret = append(
+ ret,
+ transformArray(a.properties.Bootclasspath, "", ".stubs")...,
+ )
+ ret = append(
+ ret,
+ transformArray(a.properties.Bootclasspath, "", ".stubs.system")...,
+ )
+ ret = append(
+ ret,
+ transformArray(a.properties.Bootclasspath, "", ".stubs.module_lib")...,
+ )
+ ret = append(
+ ret,
+ transformArray(a.properties.System_server_classpath, "", ".stubs.system_server")...,
+ )
+ return ret
+}
+
+func (a *CombinedApis) DepsMutator(ctx android.BottomUpMutatorContext) {
+ ctx.AddDependency(ctx.Module(), nil, a.apiFingerprintStubDeps()...)
+}
+
func (a *CombinedApis) GenerateAndroidBuildActions(ctx android.ModuleContext) {
+ ctx.WalkDeps(func(child, parent android.Module) bool {
+ if _, ok := child.(java.AndroidLibraryDependency); ok && child.Name() != "framework-res" {
+ // Stubs of BCP and SSCP libraries should not have any dependencies on apps
+ // This check ensures that we do not run into circular dependencies when UNBUNDLED_BUILD_TARGET_SDK_WITH_API_FINGERPRINT=true
+ ctx.ModuleErrorf(
+ "Module %s is not a valid dependency of the stub library %s\n."+
+ "If this dependency has been added via `libs` of java_sdk_library, please move it to `impl_only_libs`\n",
+ child.Name(), parent.Name())
+ return false // error detected
+ }
+ return true
+ })
+
}
type genruleProps struct {
@@ -93,11 +131,12 @@
}
type libraryProps struct {
- Name *string
- Sdk_version *string
- Static_libs []string
- Visibility []string
- Defaults []string
+ Name *string
+ Sdk_version *string
+ Static_libs []string
+ Visibility []string
+ Defaults []string
+ Is_stubs_module *bool
}
type fgProps struct {
@@ -203,6 +242,7 @@
props.Static_libs = transformArray(modules, "", ".stubs")
props.Sdk_version = proptools.StringPtr("module_current")
props.Visibility = []string{"//frameworks/base"}
+ props.Is_stubs_module = proptools.BoolPtr(true)
ctx.CreateModule(java.LibraryFactory, &props)
}
@@ -212,6 +252,7 @@
props.Static_libs = transformArray(modules, "", ".stubs.exportable")
props.Sdk_version = proptools.StringPtr("module_current")
props.Visibility = []string{"//frameworks/base"}
+ props.Is_stubs_module = proptools.BoolPtr(true)
ctx.CreateModule(java.LibraryFactory, &props)
}
@@ -224,6 +265,7 @@
props.Static_libs = transformArray(updatable_modules, "", ".stubs.system")
props.Sdk_version = proptools.StringPtr("module_current")
props.Visibility = []string{"//frameworks/base"}
+ props.Is_stubs_module = proptools.BoolPtr(true)
ctx.CreateModule(java.LibraryFactory, &props)
}
// Now merge all-updatable-modules-system-stubs and stubs from non-updatable modules
@@ -235,6 +277,7 @@
props.Static_libs = append(props.Static_libs, "all-updatable-modules-system-stubs")
props.Sdk_version = proptools.StringPtr("module_current")
props.Visibility = []string{"//frameworks/base"}
+ props.Is_stubs_module = proptools.BoolPtr(true)
ctx.CreateModule(java.LibraryFactory, &props)
}
}
@@ -248,6 +291,7 @@
props.Static_libs = transformArray(updatable_modules, "", ".stubs.exportable.system")
props.Sdk_version = proptools.StringPtr("module_current")
props.Visibility = []string{"//frameworks/base"}
+ props.Is_stubs_module = proptools.BoolPtr(true)
ctx.CreateModule(java.LibraryFactory, &props)
}
// Now merge all-updatable-modules-system-stubs and stubs from non-updatable modules
@@ -259,6 +303,7 @@
props.Static_libs = append(props.Static_libs, "all-updatable-modules-system-stubs-exportable")
props.Sdk_version = proptools.StringPtr("module_current")
props.Visibility = []string{"//frameworks/base"}
+ props.Is_stubs_module = proptools.BoolPtr(true)
ctx.CreateModule(java.LibraryFactory, &props)
}
}
@@ -269,6 +314,7 @@
props.Static_libs = transformArray(non_updatable_modules, "", ".stubs.test")
props.Sdk_version = proptools.StringPtr("module_current")
props.Visibility = []string{"//frameworks/base"}
+ props.Is_stubs_module = proptools.BoolPtr(true)
ctx.CreateModule(java.LibraryFactory, &props)
}
@@ -278,6 +324,7 @@
props.Static_libs = transformArray(non_updatable_modules, "", ".stubs.exportable.test")
props.Sdk_version = proptools.StringPtr("module_current")
props.Visibility = []string{"//frameworks/base"}
+ props.Is_stubs_module = proptools.BoolPtr(true)
ctx.CreateModule(java.LibraryFactory, &props)
}
@@ -321,6 +368,7 @@
props.Static_libs = transformArray(modules, "", ".stubs.exportable.module_lib")
props.Sdk_version = proptools.StringPtr("module_current")
props.Visibility = []string{"//frameworks/base"}
+ props.Is_stubs_module = proptools.BoolPtr(true)
ctx.CreateModule(java.LibraryFactory, &props)
}
@@ -334,6 +382,7 @@
props.Static_libs = transformArray(modules, "", ".stubs.module_lib")
props.Sdk_version = proptools.StringPtr("module_current")
props.Visibility = []string{"//frameworks/base"}
+ props.Is_stubs_module = proptools.BoolPtr(true)
ctx.CreateModule(java.LibraryFactory, &props)
}
@@ -434,6 +483,7 @@
props.Static_libs = []string{staticLib}
props.Defaults = []string{"android.jar_defaults"}
props.Visibility = []string{"//visibility:public"}
+ props.Is_stubs_module = proptools.BoolPtr(true)
ctx.CreateModule(java.LibraryFactory, &props)
}
@@ -455,6 +505,7 @@
props.Static_libs = []string{staticLib}
props.Defaults = []string{"android.jar_defaults"}
props.Visibility = []string{"//visibility:public"}
+ props.Is_stubs_module = proptools.BoolPtr(true)
ctx.CreateModule(java.LibraryFactory, &props)
}
diff --git a/cmds/uinput/README.md b/cmds/uinput/README.md
index b6e4e0d..f177586 100644
--- a/cmds/uinput/README.md
+++ b/cmds/uinput/README.md
@@ -154,7 +154,8 @@
#### `delay`
-Add a delay to command processing
+Add a delay between the processing of commands. The delay will be timed from when the last delay
+ended, rather than from the current time, to allow for more precise timings to be produced.
| Field | Type | Description |
|:-------------:|:-------------:|:-------------------------- |
diff --git a/cmds/uinput/jni/com_android_commands_uinput_Device.cpp b/cmds/uinput/jni/com_android_commands_uinput_Device.cpp
index a78a465..bd61000 100644
--- a/cmds/uinput/jni/com_android_commands_uinput_Device.cpp
+++ b/cmds/uinput/jni/com_android_commands_uinput_Device.cpp
@@ -166,14 +166,14 @@
::ioctl(mFd, UI_DEV_DESTROY);
}
-void UinputDevice::injectEvent(uint16_t type, uint16_t code, int32_t value) {
+void UinputDevice::injectEvent(std::chrono::microseconds timestamp, uint16_t type, uint16_t code,
+ int32_t value) {
struct input_event event = {};
event.type = type;
event.code = code;
event.value = value;
- timespec ts;
- clock_gettime(CLOCK_MONOTONIC, &ts);
- TIMESPEC_TO_TIMEVAL(&event.time, &ts);
+ event.time.tv_sec = timestamp.count() / 1'000'000;
+ event.time.tv_usec = timestamp.count() % 1'000'000;
if (::write(mFd, &event, sizeof(input_event)) < 0) {
ALOGE("Could not write event %" PRIu16 " %" PRIu16 " with value %" PRId32 " : %s", type,
@@ -268,12 +268,12 @@
}
}
-static void injectEvent(JNIEnv* /* env */, jclass /* clazz */, jlong ptr, jint type, jint code,
- jint value) {
+static void injectEvent(JNIEnv* /* env */, jclass /* clazz */, jlong ptr, jlong timestampMicros,
+ jint type, jint code, jint value) {
uinput::UinputDevice* d = reinterpret_cast<uinput::UinputDevice*>(ptr);
if (d != nullptr) {
- d->injectEvent(static_cast<uint16_t>(type), static_cast<uint16_t>(code),
- static_cast<int32_t>(value));
+ d->injectEvent(std::chrono::microseconds(timestampMicros), static_cast<uint16_t>(type),
+ static_cast<uint16_t>(code), static_cast<int32_t>(value));
} else {
ALOGE("Could not inject event, Device* is null!");
}
@@ -330,7 +330,7 @@
"(Ljava/lang/String;IIIIIILjava/lang/String;"
"Lcom/android/commands/uinput/Device$DeviceCallback;)J",
reinterpret_cast<void*>(openUinputDevice)},
- {"nativeInjectEvent", "(JIII)V", reinterpret_cast<void*>(injectEvent)},
+ {"nativeInjectEvent", "(JJIII)V", reinterpret_cast<void*>(injectEvent)},
{"nativeConfigure", "(II[I)V", reinterpret_cast<void*>(configure)},
{"nativeSetAbsInfo", "(IILandroid/os/Parcel;)V", reinterpret_cast<void*>(setAbsInfo)},
{"nativeCloseUinputDevice", "(J)V", reinterpret_cast<void*>(closeUinputDevice)},
diff --git a/cmds/uinput/jni/com_android_commands_uinput_Device.h b/cmds/uinput/jni/com_android_commands_uinput_Device.h
index 9769a75..72c8647 100644
--- a/cmds/uinput/jni/com_android_commands_uinput_Device.h
+++ b/cmds/uinput/jni/com_android_commands_uinput_Device.h
@@ -14,13 +14,14 @@
* limitations under the License.
*/
-#include <memory>
-#include <vector>
-
+#include <android-base/unique_fd.h>
#include <jni.h>
#include <linux/input.h>
-#include <android-base/unique_fd.h>
+#include <chrono>
+#include <memory>
+#include <vector>
+
#include "src/com/android/commands/uinput/InputAbsInfo.h"
namespace android {
@@ -53,7 +54,8 @@
virtual ~UinputDevice();
- void injectEvent(uint16_t type, uint16_t code, int32_t value);
+ void injectEvent(std::chrono::microseconds timestamp, uint16_t type, uint16_t code,
+ int32_t value);
int handleEvents(int events);
private:
diff --git a/cmds/uinput/src/com/android/commands/uinput/Device.java b/cmds/uinput/src/com/android/commands/uinput/Device.java
index 25d3a34..b452fc7 100644
--- a/cmds/uinput/src/com/android/commands/uinput/Device.java
+++ b/cmds/uinput/src/com/android/commands/uinput/Device.java
@@ -55,7 +55,7 @@
private final SparseArray<InputAbsInfo> mAbsInfo;
private final OutputStream mOutputStream;
private final Object mCond = new Object();
- private long mTimeToSend;
+ private long mTimeToSendNanos;
static {
System.loadLibrary("uinputcommand_jni");
@@ -65,7 +65,8 @@
int productId, int versionId, int bus, int ffEffectsMax, String port,
DeviceCallback callback);
private static native void nativeCloseUinputDevice(long ptr);
- private static native void nativeInjectEvent(long ptr, int type, int code, int value);
+ private static native void nativeInjectEvent(long ptr, long timestampMicros, int type, int code,
+ int value);
private static native void nativeConfigure(int handle, int code, int[] configs);
private static native void nativeSetAbsInfo(int handle, int axisCode, Parcel axisParcel);
private static native int nativeGetEvdevEventTypeByLabel(String label);
@@ -101,27 +102,54 @@
}
mHandler.obtainMessage(MSG_OPEN_UINPUT_DEVICE, args).sendToTarget();
- mTimeToSend = SystemClock.uptimeMillis();
+ mTimeToSendNanos = SystemClock.uptimeNanos();
+ }
+
+ private long getTimeToSendMillis() {
+ // Since we can only specify delays in milliseconds but evemu timestamps are in
+ // microseconds, we have to round up the delays to avoid setting event timestamps
+ // which are in the future (which the kernel would silently reject and replace with
+ // the current time).
+ //
+ // This should be the same as (long) Math.ceil(mTimeToSendNanos / 1_000_000.0), except
+ // without the precision loss that comes from converting from long to double and back.
+ return mTimeToSendNanos / 1_000_000 + ((mTimeToSendNanos % 1_000_000 > 0) ? 1 : 0);
}
/**
* Inject uinput events to device
*
* @param events Array of raw uinput events.
+ * @param offsetMicros The difference in microseconds between the timestamps of the previous
+ * batch of events injected and this batch. If set to -1, the current
+ * timestamp will be used.
*/
- public void injectEvent(int[] events) {
+ public void injectEvent(int[] events, long offsetMicros) {
// if two messages are sent at identical time, they will be processed in order received
- Message msg = mHandler.obtainMessage(MSG_INJECT_EVENT, events);
- mHandler.sendMessageAtTime(msg, mTimeToSend);
+ SomeArgs args = SomeArgs.obtain();
+ args.arg1 = events;
+ args.argl1 = offsetMicros;
+ args.argl2 = SystemClock.uptimeNanos();
+ Message msg = mHandler.obtainMessage(MSG_INJECT_EVENT, args);
+ mHandler.sendMessageAtTime(msg, getTimeToSendMillis());
}
/**
- * Impose a delay to the device for execution.
+ * Delay subsequent device activity by the specified amount of time.
*
- * @param delay Time to delay in unit of milliseconds.
+ * <p>Note that although the delay is specified in nanoseconds, due to limitations of {@link
+ * Handler}'s API, scheduling only occurs with millisecond precision. When scheduling an
+ * injection or sync, the time at which it is scheduled will be rounded up to the nearest
+ * millisecond. While this means that a particular injection cannot be scheduled precisely,
+ * rounding errors will not accumulate over time. For example, if five injections are scheduled
+ * with a delay of 1,200,000ns before each one, the total delay will be 6ms, as opposed to the
+ * 10ms it would have been if each individual delay had been rounded up (as {@link EvemuParser}
+ * would otherwise have to do to avoid sending timestamps that are in the future).
+ *
+ * @param delayNanos Time to delay in unit of nanoseconds.
*/
- public void addDelay(int delay) {
- mTimeToSend = Math.max(SystemClock.uptimeMillis(), mTimeToSend) + delay;
+ public void addDelayNanos(long delayNanos) {
+ mTimeToSendNanos += delayNanos;
}
/**
@@ -131,7 +159,8 @@
* @param syncToken The token for this sync command.
*/
public void syncEvent(String syncToken) {
- mHandler.sendMessageAtTime(mHandler.obtainMessage(MSG_SYNC_EVENT, syncToken), mTimeToSend);
+ mHandler.sendMessageAtTime(
+ mHandler.obtainMessage(MSG_SYNC_EVENT, syncToken), getTimeToSendMillis());
}
/**
@@ -140,7 +169,8 @@
*/
public void close() {
Message msg = mHandler.obtainMessage(MSG_CLOSE_UINPUT_DEVICE);
- mHandler.sendMessageAtTime(msg, Math.max(SystemClock.uptimeMillis(), mTimeToSend) + 1);
+ mHandler.sendMessageAtTime(
+ msg, Math.max(SystemClock.uptimeMillis(), getTimeToSendMillis()) + 1);
try {
synchronized (mCond) {
mCond.wait();
@@ -151,6 +181,7 @@
private class DeviceHandler extends Handler {
private long mPtr;
+ private long mLastInjectTimestampMicros = -1;
private int mBarrierToken;
DeviceHandler(Looper looper) {
@@ -160,7 +191,7 @@
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
- case MSG_OPEN_UINPUT_DEVICE:
+ case MSG_OPEN_UINPUT_DEVICE: {
SomeArgs args = (SomeArgs) msg.obj;
String name = (String) args.arg1;
mPtr = nativeOpenUinputDevice(name, args.argi1 /* id */,
@@ -177,15 +208,43 @@
}
args.recycle();
break;
- case MSG_INJECT_EVENT:
- if (mPtr != 0) {
- int[] events = (int[]) msg.obj;
- for (int pos = 0; pos + 2 < events.length; pos += 3) {
- nativeInjectEvent(mPtr, events[pos], events[pos + 1], events[pos + 2]);
- }
+ }
+ case MSG_INJECT_EVENT: {
+ SomeArgs args = (SomeArgs) msg.obj;
+ if (mPtr == 0) {
+ args.recycle();
+ break;
}
+ long offsetMicros = args.argl1;
+ if (mLastInjectTimestampMicros == -1 || offsetMicros == -1) {
+ // There's often a delay of a few milliseconds between the time specified to
+ // Handler.sendMessageAtTime and the handler actually being called, due to
+ // the way threads are scheduled. We don't take this into account when
+ // calling addDelayNanos between the first batch of event injections (when
+ // we set the "base timestamp" from which all others will be offset) and the
+ // second batch, meaning that the actual time between the handler calls for
+ // those batches may be less than the offset between their timestamps. When
+ // that happens, we would pass a timestamp for the second batch that's
+ // actually in the future. The kernel's uinput API rejects timestamps that
+ // are in the future and uses the current time instead, making the reported
+ // timestamps inconsistent with the recording we're replaying.
+ //
+ // To prevent this, we need to use the time at which we scheduled this first
+ // batch, rather than the actual current time.
+ mLastInjectTimestampMicros = args.argl2 / 1000;
+ } else {
+ mLastInjectTimestampMicros += offsetMicros;
+ }
+
+ int[] events = (int[]) args.arg1;
+ for (int pos = 0; pos + 2 < events.length; pos += 3) {
+ nativeInjectEvent(mPtr, mLastInjectTimestampMicros, events[pos],
+ events[pos + 1], events[pos + 2]);
+ }
+ args.recycle();
break;
- case MSG_CLOSE_UINPUT_DEVICE:
+ }
+ case MSG_CLOSE_UINPUT_DEVICE: {
if (mPtr != 0) {
nativeCloseUinputDevice(mPtr);
getLooper().quitSafely();
@@ -198,11 +257,14 @@
mCond.notify();
}
break;
- case MSG_SYNC_EVENT:
+ }
+ case MSG_SYNC_EVENT: {
handleSyncEvent((String) msg.obj);
break;
- default:
+ }
+ default: {
throw new IllegalArgumentException("Unknown device message");
+ }
}
}
diff --git a/cmds/uinput/src/com/android/commands/uinput/EvemuParser.java b/cmds/uinput/src/com/android/commands/uinput/EvemuParser.java
index 7652f24..da99162 100644
--- a/cmds/uinput/src/com/android/commands/uinput/EvemuParser.java
+++ b/cmds/uinput/src/com/android/commands/uinput/EvemuParser.java
@@ -44,7 +44,7 @@
* recordings, this will always be the same.
*/
private static final int DEVICE_ID = 1;
- private static final int REGISTRATION_DELAY_MILLIS = 500;
+ private static final int REGISTRATION_DELAY_NANOS = 500_000_000;
private static class CommentAwareReader {
private final LineNumberReader mReader;
@@ -152,7 +152,7 @@
final Event.Builder delayEb = new Event.Builder();
delayEb.setId(DEVICE_ID);
delayEb.setCommand(Event.Command.DELAY);
- delayEb.setDurationMillis(REGISTRATION_DELAY_MILLIS);
+ delayEb.setDurationNanos(REGISTRATION_DELAY_NANOS);
mQueuedEvents.add(delayEb.build());
}
@@ -175,7 +175,6 @@
throw new ParsingException(
"Invalid timestamp '" + parts[0] + "' (should contain a single '.')", mReader);
}
- // TODO(b/310958309): use timeMicros to set the timestamp on the event being sent.
final long timeMicros =
parseLong(timeParts[0], 10) * 1_000_000 + parseInt(timeParts[1], 10);
final Event.Builder eb = new Event.Builder();
@@ -192,21 +191,18 @@
return eb.build();
} else {
final long delayMicros = timeMicros - mLastEventTimeMicros;
- // The shortest delay supported by Handler.sendMessageAtTime (used for timings by the
- // Device class) is 1ms, so ignore time differences smaller than that.
- if (delayMicros < 1000) {
- mLastEventTimeMicros = timeMicros;
+ eb.setTimestampOffsetMicros(delayMicros);
+ if (delayMicros == 0) {
return eb.build();
- } else {
- // Send a delay now, and queue the actual event for the next call.
- mQueuedEvents.add(eb.build());
- mLastEventTimeMicros = timeMicros;
- final Event.Builder delayEb = new Event.Builder();
- delayEb.setId(DEVICE_ID);
- delayEb.setCommand(Event.Command.DELAY);
- delayEb.setDurationMillis((int) (delayMicros / 1000));
- return delayEb.build();
}
+ // Send a delay now, and queue the actual event for the next call.
+ mQueuedEvents.add(eb.build());
+ mLastEventTimeMicros = timeMicros;
+ final Event.Builder delayEb = new Event.Builder();
+ delayEb.setId(DEVICE_ID);
+ delayEb.setCommand(Event.Command.DELAY);
+ delayEb.setDurationNanos(delayMicros * 1000);
+ return delayEb.build();
}
}
diff --git a/cmds/uinput/src/com/android/commands/uinput/Event.java b/cmds/uinput/src/com/android/commands/uinput/Event.java
index 0f16a27..9e7ee09 100644
--- a/cmds/uinput/src/com/android/commands/uinput/Event.java
+++ b/cmds/uinput/src/com/android/commands/uinput/Event.java
@@ -99,8 +99,9 @@
private int mVersionId;
private int mBusId;
private int[] mInjections;
+ private long mTimestampOffsetMicros = -1;
private SparseArray<int[]> mConfiguration;
- private int mDurationMillis;
+ private long mDurationNanos;
private int mFfEffectsMax = 0;
private String mInputPort;
private SparseArray<InputAbsInfo> mAbsInfo;
@@ -139,19 +140,28 @@
}
/**
+ * Returns the number of microseconds that should be added to the previous {@code INJECT}
+ * event's timestamp to produce the timestamp for this {@code INJECT} event. A value of -1
+ * indicates that the current timestamp should be used instead.
+ */
+ public long getTimestampOffsetMicros() {
+ return mTimestampOffsetMicros;
+ }
+
+ /**
* Returns a {@link SparseArray} describing the event codes that should be registered for the
* device. The keys are uinput ioctl codes (such as those returned from {@link
* UinputControlCode#getValue()}, while the values are arrays of event codes to be enabled with
* those ioctls. For example, key 101 (corresponding to {@link UinputControlCode#UI_SET_KEYBIT})
- * could have values 0x110 ({@code BTN_LEFT}, 0x111 ({@code BTN_RIGHT}), and 0x112
+ * could have values 0x110 ({@code BTN_LEFT}), 0x111 ({@code BTN_RIGHT}), and 0x112
* ({@code BTN_MIDDLE}).
*/
public SparseArray<int[]> getConfiguration() {
return mConfiguration;
}
- public int getDurationMillis() {
- return mDurationMillis;
+ public long getDurationNanos() {
+ return mDurationNanos;
}
public int getFfEffectsMax() {
@@ -182,7 +192,7 @@
+ ", busId=" + mBusId
+ ", events=" + Arrays.toString(mInjections)
+ ", configuration=" + mConfiguration
- + ", duration=" + mDurationMillis + "ms"
+ + ", duration=" + mDurationNanos + "ns"
+ ", ff_effects_max=" + mFfEffectsMax
+ ", port=" + mInputPort
+ "}";
@@ -211,6 +221,10 @@
mEvent.mInjections = events;
}
+ public void setTimestampOffsetMicros(long offsetMicros) {
+ mEvent.mTimestampOffsetMicros = offsetMicros;
+ }
+
/**
* Sets the event codes that should be registered with a {@code register} command.
*
@@ -237,8 +251,8 @@
mEvent.mBusId = busId;
}
- public void setDurationMillis(int durationMillis) {
- mEvent.mDurationMillis = durationMillis;
+ public void setDurationNanos(long durationNanos) {
+ mEvent.mDurationNanos = durationNanos;
}
public void setFfEffectsMax(int ffEffectsMax) {
@@ -271,7 +285,7 @@
}
}
case DELAY -> {
- if (mEvent.mDurationMillis <= 0) {
+ if (mEvent.mDurationNanos <= 0) {
throw new IllegalStateException("Delay has missing or invalid duration");
}
}
diff --git a/cmds/uinput/src/com/android/commands/uinput/JsonStyleParser.java b/cmds/uinput/src/com/android/commands/uinput/JsonStyleParser.java
index ed3ff33..6994f0c 100644
--- a/cmds/uinput/src/com/android/commands/uinput/JsonStyleParser.java
+++ b/cmds/uinput/src/com/android/commands/uinput/JsonStyleParser.java
@@ -71,7 +71,8 @@
case "configuration" -> eb.setConfiguration(readConfiguration());
case "ff_effects_max" -> eb.setFfEffectsMax(readInt());
case "abs_info" -> eb.setAbsInfo(readAbsInfoArray());
- case "duration" -> eb.setDurationMillis(readInt());
+ // Duration is specified in milliseconds in the JSON-style format.
+ case "duration" -> eb.setDurationNanos(readInt() * 1_000_000L);
case "port" -> eb.setInputPort(mReader.nextString());
case "syncToken" -> eb.setSyncToken(mReader.nextString());
default -> mReader.skipValue();
diff --git a/cmds/uinput/src/com/android/commands/uinput/Uinput.java b/cmds/uinput/src/com/android/commands/uinput/Uinput.java
index 04df279..760e981 100644
--- a/cmds/uinput/src/com/android/commands/uinput/Uinput.java
+++ b/cmds/uinput/src/com/android/commands/uinput/Uinput.java
@@ -134,8 +134,8 @@
switch (Objects.requireNonNull(e.getCommand())) {
case REGISTER ->
error("Device id=" + e.getId() + " is already registered. Ignoring event.");
- case INJECT -> d.injectEvent(e.getInjections());
- case DELAY -> d.addDelay(e.getDurationMillis());
+ case INJECT -> d.injectEvent(e.getInjections(), e.getTimestampOffsetMicros());
+ case DELAY -> d.addDelayNanos(e.getDurationNanos());
case SYNC -> d.syncEvent(e.getSyncToken());
}
}
diff --git a/cmds/uinput/tests/src/com/android/commands/uinput/tests/EvemuParserTest.java b/cmds/uinput/tests/src/com/android/commands/uinput/tests/EvemuParserTest.java
index a05cc67..5239fbc 100644
--- a/cmds/uinput/tests/src/com/android/commands/uinput/tests/EvemuParserTest.java
+++ b/cmds/uinput/tests/src/com/android/commands/uinput/tests/EvemuParserTest.java
@@ -183,16 +183,22 @@
}
private void assertInjectEvent(Event event, int eventType, int eventCode, int value) {
+ assertInjectEvent(event, eventType, eventCode, value, 0);
+ }
+
+ private void assertInjectEvent(Event event, int eventType, int eventCode, int value,
+ long timestampOffsetMicros) {
assertThat(event).isNotNull();
assertThat(event.getCommand()).isEqualTo(Event.Command.INJECT);
assertThat(event.getInjections()).asList()
.containsExactly(eventType, eventCode, value).inOrder();
+ assertThat(event.getTimestampOffsetMicros()).isEqualTo(timestampOffsetMicros);
}
- private void assertDelayEvent(Event event, int durationMillis) {
+ private void assertDelayEvent(Event event, int durationNanos) {
assertThat(event).isNotNull();
assertThat(event.getCommand()).isEqualTo(Event.Command.DELAY);
- assertThat(event.getDurationMillis()).isEqualTo(durationMillis);
+ assertThat(event.getDurationNanos()).isEqualTo(durationNanos);
}
@Test
@@ -207,7 +213,7 @@
EvemuParser parser = new EvemuParser(reader);
assertThat(parser.getNextEvent().getCommand()).isEqualTo(Event.Command.REGISTER);
assertThat(parser.getNextEvent().getCommand()).isEqualTo(Event.Command.DELAY);
- assertInjectEvent(parser.getNextEvent(), 0x2, 0x0, 1);
+ assertInjectEvent(parser.getNextEvent(), 0x2, 0x0, 1, -1);
assertInjectEvent(parser.getNextEvent(), 0x2, 0x1, -2);
assertInjectEvent(parser.getNextEvent(), 0x0, 0x0, 0);
}
@@ -228,17 +234,17 @@
assertThat(parser.getNextEvent().getCommand()).isEqualTo(Event.Command.REGISTER);
assertThat(parser.getNextEvent().getCommand()).isEqualTo(Event.Command.DELAY);
- assertInjectEvent(parser.getNextEvent(), 0x1, 0x15, 1);
+ assertInjectEvent(parser.getNextEvent(), 0x1, 0x15, 1, -1);
assertInjectEvent(parser.getNextEvent(), 0x0, 0x0, 0);
- assertDelayEvent(parser.getNextEvent(), 10);
+ assertDelayEvent(parser.getNextEvent(), 10_000_000);
- assertInjectEvent(parser.getNextEvent(), 0x1, 0x15, 0);
+ assertInjectEvent(parser.getNextEvent(), 0x1, 0x15, 0, 10_000);
assertInjectEvent(parser.getNextEvent(), 0x0, 0x0, 0);
- assertDelayEvent(parser.getNextEvent(), 1000);
+ assertDelayEvent(parser.getNextEvent(), 1_000_000_000);
- assertInjectEvent(parser.getNextEvent(), 0x1, 0x15, 1);
+ assertInjectEvent(parser.getNextEvent(), 0x1, 0x15, 1, 1_000_000);
assertInjectEvent(parser.getNextEvent(), 0x0, 0x0, 0);
}
@@ -477,7 +483,7 @@
assertThat(parser.getNextEvent().getCommand()).isEqualTo(Event.Command.DELAY);
- assertInjectEvent(parser.getNextEvent(), 0x3, 0x39, 0);
+ assertInjectEvent(parser.getNextEvent(), 0x3, 0x39, 0, -1);
assertInjectEvent(parser.getNextEvent(), 0x3, 0x35, 891);
assertInjectEvent(parser.getNextEvent(), 0x3, 0x36, 333);
assertInjectEvent(parser.getNextEvent(), 0x3, 0x3a, 56);
@@ -490,8 +496,8 @@
assertInjectEvent(parser.getNextEvent(), 0x3, 0x18, 56);
assertInjectEvent(parser.getNextEvent(), 0x0, 0x0, 0);
- assertDelayEvent(parser.getNextEvent(), 6);
+ assertDelayEvent(parser.getNextEvent(), 6_080_000);
- assertInjectEvent(parser.getNextEvent(), 0x3, 0x0035, 888);
+ assertInjectEvent(parser.getNextEvent(), 0x3, 0x0035, 888, 6_080);
}
}
diff --git a/core/api/current.txt b/core/api/current.txt
index 9cb6795..391867d 100644
--- a/core/api/current.txt
+++ b/core/api/current.txt
@@ -140,6 +140,7 @@
field public static final String MANAGE_DEVICE_POLICY_APPS_CONTROL = "android.permission.MANAGE_DEVICE_POLICY_APPS_CONTROL";
field public static final String MANAGE_DEVICE_POLICY_APP_RESTRICTIONS = "android.permission.MANAGE_DEVICE_POLICY_APP_RESTRICTIONS";
field public static final String MANAGE_DEVICE_POLICY_APP_USER_DATA = "android.permission.MANAGE_DEVICE_POLICY_APP_USER_DATA";
+ field @FlaggedApi("android.app.admin.flags.assist_content_user_restriction_enabled") public static final String MANAGE_DEVICE_POLICY_ASSIST_CONTENT = "android.permission.MANAGE_DEVICE_POLICY_ASSIST_CONTENT";
field public static final String MANAGE_DEVICE_POLICY_AUDIO_OUTPUT = "android.permission.MANAGE_DEVICE_POLICY_AUDIO_OUTPUT";
field public static final String MANAGE_DEVICE_POLICY_AUTOFILL = "android.permission.MANAGE_DEVICE_POLICY_AUTOFILL";
field public static final String MANAGE_DEVICE_POLICY_BACKUP_SERVICE = "android.permission.MANAGE_DEVICE_POLICY_BACKUP_SERVICE";
@@ -165,6 +166,7 @@
field public static final String MANAGE_DEVICE_POLICY_LOCK = "android.permission.MANAGE_DEVICE_POLICY_LOCK";
field public static final String MANAGE_DEVICE_POLICY_LOCK_CREDENTIALS = "android.permission.MANAGE_DEVICE_POLICY_LOCK_CREDENTIALS";
field public static final String MANAGE_DEVICE_POLICY_LOCK_TASK = "android.permission.MANAGE_DEVICE_POLICY_LOCK_TASK";
+ field @FlaggedApi("android.app.admin.flags.esim_management_enabled") public static final String MANAGE_DEVICE_POLICY_MANAGED_SUBSCRIPTIONS = "android.permission.MANAGE_DEVICE_POLICY_MANAGED_SUBSCRIPTIONS";
field public static final String MANAGE_DEVICE_POLICY_METERED_DATA = "android.permission.MANAGE_DEVICE_POLICY_METERED_DATA";
field public static final String MANAGE_DEVICE_POLICY_MICROPHONE = "android.permission.MANAGE_DEVICE_POLICY_MICROPHONE";
field public static final String MANAGE_DEVICE_POLICY_MOBILE_NETWORK = "android.permission.MANAGE_DEVICE_POLICY_MOBILE_NETWORK";
@@ -653,6 +655,7 @@
field public static final int contentInsetRight = 16843862; // 0x1010456
field public static final int contentInsetStart = 16843859; // 0x1010453
field public static final int contentInsetStartWithNavigation = 16844066; // 0x1010522
+ field @FlaggedApi("android.view.flags.sensitive_content_app_protection_api") public static final int contentSensitivity;
field public static final int contextClickable = 16844007; // 0x10104e7
field public static final int contextDescription = 16844078; // 0x101052e
field public static final int contextPopupMenuStyle = 16844033; // 0x1010501
@@ -1602,6 +1605,7 @@
field public static final int supportedTypes = 16844369; // 0x1010651
field public static final int supportsAssist = 16844016; // 0x10104f0
field public static final int supportsBatteryGameMode = 16844374; // 0x1010656
+ field @FlaggedApi("android.view.inputmethod.connectionless_handwriting") public static final int supportsConnectionlessStylusHandwriting;
field public static final int supportsInlineSuggestions = 16844301; // 0x101060d
field public static final int supportsInlineSuggestionsWithTouchExploration = 16844397; // 0x101066d
field public static final int supportsLaunchVoiceAssistFromKeyguard = 16844017; // 0x10104f1
@@ -2005,6 +2009,19 @@
field public static final int system_control_highlight_light = 17170558; // 0x106007e
field public static final int system_control_normal_dark = 17170600; // 0x10600a8
field public static final int system_control_normal_light = 17170557; // 0x106007d
+ field public static final int system_error_0;
+ field public static final int system_error_10;
+ field public static final int system_error_100;
+ field public static final int system_error_1000;
+ field public static final int system_error_200;
+ field public static final int system_error_300;
+ field public static final int system_error_400;
+ field public static final int system_error_50;
+ field public static final int system_error_500;
+ field public static final int system_error_600;
+ field public static final int system_error_700;
+ field public static final int system_error_800;
+ field public static final int system_error_900;
field public static final int system_error_container_dark = 17170597; // 0x10600a5
field public static final int system_error_container_light = 17170554; // 0x106007a
field public static final int system_error_dark = 17170595; // 0x10600a3
@@ -2054,6 +2071,7 @@
field public static final int system_on_secondary_fixed_variant = 17170619; // 0x10600bb
field public static final int system_on_secondary_light = 17170533; // 0x1060065
field public static final int system_on_surface_dark = 17170584; // 0x1060098
+ field public static final int system_on_surface_disabled;
field public static final int system_on_surface_light = 17170541; // 0x106006d
field public static final int system_on_surface_variant_dark = 17170593; // 0x10600a1
field public static final int system_on_surface_variant_light = 17170550; // 0x1060076
@@ -2064,6 +2082,7 @@
field public static final int system_on_tertiary_fixed_variant = 17170623; // 0x10600bf
field public static final int system_on_tertiary_light = 17170537; // 0x1060069
field public static final int system_outline_dark = 17170594; // 0x10600a2
+ field public static final int system_outline_disabled;
field public static final int system_outline_light = 17170551; // 0x1060077
field public static final int system_outline_variant_dark = 17170625; // 0x10600c1
field public static final int system_outline_variant_light = 17170624; // 0x10600c0
@@ -2104,6 +2123,7 @@
field public static final int system_surface_dark = 17170583; // 0x1060097
field public static final int system_surface_dim_dark = 17170591; // 0x106009f
field public static final int system_surface_dim_light = 17170548; // 0x1060074
+ field public static final int system_surface_disabled;
field public static final int system_surface_light = 17170540; // 0x106006c
field public static final int system_surface_variant_dark = 17170592; // 0x10600a0
field public static final int system_surface_variant_light = 17170549; // 0x1060075
@@ -2140,6 +2160,11 @@
field public static final int notification_large_icon_width = 17104901; // 0x1050005
field public static final int system_app_widget_background_radius = 17104904; // 0x1050008
field public static final int system_app_widget_inner_radius = 17104905; // 0x1050009
+ field public static final int system_corner_radius_large;
+ field public static final int system_corner_radius_medium;
+ field public static final int system_corner_radius_small;
+ field public static final int system_corner_radius_xlarge;
+ field public static final int system_corner_radius_xsmall;
field public static final int thumbnail_height = 17104897; // 0x1050001
field public static final int thumbnail_width = 17104898; // 0x1050002
}
@@ -7200,6 +7225,7 @@
public final class PictureInPictureUiState implements android.os.Parcelable {
method public int describeContents();
+ method @FlaggedApi("android.app.enable_pip_ui_state_callback_on_entering") public boolean isEnteringPip();
method public boolean isStashed();
method public void writeToParcel(@NonNull android.os.Parcel, int);
field @NonNull public static final android.os.Parcelable.Creator<android.app.PictureInPictureUiState> CREATOR;
@@ -7932,6 +7958,7 @@
field public static final String PERMISSION_GRANT_POLICY = "permissionGrant";
field public static final String PERSISTENT_PREFERRED_ACTIVITY_POLICY = "persistentPreferredActivity";
field public static final String RESET_PASSWORD_TOKEN_POLICY = "resetPasswordToken";
+ field @FlaggedApi("android.app.admin.flags.security_log_v2_enabled") public static final String SECURITY_LOGGING_POLICY = "securityLogging";
field public static final String STATUS_BAR_DISABLED_POLICY = "statusBarDisabled";
field @FlaggedApi("android.app.admin.flags.policy_engine_migration_v2_enabled") public static final String USB_DATA_SIGNALING_POLICY = "usbDataSignaling";
field public static final String USER_CONTROL_DISABLED_PACKAGES_POLICY = "userControlDisabledPackages";
@@ -8044,6 +8071,7 @@
method public CharSequence getStartUserSessionMessage(@NonNull android.content.ComponentName);
method @Deprecated public boolean getStorageEncryption(@Nullable android.content.ComponentName);
method public int getStorageEncryptionStatus();
+ method @FlaggedApi("android.app.admin.flags.esim_management_enabled") @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_POLICY_MANAGED_SUBSCRIPTIONS) public java.util.Set<java.lang.Integer> getSubscriptionsIds();
method @Nullable public android.app.admin.SystemUpdatePolicy getSystemUpdatePolicy();
method @Nullable public android.os.PersistableBundle getTransferOwnershipBundle();
method @Nullable public java.util.List<android.os.PersistableBundle> getTrustAgentConfiguration(@Nullable android.content.ComponentName, @NonNull android.content.ComponentName);
@@ -10725,6 +10753,7 @@
field public static final String PERFORMANCE_HINT_SERVICE = "performance_hint";
field public static final String POWER_SERVICE = "power";
field public static final String PRINT_SERVICE = "print";
+ field @FlaggedApi("android.os.telemetry_apis_framework_initialization") public static final String PROFILING_SERVICE = "profiling";
field public static final int RECEIVER_EXPORTED = 2; // 0x2
field public static final int RECEIVER_NOT_EXPORTED = 4; // 0x4
field public static final int RECEIVER_VISIBLE_TO_INSTANT_APPS = 1; // 0x1
@@ -13042,6 +13071,7 @@
field public static final String FEATURE_AUDIO_LOW_LATENCY = "android.hardware.audio.low_latency";
field public static final String FEATURE_AUDIO_OUTPUT = "android.hardware.audio.output";
field public static final String FEATURE_AUDIO_PRO = "android.hardware.audio.pro";
+ field @FlaggedApi("android.media.audio.feature_spatial_audio_headtracking_low_latency") public static final String FEATURE_AUDIO_SPATIAL_HEADTRACKING_LOW_LATENCY = "android.hardware.audio.spatial.headtracking.low_latency";
field public static final String FEATURE_AUTOFILL = "android.software.autofill";
field public static final String FEATURE_AUTOMOTIVE = "android.hardware.type.automotive";
field public static final String FEATURE_BACKUP = "android.software.backup";
@@ -13450,7 +13480,7 @@
field public static final int FLAG_USE_APP_ZYGOTE = 8; // 0x8
field @RequiresPermission(allOf={android.Manifest.permission.FOREGROUND_SERVICE_CAMERA}, anyOf={android.Manifest.permission.CAMERA}, conditional=true) public static final int FOREGROUND_SERVICE_TYPE_CAMERA = 64; // 0x40
field @RequiresPermission(allOf={android.Manifest.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE}, anyOf={android.Manifest.permission.BLUETOOTH_ADVERTISE, android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.CHANGE_NETWORK_STATE, android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.CHANGE_WIFI_MULTICAST_STATE, android.Manifest.permission.NFC, android.Manifest.permission.TRANSMIT_IR, android.Manifest.permission.UWB_RANGING}, conditional=true) public static final int FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE = 16; // 0x10
- field @RequiresPermission(value=android.Manifest.permission.FOREGROUND_SERVICE_DATA_SYNC, conditional=true) public static final int FOREGROUND_SERVICE_TYPE_DATA_SYNC = 1; // 0x1
+ field @Deprecated @RequiresPermission(value=android.Manifest.permission.FOREGROUND_SERVICE_DATA_SYNC, conditional=true) public static final int FOREGROUND_SERVICE_TYPE_DATA_SYNC = 1; // 0x1
field @RequiresPermission(allOf={android.Manifest.permission.FOREGROUND_SERVICE_HEALTH}, anyOf={android.Manifest.permission.ACTIVITY_RECOGNITION, android.Manifest.permission.BODY_SENSORS, android.Manifest.permission.HIGH_SAMPLING_RATE_SENSORS}) public static final int FOREGROUND_SERVICE_TYPE_HEALTH = 256; // 0x100
field @RequiresPermission(allOf={android.Manifest.permission.FOREGROUND_SERVICE_LOCATION}, anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public static final int FOREGROUND_SERVICE_TYPE_LOCATION = 8; // 0x8
field public static final int FOREGROUND_SERVICE_TYPE_MANIFEST = -1; // 0xffffffff
@@ -19198,8 +19228,7 @@
method @Deprecated public abstract void createReprocessableCaptureSessionByConfigurations(@NonNull android.hardware.camera2.params.InputConfiguration, @NonNull java.util.List<android.hardware.camera2.params.OutputConfiguration>, @NonNull android.hardware.camera2.CameraCaptureSession.StateCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException;
method public int getCameraAudioRestriction() throws android.hardware.camera2.CameraAccessException;
method @NonNull public abstract String getId();
- method @FlaggedApi("com.android.internal.camera.flags.feature_combination_query") @NonNull public android.hardware.camera2.CameraCharacteristics getSessionCharacteristics(@NonNull android.hardware.camera2.params.SessionConfiguration) throws android.hardware.camera2.CameraAccessException;
- method @Deprecated public boolean isSessionConfigurationSupported(@NonNull android.hardware.camera2.params.SessionConfiguration) throws android.hardware.camera2.CameraAccessException;
+ method public boolean isSessionConfigurationSupported(@NonNull android.hardware.camera2.params.SessionConfiguration) throws android.hardware.camera2.CameraAccessException;
method public void setCameraAudioRestriction(int) throws android.hardware.camera2.CameraAccessException;
field public static final int AUDIO_RESTRICTION_NONE = 0; // 0x0
field public static final int AUDIO_RESTRICTION_VIBRATION = 1; // 0x1
@@ -19212,6 +19241,14 @@
field public static final int TEMPLATE_ZERO_SHUTTER_LAG = 5; // 0x5
}
+ @FlaggedApi("com.android.internal.camera.flags.camera_device_setup") public abstract static class CameraDevice.CameraDeviceSetup {
+ method @FlaggedApi("com.android.internal.camera.flags.camera_device_setup") @NonNull public abstract android.hardware.camera2.CaptureRequest.Builder createCaptureRequest(int) throws android.hardware.camera2.CameraAccessException;
+ method @FlaggedApi("com.android.internal.camera.flags.camera_device_setup") @NonNull public abstract String getId();
+ method @FlaggedApi("com.android.internal.camera.flags.camera_device_setup") @NonNull public abstract android.hardware.camera2.CameraCharacteristics getSessionCharacteristics(@NonNull android.hardware.camera2.params.SessionConfiguration) throws android.hardware.camera2.CameraAccessException;
+ method @FlaggedApi("com.android.internal.camera.flags.camera_device_setup") public abstract boolean isSessionConfigurationSupported(@NonNull android.hardware.camera2.params.SessionConfiguration) throws android.hardware.camera2.CameraAccessException;
+ method @FlaggedApi("com.android.internal.camera.flags.camera_device_setup") @RequiresPermission(android.Manifest.permission.CAMERA) public abstract void openCamera(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraDevice.StateCallback) throws android.hardware.camera2.CameraAccessException;
+ }
+
public abstract static class CameraDevice.StateCallback {
ctor public CameraDevice.StateCallback();
method public void onClosed(@NonNull android.hardware.camera2.CameraDevice);
@@ -19280,14 +19317,14 @@
}
public final class CameraManager {
- method @FlaggedApi("com.android.internal.camera.flags.feature_combination_query") @NonNull @RequiresPermission(android.Manifest.permission.CAMERA) public android.hardware.camera2.CaptureRequest.Builder createCaptureRequest(@NonNull String, int) throws android.hardware.camera2.CameraAccessException;
method @NonNull public android.hardware.camera2.CameraCharacteristics getCameraCharacteristics(@NonNull String) throws android.hardware.camera2.CameraAccessException;
+ method @FlaggedApi("com.android.internal.camera.flags.camera_device_setup") @NonNull public android.hardware.camera2.CameraDevice.CameraDeviceSetup getCameraDeviceSetup(@NonNull String) throws android.hardware.camera2.CameraAccessException;
method @NonNull public android.hardware.camera2.CameraExtensionCharacteristics getCameraExtensionCharacteristics(@NonNull String) throws android.hardware.camera2.CameraAccessException;
method @NonNull public String[] getCameraIdList() throws android.hardware.camera2.CameraAccessException;
method @NonNull public java.util.Set<java.util.Set<java.lang.String>> getConcurrentCameraIds() throws android.hardware.camera2.CameraAccessException;
method public int getTorchStrengthLevel(@NonNull String) throws android.hardware.camera2.CameraAccessException;
+ method @FlaggedApi("com.android.internal.camera.flags.camera_device_setup") public boolean isCameraDeviceSetupSupported(@NonNull String) throws android.hardware.camera2.CameraAccessException;
method @RequiresPermission(android.Manifest.permission.CAMERA) public boolean isConcurrentSessionConfigurationSupported(@NonNull java.util.Map<java.lang.String,android.hardware.camera2.params.SessionConfiguration>) throws android.hardware.camera2.CameraAccessException;
- method @FlaggedApi("com.android.internal.camera.flags.feature_combination_query") @RequiresPermission(android.Manifest.permission.CAMERA) public boolean isSessionConfigurationWithParametersSupported(@NonNull String, @NonNull android.hardware.camera2.params.SessionConfiguration) throws android.hardware.camera2.CameraAccessException;
method @RequiresPermission(android.Manifest.permission.CAMERA) public void openCamera(@NonNull String, @NonNull android.hardware.camera2.CameraDevice.StateCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException;
method @RequiresPermission(android.Manifest.permission.CAMERA) public void openCamera(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraDevice.StateCallback) throws android.hardware.camera2.CameraAccessException;
method public void registerAvailabilityCallback(@NonNull android.hardware.camera2.CameraManager.AvailabilityCallback, @Nullable android.os.Handler);
@@ -20629,6 +20666,7 @@
@UiContext public class InputMethodService extends android.inputmethodservice.AbstractInputMethodService {
ctor public InputMethodService();
method @Deprecated public boolean enableHardwareAcceleration();
+ method @FlaggedApi("android.view.inputmethod.connectionless_handwriting") public final void finishConnectionlessStylusHandwriting(@Nullable CharSequence);
method public final void finishStylusHandwriting();
method public int getBackDisposition();
method public int getCandidatesHiddenVisibility();
@@ -20682,6 +20720,7 @@
method public void onPrepareStylusHandwriting();
method public boolean onShowInputRequested(int, boolean);
method public void onStartCandidatesView(android.view.inputmethod.EditorInfo, boolean);
+ method @FlaggedApi("android.view.inputmethod.connectionless_handwriting") public boolean onStartConnectionlessStylusHandwriting(int, @Nullable android.view.inputmethod.CursorAnchorInfo);
method public void onStartInput(android.view.inputmethod.EditorInfo, boolean);
method public void onStartInputView(android.view.inputmethod.EditorInfo, boolean);
method public boolean onStartStylusHandwriting();
@@ -22517,6 +22556,8 @@
field public static final String PARAMETER_KEY_HDR10_PLUS_INFO = "hdr10-plus-info";
field public static final String PARAMETER_KEY_LOW_LATENCY = "low-latency";
field public static final String PARAMETER_KEY_OFFSET_TIME = "time-offset-us";
+ field @FlaggedApi("android.media.codec.region_of_interest") public static final String PARAMETER_KEY_QP_OFFSET_MAP = "qp-offset-map";
+ field @FlaggedApi("android.media.codec.region_of_interest") public static final String PARAMETER_KEY_QP_OFFSET_RECTS = "qp-offset-rects";
field public static final String PARAMETER_KEY_REQUEST_SYNC_FRAME = "request-sync";
field public static final String PARAMETER_KEY_SUSPEND = "drop-input-frames";
field public static final String PARAMETER_KEY_SUSPEND_TIME = "drop-start-time-us";
@@ -22759,6 +22800,7 @@
field public static final String FEATURE_MultipleFrames = "multiple-frames";
field public static final String FEATURE_PartialFrame = "partial-frame";
field public static final String FEATURE_QpBounds = "qp-bounds";
+ field @FlaggedApi("android.media.codec.region_of_interest") public static final String FEATURE_Roi = "region-of-interest";
field public static final String FEATURE_SecurePlayback = "secure-playback";
field public static final String FEATURE_TunneledPlayback = "tunneled-playback";
field public int[] colorFormats;
@@ -25887,8 +25929,11 @@
@FlaggedApi("com.android.media.editing.flags.add_media_metrics_editing") public final class EditingEndedEvent extends android.media.metrics.Event implements android.os.Parcelable {
method public int describeContents();
method public int getErrorCode();
+ method @Nullable public String getExporterName();
+ method public float getFinalProgressPercent();
method public int getFinalState();
method @NonNull public java.util.List<android.media.metrics.MediaItemInfo> getInputMediaItemInfos();
+ method @Nullable public String getMuxerName();
method public long getOperationTypes();
method @Nullable public android.media.metrics.MediaItemInfo getOutputMediaItemInfo();
method public void writeToParcel(@NonNull android.os.Parcel, int);
@@ -25923,6 +25968,7 @@
field public static final long OPERATION_TYPE_VIDEO_EDIT = 4L; // 0x4L
field public static final long OPERATION_TYPE_VIDEO_TRANSCODE = 1L; // 0x1L
field public static final long OPERATION_TYPE_VIDEO_TRANSMUX = 16L; // 0x10L
+ field public static final int PROGRESS_PERCENT_UNKNOWN = -1; // 0xffffffff
field public static final int TIME_SINCE_CREATED_UNKNOWN = -1; // 0xffffffff
}
@@ -25932,7 +25978,10 @@
method @NonNull public android.media.metrics.EditingEndedEvent.Builder addOperationType(long);
method @NonNull public android.media.metrics.EditingEndedEvent build();
method @NonNull public android.media.metrics.EditingEndedEvent.Builder setErrorCode(int);
+ method @NonNull public android.media.metrics.EditingEndedEvent.Builder setExporterName(@NonNull String);
+ method @NonNull public android.media.metrics.EditingEndedEvent.Builder setFinalProgressPercent(@FloatRange(from=0, to=100) float);
method @NonNull public android.media.metrics.EditingEndedEvent.Builder setMetricsBundle(@NonNull android.os.Bundle);
+ method @NonNull public android.media.metrics.EditingEndedEvent.Builder setMuxerName(@NonNull String);
method @NonNull public android.media.metrics.EditingEndedEvent.Builder setOutputMediaItemInfo(@NonNull android.media.metrics.MediaItemInfo);
method @NonNull public android.media.metrics.EditingEndedEvent.Builder setTimeSinceCreatedMillis(@IntRange(from=android.media.metrics.EditingEndedEvent.TIME_SINCE_CREATED_UNKNOWN) long);
}
@@ -26867,6 +26916,67 @@
field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.SectionResponse> CREATOR;
}
+ @FlaggedApi("android.media.tv.flags.tiaf_v_apis") public final class SignalingDataInfo implements android.os.Parcelable {
+ ctor public SignalingDataInfo(@NonNull String, @NonNull String, int, int);
+ ctor public SignalingDataInfo(@NonNull String, @NonNull String, int, int, @NonNull String);
+ method public int describeContents();
+ method @NonNull public String getEncoding();
+ method public int getGroup();
+ method @NonNull public String getSignalingDataType();
+ method @NonNull public String getTable();
+ method public int getVersion();
+ method public void writeToParcel(@NonNull android.os.Parcel, int);
+ field public static final String CONTENT_ENCODING_BASE64 = "Base64";
+ field public static final String CONTENT_ENCODING_UTF_8 = "UTF-8";
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.SignalingDataInfo> CREATOR;
+ field public static final int LLS_NO_GROUP_ID = -1; // 0xffffffff
+ }
+
+ @FlaggedApi("android.media.tv.flags.tiaf_v_apis") public final class SignalingDataRequest extends android.media.tv.BroadcastInfoRequest implements android.os.Parcelable {
+ ctor public SignalingDataRequest(int, int, int, @NonNull java.util.List<java.lang.String>);
+ method public int getGroup();
+ method @NonNull public java.util.List<java.lang.String> getSignalingDataTypes();
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.SignalingDataRequest> CREATOR;
+ field public static final int SIGNALING_DATA_NO_GROUP_ID = -1; // 0xffffffff
+ field public static final String SIGNALING_METADATA_AEAT = "AEAT";
+ field public static final String SIGNALING_METADATA_AEI = "AEI";
+ field public static final String SIGNALING_METADATA_APD = "APD";
+ field public static final String SIGNALING_METADATA_ASD = "ASD";
+ field public static final String SIGNALING_METADATA_ASPD = "ASPD";
+ field public static final String SIGNALING_METADATA_CAD = "CAD";
+ field public static final String SIGNALING_METADATA_CDT = "CDT";
+ field public static final String SIGNALING_METADATA_CRIT = "CRIT";
+ field public static final String SIGNALING_METADATA_DCIT = "DCIT";
+ field public static final String SIGNALING_METADATA_DWD = "DWD";
+ field public static final String SIGNALING_METADATA_EMSG = "EMSG";
+ field public static final String SIGNALING_METADATA_EVTI = "EVTI";
+ field public static final String SIGNALING_METADATA_HELD = "HELD";
+ field public static final String SIGNALING_METADATA_IED = "IED";
+ field public static final String SIGNALING_METADATA_MPD = "MPD";
+ field public static final String SIGNALING_METADATA_MPIT = "MPIT";
+ field public static final String SIGNALING_METADATA_MPT = "MPT";
+ field public static final String SIGNALING_METADATA_OSN = "OSN";
+ field public static final String SIGNALING_METADATA_PAT = "PAT";
+ field public static final String SIGNALING_METADATA_RDT = "RDT";
+ field public static final String SIGNALING_METADATA_RRT = "RRT";
+ field public static final String SIGNALING_METADATA_RSAT = "RSAT";
+ field public static final String SIGNALING_METADATA_SLT = "SLT";
+ field public static final String SIGNALING_METADATA_SMT = "SMT";
+ field public static final String SIGNALING_METADATA_SSD = "SSD";
+ field public static final String SIGNALING_METADATA_STSID = "STSID";
+ field public static final String SIGNALING_METADATA_STT = "STT";
+ field public static final String SIGNALING_METADATA_USBD = "USBD";
+ field public static final String SIGNALING_METADATA_USD = "USD";
+ field public static final String SIGNALING_METADATA_VSPD = "VSPD";
+ }
+
+ @FlaggedApi("android.media.tv.flags.tiaf_v_apis") public final class SignalingDataResponse extends android.media.tv.BroadcastInfoResponse implements android.os.Parcelable {
+ ctor public SignalingDataResponse(int, int, int, @NonNull java.util.List<java.lang.String>, @NonNull java.util.List<android.media.tv.SignalingDataInfo>);
+ method @NonNull public java.util.List<android.media.tv.SignalingDataInfo> getSignalingDataInfoList();
+ method @NonNull public java.util.List<java.lang.String> getSignalingDataTypes();
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.SignalingDataResponse> CREATOR;
+ }
+
public final class StreamEventRequest extends android.media.tv.BroadcastInfoRequest implements android.os.Parcelable {
ctor public StreamEventRequest(int, int, @NonNull android.net.Uri, @NonNull String);
method @NonNull public String getEventName();
@@ -33846,6 +33956,7 @@
field public static final String DISALLOW_AIRPLANE_MODE = "no_airplane_mode";
field public static final String DISALLOW_AMBIENT_DISPLAY = "no_ambient_display";
field public static final String DISALLOW_APPS_CONTROL = "no_control_apps";
+ field @FlaggedApi("android.app.admin.flags.assist_content_user_restriction_enabled") public static final String DISALLOW_ASSIST_CONTENT = "no_assist_content";
field public static final String DISALLOW_AUTOFILL = "no_autofill";
field public static final String DISALLOW_BLUETOOTH = "no_bluetooth";
field public static final String DISALLOW_BLUETOOTH_SHARING = "no_bluetooth_sharing";
@@ -37085,6 +37196,7 @@
field public static final String ACTION_APP_USAGE_SETTINGS = "android.settings.action.APP_USAGE_SETTINGS";
field @FlaggedApi("android.app.modes_api") public static final String ACTION_AUTOMATIC_ZEN_RULE_SETTINGS = "android.settings.AUTOMATIC_ZEN_RULE_SETTINGS";
field public static final String ACTION_AUTO_ROTATE_SETTINGS = "android.settings.AUTO_ROTATE_SETTINGS";
+ field @FlaggedApi("android.app.app_restrictions_api") public static final String ACTION_BACKGROUND_RESTRICTIONS_SETTINGS = "android.settings.BACKGROUND_RESTRICTIONS_SETTINGS";
field public static final String ACTION_BATTERY_SAVER_SETTINGS = "android.settings.BATTERY_SAVER_SETTINGS";
field public static final String ACTION_BIOMETRIC_ENROLL = "android.settings.BIOMETRIC_ENROLL";
field public static final String ACTION_BLUETOOTH_SETTINGS = "android.settings.BLUETOOTH_SETTINGS";
@@ -46532,8 +46644,8 @@
public class EuiccManager {
method @NonNull public android.telephony.euicc.EuiccManager createForCardId(int);
- method @RequiresPermission("android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS") public void deleteSubscription(int, android.app.PendingIntent);
- method @RequiresPermission("android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS") public void downloadSubscription(android.telephony.euicc.DownloadableSubscription, boolean, android.app.PendingIntent);
+ method @RequiresPermission(anyOf={"android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS", android.Manifest.permission.MANAGE_DEVICE_POLICY_MANAGED_SUBSCRIPTIONS}) public void deleteSubscription(int, android.app.PendingIntent);
+ method @RequiresPermission(anyOf={"android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS", android.Manifest.permission.MANAGE_DEVICE_POLICY_MANAGED_SUBSCRIPTIONS}) public void downloadSubscription(android.telephony.euicc.DownloadableSubscription, boolean, android.app.PendingIntent);
method @FlaggedApi("com.android.internal.telephony.flags.esim_available_memory") @RequiresPermission(anyOf={android.Manifest.permission.READ_PHONE_STATE, "android.permission.READ_PRIVILEGED_PHONE_STATE", "carrier privileges"}) public long getAvailableMemoryInBytes();
method @Nullable public String getEid();
method @Nullable public android.telephony.euicc.EuiccInfo getEuiccInfo();
@@ -52309,6 +52421,7 @@
method public final void cancelPendingInputEvents();
method public boolean checkInputConnectionProxy(android.view.View);
method public void clearAnimation();
+ method @FlaggedApi("autofill_credman_dev_integration") public void clearCredentialManagerRequest();
method public void clearFocus();
method public void clearViewTranslationCallback();
method public static int combineMeasuredStates(int, int);
@@ -52418,6 +52531,8 @@
method @FlaggedApi("android.view.flags.sensitive_content_app_protection_api") public final int getContentSensitivity();
method @UiContext public final android.content.Context getContext();
method protected android.view.ContextMenu.ContextMenuInfo getContextMenuInfo();
+ method @FlaggedApi("autofill_credman_dev_integration") @Nullable public final android.os.OutcomeReceiver<android.credentials.GetCredentialResponse,android.credentials.GetCredentialException> getCredentialManagerCallback();
+ method @FlaggedApi("autofill_credman_dev_integration") @Nullable public final android.credentials.GetCredentialRequest getCredentialManagerRequest();
method public final boolean getDefaultFocusHighlightEnabled();
method public static int getDefaultSize(int, int);
method public android.view.Display getDisplay();
@@ -52802,6 +52917,7 @@
method public void setContentDescription(CharSequence);
method @FlaggedApi("android.view.flags.sensitive_content_app_protection_api") public final void setContentSensitivity(int);
method public void setContextClickable(boolean);
+ method @FlaggedApi("autofill_credman_dev_integration") public void setCredentialManagerRequest(@NonNull android.credentials.GetCredentialRequest, @NonNull android.os.OutcomeReceiver<android.credentials.GetCredentialResponse,android.credentials.GetCredentialException>);
method public void setDefaultFocusHighlightEnabled(boolean);
method @Deprecated public void setDrawingCacheBackgroundColor(@ColorInt int);
method @Deprecated public void setDrawingCacheEnabled(boolean);
@@ -53680,8 +53796,11 @@
method public abstract int addChildCount(int);
method public abstract void asyncCommit();
method public abstract android.view.ViewStructure asyncNewChild(int);
+ method @FlaggedApi("autofill_credman_dev_integration") public void clearCredentialManagerRequest();
method @Nullable public abstract android.view.autofill.AutofillId getAutofillId();
method public abstract int getChildCount();
+ method @FlaggedApi("autofill_credman_dev_integration") @Nullable public android.os.OutcomeReceiver<android.credentials.GetCredentialResponse,android.credentials.GetCredentialException> getCredentialManagerCallback();
+ method @FlaggedApi("autofill_credman_dev_integration") @Nullable public android.credentials.GetCredentialRequest getCredentialManagerRequest();
method public abstract android.os.Bundle getExtras();
method public abstract CharSequence getHint();
method public abstract CharSequence getText();
@@ -53706,6 +53825,7 @@
method public abstract void setClickable(boolean);
method public abstract void setContentDescription(CharSequence);
method public abstract void setContextClickable(boolean);
+ method @FlaggedApi("autofill_credman_dev_integration") public void setCredentialManagerRequest(@NonNull android.credentials.GetCredentialRequest, @NonNull android.os.OutcomeReceiver<android.credentials.GetCredentialResponse,android.credentials.GetCredentialException>);
method public abstract void setDataIsSensitive(boolean);
method public abstract void setDimens(int, int, int, int, int, int);
method public abstract void setElevation(float);
@@ -54223,8 +54343,10 @@
method public void setSystemBarsAppearance(int, int);
method public void setSystemBarsBehavior(int);
method public void show(int);
+ field @FlaggedApi("android.view.flags.customizable_window_headers") public static final int APPEARANCE_LIGHT_CAPTION_BARS = 256; // 0x100
field public static final int APPEARANCE_LIGHT_NAVIGATION_BARS = 16; // 0x10
field public static final int APPEARANCE_LIGHT_STATUS_BARS = 8; // 0x8
+ field @FlaggedApi("android.view.flags.customizable_window_headers") public static final int APPEARANCE_TRANSPARENT_CAPTION_BAR_BACKGROUND = 128; // 0x80
field public static final int BEHAVIOR_DEFAULT = 1; // 0x1
field @Deprecated public static final int BEHAVIOR_SHOW_BARS_BY_SWIPE = 1; // 0x1
field @Deprecated public static final int BEHAVIOR_SHOW_BARS_BY_TOUCH = 0; // 0x0
@@ -55691,6 +55813,14 @@
field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.CompletionInfo> CREATOR;
}
+ @FlaggedApi("android.view.inputmethod.connectionless_handwriting") public interface ConnectionlessHandwritingCallback {
+ method public void onError(int);
+ method public void onResult(@NonNull CharSequence);
+ field public static final int CONNECTIONLESS_HANDWRITING_ERROR_NO_TEXT_RECOGNIZED = 0; // 0x0
+ field public static final int CONNECTIONLESS_HANDWRITING_ERROR_OTHER = 2; // 0x2
+ field public static final int CONNECTIONLESS_HANDWRITING_ERROR_UNSUPPORTED = 1; // 0x1
+ }
+
public final class CorrectionInfo implements android.os.Parcelable {
ctor public CorrectionInfo(int, CharSequence, CharSequence);
method public int describeContents();
@@ -56102,6 +56232,7 @@
method public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager);
method public CharSequence loadLabel(android.content.pm.PackageManager);
method public boolean shouldShowInInputMethodPicker();
+ method @FlaggedApi("android.view.inputmethod.connectionless_handwriting") public boolean supportsConnectionlessStylusHandwriting();
method public boolean supportsStylusHandwriting();
method public boolean suppressesSpellChecker();
method public void writeToParcel(android.os.Parcel, int);
@@ -56131,6 +56262,7 @@
method public boolean isAcceptingText();
method public boolean isActive(android.view.View);
method public boolean isActive();
+ method @FlaggedApi("android.view.inputmethod.connectionless_handwriting") public boolean isConnectionlessStylusHandwritingAvailable();
method public boolean isFullscreenMode();
method public boolean isInputMethodSuppressingSpellChecker();
method public boolean isStylusHandwritingAvailable();
@@ -56151,6 +56283,9 @@
method public boolean showSoftInput(android.view.View, int, android.os.ResultReceiver);
method @Deprecated public void showSoftInputFromInputMethod(android.os.IBinder, int);
method @Deprecated public void showStatusIcon(android.os.IBinder, String, @DrawableRes int);
+ method @FlaggedApi("android.view.inputmethod.connectionless_handwriting") public void startConnectionlessStylusHandwriting(@NonNull android.view.View, @Nullable android.view.inputmethod.CursorAnchorInfo, @NonNull java.util.concurrent.Executor, @NonNull android.view.inputmethod.ConnectionlessHandwritingCallback);
+ method @FlaggedApi("android.view.inputmethod.connectionless_handwriting") public void startConnectionlessStylusHandwritingForDelegation(@NonNull android.view.View, @Nullable android.view.inputmethod.CursorAnchorInfo, @NonNull java.util.concurrent.Executor, @NonNull android.view.inputmethod.ConnectionlessHandwritingCallback);
+ method @FlaggedApi("android.view.inputmethod.connectionless_handwriting") public void startConnectionlessStylusHandwritingForDelegation(@NonNull android.view.View, @Nullable android.view.inputmethod.CursorAnchorInfo, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.view.inputmethod.ConnectionlessHandwritingCallback);
method public void startStylusHandwriting(@NonNull android.view.View);
method @Deprecated public boolean switchToLastInputMethod(android.os.IBinder);
method @Deprecated public boolean switchToNextInputMethod(android.os.IBinder, boolean);
diff --git a/core/api/lint-baseline.txt b/core/api/lint-baseline.txt
index e901f00..b36b963f 100644
--- a/core/api/lint-baseline.txt
+++ b/core/api/lint-baseline.txt
@@ -1093,6 +1093,66 @@
Documentation mentions 'TODO'
+UnflaggedApi: android.R.color#on_surface_disabled_material:
+ New API must be flagged with @FlaggedApi: field android.R.color.on_surface_disabled_material
+UnflaggedApi: android.R.color#outline_disabled_material:
+ New API must be flagged with @FlaggedApi: field android.R.color.outline_disabled_material
+UnflaggedApi: android.R.color#surface_disabled_material:
+ New API must be flagged with @FlaggedApi: field android.R.color.surface_disabled_material
+UnflaggedApi: android.R.color#system_error_0:
+ New API must be flagged with @FlaggedApi: field android.R.color.system_error_0
+UnflaggedApi: android.R.color#system_error_10:
+ New API must be flagged with @FlaggedApi: field android.R.color.system_error_10
+UnflaggedApi: android.R.color#system_error_100:
+ New API must be flagged with @FlaggedApi: field android.R.color.system_error_100
+UnflaggedApi: android.R.color#system_error_1000:
+ New API must be flagged with @FlaggedApi: field android.R.color.system_error_1000
+UnflaggedApi: android.R.color#system_error_200:
+ New API must be flagged with @FlaggedApi: field android.R.color.system_error_200
+UnflaggedApi: android.R.color#system_error_300:
+ New API must be flagged with @FlaggedApi: field android.R.color.system_error_300
+UnflaggedApi: android.R.color#system_error_400:
+ New API must be flagged with @FlaggedApi: field android.R.color.system_error_400
+UnflaggedApi: android.R.color#system_error_50:
+ New API must be flagged with @FlaggedApi: field android.R.color.system_error_50
+UnflaggedApi: android.R.color#system_error_500:
+ New API must be flagged with @FlaggedApi: field android.R.color.system_error_500
+UnflaggedApi: android.R.color#system_error_600:
+ New API must be flagged with @FlaggedApi: field android.R.color.system_error_600
+UnflaggedApi: android.R.color#system_error_700:
+ New API must be flagged with @FlaggedApi: field android.R.color.system_error_700
+UnflaggedApi: android.R.color#system_error_800:
+ New API must be flagged with @FlaggedApi: field android.R.color.system_error_800
+UnflaggedApi: android.R.color#system_error_900:
+ New API must be flagged with @FlaggedApi: field android.R.color.system_error_900
+UnflaggedApi: android.R.color#system_on_surface_disabled:
+ New API must be flagged with @FlaggedApi: field android.R.color.system_on_surface_disabled
+UnflaggedApi: android.R.color#system_on_surface_disabled_dark:
+ New API must be flagged with @FlaggedApi: field android.R.color.system_on_surface_disabled_dark
+UnflaggedApi: android.R.color#system_on_surface_disabled_light:
+ New API must be flagged with @FlaggedApi: field android.R.color.system_on_surface_disabled_light
+UnflaggedApi: android.R.color#system_outline_disabled:
+ New API must be flagged with @FlaggedApi: field android.R.color.system_outline_disabled
+UnflaggedApi: android.R.color#system_outline_disabled_dark:
+ New API must be flagged with @FlaggedApi: field android.R.color.system_outline_disabled_dark
+UnflaggedApi: android.R.color#system_outline_disabled_light:
+ New API must be flagged with @FlaggedApi: field android.R.color.system_outline_disabled_light
+UnflaggedApi: android.R.color#system_surface_disabled:
+ New API must be flagged with @FlaggedApi: field android.R.color.system_surface_disabled
+UnflaggedApi: android.R.color#system_surface_disabled_dark:
+ New API must be flagged with @FlaggedApi: field android.R.color.system_surface_disabled_dark
+UnflaggedApi: android.R.color#system_surface_disabled_light:
+ New API must be flagged with @FlaggedApi: field android.R.color.system_surface_disabled_light
+UnflaggedApi: android.R.dimen#system_corner_radius_large:
+ New API must be flagged with @FlaggedApi: field android.R.dimen.system_corner_radius_large
+UnflaggedApi: android.R.dimen#system_corner_radius_medium:
+ New API must be flagged with @FlaggedApi: field android.R.dimen.system_corner_radius_medium
+UnflaggedApi: android.R.dimen#system_corner_radius_small:
+ New API must be flagged with @FlaggedApi: field android.R.dimen.system_corner_radius_small
+UnflaggedApi: android.R.dimen#system_corner_radius_xlarge:
+ New API must be flagged with @FlaggedApi: field android.R.dimen.system_corner_radius_xlarge
+UnflaggedApi: android.R.dimen#system_corner_radius_xsmall:
+ New API must be flagged with @FlaggedApi: field android.R.dimen.system_corner_radius_xsmall
UnflaggedApi: android.accessibilityservice.AccessibilityService#OVERLAY_RESULT_INTERNAL_ERROR:
New API must be flagged with @FlaggedApi: field android.accessibilityservice.AccessibilityService.OVERLAY_RESULT_INTERNAL_ERROR
UnflaggedApi: android.accessibilityservice.AccessibilityService#OVERLAY_RESULT_INVALID:
diff --git a/core/api/module-lib-current.txt b/core/api/module-lib-current.txt
index 1273da7..7c4df28 100644
--- a/core/api/module-lib-current.txt
+++ b/core/api/module-lib-current.txt
@@ -102,6 +102,7 @@
method @NonNull public android.os.UserHandle getUser();
field public static final String PAC_PROXY_SERVICE = "pac_proxy";
field public static final String TEST_NETWORK_SERVICE = "test_network";
+ field @FlaggedApi("android.webkit.update_service_ipc_wrapper") public static final String WEBVIEW_UPDATE_SERVICE = "webviewupdate";
}
public class Intent implements java.lang.Cloneable android.os.Parcelable {
@@ -317,17 +318,6 @@
}
-package android.net.wifi {
-
- public final class WifiKeystore {
- method @NonNull public static byte[] get(@NonNull String);
- method @NonNull public static String[] list(@NonNull String);
- method public static boolean put(@NonNull String, @NonNull byte[]);
- method public static boolean remove(@NonNull String);
- }
-
-}
-
package android.nfc {
public class NfcServiceManager {
@@ -412,6 +402,19 @@
field public static final int VPN_UID = 1016; // 0x3f8
}
+ @FlaggedApi("android.os.telemetry_apis_framework_initialization") public class ProfilingServiceManager {
+ method @NonNull public android.os.ProfilingServiceManager.ServiceRegisterer getProfilingServiceRegisterer();
+ }
+
+ public static class ProfilingServiceManager.ServiceNotFoundException extends java.lang.Exception {
+ ctor public ProfilingServiceManager.ServiceNotFoundException(@NonNull String);
+ }
+
+ public static final class ProfilingServiceManager.ServiceRegisterer {
+ method @Nullable public android.os.IBinder get();
+ method @Nullable public android.os.IBinder getOrThrow() throws android.os.ProfilingServiceManager.ServiceNotFoundException;
+ }
+
public final class ServiceManager {
method @NonNull public static String[] getDeclaredInstances(@NonNull String);
method public static boolean isDeclared(@NonNull String);
@@ -637,3 +640,34 @@
}
+package android.webkit {
+
+ @FlaggedApi("android.webkit.update_service_ipc_wrapper") public class WebViewBootstrapFrameworkInitializer {
+ method public static void registerServiceWrappers();
+ }
+
+ @FlaggedApi("android.webkit.update_service_ipc_wrapper") public final class WebViewProviderResponse implements android.os.Parcelable {
+ ctor public WebViewProviderResponse(@Nullable android.content.pm.PackageInfo, int);
+ method public int describeContents();
+ method public void writeToParcel(@NonNull android.os.Parcel, int);
+ field @NonNull public static final android.os.Parcelable.Creator<android.webkit.WebViewProviderResponse> CREATOR;
+ field public static final int STATUS_FAILED_LISTING_WEBVIEW_PACKAGES = 4; // 0x4
+ field public static final int STATUS_FAILED_WAITING_FOR_RELRO = 3; // 0x3
+ field public static final int STATUS_SUCCESS = 0; // 0x0
+ field @Nullable public final android.content.pm.PackageInfo packageInfo;
+ field public final int status;
+ }
+
+ @FlaggedApi("android.webkit.update_service_ipc_wrapper") public final class WebViewUpdateManager {
+ method @Nullable @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public String changeProviderAndSetting(@NonNull String);
+ method @NonNull public android.webkit.WebViewProviderInfo[] getAllWebViewPackages();
+ method @Nullable public android.content.pm.PackageInfo getCurrentWebViewPackage();
+ method @Nullable public String getCurrentWebViewPackageName();
+ method @FlaggedApi("android.webkit.update_service_v2") @NonNull public android.webkit.WebViewProviderInfo getDefaultWebViewPackage();
+ method @Nullable public static android.webkit.WebViewUpdateManager getInstance();
+ method @NonNull public android.webkit.WebViewProviderInfo[] getValidWebViewPackages();
+ method @NonNull public android.webkit.WebViewProviderResponse waitForAndGetProvider();
+ }
+
+}
+
diff --git a/core/api/system-current.txt b/core/api/system-current.txt
index 3d01ef6..88f9aff 100644
--- a/core/api/system-current.txt
+++ b/core/api/system-current.txt
@@ -332,7 +332,6 @@
field @FlaggedApi("android.app.usage.report_usage_stats_permission") public static final String REPORT_USAGE_STATS = "android.permission.REPORT_USAGE_STATS";
field @Deprecated public static final String REQUEST_NETWORK_SCORES = "android.permission.REQUEST_NETWORK_SCORES";
field public static final String REQUEST_NOTIFICATION_ASSISTANT_SERVICE = "android.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE";
- field @FlaggedApi("android.service.voice.flags.allow_training_data_egress_from_hds") public static final String RESET_HOTWORD_TRAINING_DATA_EGRESS_COUNT = "android.permission.RESET_HOTWORD_TRAINING_DATA_EGRESS_COUNT";
field public static final String RESET_PASSWORD = "android.permission.RESET_PASSWORD";
field public static final String RESTART_WIFI_SUBSYSTEM = "android.permission.RESTART_WIFI_SUBSYSTEM";
field public static final String RESTORE_RUNTIME_PERMISSIONS = "android.permission.RESTORE_RUNTIME_PERMISSIONS";
@@ -656,6 +655,7 @@
field public static final String OPSTR_CAPTURE_CONSENTLESS_BUGREPORT_ON_USERDEBUG_BUILD = "android:capture_consentless_bugreport_on_userdebug_build";
field public static final String OPSTR_CHANGE_WIFI_STATE = "android:change_wifi_state";
field @FlaggedApi("android.view.contentprotection.flags.create_accessibility_overlay_app_op_enabled") public static final String OPSTR_CREATE_ACCESSIBILITY_OVERLAY = "android:create_accessibility_overlay";
+ field @FlaggedApi("android.location.flags.location_bypass") public static final String OPSTR_EMERGENCY_LOCATION = "android:emergency_location";
field @FlaggedApi("android.permission.flags.op_enable_mobile_data_by_user") public static final String OPSTR_ENABLE_MOBILE_DATA_BY_USER = "android:enable_mobile_data_by_user";
field public static final String OPSTR_ESTABLISH_VPN_MANAGER = "android:establish_vpn_manager";
field public static final String OPSTR_ESTABLISH_VPN_SERVICE = "android:establish_vpn_service";
@@ -1040,13 +1040,20 @@
method @Nullable public android.content.ComponentName getAllowedNotificationAssistant();
method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_NOTIFICATION_LISTENERS) public java.util.List<android.content.ComponentName> getEnabledNotificationListeners();
method public boolean isNotificationAssistantAccessGranted(@NonNull android.content.ComponentName);
+ method @FlaggedApi("android.service.notification.callstyle_callback_api") @RequiresPermission(allOf={android.Manifest.permission.INTERACT_ACROSS_USERS, android.Manifest.permission.ACCESS_NOTIFICATIONS}) public void registerCallNotificationEventListener(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull android.app.NotificationManager.CallNotificationEventListener);
method public void setNotificationAssistantAccessGranted(@Nullable android.content.ComponentName, boolean);
method @RequiresPermission(android.Manifest.permission.MANAGE_NOTIFICATION_LISTENERS) public void setNotificationListenerAccessGranted(@NonNull android.content.ComponentName, boolean, boolean);
+ method @FlaggedApi("android.service.notification.callstyle_callback_api") @RequiresPermission(allOf={android.Manifest.permission.INTERACT_ACROSS_USERS, android.Manifest.permission.ACCESS_NOTIFICATIONS}) public void unregisterCallNotificationEventListener(@NonNull android.app.NotificationManager.CallNotificationEventListener);
field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_CLOSE_NOTIFICATION_HANDLER_PANEL = "android.app.action.CLOSE_NOTIFICATION_HANDLER_PANEL";
field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_OPEN_NOTIFICATION_HANDLER_PANEL = "android.app.action.OPEN_NOTIFICATION_HANDLER_PANEL";
field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_TOGGLE_NOTIFICATION_HANDLER_PANEL = "android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL";
}
+ @FlaggedApi("android.service.notification.callstyle_callback_api") public static interface NotificationManager.CallNotificationEventListener {
+ method @FlaggedApi("android.service.notification.callstyle_callback_api") public void onCallNotificationPosted(@NonNull String, @NonNull android.os.UserHandle);
+ method @FlaggedApi("android.service.notification.callstyle_callback_api") public void onCallNotificationRemoved(@NonNull String, @NonNull android.os.UserHandle);
+ }
+
public final class RemoteLockscreenValidationResult implements android.os.Parcelable {
method public int describeContents();
method public int getResultCode();
@@ -1127,13 +1134,17 @@
field public static final int NAV_BAR_MODE_KIDS = 1; // 0x1
}
- public static final class StatusBarManager.DisableInfo {
+ public static final class StatusBarManager.DisableInfo implements android.os.Parcelable {
method public boolean areAllComponentsEnabled();
+ method public int describeContents();
+ method public boolean isBackDisabled();
method public boolean isNavigateToHomeDisabled();
method public boolean isNotificationPeekingDisabled();
method public boolean isRecentsDisabled();
method public boolean isSearchDisabled();
method public boolean isStatusBarExpansionDisabled();
+ method public void writeToParcel(@NonNull android.os.Parcel, int);
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.StatusBarManager.DisableInfo> CREATOR;
}
public final class SystemServiceRegistry {
@@ -4485,6 +4496,7 @@
ctor public FailureResult(int, @Nullable String);
method public int getErrorCode();
method @Nullable public String getErrorMessage();
+ method public static void sendFailureResult(@NonNull android.os.ResultReceiver, @NonNull android.credentials.selection.FailureResult);
field public static final int ERROR_CODE_CANCELED_AND_LAUNCHED_SETTINGS = 2; // 0x2
field public static final int ERROR_CODE_DIALOG_CANCELED_BY_USER = 1; // 0x1
field public static final int ERROR_CODE_UI_FAILURE = 0; // 0x0
@@ -4546,17 +4558,13 @@
@FlaggedApi("android.credentials.flags.configurable_selector_ui_enabled") public final class RequestToken {
}
- @FlaggedApi("android.credentials.flags.configurable_selector_ui_enabled") public final class ResultHelper {
- method public static void sendFailureResult(@NonNull android.os.ResultReceiver, @NonNull android.credentials.selection.FailureResult);
- method public static void sendUserSelectionResult(@NonNull android.os.ResultReceiver, @NonNull android.credentials.selection.UserSelectionResult);
- }
-
@FlaggedApi("android.credentials.flags.configurable_selector_ui_enabled") public final class UserSelectionResult {
ctor public UserSelectionResult(@NonNull String, @NonNull String, @NonNull String, @Nullable android.credentials.selection.ProviderPendingIntentResponse);
method @NonNull public String getEntryKey();
method @NonNull public String getEntrySubkey();
method @Nullable public android.credentials.selection.ProviderPendingIntentResponse getPendingIntentProviderResponse();
method @NonNull public String getProviderId();
+ method public static void sendUserSelectionResult(@NonNull android.os.ResultReceiver, @NonNull android.credentials.selection.UserSelectionResult);
}
}
@@ -6644,6 +6652,7 @@
method public int getSupportedRoleCombinations();
method public int getUsbDataStatus();
method public boolean isConnected();
+ method @FlaggedApi("android.hardware.usb.flags.enable_is_pd_compliant_api") public boolean isPdCompliant();
method public boolean isPowerTransferLimited();
method public boolean isRoleCombinationSupported(int, int);
method public void writeToParcel(android.os.Parcel, int);
@@ -9769,6 +9778,13 @@
package android.net.wifi {
+ public final class WifiKeystore {
+ method @NonNull public static byte[] get(@NonNull String);
+ method @NonNull public static String[] list(@NonNull String);
+ method public static boolean put(@NonNull String, @NonNull byte[]);
+ method public static boolean remove(@NonNull String);
+ }
+
public final class WifiMigration {
method @Nullable public static java.io.InputStream convertAndRetrieveSharedConfigStoreFile(int);
method @Nullable public static java.io.InputStream convertAndRetrieveUserConfigStoreFile(int, @NonNull android.os.UserHandle);
@@ -13284,7 +13300,6 @@
public static final class HotwordDetectionService.Callback {
method public void onDetected(@NonNull android.service.voice.HotwordDetectedResult);
method public void onRejected(@NonNull android.service.voice.HotwordRejectedResult);
- method @FlaggedApi("android.service.voice.flags.allow_training_data_egress_from_hds") public void onTrainingData(@NonNull android.service.voice.HotwordTrainingData);
}
public final class HotwordDetectionServiceFailure implements android.os.Parcelable {
@@ -13300,8 +13315,6 @@
field public static final int ERROR_CODE_DETECT_TIMEOUT = 4; // 0x4
field public static final int ERROR_CODE_ON_DETECTED_SECURITY_EXCEPTION = 5; // 0x5
field public static final int ERROR_CODE_ON_DETECTED_STREAM_COPY_FAILURE = 6; // 0x6
- field @FlaggedApi("android.service.voice.flags.allow_training_data_egress_from_hds") public static final int ERROR_CODE_ON_TRAINING_DATA_EGRESS_LIMIT_EXCEEDED = 8; // 0x8
- field @FlaggedApi("android.service.voice.flags.allow_training_data_egress_from_hds") public static final int ERROR_CODE_ON_TRAINING_DATA_SECURITY_EXCEPTION = 9; // 0x9
field public static final int ERROR_CODE_REMOTE_EXCEPTION = 7; // 0x7
field @FlaggedApi("android.service.voice.flags.allow_training_data_egress_from_hds") public static final int ERROR_CODE_SHUTDOWN_HDS_ON_VOICE_ACTIVATION_OP_DISABLED = 10; // 0xa
field public static final int ERROR_CODE_UNKNOWN = 0; // 0x0
@@ -13324,7 +13337,6 @@
method public void onRecognitionPaused();
method public void onRecognitionResumed();
method public void onRejected(@NonNull android.service.voice.HotwordRejectedResult);
- method @FlaggedApi("android.service.voice.flags.allow_training_data_egress_from_hds") public default void onTrainingData(@NonNull android.service.voice.HotwordTrainingData);
method public default void onUnknownFailure(@NonNull String);
}
@@ -13403,6 +13415,23 @@
field public static final int ERROR_CODE_UNKNOWN = 0; // 0x0
}
+ @FlaggedApi("android.service.voice.flags.allow_various_attention_types") public final class VisualQueryAttentionResult implements android.os.Parcelable {
+ method public int describeContents();
+ method @IntRange(from=1, to=100) public int getEngagementLevel();
+ method public int getInteractionIntention();
+ method public void writeToParcel(@NonNull android.os.Parcel, int);
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.VisualQueryAttentionResult> CREATOR;
+ field public static final int INTERACTION_INTENTION_AUDIO_VISUAL = 0; // 0x0
+ field public static final int INTERACTION_INTENTION_VISUAL_ACCESSIBILITY = 1; // 0x1
+ }
+
+ public static final class VisualQueryAttentionResult.Builder {
+ ctor public VisualQueryAttentionResult.Builder();
+ method @NonNull public android.service.voice.VisualQueryAttentionResult build();
+ method @NonNull public android.service.voice.VisualQueryAttentionResult.Builder setEngagementLevel(@IntRange(from=1, to=100) int);
+ method @NonNull public android.service.voice.VisualQueryAttentionResult.Builder setInteractionIntention(int);
+ }
+
@FlaggedApi("android.service.voice.flags.allow_complex_results_egress_from_vqds") public final class VisualQueryDetectedResult implements android.os.Parcelable {
method public int describeContents();
method public static int getMaxSpeakerId();
@@ -13423,7 +13452,9 @@
ctor public VisualQueryDetectionService();
method public final void finishQuery() throws java.lang.IllegalStateException;
method public final void gainedAttention();
+ method @FlaggedApi("android.service.voice.flags.allow_various_attention_types") public final void gainedAttention(@NonNull android.service.voice.VisualQueryAttentionResult);
method public final void lostAttention();
+ method @FlaggedApi("android.service.voice.flags.allow_various_attention_types") public final void lostAttention(int);
method @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent);
method public void onStartDetection();
method public void onStopDetection();
@@ -13476,7 +13507,6 @@
method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_HOTWORD_DETECTION) public final android.service.voice.HotwordDetector createHotwordDetector(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, @NonNull java.util.concurrent.Executor, @NonNull android.service.voice.HotwordDetector.Callback);
method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_VOICE_KEYPHRASES) public final android.media.voice.KeyphraseModelManager createKeyphraseModelManager();
method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_HOTWORD_DETECTION) public final android.service.voice.VisualQueryDetector createVisualQueryDetector(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, @NonNull java.util.concurrent.Executor, @NonNull android.service.voice.VisualQueryDetector.Callback);
- method @FlaggedApi("android.service.voice.flags.allow_training_data_egress_from_hds") @RequiresPermission(android.Manifest.permission.MANAGE_HOTWORD_DETECTION) public void setShouldReceiveSandboxedTrainingData(boolean);
}
}
@@ -13865,6 +13895,7 @@
field public static final int CAPABILITY_EMERGENCY_VIDEO_CALLING = 512; // 0x200
field public static final int CAPABILITY_MULTI_USER = 32; // 0x20
field public static final String EXTRA_PLAY_CALL_RECORDING_TONE = "android.telecom.extra.PLAY_CALL_RECORDING_TONE";
+ field @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies") public static final String EXTRA_SKIP_CALL_FILTERING = "android.telecom.extra.SKIP_CALL_FILTERING";
field public static final String EXTRA_SORT_ORDER = "android.telecom.extra.SORT_ORDER";
}
diff --git a/core/api/system-lint-baseline.txt b/core/api/system-lint-baseline.txt
index 8a485d2..a6505c8 100644
--- a/core/api/system-lint-baseline.txt
+++ b/core/api/system-lint-baseline.txt
@@ -1927,6 +1927,10 @@
New API must be flagged with @FlaggedApi: method android.app.ActivityManager.getExternalHistoricalProcessStartReasons(String,int)
UnflaggedApi: android.app.AppOpsManager#OPSTR_RECEIVE_SANDBOX_TRIGGER_AUDIO:
New API must be flagged with @FlaggedApi: field android.app.AppOpsManager.OPSTR_RECEIVE_SANDBOX_TRIGGER_AUDIO
+UnflaggedApi: android.app.StatusBarManager.DisableInfo#CREATOR:
+ New API must be flagged with @FlaggedApi: field android.app.StatusBarManager.DisableInfo.CREATOR
+UnflaggedApi: android.app.StatusBarManager.DisableInfo#isBackDisabled():
+ New API must be flagged with @FlaggedApi: method android.app.StatusBarManager.DisableInfo.isBackDisabled()
UnflaggedApi: android.companion.virtual.VirtualDeviceManager.VirtualDevice#getPersistentDeviceId():
New API must be flagged with @FlaggedApi: method android.companion.virtual.VirtualDeviceManager.VirtualDevice.getPersistentDeviceId()
UnflaggedApi: android.content.Context#THREAD_NETWORK_SERVICE:
diff --git a/core/api/test-current.txt b/core/api/test-current.txt
index dd79c4a4..cd84c84 100644
--- a/core/api/test-current.txt
+++ b/core/api/test-current.txt
@@ -463,7 +463,7 @@
method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void togglePanel();
}
- public static final class StatusBarManager.DisableInfo {
+ public static final class StatusBarManager.DisableInfo implements android.os.Parcelable {
method public boolean isRotationSuggestionDisabled();
}
@@ -921,7 +921,33 @@
package android.companion.virtual {
public final class VirtualDeviceManager {
+ method public int getAudioPlaybackSessionId(int);
+ method public int getAudioRecordingSessionId(int);
+ method public int getDeviceIdForDisplayId(int);
+ method public int getDevicePolicy(int, int);
method @FlaggedApi("android.companion.virtual.flags.interactive_screen_mirror") public boolean isVirtualDeviceOwnedMirrorDisplay(int);
+ method public void playSoundEffect(int, int);
+ }
+
+}
+
+package android.companion.virtual.camera {
+
+ @FlaggedApi("android.companion.virtual.flags.virtual_camera") public final class VirtualCamera implements java.io.Closeable {
+ method @NonNull public String getId();
+ }
+
+}
+
+package android.companion.virtual.sensor {
+
+ public final class VirtualSensor implements android.os.Parcelable {
+ ctor public VirtualSensor(int, int, @NonNull String);
+ method public int getHandle();
+ }
+
+ public final class VirtualSensorConfig implements android.os.Parcelable {
+ method public int getFlags();
}
}
@@ -988,6 +1014,7 @@
method public void setAutofillOptions(@Nullable android.content.AutofillOptions);
method public void setContentCaptureOptions(@Nullable android.content.ContentCaptureOptions);
method public void updateDeviceId(int);
+ method public abstract void updateDisplay(int);
field public static final String ATTENTION_SERVICE = "attention";
field public static final String CONTENT_CAPTURE_MANAGER_SERVICE = "content_capture";
field public static final String DEVICE_IDLE_CONTROLLER = "deviceidle";
@@ -1001,6 +1028,7 @@
public class ContextWrapper extends android.content.Context {
method public int getDisplayId();
+ method public void updateDisplay(int);
}
public class Intent implements java.lang.Cloneable android.os.Parcelable {
@@ -1812,6 +1840,14 @@
}
+package android.hardware.usb {
+
+ public final class UsbPort {
+ method @FlaggedApi("android.hardware.usb.flags.enable_is_mode_change_supported_api") @RequiresPermission(android.Manifest.permission.MANAGE_USB) public boolean isModeChangeSupported();
+ }
+
+}
+
package android.inputmethodservice {
public abstract class AbstractInputMethodService extends android.window.WindowProviderService implements android.view.KeyEvent.Callback {
@@ -2707,17 +2743,17 @@
package android.os.vibrator.persistence {
- @FlaggedApi("android.os.vibrator.enable_vibration_serialization_apis") public class ParsedVibration {
+ public class ParsedVibration {
method @NonNull public java.util.List<android.os.VibrationEffect> getVibrationEffects();
method @Nullable public android.os.VibrationEffect resolve(@NonNull android.os.Vibrator);
}
- @FlaggedApi("android.os.vibrator.enable_vibration_serialization_apis") public final class VibrationXmlParser {
+ public final class VibrationXmlParser {
method @Nullable public static android.os.vibrator.persistence.ParsedVibration parseDocument(@NonNull java.io.Reader) throws java.io.IOException;
method @Nullable public static android.os.VibrationEffect parseVibrationEffect(@NonNull java.io.Reader) throws java.io.IOException;
}
- @FlaggedApi("android.os.vibrator.enable_vibration_serialization_apis") public final class VibrationXmlSerializer {
+ public final class VibrationXmlSerializer {
method public static void serialize(@NonNull android.os.VibrationEffect, @NonNull java.io.Writer) throws java.io.IOException, android.os.vibrator.persistence.VibrationXmlSerializer.SerializationFailedException;
}
@@ -3056,6 +3092,14 @@
method @Deprecated public boolean isBound();
}
+ @FlaggedApi("android.app.modes_api") public final class ZenDeviceEffects implements android.os.Parcelable {
+ method @NonNull public java.util.Set<java.lang.String> getExtraEffects();
+ }
+
+ @FlaggedApi("android.app.modes_api") public static final class ZenDeviceEffects.Builder {
+ method @NonNull public android.service.notification.ZenDeviceEffects.Builder setExtraEffects(@NonNull java.util.Set<java.lang.String>);
+ }
+
public final class ZenPolicy implements android.os.Parcelable {
method @FlaggedApi("android.app.modes_api") @NonNull public android.service.notification.ZenPolicy overwrittenWith(@Nullable android.service.notification.ZenPolicy);
}
@@ -3155,7 +3199,6 @@
method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_HOTWORD_DETECTION) public final android.service.voice.AlwaysOnHotwordDetector createAlwaysOnHotwordDetectorForTest(@NonNull String, @NonNull java.util.Locale, @NonNull android.hardware.soundtrigger.SoundTrigger.ModuleProperties, @NonNull java.util.concurrent.Executor, @NonNull android.service.voice.AlwaysOnHotwordDetector.Callback);
method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_HOTWORD_DETECTION) public final android.service.voice.AlwaysOnHotwordDetector createAlwaysOnHotwordDetectorForTest(@NonNull String, @NonNull java.util.Locale, @Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, @NonNull android.hardware.soundtrigger.SoundTrigger.ModuleProperties, @NonNull java.util.concurrent.Executor, @NonNull android.service.voice.AlwaysOnHotwordDetector.Callback);
method @NonNull public final java.util.List<android.hardware.soundtrigger.SoundTrigger.ModuleProperties> listModuleProperties();
- method @FlaggedApi("android.service.voice.flags.allow_training_data_egress_from_hds") @RequiresPermission(android.Manifest.permission.RESET_HOTWORD_TRAINING_DATA_EGRESS_COUNT) public final void resetHotwordTrainingDataEgressCountForTest();
method public final void setTestModuleForAlwaysOnHotwordDetectorEnabled(boolean);
}
@@ -3537,6 +3580,7 @@
public final class Display {
method @RequiresPermission(android.Manifest.permission.MODIFY_USER_PREFERRED_DISPLAY_MODE) public void clearUserPreferredDisplayMode();
method @NonNull public android.view.Display.Mode getDefaultMode();
+ method public int getRemoveMode();
method @NonNull public int[] getReportedHdrTypes();
method @NonNull public android.graphics.ColorSpace[] getSupportedWideColorGamut();
method @Nullable public android.view.Display.Mode getSystemPreferredDisplayMode();
@@ -3901,7 +3945,7 @@
}
public final class InputMethodInfo implements android.os.Parcelable {
- ctor public InputMethodInfo(@NonNull String, @NonNull String, @NonNull CharSequence, @NonNull String, @NonNull String, boolean, @NonNull String);
+ ctor @FlaggedApi("android.view.inputmethod.connectionless_handwriting") public InputMethodInfo(@NonNull String, @NonNull String, @NonNull CharSequence, @NonNull String, @NonNull String, boolean, boolean, @NonNull String);
ctor public InputMethodInfo(@NonNull String, @NonNull String, @NonNull CharSequence, @NonNull String, int);
field public static final int COMPONENT_NAME_MAX_LENGTH = 1000; // 0x3e8
field public static final int MAX_IMES_PER_PACKAGE = 20; // 0x14
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java
index de6a848..b25d5eb 100644
--- a/core/java/android/app/ActivityThread.java
+++ b/core/java/android/app/ActivityThread.java
@@ -146,6 +146,8 @@
import android.os.ParcelFileDescriptor;
import android.os.PersistableBundle;
import android.os.Process;
+import android.os.ProfilingFrameworkInitializer;
+import android.os.ProfilingServiceManager;
import android.os.RemoteCallback;
import android.os.RemoteException;
import android.os.ServiceManager;
@@ -8588,6 +8590,9 @@
NfcFrameworkInitializer.setNfcServiceManager(new NfcServiceManager());
DeviceConfigInitializer.setDeviceConfigServiceManager(new DeviceConfigServiceManager());
SeFrameworkInitializer.setSeServiceManager(new SeServiceManager());
+ if (android.server.Flags.telemetryApisService()) {
+ ProfilingFrameworkInitializer.setProfilingServiceManager(new ProfilingServiceManager());
+ }
}
private void purgePendingResources() {
diff --git a/core/java/android/app/AppOpsManager.java b/core/java/android/app/AppOpsManager.java
index 5074ed7..2100425 100644
--- a/core/java/android/app/AppOpsManager.java
+++ b/core/java/android/app/AppOpsManager.java
@@ -16,6 +16,7 @@
package android.app;
+import static android.location.flags.Flags.FLAG_LOCATION_BYPASS;
import static android.permission.flags.Flags.FLAG_OP_ENABLE_MOBILE_DATA_BY_USER;
import static android.view.contentprotection.flags.Flags.FLAG_CREATE_ACCESSIBILITY_OVERLAY_APP_OP_ENABLED;
import static android.view.contentprotection.flags.Flags.FLAG_RAPID_CLEAR_NOTIFICATIONS_BY_LISTENER_APP_OP_ENABLED;
@@ -1571,9 +1572,17 @@
public static final int OP_UNARCHIVAL_CONFIRMATION =
AppProtoEnums.APP_OP_UNARCHIVAL_CONFIRMATION;
+ /**
+ * Allows an app to access location without the traditional location permissions and while the
+ * user location setting is off, but only during pre-defined emergency sessions.
+ *
+ * @hide
+ */
+ public static final int OP_EMERGENCY_LOCATION = AppProtoEnums.APP_OP_EMERGENCY_LOCATION;
+
/** @hide */
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
- public static final int _NUM_OP = 147;
+ public static final int _NUM_OP = 148;
/**
* All app ops represented as strings.
@@ -1726,6 +1735,7 @@
OPSTR_RUN_BACKUP_JOBS,
OPSTR_ARCHIVE_ICON_OVERLAY,
OPSTR_UNARCHIVAL_CONFIRMATION,
+ OPSTR_EMERGENCY_LOCATION,
})
public @interface AppOpString {}
@@ -2439,6 +2449,16 @@
*/
public static final String OPSTR_RUN_BACKUP_JOBS = "android:run_backup_jobs";
+ /**
+ * Allows an app to access location without the traditional location permissions and while the
+ * user location setting is off, but only during pre-defined emergency sessions.
+ *
+ * @hide
+ */
+ @SystemApi
+ @FlaggedApi(FLAG_LOCATION_BYPASS)
+ public static final String OPSTR_EMERGENCY_LOCATION = "android:emergency_location";
+
/** {@link #sAppOpsToNote} not initialized yet for this op */
private static final byte SHOULD_COLLECT_NOTE_OP_NOT_INITIALIZED = 0;
/** Should not collect noting of this app-op in {@link #sAppOpsToNote} */
@@ -3019,6 +3039,9 @@
new AppOpInfo.Builder(OP_UNARCHIVAL_CONFIRMATION, OPSTR_UNARCHIVAL_CONFIRMATION,
"UNARCHIVAL_CONFIRMATION")
.setDefaultMode(MODE_ALLOWED).build(),
+ // TODO(b/301150056): STOPSHIP determine how this appop should work with the permission
+ new AppOpInfo.Builder(OP_EMERGENCY_LOCATION, OPSTR_EMERGENCY_LOCATION, "EMERGENCY_LOCATION")
+ .setPermission(Manifest.permission.LOCATION_BYPASS).build(),
};
// The number of longs needed to form a full bitmask of app ops
diff --git a/core/java/android/app/AutomaticZenRule.java b/core/java/android/app/AutomaticZenRule.java
index d57a4e5..f6373d6 100644
--- a/core/java/android/app/AutomaticZenRule.java
+++ b/core/java/android/app/AutomaticZenRule.java
@@ -487,6 +487,9 @@
public void validate() {
if (Flags.modesApi()) {
checkValidType(mType);
+ if (mDeviceEffects != null) {
+ mDeviceEffects.validate();
+ }
}
}
diff --git a/core/java/android/app/ForegroundServiceTypePolicy.java b/core/java/android/app/ForegroundServiceTypePolicy.java
index d1e517b..7e06735 100644
--- a/core/java/android/app/ForegroundServiceTypePolicy.java
+++ b/core/java/android/app/ForegroundServiceTypePolicy.java
@@ -62,6 +62,7 @@
import android.hardware.usb.UsbAccessory;
import android.hardware.usb.UsbDevice;
import android.hardware.usb.UsbManager;
+import android.os.Build;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.UserHandle;
@@ -127,10 +128,14 @@
* The FGS type enforcement:
* deprecating the {@link android.content.pm.ServiceInfo#FOREGROUND_SERVICE_TYPE_DATA_SYNC}.
*
+ * <p>Starting a FGS with this type from apps with targetSdkVersion
+ * {@link android.os.Build.VERSION_CODES#VANILLA_ICE_CREAM} or later will result in a warning
+ * in the log.
+ *
* @hide
*/
@ChangeId
- @Disabled
+ @EnabledAfter(targetSdkVersion = Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
@Overridable
public static final long FGS_TYPE_DATA_SYNC_DEPRECATION_CHANGE_ID = 255039210L;
diff --git a/core/java/android/app/IActivityTaskManager.aidl b/core/java/android/app/IActivityTaskManager.aidl
index e2e2f1d..08636ae 100644
--- a/core/java/android/app/IActivityTaskManager.aidl
+++ b/core/java/android/app/IActivityTaskManager.aidl
@@ -332,8 +332,10 @@
/**
* When the Picture-in-picture state has changed.
+ * @param pipState the {@link PictureInPictureUiState} is sent to current pip task if there is
+ * any -or- the top most task (state like entering PiP does not require a pinned task).
*/
- void onPictureInPictureStateChanged(in PictureInPictureUiState pipState);
+ void onPictureInPictureUiStateChanged(in PictureInPictureUiState pipState);
/**
* Re-attach navbar to the display during a recents transition.
diff --git a/core/java/android/app/ICallNotificationEventCallback.aidl b/core/java/android/app/ICallNotificationEventCallback.aidl
new file mode 100644
index 0000000..ba34829
--- /dev/null
+++ b/core/java/android/app/ICallNotificationEventCallback.aidl
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2024, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.app;
+
+import android.os.UserHandle;
+
+/**
+ * Callback to be called when a call notification is posted or removed
+ *
+ * @hide
+ */
+oneway interface ICallNotificationEventCallback {
+ void onCallNotificationPosted(String packageName, in UserHandle userHandle);
+ void onCallNotificationRemoved(String packageName, in UserHandle userHandle);
+}
diff --git a/core/java/android/app/INotificationManager.aidl b/core/java/android/app/INotificationManager.aidl
index 578105f..b5e3556 100644
--- a/core/java/android/app/INotificationManager.aidl
+++ b/core/java/android/app/INotificationManager.aidl
@@ -24,6 +24,7 @@
import android.app.NotificationChannelGroup;
import android.app.NotificationHistory;
import android.app.NotificationManager;
+import android.app.ICallNotificationEventCallback;
import android.content.AttributionSource;
import android.content.ComponentName;
import android.content.Intent;
@@ -247,4 +248,10 @@
@EnforcePermission("MANAGE_TOAST_RATE_LIMITING")
void setToastRateLimitingEnabled(boolean enable);
+
+ @EnforcePermission(allOf={"INTERACT_ACROSS_USERS", "ACCESS_NOTIFICATIONS"})
+ void registerCallNotificationEventListener(String packageName, in UserHandle userHandle, in ICallNotificationEventCallback listener);
+ @EnforcePermission(allOf={"INTERACT_ACROSS_USERS", "ACCESS_NOTIFICATIONS"})
+ void unregisterCallNotificationEventListener(String packageName, in UserHandle userHandle, in ICallNotificationEventCallback listener);
+
}
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java
index aa9de81..d6e8ae3 100644
--- a/core/java/android/app/Notification.java
+++ b/core/java/android/app/Notification.java
@@ -3020,6 +3020,43 @@
}
/**
+ * @hide
+ */
+ public String loadHeaderAppName(Context context) {
+ CharSequence name = null;
+ // Check if there is a non-empty substitute app name and return that.
+ if (extras.containsKey(EXTRA_SUBSTITUTE_APP_NAME)) {
+ name = extras.getString(EXTRA_SUBSTITUTE_APP_NAME);
+ if (!TextUtils.isEmpty(name)) {
+ return name.toString();
+ }
+ }
+ // If not, try getting the app info from extras.
+ if (context == null) {
+ return null;
+ }
+ final PackageManager pm = context.getPackageManager();
+ if (TextUtils.isEmpty(name)) {
+ if (extras.containsKey(EXTRA_BUILDER_APPLICATION_INFO)) {
+ final ApplicationInfo info = extras.getParcelable(EXTRA_BUILDER_APPLICATION_INFO,
+ ApplicationInfo.class);
+ if (info != null) {
+ name = pm.getApplicationLabel(info);
+ }
+ }
+ }
+ // If that's still empty, use the one from the context directly.
+ if (TextUtils.isEmpty(name)) {
+ name = pm.getApplicationLabel(context.getApplicationInfo());
+ }
+ // If there's still nothing, ¯\_(ツ)_/¯
+ if (TextUtils.isEmpty(name)) {
+ return null;
+ }
+ return name.toString();
+ }
+
+ /**
* Removes heavyweight parts of the Notification object for archival or for sending to
* listeners when the full contents are not necessary.
* @hide
@@ -5769,34 +5806,7 @@
*/
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
public String loadHeaderAppName() {
- CharSequence name = null;
- final PackageManager pm = mContext.getPackageManager();
- if (mN.extras.containsKey(EXTRA_SUBSTITUTE_APP_NAME)) {
- // only system packages which lump together a bunch of unrelated stuff
- // may substitute a different name to make the purpose of the
- // notification more clear. the correct package label should always
- // be accessible via SystemUI.
- final String pkg = mContext.getPackageName();
- final String subName = mN.extras.getString(EXTRA_SUBSTITUTE_APP_NAME);
- if (PackageManager.PERMISSION_GRANTED == pm.checkPermission(
- android.Manifest.permission.SUBSTITUTE_NOTIFICATION_APP_NAME, pkg)) {
- name = subName;
- } else {
- Log.w(TAG, "warning: pkg "
- + pkg + " attempting to substitute app name '" + subName
- + "' without holding perm "
- + android.Manifest.permission.SUBSTITUTE_NOTIFICATION_APP_NAME);
- }
- }
- if (TextUtils.isEmpty(name)) {
- name = pm.getApplicationLabel(mContext.getApplicationInfo());
- }
- if (TextUtils.isEmpty(name)) {
- // still nothing?
- return null;
- }
-
- return String.valueOf(name);
+ return mN.loadHeaderAppName(mContext);
}
/**
diff --git a/core/java/android/app/NotificationManager.java b/core/java/android/app/NotificationManager.java
index 8c886fe..9dfb5b0 100644
--- a/core/java/android/app/NotificationManager.java
+++ b/core/java/android/app/NotificationManager.java
@@ -16,6 +16,7 @@
package android.app;
+import android.annotation.CallbackExecutor;
import android.annotation.FlaggedApi;
import android.annotation.IntDef;
import android.annotation.NonNull;
@@ -69,6 +70,7 @@
import java.util.List;
import java.util.Map;
import java.util.Objects;
+import java.util.concurrent.Executor;
/**
* Class to notify the user of events that happen. This is how you tell
@@ -627,6 +629,9 @@
*/
public static int MAX_SERVICE_COMPONENT_NAME_LENGTH = 500;
+ private final Map<CallNotificationEventListener, CallNotificationEventCallbackStub>
+ mCallNotificationEventCallbacks = new HashMap<>();
+
@UnsupportedAppUsage
private static INotificationManager sService;
@@ -2848,4 +2853,126 @@
default: return defValue;
}
}
+
+ /**
+ * Callback to receive updates when a call notification has been posted or removed
+ * @hide
+ */
+ @SystemApi
+ @FlaggedApi(android.service.notification.Flags.FLAG_CALLSTYLE_CALLBACK_API)
+ public interface CallNotificationEventListener {
+ /**
+ * Called when a call notification was posted by a package this listener
+ * has registered for.
+ * @param packageName package name of the app that posted the removed notification
+ */
+ @FlaggedApi(android.service.notification.Flags.FLAG_CALLSTYLE_CALLBACK_API)
+ void onCallNotificationPosted(@NonNull String packageName, @NonNull UserHandle userHandle);
+
+ /**
+ * Called when a call notification was removed by a package this listener
+ * has registered for.
+ * @param packageName package name of the app that removed notification
+ */
+ @FlaggedApi(android.service.notification.Flags.FLAG_CALLSTYLE_CALLBACK_API)
+ void onCallNotificationRemoved(@NonNull String packageName, @NonNull UserHandle userHandle);
+ }
+
+ private static class CallNotificationEventCallbackStub extends
+ ICallNotificationEventCallback.Stub {
+ final String mPackageName;
+ final UserHandle mUserHandle;
+ final Executor mExecutor;
+ final CallNotificationEventListener mListener;
+
+ CallNotificationEventCallbackStub(@NonNull String packageName,
+ @NonNull UserHandle userHandle, @NonNull @CallbackExecutor Executor executor,
+ @NonNull CallNotificationEventListener listener) {
+ mPackageName = packageName;
+ mUserHandle = userHandle;
+ mExecutor = executor;
+ mListener = listener;
+ }
+
+ @FlaggedApi(android.service.notification.Flags.FLAG_CALLSTYLE_CALLBACK_API)
+ @Override
+ public void onCallNotificationPosted(String packageName, UserHandle userHandle) {
+ mExecutor.execute(() -> mListener.onCallNotificationPosted(packageName, userHandle));
+ }
+
+ @FlaggedApi(android.service.notification.Flags.FLAG_CALLSTYLE_CALLBACK_API)
+ @Override
+ public void onCallNotificationRemoved(String packageName, UserHandle userHandle) {
+ mExecutor.execute(() -> mListener.onCallNotificationRemoved(packageName, userHandle));
+ }
+ }
+
+ /**
+ * Register a listener to be notified when a call notification is posted or removed
+ * for a specific package and user.
+ *
+ * @param packageName Which package to monitor
+ * @param userHandle Which user to monitor
+ * @param executor Callback will run on this executor
+ * @param listener Listener to register
+ * @hide
+ */
+ @SystemApi
+ @RequiresPermission(allOf = {
+ android.Manifest.permission.INTERACT_ACROSS_USERS,
+ android.Manifest.permission.ACCESS_NOTIFICATIONS})
+ @FlaggedApi(android.service.notification.Flags.FLAG_CALLSTYLE_CALLBACK_API)
+ public void registerCallNotificationEventListener(@NonNull String packageName,
+ @NonNull UserHandle userHandle, @NonNull @CallbackExecutor Executor executor,
+ @NonNull CallNotificationEventListener listener) {
+ checkRequired("packageName", packageName);
+ checkRequired("userHandle", userHandle);
+ checkRequired("executor", executor);
+ checkRequired("listener", listener);
+ INotificationManager service = getService();
+ try {
+ synchronized (mCallNotificationEventCallbacks) {
+ CallNotificationEventCallbackStub callbackStub =
+ new CallNotificationEventCallbackStub(packageName, userHandle,
+ executor, listener);
+ mCallNotificationEventCallbacks.put(listener, callbackStub);
+
+ service.registerCallNotificationEventListener(packageName, userHandle,
+ callbackStub);
+ }
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
+ /**
+ * Unregister a listener that was previously
+ * registered with {@link #registerCallNotificationEventListener}
+ *
+ * @param listener Listener to unregister
+ * @hide
+ */
+ @SystemApi
+ @FlaggedApi(android.service.notification.Flags.FLAG_CALLSTYLE_CALLBACK_API)
+ @RequiresPermission(allOf = {
+ android.Manifest.permission.INTERACT_ACROSS_USERS,
+ android.Manifest.permission.ACCESS_NOTIFICATIONS})
+ public void unregisterCallNotificationEventListener(
+ @NonNull CallNotificationEventListener listener) {
+ checkRequired("listener", listener);
+ INotificationManager service = getService();
+ try {
+ synchronized (mCallNotificationEventCallbacks) {
+ CallNotificationEventCallbackStub callbackStub =
+ mCallNotificationEventCallbacks.remove(listener);
+ if (callbackStub != null) {
+ service.unregisterCallNotificationEventListener(callbackStub.mPackageName,
+ callbackStub.mUserHandle, callbackStub);
+ }
+ }
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
}
diff --git a/core/java/android/app/PictureInPictureUiState.java b/core/java/android/app/PictureInPictureUiState.java
index 32ce89a..39ba54c 100644
--- a/core/java/android/app/PictureInPictureUiState.java
+++ b/core/java/android/app/PictureInPictureUiState.java
@@ -16,8 +16,10 @@
package android.app;
+import android.annotation.FlaggedApi;
import android.annotation.NonNull;
import android.annotation.TestApi;
+import android.content.res.Configuration;
import android.os.Parcel;
import android.os.Parcelable;
@@ -28,23 +30,30 @@
*/
public final class PictureInPictureUiState implements Parcelable {
- private boolean mIsStashed;
+ private final boolean mIsStashed;
+ private final boolean mIsEnteringPip;
/** {@hide} */
PictureInPictureUiState(Parcel in) {
mIsStashed = in.readBoolean();
+ mIsEnteringPip = in.readBoolean();
}
/** {@hide} */
@TestApi
public PictureInPictureUiState(boolean isStashed) {
+ this(isStashed, false /* isEnteringPip */);
+ }
+
+ private PictureInPictureUiState(boolean isStashed, boolean isEnteringPip) {
mIsStashed = isStashed;
+ mIsEnteringPip = isEnteringPip;
}
/**
* Returns whether Picture-in-Picture is stashed or not. A stashed PiP means it is only
- * partially visible to the user, with some parts of it being off-screen. This is usually
- * an UI state that is triggered by the user, such as flinging the PiP to the edge or letting go
+ * partially visible to the user, with some parts of it being off-screen. This is usually a
+ * UI state that is triggered by the user, such as flinging the PiP to the edge or letting go
* of PiP while dragging partially off-screen.
*
* Developers can use this in conjunction with
@@ -52,7 +61,7 @@
* when the PiP stash state has changed. For example, if the state changed from {@code false} to
* {@code true}, developers can choose to temporarily pause video playback if PiP is of video
* content. Vice versa, if changing from {@code true} to {@code false} and video content is
- * paused, developers can resumevideo playback.
+ * paused, developers can resume video playback.
*
* @see <a href="http://developer.android.com/about/versions/12/features/pip-improvements">
* Picture in Picture (PiP) improvements</a>
@@ -61,17 +70,44 @@
return mIsStashed;
}
+ /**
+ * Returns {@code true} if the app is going to enter Picture-in-Picture (PiP) mode.
+ *
+ * This state is associated with the entering PiP animation. When that animation starts,
+ * whether via auto enter PiP or calling
+ * {@link Activity#enterPictureInPictureMode(PictureInPictureParams)} explicitly, app can expect
+ * {@link Activity#onPictureInPictureUiStateChanged(PictureInPictureUiState)} callback with
+ * {@link #isEnteringPip()} to be {@code true} first,
+ * followed by {@link Activity#onPictureInPictureModeChanged(boolean, Configuration)} when it
+ * fully settles in PiP mode.
+ *
+ * When app receives the
+ * {@link Activity#onPictureInPictureUiStateChanged(PictureInPictureUiState)} callback with
+ * {@link #isEnteringPip()} being {@code true}, it's recommended to hide certain UI elements,
+ * such as video controls, to archive a clean entering PiP animation.
+ *
+ * In case an application wants to restore the previously hidden UI elements when exiting
+ * PiP, it is recommended to do that in
+ * {@code onPictureInPictureModeChanged(isInPictureInPictureMode=false)} callback rather
+ * than the beginning of exit PiP animation.
+ */
+ @FlaggedApi(Flags.FLAG_ENABLE_PIP_UI_STATE_CALLBACK_ON_ENTERING)
+ public boolean isEnteringPip() {
+ return mIsEnteringPip;
+ }
+
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof PictureInPictureUiState)) return false;
PictureInPictureUiState that = (PictureInPictureUiState) o;
- return Objects.equals(mIsStashed, that.mIsStashed);
+ return mIsStashed == that.mIsStashed
+ && mIsEnteringPip == that.mIsEnteringPip;
}
@Override
public int hashCode() {
- return Objects.hash(mIsStashed);
+ return Objects.hash(mIsStashed, mIsEnteringPip);
}
@Override
@@ -82,6 +118,7 @@
@Override
public void writeToParcel(@NonNull Parcel out, int flags) {
out.writeBoolean(mIsStashed);
+ out.writeBoolean(mIsEnteringPip);
}
public static final @android.annotation.NonNull Creator<PictureInPictureUiState> CREATOR =
@@ -93,4 +130,43 @@
return new PictureInPictureUiState[size];
}
};
+
+ /**
+ * Builder class for {@link PictureInPictureUiState}.
+ * @hide
+ */
+ @FlaggedApi(Flags.FLAG_ENABLE_PIP_UI_STATE_CALLBACK_ON_ENTERING)
+ public static final class Builder {
+ private boolean mIsStashed;
+ private boolean mIsEnteringPip;
+
+ /** Empty constructor. */
+ public Builder() {
+ }
+
+ /**
+ * Sets the {@link #mIsStashed} state.
+ * @return The same {@link Builder} instance.
+ */
+ public Builder setStashed(boolean isStashed) {
+ mIsStashed = isStashed;
+ return this;
+ }
+
+ /**
+ * Sets the {@link #mIsEnteringPip} state.
+ * @return The same {@link Builder} instance.
+ */
+ public Builder setEnteringPip(boolean isEnteringPip) {
+ mIsEnteringPip = isEnteringPip;
+ return this;
+ }
+
+ /**
+ * @return The constructed {@link PictureInPictureUiState} instance.
+ */
+ public PictureInPictureUiState build() {
+ return new PictureInPictureUiState(mIsStashed, mIsEnteringPip);
+ }
+ }
}
diff --git a/core/java/android/app/StatusBarManager.aidl b/core/java/android/app/StatusBarManager.aidl
new file mode 100644
index 0000000..687678c
--- /dev/null
+++ b/core/java/android/app/StatusBarManager.aidl
@@ -0,0 +1,19 @@
+/**
+ * Copyright (c) 2024, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.app;
+
+parcelable StatusBarManager.DisableInfo;
\ No newline at end of file
diff --git a/core/java/android/app/StatusBarManager.java b/core/java/android/app/StatusBarManager.java
index 14195c4..e6e46dd 100644
--- a/core/java/android/app/StatusBarManager.java
+++ b/core/java/android/app/StatusBarManager.java
@@ -21,6 +21,7 @@
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.RequiresPermission;
+import android.annotation.SuppressLint;
import android.annotation.SystemApi;
import android.annotation.SystemService;
import android.annotation.TestApi;
@@ -43,6 +44,7 @@
import android.os.Build;
import android.os.Bundle;
import android.os.IBinder;
+import android.os.Parcelable;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.UserHandle;
@@ -57,6 +59,7 @@
import com.android.internal.statusbar.IStatusBarService;
import com.android.internal.statusbar.IUndoMediaTransferCallback;
import com.android.internal.statusbar.NotificationVisibility;
+import com.android.internal.util.DataClass;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -629,38 +632,49 @@
}
/**
- * Disable some features in the status bar. Pass the bitwise-or of the DISABLE_* flags.
- * To re-enable everything, pass {@link #DISABLE_NONE}.
+ * @deprecated
+ * Disable some features in the status bar. Pass the bitwise-or of the DISABLE_*
+ * flags. To re-enable everything, pass {@link #DISABLE_NONE}.
+ *
+ * This method is deprecated and callers should use
+ * {@link #requestDisabledComponent(DisableInfo, String)}
+ *
+ * @hide
+ */
+ @Deprecated
+ @UnsupportedAppUsage
+ public void disable(int what) {
+ requestDisabledComponent(new DisableInfo(what & DISABLE_MASK, what & DISABLE2_MASK), null);
+ }
+
+ /**
+ * @deprecated
+ * Disable some features in the status bar. Pass the bitwise-or of the DISABLE_2*
+ * flags. To re-enable everything, pass {@link #DISABLE2_NONE}.
+ *
+ * This method is deprecated and callers should use
+ * {@link #requestDisabledComponent(DisableInfo, String)}
+ *
+ * @hide
+ */
+ @Deprecated
+ @UnsupportedAppUsage
+ public void disable2(int what) {
+ requestDisabledComponent(new DisableInfo(what & DISABLE_MASK, what & DISABLE2_MASK), null);
+ }
+
+ /**
+ * Disable some features in the status bar. Pass a DisableInfo object with the required flags.
*
* @hide
*/
@UnsupportedAppUsage
- public void disable(int what) {
+ public void requestDisabledComponent(DisableInfo disableInfo, String reason) {
try {
final int userId = Binder.getCallingUserHandle().getIdentifier();
final IStatusBarService svc = getService();
if (svc != null) {
- svc.disableForUser(what, mToken, mContext.getPackageName(), userId);
- }
- } catch (RemoteException ex) {
- throw ex.rethrowFromSystemServer();
- }
- }
-
- /**
- * Disable additional status bar features. Pass the bitwise-or of the DISABLE2_* flags.
- * To re-enable everything, pass {@link #DISABLE_NONE}.
- *
- * Warning: Only pass DISABLE2_* flags into this function, do not use DISABLE_* flags.
- *
- * @hide
- */
- public void disable2(@Disable2Flags int what) {
- try {
- final int userId = Binder.getCallingUserHandle().getIdentifier();
- final IStatusBarService svc = getService();
- if (svc != null) {
- svc.disable2ForUser(what, mToken, mContext.getPackageName(), userId);
+ svc.disableForUser(disableInfo, mToken, mContext.getPackageName(), userId, reason);
}
} catch (RemoteException ex) {
throw ex.rethrowFromSystemServer();
@@ -888,18 +902,9 @@
@SystemApi
@RequiresPermission(android.Manifest.permission.STATUS_BAR)
public void setDisabledForSetup(boolean disabled) {
- try {
- final int userId = Binder.getCallingUserHandle().getIdentifier();
- final IStatusBarService svc = getService();
- if (svc != null) {
- svc.disableForUser(disabled ? DEFAULT_SETUP_DISABLE_FLAGS : DISABLE_NONE,
- mToken, mContext.getPackageName(), userId);
- svc.disable2ForUser(disabled ? DEFAULT_SETUP_DISABLE2_FLAGS : DISABLE2_NONE,
- mToken, mContext.getPackageName(), userId);
- }
- } catch (RemoteException ex) {
- throw ex.rethrowFromSystemServer();
- }
+ int flags1 = disabled ? DEFAULT_SETUP_DISABLE_FLAGS : DISABLE_NONE;
+ DisableInfo info = new DisableInfo(flags1, DISABLE2_NONE);
+ requestDisabledComponent(info, "setDisabledForSetup");
}
/**
@@ -914,16 +919,9 @@
@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
@RequiresPermission(android.Manifest.permission.STATUS_BAR)
public void setExpansionDisabledForSimNetworkLock(boolean disabled) {
- try {
- final int userId = Binder.getCallingUserHandle().getIdentifier();
- final IStatusBarService svc = getService();
- if (svc != null) {
- svc.disableForUser(disabled ? DEFAULT_SIM_LOCKED_DISABLED_FLAGS : DISABLE_NONE,
- mToken, mContext.getPackageName(), userId);
- }
- } catch (RemoteException ex) {
- throw ex.rethrowFromSystemServer();
- }
+ int flags1 = disabled ? DEFAULT_SIM_LOCKED_DISABLED_FLAGS : DISABLE_NONE;
+ DisableInfo info = new DisableInfo(flags1, DISABLE2_NONE);
+ requestDisabledComponent(info, "setExpansionDisabledForSimNetworkLock");
}
/**
@@ -1315,33 +1313,75 @@
* @hide
*/
@SystemApi
- public static final class DisableInfo {
+ @DataClass
+ public static final class DisableInfo implements Parcelable {
+ /**
+ * @hide
+ */
private boolean mStatusBarExpansion;
+ /**
+ * @hide
+ */
private boolean mNavigateHome;
+ /**
+ * @hide
+ */
private boolean mNotificationPeeking;
+ /**
+ * @hide
+ */
private boolean mRecents;
+ /**
+ * @hide
+ */
+ private boolean mBack;
+ /**
+ * @hide
+ */
private boolean mSearch;
+ /**
+ * @hide
+ */
private boolean mSystemIcons;
+ /**
+ * @hide
+ */
private boolean mClock;
+ /**
+ * @hide
+ */
private boolean mNotificationIcons;
+ /**
+ * @hide
+ */
private boolean mRotationSuggestion;
+ /**
+ * @hide
+ */
+ private boolean mNotificationTicker;
/** @hide */
+ @SuppressLint("UnflaggedApi")
public DisableInfo(int flags1, int flags2) {
mStatusBarExpansion = (flags1 & DISABLE_EXPAND) != 0;
mNavigateHome = (flags1 & DISABLE_HOME) != 0;
mNotificationPeeking = (flags1 & DISABLE_NOTIFICATION_ALERTS) != 0;
mRecents = (flags1 & DISABLE_RECENT) != 0;
+ mBack = (flags1 & DISABLE_BACK) != 0;
mSearch = (flags1 & DISABLE_SEARCH) != 0;
mSystemIcons = (flags1 & DISABLE_SYSTEM_INFO) != 0;
mClock = (flags1 & DISABLE_CLOCK) != 0;
mNotificationIcons = (flags1 & DISABLE_NOTIFICATION_ICONS) != 0;
+ mNotificationTicker = (flags1 & DISABLE_NOTIFICATION_TICKER) != 0;
mRotationSuggestion = (flags2 & DISABLE2_ROTATE_SUGGESTIONS) != 0;
}
/** @hide */
- public DisableInfo() {}
+ @SuppressLint("UnflaggedApi")
+ public DisableInfo() {
+ setEnableAll();
+ }
/**
* @return {@code true} if expanding the notification shade is disabled
@@ -1369,7 +1409,7 @@
}
/** * @hide */
- public void setNagivationHomeDisabled(boolean disabled) {
+ public void setNavigationHomeDisabled(boolean disabled) {
mNavigateHome = disabled;
}
@@ -1404,6 +1444,21 @@
}
/**
+ * @return {@code true} if mBack is disabled
+ *
+ * @hide
+ */
+ @SystemApi
+ public boolean isBackDisabled() {
+ return mBack;
+ }
+
+ /** @hide */
+ public void setBackDisabled(boolean disabled) {
+ mBack = disabled;
+ }
+
+ /**
* @return {@code true} if mSearch is disabled
*
* @hide
@@ -1461,6 +1516,20 @@
}
/**
+ * @return {@code true} if notification ticker is disabled
+ *
+ * @hide
+ */
+ public boolean isNotificationTickerDisabled() {
+ return mNotificationTicker;
+ }
+
+ /** * @hide */
+ public void setNotificationTickerDisabled(boolean disabled) {
+ mNotificationTicker = disabled;
+ }
+
+ /**
* Returns whether the rotation suggestion is disabled.
*
* @hide
@@ -1470,6 +1539,11 @@
return mRotationSuggestion;
}
+ /** * @hide */
+ public void setRotationSuggestionDisabled(boolean disabled) {
+ mNotificationIcons = disabled;
+ }
+
/**
* @return {@code true} if no components are disabled (default state)
* @hide
@@ -1477,8 +1551,8 @@
@SystemApi
public boolean areAllComponentsEnabled() {
return !mStatusBarExpansion && !mNavigateHome && !mNotificationPeeking && !mRecents
- && !mSearch && !mSystemIcons && !mClock && !mNotificationIcons
- && !mRotationSuggestion;
+ && !mBack && !mSearch && !mSystemIcons && !mClock && !mNotificationIcons
+ && !mNotificationTicker && !mRotationSuggestion;
}
/** @hide */
@@ -1487,10 +1561,12 @@
mNavigateHome = false;
mNotificationPeeking = false;
mRecents = false;
+ mBack = false;
mSearch = false;
mSystemIcons = false;
mClock = false;
mNotificationIcons = false;
+ mNotificationTicker = false;
mRotationSuggestion = false;
}
@@ -1500,9 +1576,9 @@
* @hide
*/
public boolean areAllComponentsDisabled() {
- return mStatusBarExpansion && mNavigateHome && mNotificationPeeking
- && mRecents && mSearch && mSystemIcons && mClock && mNotificationIcons
- && mRotationSuggestion;
+ return mStatusBarExpansion && mNavigateHome && mNotificationPeeking && mRecents && mBack
+ && mSearch && mSystemIcons && mClock && mNotificationIcons
+ && mNotificationTicker && mRotationSuggestion;
}
/** @hide */
@@ -1511,10 +1587,12 @@
mNavigateHome = true;
mNotificationPeeking = true;
mRecents = true;
+ mBack = true;
mSearch = true;
mSystemIcons = true;
mClock = true;
mNotificationIcons = true;
+ mNotificationTicker = true;
mRotationSuggestion = true;
}
@@ -1522,16 +1600,19 @@
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
- sb.append("DisableInfo: ");
+
+ sb.append("Disable Info: ");
sb.append(" mStatusBarExpansion=").append(mStatusBarExpansion ? "disabled" : "enabled");
sb.append(" mNavigateHome=").append(mNavigateHome ? "disabled" : "enabled");
sb.append(" mNotificationPeeking=")
.append(mNotificationPeeking ? "disabled" : "enabled");
sb.append(" mRecents=").append(mRecents ? "disabled" : "enabled");
+ sb.append(" mBack=").append(mBack ? "disabled" : "enabled");
sb.append(" mSearch=").append(mSearch ? "disabled" : "enabled");
sb.append(" mSystemIcons=").append(mSystemIcons ? "disabled" : "enabled");
sb.append(" mClock=").append(mClock ? "disabled" : "enabled");
sb.append(" mNotificationIcons=").append(mNotificationIcons ? "disabled" : "enabled");
+ sb.append(" mNotificationTicker=").append(mNotificationTicker ? "disabled" : "enabled");
sb.append(" mRotationSuggestion=").append(mRotationSuggestion ? "disabled" : "enabled");
return sb.toString();
@@ -1539,7 +1620,7 @@
}
/**
- * Convert a DisableInfo to equivalent flags
+ * Convert a DisableInfo to equivalent flags.
* @return a pair of equivalent disable flags
*
* @hide
@@ -1552,14 +1633,278 @@
if (mNavigateHome) disable1 |= DISABLE_HOME;
if (mNotificationPeeking) disable1 |= DISABLE_NOTIFICATION_ALERTS;
if (mRecents) disable1 |= DISABLE_RECENT;
+ if (mBack) disable1 |= DISABLE_BACK;
if (mSearch) disable1 |= DISABLE_SEARCH;
if (mSystemIcons) disable1 |= DISABLE_SYSTEM_INFO;
if (mClock) disable1 |= DISABLE_CLOCK;
if (mNotificationIcons) disable1 |= DISABLE_NOTIFICATION_ICONS;
+ if (mNotificationTicker) disable1 |= DISABLE_NOTIFICATION_TICKER;
if (mRotationSuggestion) disable2 |= DISABLE2_ROTATE_SUGGESTIONS;
return new Pair<Integer, Integer>(disable1, disable2);
}
+
+
+
+ // Code below generated by codegen v1.0.23.
+ //
+ // DO NOT MODIFY!
+ // CHECKSTYLE:OFF Generated code
+ //
+ // To regenerate run:
+ // $ codegen $ANDROID_BUILD_TOP/frameworks/base/core/java/android/app/StatusBarManager.java
+ //
+ // To exclude the generated code from IntelliJ auto-formatting enable (one-time):
+ // Settings > Editor > Code Style > Formatter Control
+ //@formatter:off
+
+
+ /**
+ * Creates a new DisableInfo.
+ * @hide
+ */
+ @DataClass.Generated.Member
+ public DisableInfo(
+ boolean statusBarExpansion,
+ boolean navigateHome,
+ boolean notificationPeeking,
+ boolean recents,
+ boolean back,
+ boolean search,
+ boolean systemIcons,
+ boolean clock,
+ boolean notificationIcons,
+ boolean rotationSuggestion,
+ boolean notificationTicker) {
+ this.mStatusBarExpansion = statusBarExpansion;
+ this.mNavigateHome = navigateHome;
+ this.mNotificationPeeking = notificationPeeking;
+ this.mRecents = recents;
+ this.mBack = back;
+ this.mSearch = search;
+ this.mSystemIcons = systemIcons;
+ this.mClock = clock;
+ this.mNotificationIcons = notificationIcons;
+ this.mRotationSuggestion = rotationSuggestion;
+ this.mNotificationTicker = notificationTicker;
+
+ // onConstructed(); // You can define this method to get a callback
+ }
+
+ /**
+ * @hide
+ */
+ @DataClass.Generated.Member
+ public boolean isStatusBarExpansion() {
+ return mStatusBarExpansion;
+ }
+
+ /**
+ * @hide
+ */
+ @DataClass.Generated.Member
+ public boolean isNavigateHome() {
+ return mNavigateHome;
+ }
+
+ /**
+ * @hide
+ */
+ @DataClass.Generated.Member
+ public boolean isNotificationPeeking() {
+ return mNotificationPeeking;
+ }
+
+ /**
+ * @hide
+ */
+ @DataClass.Generated.Member
+ public boolean isRecents() {
+ return mRecents;
+ }
+
+ /**
+ * @hide
+ */
+ @DataClass.Generated.Member
+ public boolean isBack() {
+ return mBack;
+ }
+
+ /**
+ * @hide
+ */
+ @DataClass.Generated.Member
+ public boolean isSearch() {
+ return mSearch;
+ }
+
+ /**
+ * @hide
+ */
+ @DataClass.Generated.Member
+ public boolean isSystemIcons() {
+ return mSystemIcons;
+ }
+
+ /**
+ * @hide
+ */
+ @DataClass.Generated.Member
+ public boolean isClock() {
+ return mClock;
+ }
+
+ /**
+ * @hide
+ */
+ @DataClass.Generated.Member
+ public boolean isNotificationIcons() {
+ return mNotificationIcons;
+ }
+
+ /**
+ * @hide
+ */
+ @DataClass.Generated.Member
+ public boolean isRotationSuggestion() {
+ return mRotationSuggestion;
+ }
+
+ /**
+ * @hide
+ */
+ @DataClass.Generated.Member
+ public boolean isNotificationTicker() {
+ return mNotificationTicker;
+ }
+
+ /**
+ * @hide
+ */
+ @SuppressLint("UnflaggedApi")
+ @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) { ... }
+
+ int flg = 0;
+ if (mStatusBarExpansion) flg |= 0x1;
+ if (mNavigateHome) flg |= 0x2;
+ if (mNotificationPeeking) flg |= 0x4;
+ if (mRecents) flg |= 0x8;
+ if (mBack) flg |= 0x10;
+ if (mSearch) flg |= 0x20;
+ if (mSystemIcons) flg |= 0x40;
+ if (mClock) flg |= 0x80;
+ if (mNotificationIcons) flg |= 0x100;
+ if (mRotationSuggestion) flg |= 0x200;
+ if (mNotificationTicker) flg |= 0x400;
+ dest.writeInt(flg);
+ }
+
+ /**
+ * @hide
+ */
+ @SuppressLint("UnflaggedApi")
+ @Override
+ @DataClass.Generated.Member
+ public int describeContents() { return 0; }
+
+ /** @hide */
+ @SuppressWarnings({"unchecked", "RedundantCast"})
+ @DataClass.Generated.Member
+ /* package-private */ DisableInfo(@NonNull android.os.Parcel in) {
+ // You can override field unparcelling by defining methods like:
+ // static FieldType unparcelFieldName(Parcel in) { ... }
+
+ int flg = in.readInt();
+ boolean statusBarExpansion = (flg & 0x1) != 0;
+ boolean navigateHome = (flg & 0x2) != 0;
+ boolean notificationPeeking = (flg & 0x4) != 0;
+ boolean recents = (flg & 0x8) != 0;
+ boolean back = (flg & 0x10) != 0;
+ boolean search = (flg & 0x20) != 0;
+ boolean systemIcons = (flg & 0x40) != 0;
+ boolean clock = (flg & 0x80) != 0;
+ boolean notificationIcons = (flg & 0x100) != 0;
+ boolean rotationSuggestion = (flg & 0x200) != 0;
+ boolean notificationTicker = (flg & 0x400) != 0;
+
+ this.mStatusBarExpansion = statusBarExpansion;
+ this.mNavigateHome = navigateHome;
+ this.mNotificationPeeking = notificationPeeking;
+ this.mRecents = recents;
+ this.mBack = back;
+ this.mSearch = search;
+ this.mSystemIcons = systemIcons;
+ this.mClock = clock;
+ this.mNotificationIcons = notificationIcons;
+ this.mRotationSuggestion = rotationSuggestion;
+ this.mNotificationTicker = notificationTicker;
+
+ // onConstructed(); // You can define this method to get a callback
+ }
+
+ @DataClass.Generated.Member
+ public static final @NonNull Parcelable.Creator<DisableInfo> CREATOR
+ = new Parcelable.Creator<DisableInfo>() {
+ @Override
+ public DisableInfo[] newArray(int size) {
+ return new DisableInfo[size];
+ }
+
+ @Override
+ public DisableInfo createFromParcel(@NonNull android.os.Parcel in) {
+ return new DisableInfo(in);
+ }
+ };
+
+ @DataClass.Generated(
+ time = 1707345957771L,
+ codegenVersion = "1.0.23",
+ sourceFile = "frameworks/base/core/java/android/app/StatusBarManager.java",
+ inputSignatures = "private boolean mStatusBarExpansion\nprivate "
+ + "boolean mNavigateHome\nprivate boolean mNotificationPeeking\nprivate "
+ + "boolean mRecents\nprivate boolean mBack\nprivate boolean "
+ + "mSearch\nprivate boolean mSystemIcons\nprivate boolean mClock\nprivate"
+ + " boolean mNotificationIcons\nprivate boolean mRotationSuggestion\n"
+ + "private boolean mNotificationTicker\npublic "
+ + "@android.annotation.SystemApi boolean isStatusBarExpansionDisabled()\n"
+ + "public void setStatusBarExpansionDisabled(boolean)\npublic "
+ + "@android.annotation.SystemApi boolean isNavigateToHomeDisabled()\n"
+ + "public void setNavigationHomeDisabled(boolean)\npublic "
+ + "@android.annotation.SystemApi boolean isNotificationPeekingDisabled()\n"
+ + "public void setNotificationPeekingDisabled(boolean)\npublic "
+ + "@android.annotation.SystemApi boolean isRecentsDisabled()\npublic "
+ + "void setRecentsDisabled(boolean)\npublic @android.annotation.SystemApi "
+ + "boolean isBackDisabled()\npublic void setBackDisabled(boolean)\npublic "
+ + "@android.annotation.SystemApi boolean isSearchDisabled()\npublic "
+ + "void setSearchDisabled(boolean)\npublic boolean "
+ + "areSystemIconsDisabled()\npublic void setSystemIconsDisabled(boolean)"
+ + "\npublic boolean isClockDisabled()\npublic "
+ + "void setClockDisabled(boolean)\npublic "
+ + "boolean areNotificationIconsDisabled()\npublic "
+ + "void setNotificationIconsDisabled(boolean)\npublic boolean "
+ + "isNotificationTickerDisabled()\npublic void "
+ + "setNotificationTickerDisabled(boolean)\npublic "
+ + "@android.annotation.TestApi boolean isRotationSuggestionDisabled()\n"
+ + "public void setRotationSuggestionDisabled(boolean)\npublic "
+ + "@android.annotation.SystemApi boolean areAllComponentsEnabled()\n"
+ + "public void setEnableAll()\npublic boolean areAllComponentsDisabled()"
+ + "\npublic void setDisableAll()\npublic @android.annotation.NonNull "
+ + "@java.lang.Override java.lang.String toString()\npublic "
+ + "android.util.Pair<java.lang.Integer,java.lang.Integer> toFlags()\n"
+ + "class DisableInfo extends java.lang.Object implements "
+ + "[android.os.Parcelable]\n@com.android.internal.util.DataClass")
+ @Deprecated
+ private void __metadata() {}
+
+
+ //@formatter:on
+ // End of generated code
+
}
/**
diff --git a/core/java/android/app/SystemServiceRegistry.java b/core/java/android/app/SystemServiceRegistry.java
index ba9c895..08c193f 100644
--- a/core/java/android/app/SystemServiceRegistry.java
+++ b/core/java/android/app/SystemServiceRegistry.java
@@ -186,6 +186,7 @@
import android.os.PerformanceHintManager;
import android.os.PermissionEnforcer;
import android.os.PowerManager;
+import android.os.ProfilingFrameworkInitializer;
import android.os.RecoverySystem;
import android.os.SecurityStateManager;
import android.os.ServiceManager;
@@ -250,6 +251,7 @@
import android.view.translation.ITranslationManager;
import android.view.translation.TranslationManager;
import android.view.translation.UiTranslationManager;
+import android.webkit.WebViewBootstrapFrameworkInitializer;
import com.android.internal.R;
import com.android.internal.app.IAppOpsService;
@@ -1659,9 +1661,17 @@
OnDevicePersonalizationFrameworkInitializer.registerServiceWrappers();
DeviceLockFrameworkInitializer.registerServiceWrappers();
VirtualizationFrameworkInitializer.registerServiceWrappers();
+ // This code is executed on zygote during preload, where only read-only
+ // flags can be used. Do not use mutable flags.
if (android.permission.flags.Flags.enhancedConfirmationModeApisEnabled()) {
EnhancedConfirmationFrameworkInitializer.registerServiceWrappers();
}
+ if (android.server.Flags.telemetryApisService()) {
+ ProfilingFrameworkInitializer.registerServiceWrappers();
+ }
+ if (android.webkit.Flags.updateServiceIpcWrapper()) {
+ WebViewBootstrapFrameworkInitializer.registerServiceWrappers();
+ }
} finally {
// If any of the above code throws, we're in a pretty bad shape and the process
// will likely crash, but we'll reset it just in case there's an exception handler...
diff --git a/core/java/android/app/admin/AccountTypePolicyKey.java b/core/java/android/app/admin/AccountTypePolicyKey.java
index 9e376a7..d81eb20 100644
--- a/core/java/android/app/admin/AccountTypePolicyKey.java
+++ b/core/java/android/app/admin/AccountTypePolicyKey.java
@@ -19,6 +19,7 @@
import static android.app.admin.PolicyUpdateReceiver.EXTRA_ACCOUNT_TYPE;
import static android.app.admin.PolicyUpdateReceiver.EXTRA_POLICY_BUNDLE_KEY;
import static android.app.admin.PolicyUpdateReceiver.EXTRA_POLICY_KEY;
+import static android.app.admin.flags.Flags.devicePolicySizeTrackingEnabled;
import android.annotation.NonNull;
import android.annotation.Nullable;
@@ -53,6 +54,9 @@
@TestApi
public AccountTypePolicyKey(@NonNull String key, @NonNull String accountType) {
super(key);
+ if (devicePolicySizeTrackingEnabled()) {
+ PolicySizeVerifier.enforceMaxStringLength(accountType, "accountType");
+ }
mAccountType = Objects.requireNonNull((accountType));
}
diff --git a/core/java/android/app/admin/BundlePolicyValue.java b/core/java/android/app/admin/BundlePolicyValue.java
index f9653a4..cc5e75f 100644
--- a/core/java/android/app/admin/BundlePolicyValue.java
+++ b/core/java/android/app/admin/BundlePolicyValue.java
@@ -16,6 +16,8 @@
package android.app.admin;
+import static android.app.admin.flags.Flags.devicePolicySizeTrackingEnabled;
+
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.os.Bundle;
@@ -30,6 +32,9 @@
public BundlePolicyValue(Bundle value) {
super(value);
+ if (devicePolicySizeTrackingEnabled()) {
+ PolicySizeVerifier.enforceMaxParcelableFieldsLength(value);
+ }
}
private BundlePolicyValue(Parcel source) {
diff --git a/core/java/android/app/admin/ComponentNamePolicyValue.java b/core/java/android/app/admin/ComponentNamePolicyValue.java
index 635e582..4d36195 100644
--- a/core/java/android/app/admin/ComponentNamePolicyValue.java
+++ b/core/java/android/app/admin/ComponentNamePolicyValue.java
@@ -16,6 +16,8 @@
package android.app.admin;
+import static android.app.admin.flags.Flags.devicePolicySizeTrackingEnabled;
+
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.content.ComponentName;
@@ -30,6 +32,9 @@
public ComponentNamePolicyValue(@NonNull ComponentName value) {
super(value);
+ if (devicePolicySizeTrackingEnabled()) {
+ PolicySizeVerifier.enforceMaxComponentNameLength(value);
+ }
}
private ComponentNamePolicyValue(Parcel source) {
diff --git a/core/java/android/app/admin/DevicePolicyIdentifiers.java b/core/java/android/app/admin/DevicePolicyIdentifiers.java
index d7aafa0..318b2fb 100644
--- a/core/java/android/app/admin/DevicePolicyIdentifiers.java
+++ b/core/java/android/app/admin/DevicePolicyIdentifiers.java
@@ -16,6 +16,8 @@
package android.app.admin;
+import static android.app.admin.flags.Flags.FLAG_SECURITY_LOG_V2_ENABLED;
+
import android.annotation.FlaggedApi;
import android.annotation.NonNull;
import android.annotation.TestApi;
@@ -45,6 +47,12 @@
public static final String PERMISSION_GRANT_POLICY = "permissionGrant";
/**
+ * String identifier for {@link DevicePolicyManager#setSecurityLoggingEnabled}.
+ */
+ @FlaggedApi(FLAG_SECURITY_LOG_V2_ENABLED)
+ public static final String SECURITY_LOGGING_POLICY = "securityLogging";
+
+ /**
* String identifier for {@link DevicePolicyManager#setLockTaskPackages}.
*/
public static final String LOCK_TASK_POLICY = "lockTask";
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java
index c649e62..5c6308f 100644
--- a/core/java/android/app/admin/DevicePolicyManager.java
+++ b/core/java/android/app/admin/DevicePolicyManager.java
@@ -51,6 +51,7 @@
import static android.Manifest.permission.REQUEST_PASSWORD_COMPLEXITY;
import static android.Manifest.permission.SET_TIME;
import static android.Manifest.permission.SET_TIME_ZONE;
+import static android.app.admin.flags.Flags.FLAG_ESIM_MANAGEMENT_ENABLED;
import static android.app.admin.flags.Flags.onboardingBugreportV2Enabled;
import static android.content.Intent.LOCAL_FLAG_FROM_SYSTEM;
import static android.net.NetworkCapabilities.NET_ENTERPRISE_ID_1;
@@ -13975,6 +13976,24 @@
* privacy-sensitive events happening outside the managed profile would have been redacted
* already.
*
+ * Starting from {@link Build.VERSION_CODES#VANILLA_ICE_CREAM}, after the security logging
+ * policy has been set, {@link PolicyUpdateReceiver#onPolicySetResult(Context, String,
+ * Bundle, TargetUser, PolicyUpdateResult)} will notify the admin on whether the policy was
+ * successfully set or not. This callback will contain:
+ * <ul>
+ * <li> The policy identifier {@link DevicePolicyIdentifiers#SECURITY_LOGGING_POLICY}
+ * <li> The {@link TargetUser} that this policy relates to
+ * <li> The {@link PolicyUpdateResult}, which will be
+ * {@link PolicyUpdateResult#RESULT_POLICY_SET} if the policy was successfully set or the
+ * reason the policy failed to be set
+ * e.g. {@link PolicyUpdateResult#RESULT_FAILURE_CONFLICTING_ADMIN_POLICY})
+ * </ul>
+ * If there has been a change to the policy,
+ * {@link PolicyUpdateReceiver#onPolicyChanged(Context, String, Bundle, TargetUser,
+ * PolicyUpdateResult)} will notify the admin of this change. This callback will contain the
+ * same parameters as PolicyUpdateReceiver#onPolicySetResult and the {@link PolicyUpdateResult}
+ * will contain the reason why the policy changed.
+ *
* @param admin Which device admin this request is associated with, or {@code null}
* if called by a delegated app.
* @param enabled whether security logging should be enabled or not.
@@ -17300,4 +17319,33 @@
public boolean isOnboardingBugreportV2FlagEnabled() {
return onboardingBugreportV2Enabled();
}
+
+ /**
+ * Returns the subscription ids of all subscriptions which was downloaded by the calling
+ * admin.
+ *
+ * <p> This returns only the subscriptions which were downloaded by the calling admin via
+ * {@link android.telephony.euicc.EuiccManager#downloadSubscription}.
+ * If a susbcription is returned by this method then in it subject to management controls
+ * and cannot be removed by users.
+ *
+ * <p> Callable by device owners and profile owners.
+ *
+ * @throws SecurityException if the caller is not authorized to call this method
+ * @return ids of all managed subscriptions currently downloaded by an admin on the device
+ */
+ @FlaggedApi(FLAG_ESIM_MANAGEMENT_ENABLED)
+ @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_POLICY_MANAGED_SUBSCRIPTIONS)
+ @NonNull
+ public Set<Integer> getSubscriptionsIds() {
+ throwIfParentInstance("getSubscriptionsIds");
+ if (mService != null) {
+ try {
+ return intArrayToSet(mService.getSubscriptionIds(mContext.getPackageName()));
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+ return new HashSet<>();
+ }
}
\ No newline at end of file
diff --git a/core/java/android/app/admin/DevicePolicyManagerInternal.java b/core/java/android/app/admin/DevicePolicyManagerInternal.java
index 304359b..07ee8de 100644
--- a/core/java/android/app/admin/DevicePolicyManagerInternal.java
+++ b/core/java/android/app/admin/DevicePolicyManagerInternal.java
@@ -333,4 +333,9 @@
*/
public abstract List<EnforcingUser> getUserRestrictionSources(String restriction,
@UserIdInt int userId);
+
+ /**
+ * Enforces resolved security logging policy, should only be invoked from device policy engine.
+ */
+ public abstract void enforceSecurityLoggingPolicy(boolean enabled);
}
diff --git a/core/java/android/app/admin/IDevicePolicyManager.aidl b/core/java/android/app/admin/IDevicePolicyManager.aidl
index efcf563..f72fdc0 100644
--- a/core/java/android/app/admin/IDevicePolicyManager.aidl
+++ b/core/java/android/app/admin/IDevicePolicyManager.aidl
@@ -613,4 +613,6 @@
void setContentProtectionPolicy(in ComponentName who, String callerPackageName, int policy);
int getContentProtectionPolicy(in ComponentName who, String callerPackageName);
+
+ int[] getSubscriptionIds(String callerPackageName);
}
diff --git a/core/java/android/app/admin/IntentFilterPolicyKey.java b/core/java/android/app/admin/IntentFilterPolicyKey.java
index 7526a7b..de7ff9f 100644
--- a/core/java/android/app/admin/IntentFilterPolicyKey.java
+++ b/core/java/android/app/admin/IntentFilterPolicyKey.java
@@ -19,6 +19,7 @@
import static android.app.admin.PolicyUpdateReceiver.EXTRA_INTENT_FILTER;
import static android.app.admin.PolicyUpdateReceiver.EXTRA_POLICY_BUNDLE_KEY;
import static android.app.admin.PolicyUpdateReceiver.EXTRA_POLICY_KEY;
+import static android.app.admin.flags.Flags.devicePolicySizeTrackingEnabled;
import android.annotation.NonNull;
import android.annotation.Nullable;
@@ -59,6 +60,9 @@
@TestApi
public IntentFilterPolicyKey(@NonNull String identifier, @NonNull IntentFilter filter) {
super(identifier);
+ if (devicePolicySizeTrackingEnabled()) {
+ PolicySizeVerifier.enforceMaxParcelableFieldsLength(filter);
+ }
mFilter = Objects.requireNonNull(filter);
}
diff --git a/core/java/android/app/admin/LockTaskPolicy.java b/core/java/android/app/admin/LockTaskPolicy.java
index b671d57..9d6ce24 100644
--- a/core/java/android/app/admin/LockTaskPolicy.java
+++ b/core/java/android/app/admin/LockTaskPolicy.java
@@ -16,6 +16,8 @@
package android.app.admin;
+import static android.app.admin.flags.Flags.devicePolicySizeTrackingEnabled;
+
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SystemApi;
@@ -75,7 +77,7 @@
*/
public LockTaskPolicy(@Nullable Set<String> packages) {
if (packages != null) {
- mPackages.addAll(packages);
+ setPackagesInternal(packages);
}
setValue(this);
}
@@ -93,7 +95,7 @@
*/
public LockTaskPolicy(@Nullable Set<String> packages, int flags) {
if (packages != null) {
- mPackages.addAll(packages);
+ setPackagesInternal(packages);
}
mFlags = flags;
setValue(this);
@@ -123,7 +125,7 @@
*/
public void setPackages(@NonNull Set<String> packages) {
Objects.requireNonNull(packages);
- mPackages = new HashSet<>(packages);
+ setPackagesInternal(packages);
}
/**
@@ -133,6 +135,15 @@
mFlags = flags;
}
+ private void setPackagesInternal(Set<String> packages) {
+ if (devicePolicySizeTrackingEnabled()) {
+ for (String p : packages) {
+ PolicySizeVerifier.enforceMaxPackageNameLength(p);
+ }
+ }
+ mPackages = new HashSet<>(packages);
+ }
+
@Override
public boolean equals(@Nullable Object o) {
if (this == o) return true;
diff --git a/core/java/android/app/admin/PackagePermissionPolicyKey.java b/core/java/android/app/admin/PackagePermissionPolicyKey.java
index 7fd514c..2241fdd 100644
--- a/core/java/android/app/admin/PackagePermissionPolicyKey.java
+++ b/core/java/android/app/admin/PackagePermissionPolicyKey.java
@@ -20,6 +20,7 @@
import static android.app.admin.PolicyUpdateReceiver.EXTRA_PERMISSION_NAME;
import static android.app.admin.PolicyUpdateReceiver.EXTRA_POLICY_BUNDLE_KEY;
import static android.app.admin.PolicyUpdateReceiver.EXTRA_POLICY_KEY;
+import static android.app.admin.flags.Flags.devicePolicySizeTrackingEnabled;
import android.annotation.NonNull;
import android.annotation.Nullable;
@@ -58,6 +59,10 @@
public PackagePermissionPolicyKey(@NonNull String identifier, @NonNull String packageName,
@NonNull String permissionName) {
super(identifier);
+ if (devicePolicySizeTrackingEnabled()) {
+ PolicySizeVerifier.enforceMaxPackageNameLength(packageName);
+ PolicySizeVerifier.enforceMaxStringLength(permissionName, "permissionName");
+ }
mPackageName = Objects.requireNonNull((packageName));
mPermissionName = Objects.requireNonNull((permissionName));
}
diff --git a/core/java/android/app/admin/PackagePolicyKey.java b/core/java/android/app/admin/PackagePolicyKey.java
index 2ab00bc..2ea17a1 100644
--- a/core/java/android/app/admin/PackagePolicyKey.java
+++ b/core/java/android/app/admin/PackagePolicyKey.java
@@ -19,6 +19,7 @@
import static android.app.admin.PolicyUpdateReceiver.EXTRA_PACKAGE_NAME;
import static android.app.admin.PolicyUpdateReceiver.EXTRA_POLICY_BUNDLE_KEY;
import static android.app.admin.PolicyUpdateReceiver.EXTRA_POLICY_KEY;
+import static android.app.admin.flags.Flags.devicePolicySizeTrackingEnabled;
import android.annotation.NonNull;
import android.annotation.Nullable;
@@ -54,6 +55,9 @@
@TestApi
public PackagePolicyKey(@NonNull String key, @NonNull String packageName) {
super(key);
+ if (devicePolicySizeTrackingEnabled()) {
+ PolicySizeVerifier.enforceMaxPackageNameLength(packageName);
+ }
mPackageName = Objects.requireNonNull((packageName));
}
diff --git a/core/java/android/app/admin/PolicySizeVerifier.java b/core/java/android/app/admin/PolicySizeVerifier.java
new file mode 100644
index 0000000..d5e8ea4
--- /dev/null
+++ b/core/java/android/app/admin/PolicySizeVerifier.java
@@ -0,0 +1,128 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.app.admin;
+
+import android.content.ComponentName;
+import android.os.Parcelable;
+import android.os.PersistableBundle;
+
+import com.android.internal.util.Preconditions;
+
+import java.lang.reflect.Field;
+import java.util.ArrayDeque;
+import java.util.Queue;
+
+/**
+ * Utility class containing methods to verify the max allowed size of certain policy types.
+ *
+ * @hide
+ */
+public class PolicySizeVerifier {
+
+ // Binary XML serializer doesn't support longer strings
+ public static final int MAX_POLICY_STRING_LENGTH = 65535;
+ // FrameworkParsingPackageUtils#MAX_FILE_NAME_SIZE, Android packages are used in dir names.
+ public static final int MAX_PACKAGE_NAME_LENGTH = 223;
+
+ public static final int MAX_PROFILE_NAME_LENGTH = 200;
+ public static final int MAX_LONG_SUPPORT_MESSAGE_LENGTH = 20000;
+ public static final int MAX_SHORT_SUPPORT_MESSAGE_LENGTH = 200;
+ public static final int MAX_ORG_NAME_LENGTH = 200;
+
+ /**
+ * Throw if string argument is too long to be serialized.
+ */
+ public static void enforceMaxStringLength(String str, String argName) {
+ Preconditions.checkArgument(
+ str.length() <= MAX_POLICY_STRING_LENGTH, argName + " loo long");
+ }
+
+ /**
+ * Throw if package name exceeds max size allowed by the system.
+ */
+ public static void enforceMaxPackageNameLength(String pkg) {
+ Preconditions.checkArgument(
+ pkg.length() <= MAX_PACKAGE_NAME_LENGTH, "Package name too long");
+ }
+
+ /**
+ * Throw if persistable bundle contains any string that's too long to be serialized.
+ */
+ public static void enforceMaxStringLength(PersistableBundle bundle, String argName) {
+ // Persistable bundles can have other persistable bundles as values, traverse with a queue.
+ Queue<PersistableBundle> queue = new ArrayDeque<>();
+ queue.add(bundle);
+ while (!queue.isEmpty()) {
+ PersistableBundle current = queue.remove();
+ for (String key : current.keySet()) {
+ enforceMaxStringLength(key, "key in " + argName);
+ Object value = current.get(key);
+ if (value instanceof String) {
+ enforceMaxStringLength((String) value, "string value in " + argName);
+ } else if (value instanceof String[]) {
+ for (String str : (String[]) value) {
+ enforceMaxStringLength(str, "string value in " + argName);
+ }
+ } else if (value instanceof PersistableBundle) {
+ queue.add((PersistableBundle) value);
+ }
+ }
+ }
+ }
+
+ /**
+ * Throw if Parcelable contains any string that's too long to be serialized.
+ */
+ public static void enforceMaxParcelableFieldsLength(Parcelable parcelable) {
+ Class<?> clazz = parcelable.getClass();
+
+ Field[] fields = clazz.getDeclaredFields();
+ for (Field field : fields) {
+ field.setAccessible(true);
+ try {
+ Object value = field.get(parcelable);
+ if (value instanceof String) {
+ String stringValue = (String) value;
+ enforceMaxStringLength(stringValue, field.getName());
+ }
+
+ if (value instanceof Parcelable) {
+ enforceMaxParcelableFieldsLength((Parcelable) value);
+ }
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ /**
+ * Throw if ComponentName contains any string that's too long to be serialized.
+ */
+ public static void enforceMaxComponentNameLength(ComponentName componentName) {
+ enforceMaxPackageNameLength(componentName.getPackageName());
+ enforceMaxStringLength(componentName.flattenToString(), "componentName");
+ }
+
+ /**
+ * Truncates char sequence to maximum length, nulls are ignored.
+ */
+ public static CharSequence truncateIfLonger(CharSequence input, int maxLength) {
+ return input == null || input.length() <= maxLength
+ ? input
+ : input.subSequence(0, maxLength);
+ }
+}
diff --git a/core/java/android/app/admin/StringPolicyValue.java b/core/java/android/app/admin/StringPolicyValue.java
index 14b6dab..f4d4adc 100644
--- a/core/java/android/app/admin/StringPolicyValue.java
+++ b/core/java/android/app/admin/StringPolicyValue.java
@@ -16,6 +16,8 @@
package android.app.admin;
+import static android.app.admin.flags.Flags.devicePolicySizeTrackingEnabled;
+
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.os.Parcel;
@@ -29,6 +31,9 @@
public StringPolicyValue(@NonNull String value) {
super(value);
+ if (devicePolicySizeTrackingEnabled()) {
+ PolicySizeVerifier.enforceMaxStringLength(value, "policyValue");
+ }
}
private StringPolicyValue(Parcel source) {
diff --git a/core/java/android/app/admin/StringSetPolicyValue.java b/core/java/android/app/admin/StringSetPolicyValue.java
index cbfc604..82fe761 100644
--- a/core/java/android/app/admin/StringSetPolicyValue.java
+++ b/core/java/android/app/admin/StringSetPolicyValue.java
@@ -16,6 +16,8 @@
package android.app.admin;
+import static android.app.admin.flags.Flags.devicePolicySizeTrackingEnabled;
+
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.os.Parcel;
@@ -31,6 +33,11 @@
public StringSetPolicyValue(@NonNull Set<String> value) {
super(value);
+ if (devicePolicySizeTrackingEnabled()) {
+ for (String str : value) {
+ PolicySizeVerifier.enforceMaxStringLength(str, "policyValue");
+ }
+ }
}
public StringSetPolicyValue(Parcel source) {
diff --git a/core/java/android/app/admin/UserRestrictionPolicyKey.java b/core/java/android/app/admin/UserRestrictionPolicyKey.java
index aeb2380..d69a5f0 100644
--- a/core/java/android/app/admin/UserRestrictionPolicyKey.java
+++ b/core/java/android/app/admin/UserRestrictionPolicyKey.java
@@ -17,6 +17,7 @@
package android.app.admin;
import static android.app.admin.PolicyUpdateReceiver.EXTRA_POLICY_KEY;
+import static android.app.admin.flags.Flags.devicePolicySizeTrackingEnabled;
import android.annotation.NonNull;
import android.annotation.SystemApi;
@@ -44,6 +45,9 @@
@TestApi
public UserRestrictionPolicyKey(@NonNull String identifier, @NonNull String restriction) {
super(identifier);
+ if (devicePolicySizeTrackingEnabled()) {
+ PolicySizeVerifier.enforceMaxStringLength(restriction, "restriction");
+ }
mRestriction = Objects.requireNonNull(restriction);
}
diff --git a/core/java/android/app/admin/flags/flags.aconfig b/core/java/android/app/admin/flags/flags.aconfig
index 3c98ef9..30cd1b7 100644
--- a/core/java/android/app/admin/flags/flags.aconfig
+++ b/core/java/android/app/admin/flags/flags.aconfig
@@ -36,6 +36,48 @@
}
flag {
+ name: "dedicated_device_control_api_enabled"
+ namespace: "enterprise"
+ description: "(API) Allow the device management role holder to control which platform features are available on dedicated devices."
+ bug: "281964214"
+}
+
+flag {
+ name: "permission_migration_for_zero_trust_api_enabled"
+ namespace: "enterprise"
+ description: "(API) Migrate existing APIs to permission based, and enable DMRH to call them to collect Zero Trust signals."
+ bug: "289520697"
+}
+
+flag {
+ name: "permission_migration_for_zero_trust_impl_enabled"
+ namespace: "enterprise"
+ description: "(Implementation) Migrate existing APIs to permission based, and enable DMRH to call them to collect Zero Trust signals."
+ bug: "289520697"
+}
+
+flag {
+ name: "device_theft_api_enabled"
+ namespace: "enterprise"
+ description: "Add new API for theft detection."
+ bug: "325073410"
+}
+
+flag {
+ name: "device_theft_impl_enabled"
+ namespace: "enterprise"
+ description: "Implementing new API for theft detection."
+ bug: "325073410"
+}
+
+flag {
+ name: "coexistence_migration_for_non_emm_management_enabled"
+ namespace: "enterprise"
+ description: "Migrate existing APIs to be coexistable, and enable DMRH to call them to support non-EMM device management."
+ bug: "289520697"
+}
+
+flag {
name: "security_log_v2_enabled"
namespace: "enterprise"
description: "Improve access to security logging in the context of Zero Trust."
@@ -57,6 +99,13 @@
}
flag {
+ name: "assist_content_user_restriction_enabled"
+ namespace: "enterprise"
+ description: "Prevent work data leakage by sending assist content to privileged apps."
+ bug: "322975406"
+}
+
+flag {
name: "default_sms_personal_app_suspension_fix_enabled"
namespace: "enterprise"
description: "Exempt the default sms app of the context user for suspension when calling setPersonalAppsSuspended"
diff --git a/core/java/android/app/assist/AssistStructure.java b/core/java/android/app/assist/AssistStructure.java
index e268968..7a4a3f9 100644
--- a/core/java/android/app/assist/AssistStructure.java
+++ b/core/java/android/app/assist/AssistStructure.java
@@ -1,5 +1,6 @@
package android.app.assist;
+import android.annotation.FlaggedApi;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SuppressLint;
@@ -7,6 +8,9 @@
import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
+import android.credentials.GetCredentialException;
+import android.credentials.GetCredentialRequest;
+import android.credentials.GetCredentialResponse;
import android.graphics.Matrix;
import android.graphics.Rect;
import android.net.Uri;
@@ -15,6 +19,7 @@
import android.os.Bundle;
import android.os.IBinder;
import android.os.LocaleList;
+import android.os.OutcomeReceiver;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.PooledStringReader;
@@ -637,6 +642,12 @@
AutofillId mAutofillId;
@View.AutofillType int mAutofillType = View.AUTOFILL_TYPE_NONE;
@Nullable String[] mAutofillHints;
+
+ @Nullable GetCredentialRequest mGetCredentialRequest;
+
+ @Nullable OutcomeReceiver<GetCredentialResponse, GetCredentialException>
+ mGetCredentialCallback;
+
AutofillValue mAutofillValue;
CharSequence[] mAutofillOptions;
boolean mSanitized;
@@ -1262,6 +1273,32 @@
}
/**
+ * Returns the request associated with this node
+ * @return
+ *
+ * @hide
+ */
+ @FlaggedApi("autofill_credman_dev_integration")
+ @Nullable
+ public GetCredentialRequest getCredentialManagerRequest() {
+ return mGetCredentialRequest;
+ }
+
+ /**
+ *
+ * @return
+ *
+ * @hide
+ *
+ */
+ @FlaggedApi("autofill_credman_dev_integration")
+ @Nullable
+ public OutcomeReceiver<GetCredentialResponse,
+ GetCredentialException> getCredentialManagerCallback() {
+ return mGetCredentialCallback;
+ }
+
+ /**
* Gets the {@link android.text.InputType} bits of this structure.
*
* @return bits as defined by {@link android.text.InputType}.
@@ -2139,6 +2176,19 @@
}
}
+ @Nullable
+ @Override
+ public GetCredentialRequest getCredentialManagerRequest() {
+ return mNode.mGetCredentialRequest;
+ }
+
+ @Nullable
+ @Override
+ public OutcomeReceiver<
+ GetCredentialResponse, GetCredentialException> getCredentialManagerCallback() {
+ return mNode.mGetCredentialCallback;
+ }
+
@Override
public void asyncCommit() {
synchronized (mAssist) {
@@ -2204,6 +2254,13 @@
}
@Override
+ public void setCredentialManagerRequest(@NonNull GetCredentialRequest request,
+ @NonNull OutcomeReceiver<GetCredentialResponse, GetCredentialException> callback) {
+ mNode.mGetCredentialRequest = request;
+ mNode.mGetCredentialCallback = callback;
+ }
+
+ @Override
public void setReceiveContentMimeTypes(@Nullable String[] mimeTypes) {
mNode.mReceiveContentMimeTypes = mimeTypes;
}
@@ -2523,6 +2580,14 @@
+ ", isCredential=" + node.isCredential()
);
}
+ GetCredentialRequest getCredentialRequest = node.getCredentialManagerRequest();
+ if (getCredentialRequest == null) {
+ Log.i(TAG, prefix + " NO Credential Manager Request");
+ } else {
+ Log.i(TAG, prefix + " GetCredentialRequest: no. of options= "
+ + getCredentialRequest.getCredentialOptions().size()
+ );
+ }
final int NCHILDREN = node.getChildCount();
if (NCHILDREN > 0) {
diff --git a/core/java/android/companion/virtual/VirtualDeviceManager.java b/core/java/android/companion/virtual/VirtualDeviceManager.java
index a16e94a..3304475 100644
--- a/core/java/android/companion/virtual/VirtualDeviceManager.java
+++ b/core/java/android/companion/virtual/VirtualDeviceManager.java
@@ -26,6 +26,7 @@
import android.annotation.Nullable;
import android.annotation.RequiresPermission;
import android.annotation.SdkConstant;
+import android.annotation.SuppressLint;
import android.annotation.SystemApi;
import android.annotation.SystemService;
import android.annotation.TestApi;
@@ -333,6 +334,8 @@
*
* @hide
*/
+ @SuppressLint("UnflaggedApi") // @TestApi without associated feature.
+ @TestApi
public @VirtualDeviceParams.DevicePolicy int getDevicePolicy(
int deviceId, @VirtualDeviceParams.PolicyType int policyType) {
if (mService == null) {
@@ -351,6 +354,8 @@
*
* @hide
*/
+ @SuppressLint("UnflaggedApi") // @TestApi without associated feature.
+ @TestApi
public int getDeviceIdForDisplayId(int displayId) {
if (mService == null) {
Log.w(TAG, "Failed to retrieve virtual devices; no virtual device manager service.");
@@ -446,6 +451,8 @@
*
* @hide
*/
+ @SuppressLint("UnflaggedApi") // @TestApi without associated feature.
+ @TestApi
public int getAudioPlaybackSessionId(int deviceId) {
if (mService == null) {
return AUDIO_SESSION_ID_GENERATE;
@@ -470,6 +477,8 @@
*
* @hide
*/
+ @SuppressLint("UnflaggedApi") // @TestApi without associated feature.
+ @TestApi
public int getAudioRecordingSessionId(int deviceId) {
if (mService == null) {
return AUDIO_SESSION_ID_GENERATE;
@@ -491,6 +500,8 @@
*
* @hide
*/
+ @SuppressLint("UnflaggedApi") // @TestApi without associated feature.
+ @TestApi
public void playSoundEffect(int deviceId, @AudioManager.SystemSoundEffect int effectType) {
if (mService == null) {
Log.w(TAG, "Failed to dispatch sound effect; no virtual device manager service.");
diff --git a/core/java/android/companion/virtual/camera/VirtualCamera.java b/core/java/android/companion/virtual/camera/VirtualCamera.java
index 9d6c14b..f727589 100644
--- a/core/java/android/companion/virtual/camera/VirtualCamera.java
+++ b/core/java/android/companion/virtual/camera/VirtualCamera.java
@@ -18,7 +18,9 @@
import android.annotation.FlaggedApi;
import android.annotation.RequiresPermission;
+import android.annotation.SuppressLint;
import android.annotation.SystemApi;
+import android.annotation.TestApi;
import android.companion.virtual.IVirtualDevice;
import android.companion.virtual.VirtualDeviceManager;
import android.companion.virtual.VirtualDeviceParams;
@@ -84,6 +86,8 @@
* Returns the id of this virtual camera instance.
* @hide
*/
+ @SuppressLint("UnflaggedApi") // @TestApi without associated feature.
+ @TestApi
@NonNull
public String getId() {
return mCameraId;
diff --git a/core/java/android/companion/virtual/sensor/VirtualSensor.java b/core/java/android/companion/virtual/sensor/VirtualSensor.java
index 14c7997..37e494b 100644
--- a/core/java/android/companion/virtual/sensor/VirtualSensor.java
+++ b/core/java/android/companion/virtual/sensor/VirtualSensor.java
@@ -18,7 +18,9 @@
import android.annotation.NonNull;
import android.annotation.RequiresPermission;
+import android.annotation.SuppressLint;
import android.annotation.SystemApi;
+import android.annotation.TestApi;
import android.companion.virtual.IVirtualDevice;
import android.hardware.Sensor;
import android.os.IBinder;
@@ -54,6 +56,15 @@
mToken = token;
}
+ /**
+ * @hide
+ */
+ @SuppressLint("UnflaggedApi") // @TestApi without associated feature.
+ @TestApi
+ public VirtualSensor(int handle, int type, @NonNull String name) {
+ this(handle, type, name, /*virtualDevice=*/null, /*token=*/null);
+ }
+
private VirtualSensor(Parcel parcel) {
mHandle = parcel.readInt();
mType = parcel.readInt();
@@ -67,6 +78,8 @@
*
* @hide
*/
+ @SuppressLint("UnflaggedApi") // @TestApi without associated feature.
+ @TestApi
public int getHandle() {
return mHandle;
}
diff --git a/core/java/android/companion/virtual/sensor/VirtualSensorConfig.java b/core/java/android/companion/virtual/sensor/VirtualSensorConfig.java
index 0dbe411..21ad914 100644
--- a/core/java/android/companion/virtual/sensor/VirtualSensorConfig.java
+++ b/core/java/android/companion/virtual/sensor/VirtualSensorConfig.java
@@ -20,7 +20,9 @@
import android.annotation.IntRange;
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.SuppressLint;
import android.annotation.SystemApi;
+import android.annotation.TestApi;
import android.hardware.Sensor;
import android.hardware.SensorDirectChannel;
import android.os.Parcel;
@@ -217,6 +219,8 @@
*
* @hide
*/
+ @SuppressLint("UnflaggedApi") // @TestApi without associated feature.
+ @TestApi
public int getFlags() {
return mFlags;
}
diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java
index b8d7543..9e192a0 100644
--- a/core/java/android/content/Context.java
+++ b/core/java/android/content/Context.java
@@ -6553,6 +6553,28 @@
public static final String CONTACT_KEYS_SERVICE = "contact_keys";
/**
+ * Use with {@link #getSystemService(String)} to retrieve an
+ * {@link android.os.ProfilingManager}.
+ *
+ * @see #getSystemService(String)
+ */
+ @FlaggedApi(android.os.Flags.FLAG_TELEMETRY_APIS_FRAMEWORK_INITIALIZATION)
+ public static final String PROFILING_SERVICE = "profiling";
+
+ /**
+ * Use with {@link #getSystemService(String)} to retrieve a {@link
+ * android.webkit.WebViewUpdateManager} for accessing the WebView update service.
+ *
+ * @see #getSystemService(String)
+ * @see android.webkit.WebViewUpdateManager
+ * @hide
+ */
+ @FlaggedApi(android.webkit.Flags.FLAG_UPDATE_SERVICE_IPC_WRAPPER)
+ @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
+ @SuppressLint("ServiceName")
+ public static final String WEBVIEW_UPDATE_SERVICE = "webviewupdate";
+
+ /**
* Determine whether the given permission is allowed for a particular
* process and user ID running in the system.
*
@@ -7706,9 +7728,13 @@
}
/**
+ * Updates the display association of this Context with the display with the given ID.
+ *
* @hide
*/
@SuppressWarnings("HiddenAbstractMethod")
+ @SuppressLint("UnflaggedApi") // @TestApi without associated feature.
+ @TestApi
public abstract void updateDisplay(int displayId);
/**
diff --git a/core/java/android/content/IntentFilter.java b/core/java/android/content/IntentFilter.java
index d913581..e290722 100644
--- a/core/java/android/content/IntentFilter.java
+++ b/core/java/android/content/IntentFilter.java
@@ -677,7 +677,7 @@
* has at least one HTTP or HTTPS data URI pattern defined, and optionally
* does not define any non-http/https data URI patterns.
*
- * This will check if if the Intent action is {@link android.content.Intent#ACTION_VIEW} and
+ * This will check if the Intent action is {@link android.content.Intent#ACTION_VIEW} and
* the Intent category is {@link android.content.Intent#CATEGORY_BROWSABLE} and the Intent
* data scheme is "http" or "https".
*
@@ -718,7 +718,7 @@
}
// We get here if:
- // 1) onlyWebSchemes and no non-web schemes were found, i.e success; or
+ // 1) onlyWebSchemes and no non-web schemes were found, i.e. success; or
// 2) !onlyWebSchemes and no http/https schemes were found, i.e. failure.
return onlyWebSchemes;
}
@@ -728,7 +728,7 @@
*
* @return True if the filter needs to be automatically verified. False otherwise.
*
- * This will check if if the Intent action is {@link android.content.Intent#ACTION_VIEW} and
+ * This will check if the Intent action is {@link android.content.Intent#ACTION_VIEW} and
* the Intent category is {@link android.content.Intent#CATEGORY_BROWSABLE} and the Intent
* data scheme is "http" or "https".
*
diff --git a/core/java/android/content/pm/OWNERS b/core/java/android/content/pm/OWNERS
index fb95608895..c6f5220 100644
--- a/core/java/android/content/pm/OWNERS
+++ b/core/java/android/content/pm/OWNERS
@@ -3,11 +3,22 @@
file:/PACKAGE_MANAGER_OWNERS
per-file PackageParser.java = set noparent
-per-file PackageParser.java = chiuwinson@google.com,patb@google.com
+per-file PackageParser.java = file:/PACKAGE_MANAGER_OWNERS
+
+# Bug component: 166829 = per-file *Capability*
per-file *Capability* = file:/core/java/android/content/pm/SHORTCUT_OWNERS
+# Bug component: 166829 = per-file *Shortcut*
per-file *Shortcut* = file:/core/java/android/content/pm/SHORTCUT_OWNERS
+
+# Bug component: 860423 = per-file *Launcher*
per-file *Launcher* = file:/core/java/android/content/pm/LAUNCHER_OWNERS
+
+# Bug component: 578329 = per-file *UserInfo*
per-file UserInfo* = file:/MULTIUSER_OWNERS
+# Bug component: 578329 = per-file *UserProperties*
per-file *UserProperties* = file:/MULTIUSER_OWNERS
+# Bug component: 578329 = per-file *multiuser*
per-file *multiuser* = file:/MULTIUSER_OWNERS
-per-file IBackgroundInstallControlService.aidl = file:/services/core/java/com/android/server/pm/BACKGROUND_INSTALL_OWNERS
+
+# Bug component: 1219020 = per-file *BackgroundInstallControl*
+per-file *BackgroundInstallControl* = file:/services/core/java/com/android/server/pm/BACKGROUND_INSTALL_OWNERS
diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java
index 407ffbb..49c8a7c 100644
--- a/core/java/android/content/pm/PackageManager.java
+++ b/core/java/android/content/pm/PackageManager.java
@@ -16,6 +16,8 @@
package android.content.pm;
+import static android.media.audio.Flags.FLAG_FEATURE_SPATIAL_AUDIO_HEADTRACKING_LOW_LATENCY;
+
import static com.android.internal.pm.pkg.parsing.ParsingPackageUtils.PARSE_COLLECT_CERTIFICATES;
import android.Manifest;
@@ -3065,6 +3067,17 @@
public static final String FEATURE_AUDIO_PRO = "android.hardware.audio.pro";
/**
+ * Feature for {@link #getSystemAvailableFeatures} and {@link #hasSystemFeature}
+ * which indicates whether head tracking for spatial audio operates with low-latency,
+ * as defined by the CDD criteria for the feature.
+ *
+ */
+ @SdkConstant(SdkConstantType.FEATURE)
+ @FlaggedApi(FLAG_FEATURE_SPATIAL_AUDIO_HEADTRACKING_LOW_LATENCY)
+ public static final String FEATURE_AUDIO_SPATIAL_HEADTRACKING_LOW_LATENCY =
+ "android.hardware.audio.spatial.headtracking.low_latency";
+
+ /**
* Feature for {@link #getSystemAvailableFeatures} and
* {@link #hasSystemFeature}: The device is capable of communicating with
* other devices via Bluetooth.
diff --git a/core/java/android/content/pm/ServiceInfo.java b/core/java/android/content/pm/ServiceInfo.java
index 5b0cee7..9c6aab4 100644
--- a/core/java/android/content/pm/ServiceInfo.java
+++ b/core/java/android/content/pm/ServiceInfo.java
@@ -163,12 +163,25 @@
* Because of this, developers must make sure to stop the foreground service even if
* {@link android.app.Service#onTimeout(int, int)} is not called on such versions.
*
- * @see android.app.Service#onTimeout(int, int)
+ * <p>Apps targeting API level {@link android.os.Build.VERSION_CODES#VANILLA_ICE_CREAM} and
+ * later should <b>NOT</b> use this type: calling
+ * {@link android.app.Service#startForeground(int, android.app.Notification, int)} with
+ * this type on devices running {@link android.os.Build.VERSION_CODES#VANILLA_ICE_CREAM} is
+ * still allowed, but it may throw an {@link android.app.InvalidForegroundServiceTypeException}
+ * in future platform releases.
+ *
+ * <p class="note">
+ * Use the {@link android.app.job.JobInfo.Builder#setUserInitiated(boolean)} API for
+ * user-initiated, network data transfers.
+ *
+ * @deprecated Use {@link android.app.job.JobInfo.Builder} APIs or alternate FGS types
+ * (like {@link #FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING}) applicable to your use-case.
*/
@RequiresPermission(
value = Manifest.permission.FOREGROUND_SERVICE_DATA_SYNC,
conditional = true
)
+ @Deprecated
public static final int FOREGROUND_SERVICE_TYPE_DATA_SYNC = 1 << 0;
/**
diff --git a/core/java/android/content/pm/multiuser.aconfig b/core/java/android/content/pm/multiuser.aconfig
index 4b890fa..c7d93bf 100644
--- a/core/java/android/content/pm/multiuser.aconfig
+++ b/core/java/android/content/pm/multiuser.aconfig
@@ -135,3 +135,10 @@
description: "Allow the use of a profileApiAvailability user property to exclude HIDDEN profiles in API results"
bug: "316362775"
}
+
+flag {
+ name: "enable_launcher_apps_hidden_profile_checks"
+ namespace: "profile_experiences"
+ description: "Enable extra check to limit access to hidden prfiles data in Launcher apps APIs."
+ bug: "321988638"
+}
diff --git a/core/java/android/content/pm/overlay/OverlayPaths.java b/core/java/android/content/pm/overlay/OverlayPaths.java
index a4db733..bd74b0b 100644
--- a/core/java/android/content/pm/overlay/OverlayPaths.java
+++ b/core/java/android/content/pm/overlay/OverlayPaths.java
@@ -49,6 +49,13 @@
public static class Builder {
final OverlayPaths mPaths = new OverlayPaths();
+ public Builder() {}
+
+ public Builder(@NonNull OverlayPaths base) {
+ mPaths.mResourceDirs.addAll(base.getResourceDirs());
+ mPaths.mOverlayPaths.addAll(base.getOverlayPaths());
+ }
+
/**
* Adds a non-APK path to the contents of {@link OverlayPaths#getOverlayPaths()}.
*/
diff --git a/core/java/android/credentials/GetCredentialResponse.java b/core/java/android/credentials/GetCredentialResponse.java
index 4f8b026..ea699b9 100644
--- a/core/java/android/credentials/GetCredentialResponse.java
+++ b/core/java/android/credentials/GetCredentialResponse.java
@@ -21,6 +21,8 @@
import android.annotation.NonNull;
import android.os.Parcel;
import android.os.Parcelable;
+import android.service.credentials.CredentialProviderService;
+import android.view.autofill.AutofillId;
import com.android.internal.util.AnnotationValidations;
@@ -35,6 +37,7 @@
@NonNull
private final Credential mCredential;
+
/**
* Returns the credential that can be used to authenticate the user, or {@code null} if no
* credential is available.
@@ -60,6 +63,18 @@
}
/**
+ *
+ * @return
+ *
+ * @hide
+ */
+ public AutofillId getAutofillId() {
+ return mCredential.getData().getParcelable(
+ CredentialProviderService.EXTRA_AUTOFILL_ID,
+ AutofillId.class);
+ }
+
+ /**
* Constructs a {@link GetCredentialResponse}.
*
* @param credential the credential successfully retrieved from the user.
diff --git a/core/java/android/credentials/selection/FailureResult.java b/core/java/android/credentials/selection/FailureResult.java
index 93ba671..91f7013 100644
--- a/core/java/android/credentials/selection/FailureResult.java
+++ b/core/java/android/credentials/selection/FailureResult.java
@@ -23,6 +23,9 @@
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SystemApi;
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.ResultReceiver;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -35,6 +38,24 @@
@SystemApi
@FlaggedApi(FLAG_CONFIGURABLE_SELECTOR_UI_ENABLED)
public final class FailureResult {
+
+ /**
+ * Sends the {@code failureResult} that caused the UI to stop back to the CredentialManager
+ * service.
+ *
+ * @param resultReceiver the ResultReceiver sent from the system service, that can be extracted
+ * from the launch intent via
+ * {@link IntentHelper#extractResultReceiver(Intent)}
+ */
+ public static void sendFailureResult(@NonNull ResultReceiver resultReceiver,
+ @NonNull FailureResult failureResult) {
+ FailureDialogResult result = failureResult.toFailureDialogResult();
+ Bundle resultData = new Bundle();
+ FailureDialogResult.addToBundle(result, resultData);
+ resultReceiver.send(failureResult.errorCodeToResultCode(),
+ resultData);
+ }
+
@Nullable
private final String mErrorMessage;
@NonNull
@@ -53,6 +74,9 @@
/**
* The UI was stopped due to a failure, e.g. because it failed to parse the incoming data,
* or it encountered an irrecoverable internal issue.
+ *
+ * This code also serves as a default value to use for failures that do not fall into any other
+ * error code category or for backward compatibility.
*/
public static final int ERROR_CODE_UI_FAILURE = 0;
/** The user intentionally canceled the dialog. */
diff --git a/core/java/android/credentials/selection/ResultHelper.java b/core/java/android/credentials/selection/ResultHelper.java
deleted file mode 100644
index d6347b0..0000000
--- a/core/java/android/credentials/selection/ResultHelper.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.credentials.selection;
-
-import static android.credentials.flags.Flags.FLAG_CONFIGURABLE_SELECTOR_UI_ENABLED;
-
-import android.annotation.FlaggedApi;
-import android.annotation.NonNull;
-import android.annotation.SystemApi;
-import android.content.Intent;
-import android.os.Bundle;
-import android.os.ResultReceiver;
-
-/**
- * Utilities for sending the UI results back to the system service.
- *
- * @hide
- */
-@SystemApi
-@FlaggedApi(FLAG_CONFIGURABLE_SELECTOR_UI_ENABLED)
-public final class ResultHelper {
- /**
- * Sends the {@code failureResult} that caused the UI to stop back to the CredentialManager
- * service.
- *
- * @param resultReceiver the ResultReceiver sent from the system service, that can be extracted
- * from the launch intent via
- * {@link IntentHelper#extractResultReceiver(Intent)}
- */
- public static void sendFailureResult(@NonNull ResultReceiver resultReceiver,
- @NonNull FailureResult failureResult) {
- FailureDialogResult result = failureResult.toFailureDialogResult();
- Bundle resultData = new Bundle();
- FailureDialogResult.addToBundle(result, resultData);
- resultReceiver.send(failureResult.errorCodeToResultCode(),
- resultData);
- }
-
- /**
- * Sends the completed {@code userSelectionResult} back to the CredentialManager service.
- *
- * @param resultReceiver the ResultReceiver sent from the system service, that can be extracted
- * from the launch intent via
- * {@link IntentHelper#extractResultReceiver(Intent)}
- */
- public static void sendUserSelectionResult(@NonNull ResultReceiver resultReceiver,
- @NonNull UserSelectionResult userSelectionResult) {
- UserSelectionDialogResult result = userSelectionResult.toUserSelectionDialogResult();
- Bundle resultData = new Bundle();
- UserSelectionDialogResult.addToBundle(result, resultData);
- resultReceiver.send(BaseDialogResult.RESULT_CODE_DIALOG_COMPLETE_WITH_SELECTION,
- resultData);
- }
-
- private ResultHelper() {}
-}
diff --git a/core/java/android/credentials/selection/UserSelectionResult.java b/core/java/android/credentials/selection/UserSelectionResult.java
index 235a5d5..140640e 100644
--- a/core/java/android/credentials/selection/UserSelectionResult.java
+++ b/core/java/android/credentials/selection/UserSelectionResult.java
@@ -22,6 +22,9 @@
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SystemApi;
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.ResultReceiver;
import com.android.internal.util.Preconditions;
@@ -34,6 +37,22 @@
@SystemApi
@FlaggedApi(FLAG_CONFIGURABLE_SELECTOR_UI_ENABLED)
public final class UserSelectionResult {
+ /**
+ * Sends the completed {@code userSelectionResult} back to the CredentialManager service.
+ *
+ * @param resultReceiver the ResultReceiver sent from the system service, that can be extracted
+ * from the launch intent via
+ * {@link IntentHelper#extractResultReceiver(Intent)}
+ */
+ public static void sendUserSelectionResult(@NonNull ResultReceiver resultReceiver,
+ @NonNull UserSelectionResult userSelectionResult) {
+ UserSelectionDialogResult result = userSelectionResult.toUserSelectionDialogResult();
+ Bundle resultData = new Bundle();
+ UserSelectionDialogResult.addToBundle(result, resultData);
+ resultReceiver.send(BaseDialogResult.RESULT_CODE_DIALOG_COMPLETE_WITH_SELECTION,
+ resultData);
+ }
+
@NonNull
private final String mProviderId;
@NonNull
diff --git a/core/java/android/hardware/camera2/CameraDevice.java b/core/java/android/hardware/camera2/CameraDevice.java
index 3835c52..1a0074f 100644
--- a/core/java/android/hardware/camera2/CameraDevice.java
+++ b/core/java/android/hardware/camera2/CameraDevice.java
@@ -16,10 +16,12 @@
package android.hardware.camera2;
+import android.annotation.CallbackExecutor;
import android.annotation.FlaggedApi;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.RequiresPermission;
import android.annotation.SystemApi;
import android.hardware.camera2.params.ExtensionSessionConfiguration;
import android.hardware.camera2.params.InputConfiguration;
@@ -35,6 +37,7 @@
import java.lang.annotation.RetentionPolicy;
import java.util.List;
import java.util.Set;
+import java.util.concurrent.Executor;
/**
* <p>The CameraDevice class is a representation of a single camera connected to an
@@ -897,7 +900,7 @@
* supported sizes.
* Camera clients that register a Jpeg/R output within a stream combination that doesn't fit
* in the mandatory stream table above can call
- * {@link CameraManager#isSessionConfigurationWithParametersSupported} to ensure that this particular
+ * {@link #isSessionConfigurationSupported} to ensure that this particular
* configuration is supported.</p>
*
* <h5>STREAM_USE_CASE capability additional guaranteed configurations</h5>
@@ -970,7 +973,7 @@
*
* <p>Since the capabilities of camera devices vary greatly, a given camera device may support
* target combinations with sizes outside of these guarantees, but this can only be tested for
- * by calling {@link CameraManager#isSessionConfigurationWithParametersSupported} or attempting
+ * by calling {@link #isSessionConfigurationSupported} or attempting
* to create a session with such targets.</p>
*
* <p>Exception on 176x144 (QCIF) resolution:
@@ -1395,8 +1398,12 @@
* {@link android.hardware.camera2.params.MandatoryStreamCombination} are better suited for this
* purpose.</p>
*
- * <p>Note that session parameters will be ignored and calls to
- * {@link SessionConfiguration#setSessionParameters} are not required.</p>
+ * <p><b>NOTE:</b>
+ * For apps targeting {@link android.os.Build.VERSION_CODES#VANILLA_ICE_CREAM} and above,
+ * this method will ensure session parameters set through calls to
+ * {@link SessionConfiguration#setSessionParameters} are also supported if the Camera Device
+ * supports it. For apps targeting {@link android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE} and
+ * below, session parameters will be ignored.</p>
*
* @return {@code true} if the given session configuration is supported by the camera device
* {@code false} otherwise.
@@ -1406,44 +1413,14 @@
* @throws CameraAccessException if the camera device is no longer connected or has
* encountered a fatal error
* @throws IllegalStateException if the camera device has been closed
- * @deprecated Please use {@link CameraManager#isSessionConfigurationWithParametersSupported}
- * to check whether a SessionConfiguration is supported by the device.
+ *
*/
- @Deprecated
public boolean isSessionConfigurationSupported(
@NonNull SessionConfiguration sessionConfig) throws CameraAccessException {
throw new UnsupportedOperationException("Subclasses must override this method");
}
- /**
- * <p>Get camera characteristics for a particular session configuration by the camera device.</p>
- *
- * <p>The camera characteristics returned here is typically more limited than the characteristics
- * returned from {@link CameraManager#getCameraCharacteristics}. The keys that have more limited
- * values are listed in
- * {@link CameraCharacteristics#getAvailableSessionCharacteristicsKeys}. </p>
- *
- * <p>Other than that, the characteristics returned here can be used in the same way as those
- * returned from {@link CameraManager#getCameraCharacteristics}.</p>
- *
- * @param sessionConfig : The session configuration for which characteristics are fetched.
- * @return CameraCharacteristics specific to a given session configuration.
- * @throws UnsupportedOperationException if the query operation is not supported by the camera
- * device
- * @throws IllegalArgumentException if the session configuration is invalid
- * @throws CameraAccessException if the camera device is no longer connected or has
- * encountered a fatal error
- * @throws IllegalStateException if the camera device has been closed
- * @see android.hardware.camera2.CameraCharacteristics#getAvailableSessionCharacteristicsKeys
- */
- @NonNull
- @FlaggedApi(Flags.FLAG_FEATURE_COMBINATION_QUERY)
- public CameraCharacteristics getSessionCharacteristics(
- @NonNull SessionConfiguration sessionConfig) throws CameraAccessException {
- throw new UnsupportedOperationException("Subclasses must override this method");
- }
-
- /**
+ /**
* A callback objects for receiving updates about the state of a camera device.
*
* <p>A callback instance must be provided to the {@link CameraManager#openCamera} method to
@@ -1627,6 +1604,182 @@
}
/**
+ * CameraDeviceSetup is a limited representation of {@link CameraDevice} that can be used to
+ * query device specific information which would otherwise need a CameraDevice instance.
+ * This class can be constructed without calling {@link CameraManager#openCamera} and paying
+ * the latency cost of CameraDevice creation. Use {@link CameraManager#getCameraDeviceSetup}
+ * to get an instance of this class.
+ *
+ * <p>Can only be instantiated for camera devices for which
+ * {@link CameraManager#isCameraDeviceSetupSupported} returns true.</p>
+ *
+ * @see CameraManager#isCameraDeviceSetupSupported(String)
+ * @see CameraManager#getCameraDeviceSetup(String)
+ */
+ @FlaggedApi(Flags.FLAG_CAMERA_DEVICE_SETUP)
+ public abstract static class CameraDeviceSetup {
+ /**
+ * Create a {@link CaptureRequest.Builder} for new capture requests,
+ * initialized with a template for target use case.
+ *
+ * <p>The settings are chosen to be the best options for the specific camera device,
+ * so it is not recommended to reuse the same request for a different camera device;
+ * create a builder specific for that device and template and override the
+ * settings as desired, instead.</p>
+ *
+ * <p>Supported if {@link CameraCharacteristics#INFO_SESSION_CONFIGURATION_QUERY_VERSION}
+ * is at least {@link android.os.Build.VERSION_CODES#VANILLA_ICE_CREAM}. If less or equal to
+ * {@link android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE}, this function throws an
+ * {@link UnsupportedOperationException}.</p>
+ *
+ * @param templateType An enumeration selecting the use case for this request. Not all
+ * template types are supported on every device. See the documentation
+ * for each template type for details.
+ *
+ * @return a builder for a capture request, initialized with default settings for that
+ * template, and no output streams
+ *
+ * @throws CameraAccessException if the querying the camera device failed or there has been
+ * a fatal error
+ * @throws IllegalArgumentException if the templateType is not supported by this device
+ */
+ @NonNull
+ @FlaggedApi(Flags.FLAG_CAMERA_DEVICE_SETUP)
+ public abstract CaptureRequest.Builder createCaptureRequest(
+ @RequestTemplate int templateType) throws CameraAccessException;
+
+ /**
+ * Checks whether a particular {@link SessionConfiguration} is supported by the camera
+ * device.
+ *
+ * <p>This method performs a runtime check of a given {@link SessionConfiguration}. The
+ * result confirms whether or not the {@code SessionConfiguration}, <b>including the
+ * parameters specified via {@link SessionConfiguration#setSessionParameters}</b>, can
+ * be used to create a camera capture session using
+ * {@link CameraDevice#createCaptureSession(SessionConfiguration)}.</p>
+ *
+ * <p>This method is supported if the
+ * {@link CameraCharacteristics#INFO_SESSION_CONFIGURATION_QUERY_VERSION}
+ * is at least {@link android.os.Build.VERSION_CODES#VANILLA_ICE_CREAM}. If less or equal
+ * to {@link android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE}, this function throws
+ * {@link UnsupportedOperationException}.</p>
+ *
+ * <p>Although this method is much faster than creating a new capture session, it can still
+ * take a few milliseconds per call. Applications should therefore not use this method to
+ * explore the entire space of supported session combinations.</p>
+ *
+ * <p>Instead, applications should use this method to query whether combinations of
+ * certain features are supported. {@link
+ * CameraCharacteristics#INFO_SESSION_CONFIGURATION_QUERY_VERSION} provides the list of
+ * feature combinations the camera device will reliably report.</p>
+ *
+ * <p><b>IMPORTANT:</b></p>
+ * <ul>
+ * <li>If a feature support can be queried via
+ * {@link CameraCharacteristics#SCALER_MANDATORY_STREAM_COMBINATIONS} or
+ * {@link CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP}, applications should
+ * directly use it rather than calling this function as: (1) using
+ * {@code CameraCharacteristics} is more efficient, and (2) calling this function with on
+ * non-supported devices will throw a {@link UnsupportedOperationException}.
+ *
+ * <li>To minimize latency of {@link SessionConfiguration} creation, applications can
+ * use deferred surfaces for SurfaceView and SurfaceTexture to avoid waiting for UI
+ * creation before setting up the camera. For {@link android.media.MediaRecorder} and
+ * {@link android.media.MediaCodec} uses, applications can use {@code ImageReader} with
+ * {@link android.hardware.HardwareBuffer#USAGE_VIDEO_ENCODE}. The lightweight nature of
+ * {@code ImageReader} helps minimize the latency cost.
+ * </ul>
+ *
+ * @return {@code true} if the given session configuration is supported by the camera
+ * device, {@code false} otherwise.
+ *
+ * @throws CameraAccessException if the camera device is no longer connected or has
+ * encountered a fatal error
+ * @throws IllegalArgumentException if the session configuration is invalid
+ *
+ * @see CameraCharacteristics#INFO_SESSION_CONFIGURATION_QUERY_VERSION
+ * @see SessionConfiguration
+ * @see android.media.ImageReader
+ */
+ @FlaggedApi(Flags.FLAG_CAMERA_DEVICE_SETUP)
+ public abstract boolean isSessionConfigurationSupported(
+ @NonNull SessionConfiguration config) throws CameraAccessException;
+
+ /**
+ * <p>Get camera characteristics for a particular session configuration for this camera
+ * device</p>
+ *
+ * <p>The camera characteristics returned by this method are different from those returned
+ * from {@link CameraManager#getCameraCharacteristics}. The characteristics returned here
+ * reflect device capabilities more accurately if the device were to be configured with
+ * {@code sessionConfig}. The keys that may get updated are listed in
+ * {@link CameraCharacteristics#getAvailableSessionCharacteristicsKeys}.</p>
+ *
+ * <p>Other than that, the characteristics returned here can be used in the same way as
+ * those returned from {@link CameraManager#getCameraCharacteristics}.</p>
+ *
+ * @param sessionConfig : The session configuration for which characteristics are fetched.
+ * @return CameraCharacteristics specific to a given session configuration.
+ *
+ * @throws IllegalArgumentException if the session configuration is invalid
+ * @throws CameraAccessException if the camera device is no longer connected or has
+ * encountered a fatal error
+ *
+ * @see CameraCharacteristics#getAvailableSessionCharacteristicsKeys
+ */
+ @NonNull
+ @FlaggedApi(Flags.FLAG_CAMERA_DEVICE_SETUP)
+ public abstract CameraCharacteristics getSessionCharacteristics(
+ @NonNull SessionConfiguration sessionConfig) throws CameraAccessException;
+
+ /**
+ * Utility function to forward the call to
+ * {@link CameraManager#openCamera(String, Executor, StateCallback)}. This function simply
+ * calls {@code CameraManager.openCamera} for the cameraId for which this class was
+ * constructed. All semantics are consistent with {@code CameraManager.openCamera}.
+ *
+ * @param executor The executor which will be used when invoking the callback.
+ * @param callback The callback which is invoked once the camera is opened
+ *
+ * @throws CameraAccessException if the camera is disabled by device policy,
+ * has been disconnected, or is being used by a higher-priority camera API client.
+ *
+ * @throws IllegalArgumentException if cameraId, the callback or the executor was null,
+ * or the cameraId does not match any currently or previously available
+ * camera device.
+ *
+ * @throws SecurityException if the application does not have permission to
+ * access the camera
+ *
+ * @see CameraManager#openCamera(String, Executor, StateCallback)
+ */
+ @FlaggedApi(Flags.FLAG_CAMERA_DEVICE_SETUP)
+ @RequiresPermission(android.Manifest.permission.CAMERA)
+ public abstract void openCamera(@NonNull @CallbackExecutor Executor executor,
+ @NonNull StateCallback callback) throws CameraAccessException;
+
+ /**
+ * Get the ID of this camera device.
+ *
+ * <p>This matches the ID given to {@link CameraManager#getCameraDeviceSetup} to instantiate
+ * this object.</p>
+ *
+ * @return the ID for this camera device
+ *
+ * @see CameraManager#getCameraIdList
+ */
+ @NonNull
+ @FlaggedApi(Flags.FLAG_CAMERA_DEVICE_SETUP)
+ public abstract String getId();
+
+ /**
+ * To be implemented by camera2 classes only.
+ * @hide
+ */
+ public CameraDeviceSetup() {}
+ }
+
+ /**
* Set audio restriction mode when this CameraDevice is being used.
*
* <p>Some camera hardware (e.g. devices with optical image stabilization support)
diff --git a/core/java/android/hardware/camera2/CameraManager.java b/core/java/android/hardware/camera2/CameraManager.java
index bcce4b6..04e3dab 100644
--- a/core/java/android/hardware/camera2/CameraManager.java
+++ b/core/java/android/hardware/camera2/CameraManager.java
@@ -36,8 +36,9 @@
import android.hardware.CameraStatus;
import android.hardware.ICameraService;
import android.hardware.ICameraServiceListener;
-import android.hardware.camera2.CameraDevice.RequestTemplate;
+import android.hardware.camera2.CameraDevice.StateCallback;
import android.hardware.camera2.impl.CameraDeviceImpl;
+import android.hardware.camera2.impl.CameraDeviceSetupImpl;
import android.hardware.camera2.impl.CameraInjectionSessionImpl;
import android.hardware.camera2.impl.CameraMetadataNative;
import android.hardware.camera2.params.ExtensionSessionConfiguration;
@@ -45,10 +46,10 @@
import android.hardware.camera2.params.StreamConfiguration;
import android.hardware.camera2.utils.CameraIdAndSessionConfiguration;
import android.hardware.camera2.utils.ConcurrentCameraIdCombination;
+import android.hardware.camera2.utils.ExceptionUtils;
import android.hardware.devicestate.DeviceStateManager;
import android.hardware.display.DisplayManager;
import android.os.Binder;
-import android.os.DeadObjectException;
import android.os.Handler;
import android.os.HandlerExecutor;
import android.os.HandlerThread;
@@ -352,71 +353,6 @@
}
/**
- * Checks whether a particular {@link SessionConfiguration} is supported by a camera device.
- *
- * <p>This method performs a runtime check of a given {@link SessionConfiguration}. The result
- * confirms whether or not the session configuration, including the
- * {@link SessionConfiguration#setSessionParameters specified session parameters}, can
- * be successfully used to create a camera capture session using
- * {@link CameraDevice#createCaptureSession(
- * android.hardware.camera2.params.SessionConfiguration)}.
- * </p>
- *
- * <p>Supported if the {@link CameraCharacteristics#INFO_SESSION_CONFIGURATION_QUERY_VERSION}
- * is at least {@code android.os.Build.VERSION_CODES.VANILLA_ICE_CREAM}. If less or equal to
- * {@code android.os.Build.VERSION_CODES.UPSIDE_DOWN_CAKE}, this function throws
- * {@code UnsupportedOperationException}.</p>
- *
- * <p>Although this method is much faster than creating a new capture session, it is not
- * trivial cost: the latency is less than 5 milliseconds in most cases. As a result, the
- * app should not use this to explore the entire space of supported session combinations.</p>
- *
- * <p>Instead, the application should use this method to query whether the
- * combination of certain features are supported. See {@link
- * CameraCharacteristics#INFO_SESSION_CONFIGURATION_QUERY_VERSION} for the list of feature
- * combinations the camera device will reliably report.</p>
- *
- * <p>IMPORTANT:</p>
- *
- * <ul>
- *
- * <li>If a feature support can be queried with {@code CameraCharacteristics},
- * the application must directly use {@code CameraCharacteristics} rather than
- * calling this function. The reasons are: (1) using {@code CameraCharacteristics} is more
- * efficient, and (2) calling this function with a non-supported feature will throw a {@code
- * IllegalArgumentException}.</li>
- *
- * <li>To minimize latency for {@code SessionConfiguration} creation, the application should
- * use deferred surfaces for SurfaceView and SurfaceTexture to avoid delays. Alternatively,
- * the application can create {@code ImageReader} with {@code USAGE_COMPOSER_OVERLAY} and
- * {@code USAGE_GPU_SAMPLED_IMAGE} usage respectively. For {@code MediaRecorder} and {@code
- * MediaCodec}, the application can use {@code ImageReader} with {@code
- * USAGE_VIDEO_ENCODE}. The lightweight nature of {@code ImageReader} helps minimize the
- * latency cost.</li>
- *
- * </ul>
- *
- *
- * @return {@code true} if the given session configuration is supported by the camera device
- * {@code false} otherwise.
- * @throws CameraAccessException if the camera device is no longer connected or has
- * encountered a fatal error
- * @throws IllegalArgumentException if the session configuration is invalid
- * @throws UnsupportedOperationException if the query operation is not supported by the camera
- * device
- *
- * @see CameraCharacteristics#INFO_SESSION_CONFIGURATION_QUERY_VERSION
- */
- @RequiresPermission(android.Manifest.permission.CAMERA)
- @FlaggedApi(Flags.FLAG_FEATURE_COMBINATION_QUERY)
- public boolean isSessionConfigurationWithParametersSupported(@NonNull String cameraId,
- @NonNull SessionConfiguration sessionConfig) throws CameraAccessException {
- //TODO: b/298033056: restructure the OutputConfiguration API for better usability
- return CameraManagerGlobal.get().isSessionConfigurationWithParametersSupported(
- cameraId, sessionConfig);
- }
-
- /**
* Register a callback to be notified about camera device availability.
*
* <p>Registering the same callback again will replace the handler with the
@@ -643,7 +579,7 @@
ServiceSpecificException sse = new ServiceSpecificException(
ICameraService.ERROR_DISCONNECTED,
"Camera service is currently unavailable");
- throwAsPublicException(sse);
+ throw ExceptionUtils.throwAsPublicException(sse);
}
return multiResolutionStreamConfigurations;
@@ -736,7 +672,7 @@
characteristics = new CameraCharacteristics(info);
} catch (ServiceSpecificException e) {
- throwAsPublicException(e);
+ throw ExceptionUtils.throwAsPublicException(e);
} catch (RemoteException e) {
// Camera service died - act as if the camera was disconnected
throw new CameraAccessException(CameraAccessException.CAMERA_DISCONNECTED,
@@ -785,6 +721,109 @@
}
/**
+ * Returns a {@link CameraDevice.CameraDeviceSetup} object for the given {@code cameraId},
+ * which provides limited access to CameraDevice setup and query functionality without
+ * requiring an {@link #openCamera} call. The {@link CameraDevice} can later be obtained either
+ * by calling {@link #openCamera}, or {@link CameraDevice.CameraDeviceSetup#openCamera}.
+ *
+ * <p>Support for {@link CameraDevice.CameraDeviceSetup} for a given {@code cameraId} must be
+ * checked with {@link #isCameraDeviceSetupSupported}. If {@code isCameraDeviceSetupSupported}
+ * returns {@code false} for a {@code cameraId}, this method will throw an
+ * {@link UnsupportedOperationException}</p>
+ *
+ * @param cameraId The unique identifier of the camera device for which
+ * {@link CameraDevice.CameraDeviceSetup} object must be constructed. This
+ * identifier must be present in {@link #getCameraIdList()}
+ *
+ * @return {@link CameraDevice.CameraDeviceSetup} object corresponding to the provided
+ * {@code cameraId}
+ *
+ * @throws IllegalArgumentException If {@code cameraId} is null, or if {@code cameraId} does not
+ * match any device in {@link #getCameraIdList()}.
+ * @throws CameraAccessException if the camera device is not accessible
+ * @throws UnsupportedOperationException if {@link CameraDevice.CameraDeviceSetup} instance
+ * cannot be constructed for the given {@code cameraId}, i.e.
+ * {@link #isCameraDeviceSetupSupported} returns false.
+ *
+ * @see CameraDevice.CameraDeviceSetup
+ * @see #getCameraIdList()
+ * @see #openCamera
+ */
+ @NonNull
+ @FlaggedApi(Flags.FLAG_CAMERA_DEVICE_SETUP)
+ public CameraDevice.CameraDeviceSetup getCameraDeviceSetup(@NonNull String cameraId)
+ throws CameraAccessException {
+ if (cameraId == null) {
+ throw new IllegalArgumentException("cameraId was null");
+ }
+
+ if (CameraManagerGlobal.sCameraServiceDisabled) {
+ throw new CameraAccessException(CameraAccessException.CAMERA_DISABLED,
+ "No cameras available on device");
+ }
+
+ if (!Arrays.asList(CameraManagerGlobal.get().getCameraIdList()).contains(cameraId)) {
+ throw new IllegalArgumentException(
+ "Camera ID '" + cameraId + "' not available on device.");
+ }
+
+ if (!isCameraDeviceSetupSupported(cameraId)) {
+ throw new UnsupportedOperationException(
+ "CameraDeviceSetup is not supported for Camera ID: " + cameraId);
+ }
+
+ return new CameraDeviceSetupImpl(cameraId, /*cameraManager=*/ this, mContext);
+ }
+
+ /**
+ * Checks a Camera Device's characteristics to ensure that a
+ * {@link CameraDevice.CameraDeviceSetup} instance can be constructed for a given
+ * {@code cameraId}. If this method returns false for a {@code cameraId}, calling
+ * {@link #getCameraDeviceSetup} for that {@code cameraId} will throw an
+ * {@link UnsupportedOperationException}.
+ *
+ * <p>{@link CameraDevice.CameraDeviceSetup} is supported for all devices that report
+ * {@link CameraCharacteristics#INFO_SESSION_CONFIGURATION_QUERY_VERSION} >
+ * {@link android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE}</p>
+ *
+ * @param cameraId The unique identifier of the camera device for which
+ * {@link CameraDevice.CameraDeviceSetup} support is being queried. This
+ * identifier must be present in {@link #getCameraIdList()}.
+ *
+ * @return {@code true} if {@link CameraDevice.CameraDeviceSetup} object can be constructed
+ * for the provided {@code cameraId}; {@code false} otherwise.
+ *
+ * @throws IllegalArgumentException If {@code cameraId} is null, or if {@code cameraId} does not
+ * match any device in {@link #getCameraIdList()}.
+ * @throws CameraAccessException if the camera device is not accessible
+ *
+ * @see CameraCharacteristics#INFO_SESSION_CONFIGURATION_QUERY_VERSION
+ * @see CameraDevice.CameraDeviceSetup
+ * @see #getCameraDeviceSetup(String)
+ * @see #getCameraIdList()
+ */
+ @FlaggedApi(Flags.FLAG_CAMERA_DEVICE_SETUP)
+ public boolean isCameraDeviceSetupSupported(@NonNull String cameraId)
+ throws CameraAccessException {
+ if (cameraId == null) {
+ throw new IllegalArgumentException("Camera ID was null");
+ }
+
+ if (CameraManagerGlobal.sCameraServiceDisabled) {
+ throw new CameraAccessException(CameraAccessException.CAMERA_DISABLED,
+ "No cameras available on device");
+ }
+
+ if (!Arrays.asList(CameraManagerGlobal.get().getCameraIdList()).contains(cameraId)) {
+ throw new IllegalArgumentException(
+ "Camera ID '" + cameraId + "' not available on device.");
+ }
+
+ CameraCharacteristics chars = getCameraCharacteristics(cameraId);
+ return CameraDeviceSetupImpl.isCameraDeviceSetupSupported(chars);
+ }
+
+ /**
* Helper for opening a connection to a camera with the given ID.
*
* @param cameraId The unique identifier of the camera device to open
@@ -817,6 +856,11 @@
synchronized (mLock) {
ICameraDeviceUser cameraUser = null;
+ CameraDevice.CameraDeviceSetup cameraDeviceSetup = null;
+ if (Flags.cameraDeviceSetup() && isCameraDeviceSetupSupported(cameraId)) {
+ cameraDeviceSetup = getCameraDeviceSetup(cameraId);
+ }
+
android.hardware.camera2.impl.CameraDeviceImpl deviceImpl =
new android.hardware.camera2.impl.CameraDeviceImpl(
cameraId,
@@ -825,8 +869,7 @@
characteristics,
physicalIdsToChars,
mContext.getApplicationInfo().targetSdkVersion,
- mContext);
-
+ mContext, cameraDeviceSetup);
ICameraDeviceCallbacks callbacks = deviceImpl.getCallbacks();
try {
@@ -858,11 +901,11 @@
e.errorCode == ICameraService.ERROR_DISCONNECTED ||
e.errorCode == ICameraService.ERROR_CAMERA_IN_USE) {
// Per API docs, these failures call onError and throw
- throwAsPublicException(e);
+ throw ExceptionUtils.throwAsPublicException(e);
}
} else {
// Unexpected failure - rethrow
- throwAsPublicException(e);
+ throw ExceptionUtils.throwAsPublicException(e);
}
} catch (RemoteException e) {
// Camera service died - act as if it's a CAMERA_DISCONNECTED case
@@ -870,7 +913,7 @@
ICameraService.ERROR_DISCONNECTED,
"Camera service is currently unavailable");
deviceImpl.setRemoteFailure(sse);
- throwAsPublicException(sse);
+ throw ExceptionUtils.throwAsPublicException(sse);
}
// TODO: factor out callback to be non-nested, then move setter to constructor
@@ -1310,48 +1353,6 @@
}
/**
- * Create a {@link CaptureRequest.Builder} for new capture requests,
- * initialized with template for a target use case.
- *
- * <p>The settings are chosen to be the best options for the specific camera device,
- * so it is not recommended to reuse the same request for a different camera device;
- * create a builder specific for that device and template and override the
- * settings as desired, instead.</p>
- *
- * <p>Supported if the {@link CameraCharacteristics#INFO_SESSION_CONFIGURATION_QUERY_VERSION}
- * is at least {@code android.os.Build.VERSION_CODES.VANILLA_ICE_CREAM}. If less or equal to
- * {@code android.os.Build.VERSION_CODES.UPSIDE_DOWN_CAKE}, this function throws a
- * {@code UnsupportedOperationException}.
- *
- * @param cameraId The camera ID to create capture request for.
- * @param templateType An enumeration selecting the use case for this request. Not all template
- * types are supported on every device. See the documentation for each template type for
- * details.
- * @return a builder for a capture request, initialized with default
- * settings for that template, and no output streams
- *
- * @throws CameraAccessException if the camera device is no longer connected or has
- * encountered a fatal error
- * @throws IllegalArgumentException if the cameraId is not valid, or the templateType is
- * not supported by this device.
- * @throws UnsupportedOperationException if this method is not supported by the camera device,
- * for example, if {@link CameraCharacteristics#INFO_SESSION_CONFIGURATION_QUERY_VERSION}
- * is less than {@code android.os.Build.VERSION_CODES.VANILLA_ICE_CREAM}.
- */
- @NonNull
- @RequiresPermission(android.Manifest.permission.CAMERA)
- @FlaggedApi(Flags.FLAG_FEATURE_COMBINATION_QUERY)
- public CaptureRequest.Builder createCaptureRequest(@NonNull String cameraId,
- @RequestTemplate int templateType) throws CameraAccessException {
- if (CameraManagerGlobal.sCameraServiceDisabled) {
- throw new IllegalArgumentException("No camera available on device.");
- }
-
- return CameraManagerGlobal.get().createCaptureRequest(cameraId, templateType,
- mContext.getApplicationInfo().targetSdkVersion);
- }
-
- /**
* @hide
*/
public static boolean shouldOverrideToPortrait(@Nullable Context context) {
@@ -1705,56 +1706,6 @@
}
/**
- * Convert ServiceSpecificExceptions and Binder RemoteExceptions from camera binder interfaces
- * into the correct public exceptions.
- *
- * @hide
- */
- public static void throwAsPublicException(Throwable t) throws CameraAccessException {
- if (t instanceof ServiceSpecificException) {
- ServiceSpecificException e = (ServiceSpecificException) t;
- int reason = CameraAccessException.CAMERA_ERROR;
- switch(e.errorCode) {
- case ICameraService.ERROR_DISCONNECTED:
- reason = CameraAccessException.CAMERA_DISCONNECTED;
- break;
- case ICameraService.ERROR_DISABLED:
- reason = CameraAccessException.CAMERA_DISABLED;
- break;
- case ICameraService.ERROR_CAMERA_IN_USE:
- reason = CameraAccessException.CAMERA_IN_USE;
- break;
- case ICameraService.ERROR_MAX_CAMERAS_IN_USE:
- reason = CameraAccessException.MAX_CAMERAS_IN_USE;
- break;
- case ICameraService.ERROR_DEPRECATED_HAL:
- reason = CameraAccessException.CAMERA_DEPRECATED_HAL;
- break;
- case ICameraService.ERROR_ILLEGAL_ARGUMENT:
- case ICameraService.ERROR_ALREADY_EXISTS:
- throw new IllegalArgumentException(e.getMessage(), e);
- case ICameraService.ERROR_PERMISSION_DENIED:
- throw new SecurityException(e.getMessage(), e);
- case ICameraService.ERROR_TIMED_OUT:
- case ICameraService.ERROR_INVALID_OPERATION:
- default:
- reason = CameraAccessException.CAMERA_ERROR;
- }
- throw new CameraAccessException(reason, e.getMessage(), e);
- } else if (t instanceof DeadObjectException) {
- throw new CameraAccessException(CameraAccessException.CAMERA_DISCONNECTED,
- "Camera service has died unexpectedly",
- t);
- } else if (t instanceof RemoteException) {
- throw new UnsupportedOperationException("An unknown RemoteException was thrown" +
- " which should never happen.", t);
- } else if (t instanceof RuntimeException) {
- RuntimeException e = (RuntimeException) t;
- throw e;
- }
- }
-
- /**
* Queries the camera service if a cameraId is a hidden physical camera that belongs to a
* logical camera device.
*
@@ -1829,13 +1780,13 @@
internalCamId, externalCamId, cameraInjectionCallback);
injectionSessionImpl.setRemoteInjectionSession(injectionSession);
} catch (ServiceSpecificException e) {
- throwAsPublicException(e);
+ throw ExceptionUtils.throwAsPublicException(e);
} catch (RemoteException e) {
// Camera service died - act as if it's a CAMERA_DISCONNECTED case
ServiceSpecificException sse = new ServiceSpecificException(
ICameraService.ERROR_DISCONNECTED,
"Camera service is currently unavailable");
- throwAsPublicException(sse);
+ throw ExceptionUtils.throwAsPublicException(sse);
}
}
}
@@ -1875,6 +1826,23 @@
}
/**
+ * Returns the current CameraService instance connected to Global
+ * @hide
+ */
+ public ICameraService getCameraService() {
+ return CameraManagerGlobal.get().getCameraService();
+ }
+
+ /**
+ * Returns true if cameraservice is currently disabled. If true, {@link #getCameraService()}
+ * will definitely return null.
+ * @hide
+ */
+ public boolean isCameraServiceDisabled() {
+ return CameraManagerGlobal.sCameraServiceDisabled;
+ }
+
+ /**
* Reports {@link CameraExtensionSessionStats} to the {@link ICameraService} to be logged for
* currently active session. Validation is done downstream.
*
@@ -2124,7 +2092,7 @@
cameraService.remapCameraIds(cameraIdRemapping);
mActiveCameraIdRemapping = cameraIdRemapping;
} catch (ServiceSpecificException e) {
- throwAsPublicException(e);
+ throw ExceptionUtils.throwAsPublicException(e);
} catch (RemoteException e) {
throw new CameraAccessException(
CameraAccessException.CAMERA_DISCONNECTED,
@@ -2148,7 +2116,7 @@
try {
cameraService.injectSessionParams(cameraId, sessionParams.getNativeMetadata());
} catch (ServiceSpecificException e) {
- throwAsPublicException(e);
+ throw ExceptionUtils.throwAsPublicException(e);
} catch (RemoteException e) {
throw new CameraAccessException(
CameraAccessException.CAMERA_DISCONNECTED,
@@ -2391,35 +2359,13 @@
return mCameraService.isConcurrentSessionConfigurationSupported(
cameraIdsAndConfigs, targetSdkVersion);
} catch (ServiceSpecificException e) {
- throwAsPublicException(e);
+ throw ExceptionUtils.throwAsPublicException(e);
} catch (RemoteException e) {
// Camera service died - act as if the camera was disconnected
throw new CameraAccessException(CameraAccessException.CAMERA_DISCONNECTED,
"Camera service is currently unavailable", e);
}
}
-
- return false;
- }
-
- public boolean isSessionConfigurationWithParametersSupported(
- @NonNull String cameraId, @NonNull SessionConfiguration sessionConfiguration)
- throws CameraAccessException {
-
- synchronized (mLock) {
- try {
- return mCameraService.isSessionConfigurationWithParametersSupported(
- cameraId, sessionConfiguration);
- } catch (ServiceSpecificException e) {
- throwAsPublicException(e);
- } catch (RemoteException e) {
- // Camera service died - act as if the camera was disconnected
- throw new CameraAccessException(CameraAccessException.CAMERA_DISCONNECTED,
- "Camera service is currently unavailable", e);
- }
- }
-
- return false;
}
/**
@@ -2462,7 +2408,7 @@
try {
cameraService.setTorchMode(cameraId, enabled, mTorchClientBinder);
} catch(ServiceSpecificException e) {
- throwAsPublicException(e);
+ throw ExceptionUtils.throwAsPublicException(e);
} catch (RemoteException e) {
throw new CameraAccessException(CameraAccessException.CAMERA_DISCONNECTED,
"Camera service is currently unavailable");
@@ -2488,7 +2434,7 @@
cameraService.turnOnTorchWithStrengthLevel(cameraId, torchStrength,
mTorchClientBinder);
} catch(ServiceSpecificException e) {
- throwAsPublicException(e);
+ throw ExceptionUtils.throwAsPublicException(e);
} catch (RemoteException e) {
throw new CameraAccessException(CameraAccessException.CAMERA_DISCONNECTED,
"Camera service is currently unavailable.");
@@ -2512,7 +2458,7 @@
try {
torchStrength = cameraService.getTorchStrengthLevel(cameraId);
} catch(ServiceSpecificException e) {
- throwAsPublicException(e);
+ throw ExceptionUtils.throwAsPublicException(e);
} catch (RemoteException e) {
throw new CameraAccessException(CameraAccessException.CAMERA_DISCONNECTED,
"Camera service is currently unavailable.");
@@ -2521,45 +2467,6 @@
return torchStrength;
}
- public CaptureRequest.Builder createCaptureRequest(@NonNull String cameraId,
- @RequestTemplate int templateType, int targetSdkVersion)
- throws CameraAccessException {
- CaptureRequest.Builder builder = null;
- synchronized (mLock) {
- if (cameraId == null) {
- throw new IllegalArgumentException("cameraId was null");
- }
-
- ICameraService cameraService = getCameraService();
- if (cameraService == null) {
- throw new CameraAccessException(CameraAccessException.CAMERA_DISCONNECTED,
- "Camera service is currently unavailable.");
- }
-
- try {
- CameraMetadataNative defaultRequest =
- cameraService.createDefaultRequest(cameraId, templateType);
-
- CameraDeviceImpl.disableZslIfNeeded(defaultRequest,
- targetSdkVersion, templateType);
-
- builder = new CaptureRequest.Builder(defaultRequest, /*reprocess*/false,
- CameraCaptureSession.SESSION_ID_NONE, cameraId,
- /*physicalCameraIdSet*/null);
- } catch (ServiceSpecificException e) {
- if (e.errorCode == ICameraService.ERROR_INVALID_OPERATION) {
- throw new UnsupportedOperationException(e.getMessage());
- }
-
- throwAsPublicException(e);
- } catch (RemoteException e) {
- throw new CameraAccessException(CameraAccessException.CAMERA_DISCONNECTED,
- "Camera service is currently unavailable.");
- }
- }
- return builder;
- }
-
private void handleRecoverableSetupErrors(ServiceSpecificException e) {
switch (e.errorCode) {
case ICameraService.ERROR_DISCONNECTED:
diff --git a/core/java/android/hardware/camera2/CaptureResult.java b/core/java/android/hardware/camera2/CaptureResult.java
index 1d26d69..7cf5a7f 100644
--- a/core/java/android/hardware/camera2/CaptureResult.java
+++ b/core/java/android/hardware/camera2/CaptureResult.java
@@ -4074,12 +4074,14 @@
* </ul>
* <p>should be interpreted in the effective after raw crop field-of-view coordinate system.
* In this coordinate system,
- * {preCorrectionActiveArraySize.left, preCorrectionActiveArraySize.top} corresponds to the
+ * {{@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}.left,
+ * {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}.top} corresponds to the
* the top left corner of the cropped RAW frame and
- * {preCorrectionActiveArraySize.right, preCorrectionActiveArraySize.bottom} corresponds to
+ * {{@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}.right,
+ * {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}.bottom} corresponds to
* the bottom right corner. Client applications must use the values of the keys
* in the CaptureResult metadata if present.</p>
- * <p>Crop regions (android.scaler.CropRegion), AE/AWB/AF regions and face coordinates still
+ * <p>Crop regions {@link CaptureRequest#SCALER_CROP_REGION android.scaler.cropRegion}, AE/AWB/AF regions and face coordinates still
* use the {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize} coordinate system as usual.</p>
* <p><b>Units</b>: Pixel coordinates relative to
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize} or
@@ -4091,6 +4093,7 @@
* @see CameraCharacteristics#LENS_INTRINSIC_CALIBRATION
* @see CameraCharacteristics#LENS_POSE_ROTATION
* @see CameraCharacteristics#LENS_POSE_TRANSLATION
+ * @see CaptureRequest#SCALER_CROP_REGION
* @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
* @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
* @see CaptureResult#STATISTICS_HOT_PIXEL_MAP
diff --git a/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java b/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java
index f03876b..97c03ed 100644
--- a/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java
+++ b/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java
@@ -19,6 +19,10 @@
import static com.android.internal.util.function.pooled.PooledLambda.obtainRunnable;
import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.app.compat.CompatChanges;
+import android.compat.annotation.ChangeId;
+import android.compat.annotation.EnabledSince;
import android.content.Context;
import android.graphics.ImageFormat;
import android.hardware.ICameraService;
@@ -59,6 +63,8 @@
import android.util.SparseArray;
import android.view.Surface;
+import com.android.internal.camera.flags.Flags;
+
import java.util.AbstractMap.SimpleEntry;
import java.util.ArrayList;
import java.util.Arrays;
@@ -85,10 +91,23 @@
private static final int REQUEST_ID_NONE = -1;
+ /**
+ * Starting {@link Build.VERSION_CODES#VANILLA_ICE_CREAM},
+ * {@link #isSessionConfigurationSupported} also checks for compatibility of session parameters
+ * when supported by the HAL. This ChangeId guards enabling that functionality for apps
+ * that target {@link Build.VERSION_CODES#VANILLA_ICE_CREAM} and above.
+ */
+ @ChangeId
+ @EnabledSince(targetSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM)
+ static final long CHECK_PARAMS_IN_IS_SESSION_CONFIGURATION_SUPPORTED = 320741775;
+
// TODO: guard every function with if (!mRemoteDevice) check (if it was closed)
private ICameraDeviceUserWrapper mRemoteDevice;
private boolean mRemoteDeviceInit = false;
+ // CameraDeviceSetup object to delegate some of the newer calls to.
+ @Nullable private final CameraDeviceSetup mCameraDeviceSetup;
+
// Lock to synchronize cross-thread access to device public interface
final Object mInterfaceLock = new Object(); // access from this class and Session only!
private final CameraDeviceCallbacks mCallbacks = new CameraDeviceCallbacks();
@@ -275,7 +294,8 @@
CameraCharacteristics characteristics,
Map<String, CameraCharacteristics> physicalIdsToChars,
int appTargetSdkVersion,
- Context ctx) {
+ Context ctx,
+ @Nullable CameraDevice.CameraDeviceSetup cameraDeviceSetup) {
if (cameraId == null || callback == null || executor == null || characteristics == null) {
throw new IllegalArgumentException("Null argument given");
}
@@ -286,6 +306,7 @@
mPhysicalIdsToChars = physicalIdsToChars;
mAppTargetSdkVersion = appTargetSdkVersion;
mContext = ctx;
+ mCameraDeviceSetup = cameraDeviceSetup;
final int MAX_TAG_LEN = 23;
String tag = String.format("CameraDevice-JV-%s", mCameraId);
@@ -781,23 +802,15 @@
UnsupportedOperationException, IllegalArgumentException {
synchronized (mInterfaceLock) {
checkIfCameraClosedOrInError();
-
+ if (CompatChanges.isChangeEnabled(CHECK_PARAMS_IN_IS_SESSION_CONFIGURATION_SUPPORTED)
+ && Flags.cameraDeviceSetup()
+ && mCameraDeviceSetup != null) {
+ return mCameraDeviceSetup.isSessionConfigurationSupported(sessionConfig);
+ }
return mRemoteDevice.isSessionConfigurationSupported(sessionConfig);
}
}
- @Override
- public CameraCharacteristics getSessionCharacteristics(
- @NonNull SessionConfiguration sessionConfig) throws CameraAccessException,
- UnsupportedOperationException, IllegalArgumentException {
- synchronized (mInterfaceLock) {
- checkIfCameraClosedOrInError();
- CameraMetadataNative info = mRemoteDevice.getSessionCharacteristics(sessionConfig);
-
- return new CameraCharacteristics(info);
- }
- }
-
/**
* For use by backwards-compatibility code only.
*/
diff --git a/core/java/android/hardware/camera2/impl/CameraDeviceSetupImpl.java b/core/java/android/hardware/camera2/impl/CameraDeviceSetupImpl.java
new file mode 100644
index 0000000..0f199b1
--- /dev/null
+++ b/core/java/android/hardware/camera2/impl/CameraDeviceSetupImpl.java
@@ -0,0 +1,202 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package android.hardware.camera2.impl;
+
+import android.annotation.CallbackExecutor;
+import android.annotation.FlaggedApi;
+import android.content.Context;
+import android.hardware.ICameraService;
+import android.hardware.camera2.CameraAccessException;
+import android.hardware.camera2.CameraCaptureSession;
+import android.hardware.camera2.CameraCharacteristics;
+import android.hardware.camera2.CameraDevice;
+import android.hardware.camera2.CameraManager;
+import android.hardware.camera2.CaptureRequest;
+import android.hardware.camera2.params.SessionConfiguration;
+import android.hardware.camera2.utils.ExceptionUtils;
+import android.os.Build;
+import android.os.RemoteException;
+import android.os.ServiceSpecificException;
+
+import androidx.annotation.NonNull;
+
+import com.android.internal.camera.flags.Flags;
+
+import java.util.concurrent.Executor;
+
+@FlaggedApi(Flags.FLAG_CAMERA_DEVICE_SETUP)
+public class CameraDeviceSetupImpl extends CameraDevice.CameraDeviceSetup {
+ private final String mCameraId;
+ private final CameraManager mCameraManager;
+ private final Context mContext;
+ private final int mTargetSdkVersion;
+
+ private final Object mInterfaceLock = new Object();
+
+ public CameraDeviceSetupImpl(@NonNull String cameraId, @NonNull CameraManager cameraManager,
+ @NonNull Context context) {
+ mCameraId = cameraId;
+ mCameraManager = cameraManager;
+ mContext = context;
+ mTargetSdkVersion = context.getApplicationInfo().targetSdkVersion;
+ }
+
+ @NonNull
+ @Override
+ public CaptureRequest.Builder createCaptureRequest(int templateType)
+ throws CameraAccessException {
+ synchronized (mInterfaceLock) {
+ if (mCameraManager.isCameraServiceDisabled()) {
+ throw new IllegalArgumentException("No cameras available on device");
+ }
+
+ ICameraService cameraService = mCameraManager.getCameraService();
+ if (cameraService == null) {
+ throw new CameraAccessException(CameraAccessException.CAMERA_DISCONNECTED,
+ "Camera service is currently unavailable.");
+ }
+
+ try {
+ CameraMetadataNative defaultRequest = cameraService.createDefaultRequest(mCameraId,
+ templateType);
+ CameraDeviceImpl.disableZslIfNeeded(defaultRequest, mTargetSdkVersion,
+ templateType);
+
+ return new CaptureRequest.Builder(
+ defaultRequest, /*reprocess=*/ false,
+ CameraCaptureSession.SESSION_ID_NONE, mCameraId,
+ /*physicalCameraIdSet=*/ null);
+ } catch (ServiceSpecificException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
+ } catch (RemoteException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
+ }
+ }
+ }
+
+ @Override
+ public boolean isSessionConfigurationSupported(@NonNull SessionConfiguration config)
+ throws CameraAccessException {
+ // TODO(b/298033056): restructure the OutputConfiguration API for better usability
+ synchronized (mInterfaceLock) {
+ if (mCameraManager.isCameraServiceDisabled()) {
+ throw new IllegalArgumentException("No cameras available on device");
+ }
+
+ ICameraService cameraService = mCameraManager.getCameraService();
+ if (cameraService == null) {
+ throw new CameraAccessException(CameraAccessException.CAMERA_DISCONNECTED,
+ "Camera service is currently unavailable.");
+ }
+
+ try {
+ return cameraService.isSessionConfigurationWithParametersSupported(
+ mCameraId, config);
+ } catch (ServiceSpecificException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
+ } catch (RemoteException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
+ }
+ }
+ }
+
+ @NonNull
+ @Override
+ public CameraCharacteristics getSessionCharacteristics(
+ @NonNull SessionConfiguration sessionConfig) throws CameraAccessException {
+ synchronized (mInterfaceLock) {
+ if (mCameraManager.isCameraServiceDisabled()) {
+ throw new CameraAccessException(CameraAccessException.CAMERA_DISCONNECTED,
+ "Camera service is currently disabled");
+ }
+
+ ICameraService cameraService = mCameraManager.getCameraService();
+ if (cameraService == null) {
+ throw new CameraAccessException(CameraAccessException.CAMERA_DISCONNECTED,
+ "Camera service is currently unavailable");
+ }
+
+ try {
+ CameraMetadataNative metadataNative = cameraService.getSessionCharacteristics(
+ mCameraId, mTargetSdkVersion,
+ CameraManager.shouldOverrideToPortrait(mContext), sessionConfig);
+
+ return new CameraCharacteristics(metadataNative);
+ } catch (ServiceSpecificException e) {
+ switch (e.errorCode) {
+ case ICameraService.ERROR_INVALID_OPERATION ->
+ throw new UnsupportedOperationException(
+ "Session Characteristics Query not supported by device.");
+ case ICameraService.ERROR_ILLEGAL_ARGUMENT ->
+ throw new IllegalArgumentException("Invalid Session Configuration");
+ default -> throw ExceptionUtils.throwAsPublicException(e);
+ }
+ } catch (RemoteException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
+ }
+ }
+ }
+
+ @Override
+ public void openCamera(@NonNull @CallbackExecutor Executor executor,
+ @NonNull CameraDevice.StateCallback callback) throws CameraAccessException {
+ mCameraManager.openCamera(mCameraId, executor, callback);
+ }
+
+ @NonNull
+ @Override
+ public String getId() {
+ return mCameraId;
+ }
+
+ @Override
+ public int hashCode() {
+ return mCameraId.hashCode();
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj instanceof CameraDeviceSetupImpl other) {
+ return mCameraId.equals(other.mCameraId);
+ }
+ return false;
+ }
+
+ @Override
+ public String toString() {
+ return "CameraDeviceSetup(cameraId='" + mCameraId + "')";
+ }
+
+ /**
+ * Returns true if HAL supports calls to {@code isSessionConfigurationWithParametersSupported};
+ * false otherwise.
+ * <p>
+ * Suppressing AndroidFrameworkCompatChange because we are querying HAL support here
+ * and HAL's return value happens to follow the same scheme as SDK version.
+ * AndroidFrameworkCompatChange incorrectly flags this as an SDK version check.
+ * @hide
+ */
+ @SuppressWarnings("AndroidFrameworkCompatChange")
+ public static boolean isCameraDeviceSetupSupported(CameraCharacteristics chars) {
+ if (!Flags.featureCombinationQuery()) {
+ return false;
+ }
+
+ Integer queryVersion = chars.get(
+ CameraCharacteristics.INFO_SESSION_CONFIGURATION_QUERY_VERSION);
+ return queryVersion != null && queryVersion > Build.VERSION_CODES.UPSIDE_DOWN_CAKE;
+ }
+}
diff --git a/core/java/android/hardware/camera2/impl/ICameraDeviceUserWrapper.java b/core/java/android/hardware/camera2/impl/ICameraDeviceUserWrapper.java
index 2129260..aec2cff 100644
--- a/core/java/android/hardware/camera2/impl/ICameraDeviceUserWrapper.java
+++ b/core/java/android/hardware/camera2/impl/ICameraDeviceUserWrapper.java
@@ -18,14 +18,13 @@
import android.hardware.ICameraService;
import android.hardware.camera2.CameraAccessException;
-import android.hardware.camera2.CameraManager;
import android.hardware.camera2.CaptureRequest;
import android.hardware.camera2.ICameraDeviceCallbacks;
import android.hardware.camera2.ICameraDeviceUser;
import android.hardware.camera2.ICameraOfflineSession;
-import android.hardware.camera2.impl.CameraMetadataNative;
import android.hardware.camera2.params.OutputConfiguration;
import android.hardware.camera2.params.SessionConfiguration;
+import android.hardware.camera2.utils.ExceptionUtils;
import android.hardware.camera2.utils.SubmitInfo;
import android.os.IBinder;
import android.os.RemoteException;
@@ -69,9 +68,10 @@
throws CameraAccessException {
try {
return mRemoteDevice.submitRequest(request, streaming);
- } catch (Throwable t) {
- CameraManager.throwAsPublicException(t);
- throw new UnsupportedOperationException("Unexpected exception", t);
+ } catch (ServiceSpecificException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
+ } catch (RemoteException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
}
}
@@ -79,27 +79,30 @@
throws CameraAccessException {
try {
return mRemoteDevice.submitRequestList(requestList, streaming);
- } catch (Throwable t) {
- CameraManager.throwAsPublicException(t);
- throw new UnsupportedOperationException("Unexpected exception", t);
+ } catch (ServiceSpecificException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
+ } catch (RemoteException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
}
}
public long cancelRequest(int requestId) throws CameraAccessException {
try {
return mRemoteDevice.cancelRequest(requestId);
- } catch (Throwable t) {
- CameraManager.throwAsPublicException(t);
- throw new UnsupportedOperationException("Unexpected exception", t);
+ } catch (ServiceSpecificException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
+ } catch (RemoteException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
}
}
public void beginConfigure() throws CameraAccessException {
try {
mRemoteDevice.beginConfigure();
- } catch (Throwable t) {
- CameraManager.throwAsPublicException(t);
- throw new UnsupportedOperationException("Unexpected exception", t);
+ } catch (ServiceSpecificException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
+ } catch (RemoteException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
}
}
@@ -108,18 +111,20 @@
try {
return mRemoteDevice.endConfigure(operatingMode, (sessionParams == null) ?
new CameraMetadataNative() : sessionParams, startTimeMs);
- } catch (Throwable t) {
- CameraManager.throwAsPublicException(t);
- throw new UnsupportedOperationException("Unexpected exception", t);
+ } catch (ServiceSpecificException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
+ } catch (RemoteException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
}
}
public void deleteStream(int streamId) throws CameraAccessException {
try {
mRemoteDevice.deleteStream(streamId);
- } catch (Throwable t) {
- CameraManager.throwAsPublicException(t);
- throw new UnsupportedOperationException("Unexpected exception", t);
+ } catch (ServiceSpecificException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
+ } catch (RemoteException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
}
}
@@ -127,9 +132,10 @@
throws CameraAccessException {
try {
return mRemoteDevice.createStream(outputConfiguration);
- } catch (Throwable t) {
- CameraManager.throwAsPublicException(t);
- throw new UnsupportedOperationException("Unexpected exception", t);
+ } catch (ServiceSpecificException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
+ } catch (RemoteException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
}
}
@@ -137,45 +143,50 @@
throws CameraAccessException {
try {
return mRemoteDevice.createInputStream(width, height, format, isMultiResolution);
- } catch (Throwable t) {
- CameraManager.throwAsPublicException(t);
- throw new UnsupportedOperationException("Unexpected exception", t);
+ } catch (ServiceSpecificException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
+ } catch (RemoteException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
}
}
public Surface getInputSurface() throws CameraAccessException {
try {
return mRemoteDevice.getInputSurface();
- } catch (Throwable t) {
- CameraManager.throwAsPublicException(t);
- throw new UnsupportedOperationException("Unexpected exception", t);
+ } catch (ServiceSpecificException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
+ } catch (RemoteException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
}
}
public CameraMetadataNative createDefaultRequest(int templateId) throws CameraAccessException {
try {
return mRemoteDevice.createDefaultRequest(templateId);
- } catch (Throwable t) {
- CameraManager.throwAsPublicException(t);
- throw new UnsupportedOperationException("Unexpected exception", t);
+ } catch (ServiceSpecificException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
+ } catch (RemoteException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
}
}
public CameraMetadataNative getCameraInfo() throws CameraAccessException {
try {
return mRemoteDevice.getCameraInfo();
- } catch (Throwable t) {
- CameraManager.throwAsPublicException(t);
- throw new UnsupportedOperationException("Unexpected exception", t);
+ } catch (ServiceSpecificException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
+ } catch (RemoteException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
}
}
public void waitUntilIdle() throws CameraAccessException {
try {
mRemoteDevice.waitUntilIdle();
- } catch (Throwable t) {
- CameraManager.throwAsPublicException(t);
- throw new UnsupportedOperationException("Unexpected exception", t);
+ } catch (ServiceSpecificException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
+ } catch (RemoteException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
}
}
@@ -191,68 +202,49 @@
throw new IllegalArgumentException("Invalid session configuration");
}
- throw e;
- } catch (Throwable t) {
- CameraManager.throwAsPublicException(t);
- throw new UnsupportedOperationException("Unexpected exception", t);
- }
- }
-
- /**
- * Fetches the CameraCharacteristics for a given session configuration.
- */
- public CameraMetadataNative getSessionCharacteristics(SessionConfiguration sessionConfig)
- throws CameraAccessException {
- try {
- return mRemoteDevice.getSessionCharacteristics(sessionConfig);
- } catch (ServiceSpecificException e) {
- if (e.errorCode == ICameraService.ERROR_INVALID_OPERATION) {
- throw new UnsupportedOperationException("Session characteristics query not "
- + "supported");
- } else if (e.errorCode == ICameraService.ERROR_ILLEGAL_ARGUMENT) {
- throw new IllegalArgumentException("Invalid session configuration");
- }
-
- throw e;
- } catch (Throwable t) {
- CameraManager.throwAsPublicException(t);
- throw new UnsupportedOperationException("Unexpected exception", t);
+ throw ExceptionUtils.throwAsPublicException(e);
+ } catch (RemoteException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
}
}
public long flush() throws CameraAccessException {
try {
return mRemoteDevice.flush();
- } catch (Throwable t) {
- CameraManager.throwAsPublicException(t);
- throw new UnsupportedOperationException("Unexpected exception", t);
+ } catch (ServiceSpecificException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
+ } catch (RemoteException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
}
}
public void prepare(int streamId) throws CameraAccessException {
try {
mRemoteDevice.prepare(streamId);
- } catch (Throwable t) {
- CameraManager.throwAsPublicException(t);
- throw new UnsupportedOperationException("Unexpected exception", t);
+ } catch (ServiceSpecificException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
+ } catch (RemoteException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
}
}
public void tearDown(int streamId) throws CameraAccessException {
try {
mRemoteDevice.tearDown(streamId);
- } catch (Throwable t) {
- CameraManager.throwAsPublicException(t);
- throw new UnsupportedOperationException("Unexpected exception", t);
+ } catch (ServiceSpecificException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
+ } catch (RemoteException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
}
}
public void prepare2(int maxCount, int streamId) throws CameraAccessException {
try {
mRemoteDevice.prepare2(maxCount, streamId);
- } catch (Throwable t) {
- CameraManager.throwAsPublicException(t);
- throw new UnsupportedOperationException("Unexpected exception", t);
+ } catch (ServiceSpecificException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
+ } catch (RemoteException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
}
}
@@ -260,9 +252,10 @@
throws CameraAccessException {
try {
mRemoteDevice.updateOutputConfiguration(streamId, config);
- } catch (Throwable t) {
- CameraManager.throwAsPublicException(t);
- throw new UnsupportedOperationException("Unexpected exception", t);
+ } catch (ServiceSpecificException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
+ } catch (RemoteException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
}
}
@@ -270,9 +263,10 @@
int[] offlineOutputIds) throws CameraAccessException {
try {
return mRemoteDevice.switchToOffline(cbs, offlineOutputIds);
- } catch (Throwable t) {
- CameraManager.throwAsPublicException(t);
- throw new UnsupportedOperationException("Unexpected exception", t);
+ } catch (ServiceSpecificException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
+ } catch (RemoteException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
}
}
@@ -280,27 +274,30 @@
throws CameraAccessException {
try {
mRemoteDevice.finalizeOutputConfigurations(streamId, deferredConfig);
- } catch (Throwable t) {
- CameraManager.throwAsPublicException(t);
- throw new UnsupportedOperationException("Unexpected exception", t);
+ } catch (ServiceSpecificException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
+ } catch (RemoteException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
}
}
public void setCameraAudioRestriction(int mode) throws CameraAccessException {
try {
mRemoteDevice.setCameraAudioRestriction(mode);
- } catch (Throwable t) {
- CameraManager.throwAsPublicException(t);
- throw new UnsupportedOperationException("Unexpected exception", t);
+ } catch (ServiceSpecificException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
+ } catch (RemoteException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
}
}
public int getGlobalAudioRestriction() throws CameraAccessException {
try {
return mRemoteDevice.getGlobalAudioRestriction();
- } catch (Throwable t) {
- CameraManager.throwAsPublicException(t);
- throw new UnsupportedOperationException("Unexpected exception", t);
+ } catch (ServiceSpecificException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
+ } catch (RemoteException e) {
+ throw ExceptionUtils.throwAsPublicException(e);
}
}
diff --git a/core/java/android/hardware/camera2/utils/ExceptionUtils.java b/core/java/android/hardware/camera2/utils/ExceptionUtils.java
new file mode 100644
index 0000000..bfa96f2
--- /dev/null
+++ b/core/java/android/hardware/camera2/utils/ExceptionUtils.java
@@ -0,0 +1,110 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.camera2.utils;
+
+import android.hardware.ICameraService;
+import android.hardware.camera2.CameraAccessException;
+import android.os.DeadObjectException;
+import android.os.RemoteException;
+import android.os.ServiceSpecificException;
+
+/**
+ * @hide
+ */
+public class ExceptionUtils {
+ /**
+ * Converts and throws {@link ServiceSpecificException} from camera binder interfaces as
+ * {@link CameraAccessException}, {@link IllegalArgumentException}, or {@link SecurityException}
+ * based on {@link ServiceSpecificException#errorCode}
+ * <p>
+ * Usage: {@code throw ExceptionUtils.throwAsPublicException(e)}
+ * <p>
+ * Notice the preceding `throw` before calling this method. The throw is essentially
+ * useless but lets the compiler know that execution will terminate at that statement
+ * preventing false "missing return statement" errors.
+ * <p>
+ * The return type is set to the only checked exception this method throws to ensure
+ * that the caller knows exactly which checked exception to declare/handle.
+ *
+ * @hide
+ */
+ public static CameraAccessException throwAsPublicException(ServiceSpecificException e)
+ throws CameraAccessException {
+ int reason;
+ switch(e.errorCode) {
+ case ICameraService.ERROR_DISCONNECTED:
+ reason = CameraAccessException.CAMERA_DISCONNECTED;
+ break;
+ case ICameraService.ERROR_DISABLED:
+ reason = CameraAccessException.CAMERA_DISABLED;
+ break;
+ case ICameraService.ERROR_CAMERA_IN_USE:
+ reason = CameraAccessException.CAMERA_IN_USE;
+ break;
+ case ICameraService.ERROR_MAX_CAMERAS_IN_USE:
+ reason = CameraAccessException.MAX_CAMERAS_IN_USE;
+ break;
+ case ICameraService.ERROR_DEPRECATED_HAL:
+ reason = CameraAccessException.CAMERA_DEPRECATED_HAL;
+ break;
+ case ICameraService.ERROR_ILLEGAL_ARGUMENT:
+ case ICameraService.ERROR_ALREADY_EXISTS:
+ throw new IllegalArgumentException(e.getMessage(), e);
+ case ICameraService.ERROR_PERMISSION_DENIED:
+ throw new SecurityException(e.getMessage(), e);
+ case ICameraService.ERROR_TIMED_OUT:
+ case ICameraService.ERROR_INVALID_OPERATION:
+ default:
+ reason = CameraAccessException.CAMERA_ERROR;
+ }
+
+ throw new CameraAccessException(reason, e.getMessage(), e);
+ }
+
+ /**
+ * Converts and throws Binder {@link DeadObjectException} and {@link RemoteException} from
+ * camera binder interfaces as {@link CameraAccessException} or
+ * {@link UnsupportedOperationException}
+ * <p>
+ * Usage: {@code throw ExceptionUtils.throwAsPublicException(e)}
+ * <p>
+ * Notice the preceding `throw` before calling this method. The throw is essentially
+ * useless but lets the compiler know that execution will terminate at that statement
+ * preventing false "missing return statement" errors.
+ * <p>
+ * The return type is set to the only checked exception this method throws to ensure
+ * that the caller knows exactly which checked exception to declare/handle.
+ *
+ * @hide
+ */
+ public static CameraAccessException throwAsPublicException(RemoteException e)
+ throws CameraAccessException {
+ if (e instanceof DeadObjectException) {
+ throw new CameraAccessException(CameraAccessException.CAMERA_DISCONNECTED,
+ "Camera service has died unexpectedly", e);
+ }
+
+ throw new UnsupportedOperationException("An unknown RemoteException was thrown"
+ + " which should never happen.", e);
+ }
+
+ /**
+ * Static methods only. Do not initialize.
+ * @hide
+ */
+ private ExceptionUtils() {}
+}
diff --git a/core/java/android/hardware/display/DisplayManagerInternal.java b/core/java/android/hardware/display/DisplayManagerInternal.java
index f18a0b7..6b2814e 100644
--- a/core/java/android/hardware/display/DisplayManagerInternal.java
+++ b/core/java/android/hardware/display/DisplayManagerInternal.java
@@ -431,6 +431,13 @@
public abstract IntArray getDisplayGroupIds();
/**
+ * Called upon presentation started/ended on the display.
+ * @param displayId the id of the display where presentation started.
+ * @param isShown whether presentation is shown.
+ */
+ public abstract void onPresentation(int displayId, boolean isShown);
+
+ /**
* Describes the requested power state of the display.
*
* This object is intended to describe the general characteristics of the
diff --git a/core/java/android/hardware/usb/IUsbManager.aidl b/core/java/android/hardware/usb/IUsbManager.aidl
index 09f5f36..c0e506b 100644
--- a/core/java/android/hardware/usb/IUsbManager.aidl
+++ b/core/java/android/hardware/usb/IUsbManager.aidl
@@ -186,6 +186,10 @@
/* Gets the status of the specified USB port. */
UsbPortStatus getPortStatus(in String portId);
+ /* Returns if the specified USB port supports mode change. */
+ @EnforcePermission("MANAGE_USB")
+ boolean isModeChangeSupported(in String portId);
+
/* Sets the port's current role. */
void setPortRoles(in String portId, int powerRole, int dataRole);
diff --git a/core/java/android/hardware/usb/UsbManager.java b/core/java/android/hardware/usb/UsbManager.java
index 81a0234..41f344a 100644
--- a/core/java/android/hardware/usb/UsbManager.java
+++ b/core/java/android/hardware/usb/UsbManager.java
@@ -1474,6 +1474,21 @@
}
/**
+ * Checks if the given port supports mode change. Should only be called by
+ * {@link UsbPort#isModeChangeSupported}.
+ *
+ * @hide
+ */
+ @RequiresPermission(Manifest.permission.MANAGE_USB)
+ boolean isModeChangeSupported(UsbPort port) {
+ try {
+ return mService.isModeChangeSupported(port.getId());
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
+ /**
* Should only be called by {@link UsbPort#setRoles}.
*
* @hide
diff --git a/core/java/android/hardware/usb/UsbPort.java b/core/java/android/hardware/usb/UsbPort.java
index 8f0149b..03398c4 100644
--- a/core/java/android/hardware/usb/UsbPort.java
+++ b/core/java/android/hardware/usb/UsbPort.java
@@ -65,11 +65,14 @@
import android.Manifest;
import android.annotation.CallbackExecutor;
import android.annotation.CheckResult;
+import android.annotation.FlaggedApi;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.RequiresPermission;
import android.annotation.SystemApi;
+import android.annotation.TestApi;
+import android.hardware.usb.flags.Flags;
import android.hardware.usb.UsbOperationInternal;
import android.hardware.usb.V1_0.Constants;
import android.os.Binder;
@@ -375,6 +378,19 @@
}
/**
+ * Returns whether this USB port supports mode change
+ *
+ * @return true if mode change is supported.
+ * @hide
+ */
+ @TestApi
+ @RequiresPermission(Manifest.permission.MANAGE_USB)
+ @FlaggedApi(Flags.FLAG_ENABLE_IS_MODE_CHANGE_SUPPORTED_API)
+ public boolean isModeChangeSupported() {
+ return mUsbManager.isModeChangeSupported(this);
+ }
+
+ /**
* Queries USB Port to see if the port is capable of identifying
* non compliant USB power source/cable/accessory.
*
diff --git a/core/java/android/hardware/usb/UsbPortStatus.java b/core/java/android/hardware/usb/UsbPortStatus.java
index 4a5c4c8..8616b6b1 100644
--- a/core/java/android/hardware/usb/UsbPortStatus.java
+++ b/core/java/android/hardware/usb/UsbPortStatus.java
@@ -16,13 +16,11 @@
package android.hardware.usb;
-import android.Manifest;
import android.annotation.CheckResult;
import android.annotation.FlaggedApi;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
-import android.annotation.RequiresPermission;
import android.annotation.SystemApi;
import android.hardware.usb.flags.Flags;
import android.os.Parcel;
@@ -30,7 +28,6 @@
import com.android.internal.annotations.Immutable;
-import java.lang.StringBuilder;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -580,6 +577,21 @@
}
/**
+ * This function checks if the port is USB Power Delivery (PD) compliant -
+ * https://www.usb.org/usb-charger-pd. All of the power and data roles must be supported for a
+ * port to be PD compliant.
+ *
+ * @return true if the port is PD compliant.
+ */
+ @FlaggedApi(Flags.FLAG_ENABLE_IS_PD_COMPLIANT_API)
+ public boolean isPdCompliant() {
+ return isRoleCombinationSupported(POWER_ROLE_SINK, DATA_ROLE_DEVICE)
+ && isRoleCombinationSupported(POWER_ROLE_SINK, DATA_ROLE_HOST)
+ && isRoleCombinationSupported(POWER_ROLE_SOURCE, DATA_ROLE_DEVICE)
+ && isRoleCombinationSupported(POWER_ROLE_SOURCE, DATA_ROLE_HOST);
+ }
+
+ /**
* Get the supported role combinations.
*/
public int getSupportedRoleCombinations() {
diff --git a/core/java/android/hardware/usb/flags/usb_framework_flags.aconfig b/core/java/android/hardware/usb/flags/usb_framework_flags.aconfig
new file mode 100644
index 0000000..a495631
--- /dev/null
+++ b/core/java/android/hardware/usb/flags/usb_framework_flags.aconfig
@@ -0,0 +1,15 @@
+package: "android.hardware.usb.flags"
+
+flag {
+ name: "enable_is_pd_compliant_api"
+ namespace: "usb"
+ description: "Feature flag for the api to check if a port is PD compliant"
+ bug: "323470419"
+}
+
+flag {
+ name: "enable_is_mode_change_supported_api"
+ namespace: "usb"
+ description: "Feature flag for the api to check if a port supports mode change"
+ bug: "323470419"
+}
diff --git a/core/java/android/inputmethodservice/IInputMethodWrapper.java b/core/java/android/inputmethodservice/IInputMethodWrapper.java
index b99996ff..f5b58b9 100644
--- a/core/java/android/inputmethodservice/IInputMethodWrapper.java
+++ b/core/java/android/inputmethodservice/IInputMethodWrapper.java
@@ -32,6 +32,7 @@
import android.util.Log;
import android.view.InputChannel;
import android.view.MotionEvent;
+import android.view.inputmethod.CursorAnchorInfo;
import android.view.inputmethod.ImeTracker;
import android.view.inputmethod.InputBinding;
import android.view.inputmethod.InputConnection;
@@ -40,6 +41,7 @@
import android.view.inputmethod.InputMethodSubtype;
import com.android.internal.inputmethod.CancellationGroup;
+import com.android.internal.inputmethod.IConnectionlessHandwritingCallback;
import com.android.internal.inputmethod.IInlineSuggestionsRequestCallback;
import com.android.internal.inputmethod.IInputMethod;
import com.android.internal.inputmethod.IInputMethodSession;
@@ -85,6 +87,8 @@
private static final int DO_UPDATE_TOOL_TYPE = 140;
private static final int DO_REMOVE_STYLUS_HANDWRITING_WINDOW = 150;
private static final int DO_SET_STYLUS_WINDOW_IDLE_TIMEOUT = 160;
+ private static final int DO_COMMIT_HANDWRITING_DELEGATION_TEXT_IF_AVAILABLE = 170;
+ private static final int DO_DISCARD_HANDWRITING_DELEGATION_TEXT = 180;
final WeakReference<InputMethodServiceInternal> mTarget;
final Context mContext;
@@ -265,9 +269,13 @@
return;
}
case DO_CAN_START_STYLUS_HANDWRITING: {
+ final SomeArgs args = (SomeArgs) msg.obj;
if (isValid(inputMethod, target, "DO_CAN_START_STYLUS_HANDWRITING")) {
- inputMethod.canStartStylusHandwriting(msg.arg1);
+ inputMethod.canStartStylusHandwriting(msg.arg1,
+ (IConnectionlessHandwritingCallback) args.arg1,
+ (CursorAnchorInfo) args.arg2, msg.arg2 != 0);
}
+ args.recycle();
return;
}
case DO_UPDATE_TOOL_TYPE: {
@@ -309,6 +317,19 @@
}
return;
}
+ case DO_COMMIT_HANDWRITING_DELEGATION_TEXT_IF_AVAILABLE: {
+ if (isValid(inputMethod, target,
+ "DO_COMMIT_HANDWRITING_DELEGATION_TEXT_IF_AVAILABLE")) {
+ inputMethod.commitHandwritingDelegationTextIfAvailable();
+ }
+ return;
+ }
+ case DO_DISCARD_HANDWRITING_DELEGATION_TEXT: {
+ if (isValid(inputMethod, target, "DO_DISCARD_HANDWRITING_DELEGATION_TEXT")) {
+ inputMethod.discardHandwritingDelegationText();
+ }
+ return;
+ }
}
Log.w(TAG, "Unhandled message code: " + msg.what);
}
@@ -457,10 +478,13 @@
@BinderThread
@Override
- public void canStartStylusHandwriting(int requestId)
+ public void canStartStylusHandwriting(int requestId,
+ IConnectionlessHandwritingCallback connectionlessCallback,
+ CursorAnchorInfo cursorAnchorInfo, boolean isConnectionlessForDelegation)
throws RemoteException {
- mCaller.executeOrSendMessage(
- mCaller.obtainMessageI(DO_CAN_START_STYLUS_HANDWRITING, requestId));
+ mCaller.executeOrSendMessage(mCaller.obtainMessageIIOO(DO_CAN_START_STYLUS_HANDWRITING,
+ requestId, isConnectionlessForDelegation ? 1 : 0, connectionlessCallback,
+ cursorAnchorInfo));
}
@BinderThread
@@ -483,6 +507,19 @@
@BinderThread
@Override
+ public void commitHandwritingDelegationTextIfAvailable() {
+ mCaller.executeOrSendMessage(
+ mCaller.obtainMessage(DO_COMMIT_HANDWRITING_DELEGATION_TEXT_IF_AVAILABLE));
+ }
+
+ @BinderThread
+ @Override
+ public void discardHandwritingDelegationText() {
+ mCaller.executeOrSendMessage(mCaller.obtainMessage(DO_DISCARD_HANDWRITING_DELEGATION_TEXT));
+ }
+
+ @BinderThread
+ @Override
public void initInkWindow() {
mCaller.executeOrSendMessage(mCaller.obtainMessage(DO_INIT_INK_WINDOW));
}
diff --git a/core/java/android/inputmethodservice/InputMethodService.java b/core/java/android/inputmethodservice/InputMethodService.java
index 281ee50..2c7ca27 100644
--- a/core/java/android/inputmethodservice/InputMethodService.java
+++ b/core/java/android/inputmethodservice/InputMethodService.java
@@ -51,6 +51,10 @@
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
import static android.view.WindowInsets.Type.navigationBars;
import static android.view.WindowInsets.Type.statusBars;
+import static android.view.inputmethod.ConnectionlessHandwritingCallback.CONNECTIONLESS_HANDWRITING_ERROR_NO_TEXT_RECOGNIZED;
+import static android.view.inputmethod.ConnectionlessHandwritingCallback.CONNECTIONLESS_HANDWRITING_ERROR_OTHER;
+import static android.view.inputmethod.ConnectionlessHandwritingCallback.CONNECTIONLESS_HANDWRITING_ERROR_UNSUPPORTED;
+import static android.view.inputmethod.Flags.FLAG_CONNECTIONLESS_HANDWRITING;
import static java.lang.annotation.RetentionPolicy.SOURCE;
@@ -58,6 +62,7 @@
import android.annotation.CallSuper;
import android.annotation.DrawableRes;
import android.annotation.DurationMillisLong;
+import android.annotation.FlaggedApi;
import android.annotation.IntDef;
import android.annotation.MainThread;
import android.annotation.NonNull;
@@ -89,6 +94,7 @@
import android.os.IBinder;
import android.os.Looper;
import android.os.Process;
+import android.os.RemoteException;
import android.os.ResultReceiver;
import android.os.SystemClock;
import android.os.SystemProperties;
@@ -97,6 +103,7 @@
import android.text.InputType;
import android.text.Layout;
import android.text.Spannable;
+import android.text.TextUtils;
import android.text.method.MovementMethod;
import android.util.Log;
import android.util.PrintWriterPrinter;
@@ -123,6 +130,7 @@
import android.view.WindowManager;
import android.view.animation.AnimationUtils;
import android.view.inputmethod.CompletionInfo;
+import android.view.inputmethod.ConnectionlessHandwritingCallback;
import android.view.inputmethod.CursorAnchorInfo;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.ExtractedText;
@@ -151,6 +159,7 @@
import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.inputmethod.IConnectionlessHandwritingCallback;
import com.android.internal.inputmethod.IInlineSuggestionsRequestCallback;
import com.android.internal.inputmethod.IInputContentUriToken;
import com.android.internal.inputmethod.IInputMethod;
@@ -174,6 +183,7 @@
import java.util.List;
import java.util.Objects;
import java.util.OptionalInt;
+import java.util.concurrent.Executor;
/**
* InputMethodService provides a standard implementation of an InputMethod,
@@ -665,6 +675,12 @@
/** Stylus handwriting Ink window. */
private InkWindow mInkWindow;
+ private IConnectionlessHandwritingCallback mConnectionlessHandwritingCallback;
+ private boolean mIsConnectionlessHandwritingForDelegation;
+ // Holds the recognized text from a connectionless handwriting session which can later be
+ // committed by commitHandwritingDelegationTextIfAvailable().
+ private CharSequence mHandwritingDelegationText;
+
/**
* An opaque {@link Binder} token of window requesting {@link InputMethodImpl#showSoftInput}
* The original app window token is passed from client app window.
@@ -1017,7 +1033,10 @@
* @hide
*/
@Override
- public void canStartStylusHandwriting(int requestId) {
+ public void canStartStylusHandwriting(int requestId,
+ @Nullable IConnectionlessHandwritingCallback connectionlessCallback,
+ @Nullable CursorAnchorInfo cursorAnchorInfo,
+ boolean isConnectionlessForDelegation) {
if (DEBUG) Log.v(TAG, "canStartStylusHandwriting()");
if (mHandwritingRequestId.isPresent()) {
Log.d(TAG, "There is an ongoing Handwriting session. ignoring.");
@@ -1034,7 +1053,24 @@
}
// reset flag as it's not relevant after onStartStylusHandwriting().
mOnPreparedStylusHwCalled = false;
- if (onStartStylusHandwriting()) {
+ if (connectionlessCallback != null) {
+ if (onStartConnectionlessStylusHandwriting(
+ InputType.TYPE_CLASS_TEXT, cursorAnchorInfo)) {
+ mConnectionlessHandwritingCallback = connectionlessCallback;
+ mIsConnectionlessHandwritingForDelegation = isConnectionlessForDelegation;
+ cancelStylusWindowIdleTimeout();
+ mPrivOps.onStylusHandwritingReady(requestId, Process.myPid());
+ } else {
+ Log.i(TAG, "IME is not ready "
+ + "or doesn't currently support connectionless handwriting");
+ try {
+ connectionlessCallback.onError(
+ CONNECTIONLESS_HANDWRITING_ERROR_UNSUPPORTED);
+ } catch (RemoteException e) {
+ Log.e(TAG, "Couldn't send connectionless handwriting error result", e);
+ }
+ }
+ } else if (onStartStylusHandwriting()) {
cancelStylusWindowIdleTimeout();
mPrivOps.onStylusHandwritingReady(requestId, Process.myPid());
} else {
@@ -1093,6 +1129,24 @@
* @hide
*/
@Override
+ public void commitHandwritingDelegationTextIfAvailable() {
+ InputMethodService.this.commitHandwritingDelegationTextIfAvailable();
+ }
+
+ /**
+ * {@inheritDoc}
+ * @hide
+ */
+ @Override
+ public void discardHandwritingDelegationText() {
+ InputMethodService.this.discardHandwritingDelegationText();
+ }
+
+ /**
+ * {@inheritDoc}
+ * @hide
+ */
+ @Override
public void initInkWindow() {
maybeCreateAndInitInkWindow();
onPrepareStylusHandwriting();
@@ -2581,6 +2635,32 @@
}
/**
+ * Called when an app requests to start a connectionless stylus handwriting session using one of
+ * {@link InputMethodManager#startConnectionlessStylusHandwriting(View, CursorAnchorInfo,
+ * Executor, ConnectionlessHandwritingCallback)}, {@link
+ * InputMethodManager#startConnectionlessStylusHandwritingForDelegation(View, CursorAnchorInfo,
+ * Executor, ConnectionlessHandwritingCallback)}, or {@link
+ * InputMethodManager#startConnectionlessStylusHandwritingForDelegation(View, CursorAnchorInfo,
+ * String, Executor, ConnectionlessHandwritingCallback)}.
+ *
+ * <p>A connectionless stylus handwriting session differs from a regular session in that an
+ * input connection is not used to communicate with a text editor. Instead, the recognised text
+ * is delivered when the IME finishes the connectionless session using {@link
+ * #finishConnectionlessStylusHandwriting(CharSequence)}.
+ *
+ * <p>If the IME can start the connectionless handwriting session, it should return {@code
+ * true}, ensure its inking views are attached to the {@link #getStylusHandwritingWindow()}, and
+ * handle stylus input received from {@link #onStylusHandwritingMotionEvent(MotionEvent)} on the
+ * {@link #getStylusHandwritingWindow()}.
+ */
+ @FlaggedApi(FLAG_CONNECTIONLESS_HANDWRITING)
+ public boolean onStartConnectionlessStylusHandwriting(
+ int inputType, @Nullable CursorAnchorInfo cursorAnchorInfo) {
+ // Intentionally empty
+ return false;
+ }
+
+ /**
* Called after {@link #onStartStylusHandwriting()} returns {@code true} for every Stylus
* {@link MotionEvent}.
* By default, this method forwards all {@link MotionEvent}s to the
@@ -2647,16 +2727,19 @@
/**
* Finish the current stylus handwriting session.
*
- * This dismisses the {@link #getStylusHandwritingWindow ink window} and stops intercepting
+ * <p>This dismisses the {@link #getStylusHandwritingWindow ink window} and stops intercepting
* stylus {@code MotionEvent}s.
*
- * Note for IME developers: Call this method at any time to finish current handwriting session.
- * Generally, this should be invoked after a short timeout, giving the user enough time
+ * <p>Note for IME developers: Call this method at any time to finish the current handwriting
+ * session. Generally, this should be invoked after a short timeout, giving the user enough time
* to start the next stylus stroke, if any. By default, system will time-out after few seconds.
* To override default timeout, use {@link #setStylusHandwritingSessionTimeout(Duration)}.
*
- * Handwriting session will be finished by framework on next {@link #onFinishInput()}.
+ * <p>Handwriting session will be finished by framework on next {@link #onFinishInput()}.
*/
+ // TODO(b/300979854): Once connectionless APIs are finalised, update documentation to add:
+ // <p>Connectionless handwriting sessions should be finished using {@link
+ // #finishConnectionlessStylusHandwriting(CharSequence)}.
public final void finishStylusHandwriting() {
if (DEBUG) Log.v(TAG, "finishStylusHandwriting()");
if (mInkWindow == null) {
@@ -2677,12 +2760,71 @@
mHandwritingEventReceiver = null;
mInkWindow.hide(false /* remove */);
+ if (mConnectionlessHandwritingCallback != null) {
+ Log.i(TAG, "Connectionless handwriting session did not complete successfully");
+ try {
+ mConnectionlessHandwritingCallback.onError(CONNECTIONLESS_HANDWRITING_ERROR_OTHER);
+ } catch (RemoteException e) {
+ Log.e(TAG, "Couldn't send connectionless handwriting error result", e);
+ }
+ mConnectionlessHandwritingCallback = null;
+ }
+ mIsConnectionlessHandwritingForDelegation = false;
+
mPrivOps.resetStylusHandwriting(requestId);
mOnPreparedStylusHwCalled = false;
onFinishStylusHandwriting();
}
/**
+ * Finishes the current connectionless stylus handwriting session and delivers the result.
+ *
+ * <p>This dismisses the {@link #getStylusHandwritingWindow ink window} and stops intercepting
+ * stylus {@code MotionEvent}s.
+ *
+ * <p>Note for IME developers: Call this method at any time to finish the current handwriting
+ * session. Generally, this should be invoked after a short timeout, giving the user enough time
+ * to start the next stylus stroke, if any. By default, system will time-out after few seconds.
+ * To override default timeout, use {@link #setStylusHandwritingSessionTimeout(Duration)}.
+ */
+ @FlaggedApi(FLAG_CONNECTIONLESS_HANDWRITING)
+ public final void finishConnectionlessStylusHandwriting(@Nullable CharSequence text) {
+ if (DEBUG) Log.v(TAG, "finishConnectionlessStylusHandwriting()");
+ if (mConnectionlessHandwritingCallback != null) {
+ try {
+ if (!TextUtils.isEmpty(text)) {
+ mConnectionlessHandwritingCallback.onResult(text);
+ if (mIsConnectionlessHandwritingForDelegation) {
+ mHandwritingDelegationText = text;
+ }
+ } else {
+ mConnectionlessHandwritingCallback.onError(
+ CONNECTIONLESS_HANDWRITING_ERROR_NO_TEXT_RECOGNIZED);
+ }
+ } catch (RemoteException e) {
+ Log.e(TAG, "Couldn't send connectionless handwriting result", e);
+ }
+ mConnectionlessHandwritingCallback = null;
+ }
+ finishStylusHandwriting();
+ }
+
+ private void commitHandwritingDelegationTextIfAvailable() {
+ if (!TextUtils.isEmpty(mHandwritingDelegationText)) {
+ InputConnection ic = getCurrentInputConnection();
+ if (ic != null) {
+ // Place cursor after inserted text.
+ ic.commitText(mHandwritingDelegationText, /* newCursorPosition= */ 1);
+ }
+ }
+ mHandwritingDelegationText = null;
+ }
+
+ private void discardHandwritingDelegationText() {
+ mHandwritingDelegationText = null;
+ }
+
+ /**
* Remove Stylus handwriting window.
* Typically, this is called when {@link InkWindow} should no longer be holding a surface in
* memory.
diff --git a/core/java/android/os/BadParcelableException.java b/core/java/android/os/BadParcelableException.java
index 9b1343c..3c0fa0e 100644
--- a/core/java/android/os/BadParcelableException.java
+++ b/core/java/android/os/BadParcelableException.java
@@ -25,6 +25,7 @@
* passed to another process that doesn't have the same {@link Parcelable} class
* in its {@link ClassLoader}.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class BadParcelableException extends AndroidRuntimeException {
public BadParcelableException(String msg) {
super(msg);
diff --git a/core/java/android/os/BadTypeParcelableException.java b/core/java/android/os/BadTypeParcelableException.java
index 2ca3bd2..cc75c73 100644
--- a/core/java/android/os/BadTypeParcelableException.java
+++ b/core/java/android/os/BadTypeParcelableException.java
@@ -17,6 +17,7 @@
package android.os;
/** Used by Parcel to signal that the type on the payload was not expected by the caller. */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
class BadTypeParcelableException extends BadParcelableException {
BadTypeParcelableException(String msg) {
super(msg);
diff --git a/core/java/android/os/BaseBundle.java b/core/java/android/os/BaseBundle.java
index 4e3adfb..9a63394 100644
--- a/core/java/android/os/BaseBundle.java
+++ b/core/java/android/os/BaseBundle.java
@@ -43,6 +43,7 @@
* should work directly with either the {@link Bundle} or
* {@link PersistableBundle} subclass.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class BaseBundle {
/** @hide */
protected static final String TAG = "Bundle";
diff --git a/core/java/android/os/BatteryStats.java b/core/java/android/os/BatteryStats.java
index a6b2ed0..e090942 100644
--- a/core/java/android/os/BatteryStats.java
+++ b/core/java/android/os/BatteryStats.java
@@ -1899,7 +1899,7 @@
public short batteryTemperature;
// Battery voltage in millivolts (mV).
@UnsupportedAppUsage
- public char batteryVoltage;
+ public short batteryVoltage;
// The charge of the battery in micro-Ampere-hours.
public int batteryChargeUah;
@@ -2161,7 +2161,7 @@
batteryPlugType = (byte)((bat>>24)&0xf);
int bat2 = src.readInt();
batteryTemperature = (short)(bat2&0xffff);
- batteryVoltage = (char)((bat2>>16)&0xffff);
+ batteryVoltage = (short) ((bat2 >> 16) & 0xffff);
batteryChargeUah = src.readInt();
modemRailChargeMah = src.readDouble();
wifiRailChargeMah = src.readDouble();
diff --git a/core/java/android/os/Bundle.java b/core/java/android/os/Bundle.java
index e845ffa..387eebe 100644
--- a/core/java/android/os/Bundle.java
+++ b/core/java/android/os/Bundle.java
@@ -42,6 +42,7 @@
*
* @see PersistableBundle
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public final class Bundle extends BaseBundle implements Cloneable, Parcelable {
@VisibleForTesting
static final int FLAG_HAS_FDS = 1 << 8;
diff --git a/core/java/android/os/CancellationSignal.java b/core/java/android/os/CancellationSignal.java
index 260f7ad..74ab774 100644
--- a/core/java/android/os/CancellationSignal.java
+++ b/core/java/android/os/CancellationSignal.java
@@ -21,6 +21,7 @@
/**
* Provides the ability to cancel an operation in progress.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public final class CancellationSignal {
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P)
private boolean mIsCanceled;
diff --git a/core/java/android/os/DeadObjectException.java b/core/java/android/os/DeadObjectException.java
index 61aa222..fc3870e 100644
--- a/core/java/android/os/DeadObjectException.java
+++ b/core/java/android/os/DeadObjectException.java
@@ -43,6 +43,7 @@
* this information at runtime. So, you should handle the
* error, as if the service died.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class DeadObjectException extends RemoteException {
public DeadObjectException() {
super();
diff --git a/core/java/android/os/DeadSystemException.java b/core/java/android/os/DeadSystemException.java
index 8fb53e2..3aff48a 100644
--- a/core/java/android/os/DeadSystemException.java
+++ b/core/java/android/os/DeadSystemException.java
@@ -20,6 +20,7 @@
* The core Android system has died and is going through a runtime restart. All
* running apps will be promptly killed.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class DeadSystemException extends DeadObjectException {
public DeadSystemException() {
super();
diff --git a/core/java/android/os/HandlerExecutor.java b/core/java/android/os/HandlerExecutor.java
index 416b24b..3496979 100644
--- a/core/java/android/os/HandlerExecutor.java
+++ b/core/java/android/os/HandlerExecutor.java
@@ -29,6 +29,8 @@
*
* @hide
*/
+// Exported to Mainline modules; cannot use annotations
+// @android.ravenwood.annotation.RavenwoodKeepWholeClass
public class HandlerExecutor implements Executor {
private final Handler mHandler;
diff --git a/core/java/android/os/ParcelFormatException.java b/core/java/android/os/ParcelFormatException.java
index 8b6fda0..6dcc1dc 100644
--- a/core/java/android/os/ParcelFormatException.java
+++ b/core/java/android/os/ParcelFormatException.java
@@ -20,6 +20,7 @@
* The contents of a Parcel (usually during unmarshalling) does not
* contain the expected data.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class ParcelFormatException extends RuntimeException {
public ParcelFormatException() {
super();
diff --git a/core/java/android/os/ParcelUuid.java b/core/java/android/os/ParcelUuid.java
index b529694..a35c050 100644
--- a/core/java/android/os/ParcelUuid.java
+++ b/core/java/android/os/ParcelUuid.java
@@ -26,6 +26,7 @@
* immutable representation of a 128-bit universally unique
* identifier.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public final class ParcelUuid implements Parcelable {
private final UUID mUuid;
diff --git a/core/java/android/os/PatternMatcher.java b/core/java/android/os/PatternMatcher.java
index 79a2c59..a79714c 100644
--- a/core/java/android/os/PatternMatcher.java
+++ b/core/java/android/os/PatternMatcher.java
@@ -29,6 +29,7 @@
* not provide full reg-exp support, only simple globbing that can not be
* used maliciously.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class PatternMatcher implements Parcelable {
/**
* Pattern type: the given pattern must exactly match the string it is
diff --git a/core/java/android/os/PersistableBundle.java b/core/java/android/os/PersistableBundle.java
index 236194d..0c1ea4d 100644
--- a/core/java/android/os/PersistableBundle.java
+++ b/core/java/android/os/PersistableBundle.java
@@ -49,6 +49,7 @@
*
* @see Bundle
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public final class PersistableBundle extends BaseBundle implements Cloneable, Parcelable,
XmlUtils.WriteMapCallback {
private static final String TAG = "PersistableBundle";
diff --git a/core/java/android/os/ProfilingServiceManager.java b/core/java/android/os/ProfilingServiceManager.java
new file mode 100644
index 0000000..cc77f5b
--- /dev/null
+++ b/core/java/android/os/ProfilingServiceManager.java
@@ -0,0 +1,97 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package android.os;
+
+import android.annotation.FlaggedApi;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.annotation.SystemApi;
+import android.annotation.SystemApi.Client;
+
+/**
+ * Provides a way to register and obtain the system service binder objects managed by the profiling
+ * service.
+ *
+ * <p> Only the profiling mainline module will be able to access an instance of this class.
+ * @hide
+ */
+@FlaggedApi(Flags.FLAG_TELEMETRY_APIS_FRAMEWORK_INITIALIZATION)
+@SystemApi(client = Client.MODULE_LIBRARIES)
+public class ProfilingServiceManager {
+
+ /** @hide */
+ public ProfilingServiceManager() {}
+
+ /**
+ * A class that exposes the methods to register and obtain each system service.
+ */
+ public static final class ServiceRegisterer {
+ private final String mServiceName;
+
+ /** @hide */
+ public ServiceRegisterer(String serviceName) {
+ mServiceName = serviceName;
+ }
+
+ /**
+ * Get the system server binding object for ProfilingService.
+ *
+ * <p> This blocks until the service instance is ready.
+ * or a timeout happens, in which case it returns null.
+ */
+ @Nullable
+ public IBinder get() {
+ return ServiceManager.getService(mServiceName);
+ }
+
+ /**
+ * Get the system server binding object for a service.
+ *
+ * <p>This blocks until the service instance is ready,
+ * or a timeout happens, in which case it throws {@link ServiceNotFoundException}.
+ */
+ @Nullable
+ public IBinder getOrThrow() throws ServiceNotFoundException {
+ try {
+ return ServiceManager.getServiceOrThrow(mServiceName);
+ } catch (ServiceManager.ServiceNotFoundException e) {
+ throw new ServiceNotFoundException(mServiceName);
+ }
+ }
+ }
+
+ /**
+ * See {@link ServiceRegisterer#getOrThrow()}
+ */
+ public static class ServiceNotFoundException extends ServiceManager.ServiceNotFoundException {
+ /**
+ * Constructor
+ *
+ * @param name the name of the binder service that cannot be found.
+ */
+ public ServiceNotFoundException(@NonNull String name) {
+ super(name);
+ }
+ }
+
+ /**
+ * Returns {@link ServiceRegisterer} for the "profiling" service.
+ */
+ @NonNull
+ public ServiceRegisterer getProfilingServiceRegisterer() {
+ return new ServiceRegisterer("profiling_service");
+ }
+}
diff --git a/core/java/android/os/RecoverySystem.java b/core/java/android/os/RecoverySystem.java
index 07f7690..b669814 100644
--- a/core/java/android/os/RecoverySystem.java
+++ b/core/java/android/os/RecoverySystem.java
@@ -1418,8 +1418,11 @@
* @throws IOException if the recovery system service could not be contacted
*/
private boolean requestLskf(String packageName, IntentSender sender) throws IOException {
+ Log.i(TAG, String.format("<%s> is requesting LSFK", packageName));
try {
- return mService.requestLskf(packageName, sender);
+ boolean validRequest = mService.requestLskf(packageName, sender);
+ Log.i(TAG, String.format("LSKF Request isValid = %b", validRequest));
+ return validRequest;
} catch (RemoteException | SecurityException e) {
throw new IOException("could not request LSKF capture", e);
}
diff --git a/core/java/android/os/RemoteCallback.java b/core/java/android/os/RemoteCallback.java
index 49f84adf..eca1258 100644
--- a/core/java/android/os/RemoteCallback.java
+++ b/core/java/android/os/RemoteCallback.java
@@ -25,6 +25,7 @@
* @hide
*/
@SystemApi
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public final class RemoteCallback implements Parcelable {
public interface OnResultListener {
@@ -84,6 +85,11 @@
}
}
+ /** @hide */
+ public IRemoteCallback getInterface() {
+ return mCallback;
+ }
+
@Override
public int describeContents() {
return 0;
diff --git a/core/java/android/os/RemoteCallbackList.java b/core/java/android/os/RemoteCallbackList.java
index 2c58021..2cb86f7 100644
--- a/core/java/android/os/RemoteCallbackList.java
+++ b/core/java/android/os/RemoteCallbackList.java
@@ -52,6 +52,7 @@
* additional work in this situation, you can create a subclass that
* implements the {@link #onCallbackDied} method.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class RemoteCallbackList<E extends IInterface> {
private static final String TAG = "RemoteCallbackList";
diff --git a/core/java/android/os/RemoteException.java b/core/java/android/os/RemoteException.java
index ace5f7e..27fe0cf 100644
--- a/core/java/android/os/RemoteException.java
+++ b/core/java/android/os/RemoteException.java
@@ -28,6 +28,7 @@
*
* One common subclass is {@link DeadObjectException}.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class RemoteException extends AndroidException {
public RemoteException() {
super();
diff --git a/core/java/android/os/ResultReceiver.java b/core/java/android/os/ResultReceiver.java
index f2d8fe4..23af51a9 100644
--- a/core/java/android/os/ResultReceiver.java
+++ b/core/java/android/os/ResultReceiver.java
@@ -31,6 +31,7 @@
* the system that your process needs to continue running), the connection will
* break if your process goes away for any reason, etc.</p>
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class ResultReceiver implements Parcelable {
final boolean mLocal;
final Handler mHandler;
diff --git a/core/java/android/os/TransactionTooLargeException.java b/core/java/android/os/TransactionTooLargeException.java
index 4d5b2a1..79892e0 100644
--- a/core/java/android/os/TransactionTooLargeException.java
+++ b/core/java/android/os/TransactionTooLargeException.java
@@ -54,6 +54,7 @@
* later as needed.
* </p>
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class TransactionTooLargeException extends RemoteException {
public TransactionTooLargeException() {
super();
diff --git a/core/java/android/os/UserManager.java b/core/java/android/os/UserManager.java
index de32423..89576ed6 100644
--- a/core/java/android/os/UserManager.java
+++ b/core/java/android/os/UserManager.java
@@ -1955,6 +1955,26 @@
"no_sim_globally";
/**
+ * This user restriction specifies if assist content is disallowed from being sent to
+ * a privileged app such as the Assistant app. Assist content includes screenshots and
+ * information about an app, such as package name.
+ *
+ * <p>This restriction can only be set by a device owner or a profile owner. When it is set
+ * by a device owner, it disables the assist contextual data on the entire device. When it is
+ * set by a profile owner, it disables assist content on the profile.
+ *
+ * <p>Default is <code>false</code>.
+ *
+ * <p>Key for user restrictions.
+ * <p>Type: Boolean
+ * @see DevicePolicyManager#addUserRestriction(ComponentName, String)
+ * @see DevicePolicyManager#clearUserRestriction(ComponentName, String)
+ * @see #getUserRestrictions()
+ */
+ @FlaggedApi(android.app.admin.flags.Flags.FLAG_ASSIST_CONTENT_USER_RESTRICTION_ENABLED)
+ public static final String DISALLOW_ASSIST_CONTENT = "no_assist_content";
+
+ /**
* List of key values that can be passed into the various user restriction related methods
* in {@link UserManager} & {@link DevicePolicyManager}.
* Note: This is slightly different from the real set of user restrictions listed in {@link
@@ -2042,6 +2062,7 @@
DISALLOW_NEAR_FIELD_COMMUNICATION_RADIO,
DISALLOW_THREAD_NETWORK,
DISALLOW_SIM_GLOBALLY,
+ DISALLOW_ASSIST_CONTENT,
})
@Retention(RetentionPolicy.SOURCE)
public @interface UserRestrictionKey {}
diff --git a/core/java/android/os/storage/OWNERS b/core/java/android/os/storage/OWNERS
index 6941857..2cb16d337b 100644
--- a/core/java/android/os/storage/OWNERS
+++ b/core/java/android/os/storage/OWNERS
@@ -10,7 +10,6 @@
krishang@google.com
riyaghai@google.com
sahanas@google.com
-sergeynv@google.com
shikhamalhotra@google.com
shubhisaxena@google.com
tylersaunders@google.com
diff --git a/core/java/android/os/vibrator/flags.aconfig b/core/java/android/os/vibrator/flags.aconfig
index ea9375e..d485eca 100644
--- a/core/java/android/os/vibrator/flags.aconfig
+++ b/core/java/android/os/vibrator/flags.aconfig
@@ -16,13 +16,6 @@
flag {
namespace: "haptics"
- name: "enable_vibration_serialization_apis"
- description: "Enables the APIs for vibration serialization/deserialization."
- bug: "245129509"
-}
-
-flag {
- namespace: "haptics"
name: "haptic_feedback_vibration_oem_customization_enabled"
description: "Enables OEMs/devices to customize vibrations for haptic feedback"
# Make read only. This is because the flag is used only once, and this could happen before
diff --git a/core/java/android/os/vibrator/persistence/ParsedVibration.java b/core/java/android/os/vibrator/persistence/ParsedVibration.java
index 3d1deea..a16d21e 100644
--- a/core/java/android/os/vibrator/persistence/ParsedVibration.java
+++ b/core/java/android/os/vibrator/persistence/ParsedVibration.java
@@ -16,9 +16,9 @@
package android.os.vibrator.persistence;
-import android.annotation.FlaggedApi;
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.SuppressLint;
import android.annotation.TestApi;
import android.os.VibrationEffect;
import android.os.Vibrator;
@@ -35,8 +35,8 @@
*
* @hide
*/
-@FlaggedApi(android.os.vibrator.Flags.FLAG_ENABLE_VIBRATION_SERIALIZATION_APIS)
@TestApi
+@SuppressLint("UnflaggedApi") // @TestApi without associated feature.
public class ParsedVibration {
private final List<VibrationEffect> mEffects;
diff --git a/core/java/android/os/vibrator/persistence/VibrationXmlParser.java b/core/java/android/os/vibrator/persistence/VibrationXmlParser.java
index 3d711a7..7202d9a 100644
--- a/core/java/android/os/vibrator/persistence/VibrationXmlParser.java
+++ b/core/java/android/os/vibrator/persistence/VibrationXmlParser.java
@@ -16,10 +16,10 @@
package android.os.vibrator.persistence;
-import android.annotation.FlaggedApi;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.SuppressLint;
import android.annotation.TestApi;
import android.os.VibrationEffect;
import android.util.Slog;
@@ -116,8 +116,8 @@
*
* @hide
*/
-@FlaggedApi(android.os.vibrator.Flags.FLAG_ENABLE_VIBRATION_SERIALIZATION_APIS)
@TestApi
+@SuppressLint("UnflaggedApi") // @TestApi without associated feature.
public final class VibrationXmlParser {
private static final String TAG = "VibrationXmlParser";
diff --git a/core/java/android/os/vibrator/persistence/VibrationXmlSerializer.java b/core/java/android/os/vibrator/persistence/VibrationXmlSerializer.java
index 2880454..2065d5d 100644
--- a/core/java/android/os/vibrator/persistence/VibrationXmlSerializer.java
+++ b/core/java/android/os/vibrator/persistence/VibrationXmlSerializer.java
@@ -16,9 +16,9 @@
package android.os.vibrator.persistence;
-import android.annotation.FlaggedApi;
import android.annotation.IntDef;
import android.annotation.NonNull;
+import android.annotation.SuppressLint;
import android.annotation.TestApi;
import android.os.CombinedVibration;
import android.os.VibrationEffect;
@@ -43,8 +43,8 @@
*
* @hide
*/
-@FlaggedApi(android.os.vibrator.Flags.FLAG_ENABLE_VIBRATION_SERIALIZATION_APIS)
@TestApi
+@SuppressLint("UnflaggedApi") // @TestApi without associated feature.
public final class VibrationXmlSerializer {
/**
diff --git a/core/java/android/permission/flags.aconfig b/core/java/android/permission/flags.aconfig
index 8c70501..9d7fb70 100644
--- a/core/java/android/permission/flags.aconfig
+++ b/core/java/android/permission/flags.aconfig
@@ -94,3 +94,11 @@
description: "Enable signature permission allowlist"
bug: "308573169"
}
+
+flag {
+ name: "device_aware_permissions_enabled"
+ is_fixed_read_only: true
+ namespace: "permissions"
+ description: "When the flag is off no permissions can be device aware"
+ bug: "274852670"
+}
\ No newline at end of file
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index 0db68b4..ec4d587 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -1551,6 +1551,23 @@
"android.settings.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS";
/**
+ * Activity Action: Show screen for controlling any background restrictions imposed on
+ * an app. If the system returns true for
+ * {@link android.app.ActivityManager#isBackgroundRestricted()}, and the app is not able to
+ * satisfy user requests due to being restricted in the background, then this intent can be
+ * used to request the user to unrestrict the app.
+ * <p>
+ * Input: The Intent's data URI must specify the application package name
+ * to be shown, with the "package" scheme, such as "package:com.my.app".
+ * <p>
+ * Output: Nothing.
+ */
+ @FlaggedApi(android.app.Flags.FLAG_APP_RESTRICTIONS_API)
+ @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
+ public static final String ACTION_BACKGROUND_RESTRICTIONS_SETTINGS =
+ "android.settings.BACKGROUND_RESTRICTIONS_SETTINGS";
+
+ /**
* Activity Action: Open the advanced power usage details page of an associated app.
* <p>
* Input: Intent's data URI set with an application name, using the
@@ -11061,6 +11078,15 @@
public static final String SEARCH_LONG_PRESS_HOME_ENABLED =
"search_long_press_home_enabled";
+
+ /**
+ * Whether or not the accessibility data streaming is enbled for the
+ * {@link VisualQueryDetectedResult#setAccessibilityDetectionData}.
+ * @hide
+ */
+ public static final String VISUAL_QUERY_ACCESSIBILITY_DETECTION_ENABLED =
+ "visual_query_accessibility_detection_enabled";
+
/**
* Control whether Night display is currently activated.
* @hide
diff --git a/core/java/android/provider/Telephony.java b/core/java/android/provider/Telephony.java
index 658cec8..88bd87e 100644
--- a/core/java/android/provider/Telephony.java
+++ b/core/java/android/provider/Telephony.java
@@ -4956,6 +4956,26 @@
*/
public static final String COLUMN_SERVICE_CAPABILITIES = "service_capabilities";
+ /**
+ * TelephonyProvider column name for satellite entitlement status. The value of this column
+ * is set based on entitlement query result for satellite configuration.
+ * By default, it's disabled.
+ *
+ * @hide
+ */
+ public static final String COLUMN_SATELLITE_ENTITLEMENT_STATUS =
+ "satellite_entitlement_status";
+
+ /**
+ * TelephonyProvider column name for satellite entitlement plmns. The value of this
+ * column is set based on entitlement query result for satellite configuration.
+ * By default, it's empty.
+ *
+ * @hide
+ */
+ public static final String COLUMN_SATELLITE_ENTITLEMENT_PLMNS =
+ "satellite_entitlement_plmns";
+
/** All columns in {@link SimInfo} table. */
private static final List<String> ALL_COLUMNS = List.of(
COLUMN_UNIQUE_KEY_SUBSCRIPTION_ID,
@@ -5029,7 +5049,9 @@
COLUMN_SATELLITE_ATTACH_ENABLED_FOR_CARRIER,
COLUMN_IS_NTN,
COLUMN_SERVICE_CAPABILITIES,
- COLUMN_TRANSFER_STATUS
+ COLUMN_TRANSFER_STATUS,
+ COLUMN_SATELLITE_ENTITLEMENT_STATUS,
+ COLUMN_SATELLITE_ENTITLEMENT_PLMNS
);
/**
diff --git a/core/java/android/service/notification/ZenDeviceEffects.java b/core/java/android/service/notification/ZenDeviceEffects.java
index 90049e6..22b1be0 100644
--- a/core/java/android/service/notification/ZenDeviceEffects.java
+++ b/core/java/android/service/notification/ZenDeviceEffects.java
@@ -20,6 +20,7 @@
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.TestApi;
import android.app.Flags;
import android.os.Parcel;
import android.os.Parcelable;
@@ -27,7 +28,10 @@
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
import java.util.Objects;
+import java.util.Set;
/**
* Represents the set of device effects (affecting display and device behavior in general) that
@@ -51,6 +55,7 @@
FIELD_DISABLE_TOUCH,
FIELD_MINIMIZE_RADIO_USAGE,
FIELD_MAXIMIZE_DOZE,
+ FIELD_EXTRA_EFFECTS
})
@Retention(RetentionPolicy.SOURCE)
public @interface ModifiableField {}
@@ -95,6 +100,12 @@
* @hide
*/
public static final int FIELD_MAXIMIZE_DOZE = 1 << 9;
+ /**
+ * @hide
+ */
+ public static final int FIELD_EXTRA_EFFECTS = 1 << 10;
+
+ private static final int MAX_EFFECTS_LENGTH = 2_000; // characters
private final boolean mGrayscale;
private final boolean mSuppressAmbientDisplay;
@@ -107,11 +118,12 @@
private final boolean mDisableTouch;
private final boolean mMinimizeRadioUsage;
private final boolean mMaximizeDoze;
+ private final Set<String> mExtraEffects;
private ZenDeviceEffects(boolean grayscale, boolean suppressAmbientDisplay,
boolean dimWallpaper, boolean nightMode, boolean disableAutoBrightness,
boolean disableTapToWake, boolean disableTiltToWake, boolean disableTouch,
- boolean minimizeRadioUsage, boolean maximizeDoze) {
+ boolean minimizeRadioUsage, boolean maximizeDoze, Set<String> extraEffects) {
mGrayscale = grayscale;
mSuppressAmbientDisplay = suppressAmbientDisplay;
mDimWallpaper = dimWallpaper;
@@ -122,6 +134,21 @@
mDisableTouch = disableTouch;
mMinimizeRadioUsage = minimizeRadioUsage;
mMaximizeDoze = maximizeDoze;
+ mExtraEffects = Collections.unmodifiableSet(extraEffects);
+ }
+
+ /** @hide */
+ @FlaggedApi(Flags.FLAG_MODES_API)
+ public void validate() {
+ int extraEffectsLength = 0;
+ for (String extraEffect : mExtraEffects) {
+ extraEffectsLength += extraEffect.length();
+ }
+ if (extraEffectsLength > MAX_EFFECTS_LENGTH) {
+ throw new IllegalArgumentException(
+ "Total size of extra effects must be at most " + MAX_EFFECTS_LENGTH
+ + " characters");
+ }
}
@Override
@@ -138,19 +165,20 @@
&& this.mDisableTiltToWake == that.mDisableTiltToWake
&& this.mDisableTouch == that.mDisableTouch
&& this.mMinimizeRadioUsage == that.mMinimizeRadioUsage
- && this.mMaximizeDoze == that.mMaximizeDoze;
+ && this.mMaximizeDoze == that.mMaximizeDoze
+ && Objects.equals(this.mExtraEffects, that.mExtraEffects);
}
@Override
public int hashCode() {
return Objects.hash(mGrayscale, mSuppressAmbientDisplay, mDimWallpaper, mNightMode,
mDisableAutoBrightness, mDisableTapToWake, mDisableTiltToWake, mDisableTouch,
- mMinimizeRadioUsage, mMaximizeDoze);
+ mMinimizeRadioUsage, mMaximizeDoze, mExtraEffects);
}
@Override
public String toString() {
- ArrayList<String> effects = new ArrayList<>(10);
+ ArrayList<String> effects = new ArrayList<>(11);
if (mGrayscale) effects.add("grayscale");
if (mSuppressAmbientDisplay) effects.add("suppressAmbientDisplay");
if (mDimWallpaper) effects.add("dimWallpaper");
@@ -161,6 +189,9 @@
if (mDisableTouch) effects.add("disableTouch");
if (mMinimizeRadioUsage) effects.add("minimizeRadioUsage");
if (mMaximizeDoze) effects.add("maximizeDoze");
+ if (mExtraEffects.size() > 0) {
+ effects.add("extraEffects=[" + String.join(",", mExtraEffects) + "]");
+ }
return "[" + String.join(", ", effects) + "]";
}
@@ -197,6 +228,9 @@
if ((bitmask & FIELD_MAXIMIZE_DOZE) != 0) {
modified.add("FIELD_MAXIMIZE_DOZE");
}
+ if ((bitmask & FIELD_EXTRA_EFFECTS) != 0) {
+ modified.add("FIELD_EXTRA_EFFECTS");
+ }
return "{" + String.join(",", modified) + "}";
}
@@ -270,7 +304,7 @@
}
/**
- * Whether Doze should be enhanced (e.g. with more aggresive activation, or less frequent
+ * Whether Doze should be enhanced (e.g. with more aggressive activation, or less frequent
* maintenance windows) while the rule is active.
* @hide
*/
@@ -279,13 +313,26 @@
}
/**
+ * (Immutable) set of extra effects to be applied while the rule is active. Extra effects are
+ * not used in AOSP, but OEMs may add support for them by providing a custom
+ * {@link DeviceEffectsApplier}.
+ * @hide
+ */
+ @TestApi
+ @NonNull
+ public Set<String> getExtraEffects() {
+ return mExtraEffects;
+ }
+
+ /**
* Whether any of the effects are set up.
* @hide
*/
public boolean hasEffects() {
return mGrayscale || mSuppressAmbientDisplay || mDimWallpaper || mNightMode
|| mDisableAutoBrightness || mDisableTapToWake || mDisableTiltToWake
- || mDisableTouch || mMinimizeRadioUsage || mMaximizeDoze;
+ || mDisableTouch || mMinimizeRadioUsage || mMaximizeDoze
+ || mExtraEffects.size() > 0;
}
/** {@link Parcelable.Creator} that instantiates {@link ZenDeviceEffects} objects. */
@@ -296,7 +343,8 @@
return new ZenDeviceEffects(in.readBoolean(),
in.readBoolean(), in.readBoolean(), in.readBoolean(), in.readBoolean(),
in.readBoolean(), in.readBoolean(), in.readBoolean(), in.readBoolean(),
- in.readBoolean());
+ in.readBoolean(),
+ Set.of(in.readArray(String.class.getClassLoader(), String.class)));
}
@Override
@@ -322,6 +370,7 @@
dest.writeBoolean(mDisableTouch);
dest.writeBoolean(mMinimizeRadioUsage);
dest.writeBoolean(mMaximizeDoze);
+ dest.writeArray(mExtraEffects.toArray(new String[0]));
}
/** Builder class for {@link ZenDeviceEffects} objects. */
@@ -338,6 +387,7 @@
private boolean mDisableTouch;
private boolean mMinimizeRadioUsage;
private boolean mMaximizeDoze;
+ private final HashSet<String> mExtraEffects = new HashSet<>();
/**
* Instantiates a new {@link ZenPolicy.Builder} with all effects set to default (disabled).
@@ -360,6 +410,7 @@
mDisableTouch = zenDeviceEffects.shouldDisableTouch();
mMinimizeRadioUsage = zenDeviceEffects.shouldMinimizeRadioUsage();
mMaximizeDoze = zenDeviceEffects.shouldMaximizeDoze();
+ mExtraEffects.addAll(zenDeviceEffects.getExtraEffects());
}
/**
@@ -450,7 +501,7 @@
}
/**
- * Sets whether Doze should be enhanced (e.g. with more aggresive activation, or less
+ * Sets whether Doze should be enhanced (e.g. with more aggressive activation, or less
* frequent maintenance windows) while the rule is active.
* @hide
*/
@@ -461,6 +512,54 @@
}
/**
+ * Sets the extra effects to be applied while the rule is active. Extra effects are not
+ * used in AOSP, but OEMs may add support for them by providing a custom
+ * {@link DeviceEffectsApplier}.
+ *
+ * @apiNote The total size of the extra effects (concatenation of strings) is limited.
+ *
+ * @hide
+ */
+ @TestApi
+ @NonNull
+ public Builder setExtraEffects(@NonNull Set<String> extraEffects) {
+ Objects.requireNonNull(extraEffects);
+ mExtraEffects.clear();
+ mExtraEffects.addAll(extraEffects);
+ return this;
+ }
+
+ /**
+ * Adds the supplied extra effects to the set to be applied while the rule is active.
+ * Extra effects are not used in AOSP, but OEMs may add support for them by providing a
+ * custom {@link DeviceEffectsApplier}.
+ *
+ * @apiNote The total size of the extra effects (concatenation of strings) is limited.
+ *
+ * @hide
+ */
+ @NonNull
+ public Builder addExtraEffects(@NonNull Set<String> extraEffects) {
+ mExtraEffects.addAll(Objects.requireNonNull(extraEffects));
+ return this;
+ }
+
+ /**
+ * Adds the supplied extra effect to the set to be applied while the rule is active.
+ * Extra effects are not used in AOSP, but OEMs may add support for them by providing a
+ * custom {@link DeviceEffectsApplier}.
+ *
+ * @apiNote The total size of the extra effects (concatenation of strings) is limited.
+ *
+ * @hide
+ */
+ @NonNull
+ public Builder addExtraEffect(@NonNull String extraEffect) {
+ mExtraEffects.add(Objects.requireNonNull(extraEffect));
+ return this;
+ }
+
+ /**
* Applies the effects that are {@code true} on the supplied {@link ZenDeviceEffects} to
* this builder (essentially logically-ORing the effect set).
* @hide
@@ -478,6 +577,7 @@
if (effects.shouldDisableTouch()) setShouldDisableTouch(true);
if (effects.shouldMinimizeRadioUsage()) setShouldMinimizeRadioUsage(true);
if (effects.shouldMaximizeDoze()) setShouldMaximizeDoze(true);
+ addExtraEffects(effects.getExtraEffects());
return this;
}
@@ -487,7 +587,7 @@
return new ZenDeviceEffects(mGrayscale,
mSuppressAmbientDisplay, mDimWallpaper, mNightMode, mDisableAutoBrightness,
mDisableTapToWake, mDisableTiltToWake, mDisableTouch, mMinimizeRadioUsage,
- mMaximizeDoze);
+ mMaximizeDoze, mExtraEffects);
}
}
}
diff --git a/core/java/android/service/notification/ZenModeConfig.java b/core/java/android/service/notification/ZenModeConfig.java
index d4a5356..f169ecd 100644
--- a/core/java/android/service/notification/ZenModeConfig.java
+++ b/core/java/android/service/notification/ZenModeConfig.java
@@ -27,6 +27,7 @@
import android.annotation.FlaggedApi;
import android.annotation.IntDef;
+import android.annotation.NonNull;
import android.annotation.Nullable;
import android.app.ActivityManager;
import android.app.AlarmManager;
@@ -65,17 +66,21 @@
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.time.Instant;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Objects;
+import java.util.Set;
import java.util.TimeZone;
import java.util.UUID;
+import java.util.regex.Pattern;
/**
* Persisted configuration for zen mode.
@@ -272,8 +277,13 @@
private static final String DEVICE_EFFECT_DISABLE_TOUCH = "zdeDisableTouch";
private static final String DEVICE_EFFECT_MINIMIZE_RADIO_USAGE = "zdeMinimizeRadioUsage";
private static final String DEVICE_EFFECT_MAXIMIZE_DOZE = "zdeMaximizeDoze";
+ private static final String DEVICE_EFFECT_EXTRAS = "zdeExtraEffects";
private static final String DEVICE_EFFECT_USER_MODIFIED_FIELDS = "zdeUserModifiedFields";
+ private static final String ITEM_SEPARATOR = ",";
+ private static final String ITEM_SEPARATOR_ESCAPE = "\\";
+ private static final Pattern ITEM_SPLITTER_REGEX = Pattern.compile("(?<!\\\\),");
+
@UnsupportedAppUsage
public boolean allowAlarms = DEFAULT_ALLOW_ALARMS;
public boolean allowMedia = DEFAULT_ALLOW_MEDIA;
@@ -1099,6 +1109,7 @@
.setShouldMinimizeRadioUsage(
safeBoolean(parser, DEVICE_EFFECT_MINIMIZE_RADIO_USAGE, false))
.setShouldMaximizeDoze(safeBoolean(parser, DEVICE_EFFECT_MAXIMIZE_DOZE, false))
+ .setExtraEffects(safeStringSet(parser, DEVICE_EFFECT_EXTRAS))
.build();
return deviceEffects.hasEffects() ? deviceEffects : null;
@@ -1123,6 +1134,7 @@
writeBooleanIfTrue(out, DEVICE_EFFECT_MINIMIZE_RADIO_USAGE,
deviceEffects.shouldMinimizeRadioUsage());
writeBooleanIfTrue(out, DEVICE_EFFECT_MAXIMIZE_DOZE, deviceEffects.shouldMaximizeDoze());
+ writeStringSet(out, DEVICE_EFFECT_EXTRAS, deviceEffects.getExtraEffects());
}
private static void writeBooleanIfTrue(TypedXmlSerializer out, String att, boolean value)
@@ -1132,6 +1144,26 @@
}
}
+ private static void writeStringSet(TypedXmlSerializer out, String att, Set<String> values)
+ throws IOException {
+ if (values.isEmpty()) {
+ return;
+ }
+ // We escape each item by replacing "\" by "\\" and "," by "\,". Then we concatenate with
+ // "," as separator. Reading performs the same operations in the opposite order.
+ List<String> escapedItems = new ArrayList<>();
+ for (String item : values) {
+ escapedItems.add(
+ item
+ .replace(ITEM_SEPARATOR_ESCAPE,
+ ITEM_SEPARATOR_ESCAPE + ITEM_SEPARATOR_ESCAPE)
+ .replace(ITEM_SEPARATOR,
+ ITEM_SEPARATOR_ESCAPE + ITEM_SEPARATOR));
+ }
+ String serialized = String.join(ITEM_SEPARATOR, escapedItems);
+ out.attribute(null, att, serialized);
+ }
+
public static boolean isValidHour(int val) {
return val >= 0 && val < 24;
}
@@ -1182,6 +1214,26 @@
return tryParseLong(val, defValue);
}
+ @NonNull
+ private static Set<String> safeStringSet(TypedXmlPullParser parser, String att) {
+ Set<String> values = new HashSet<>();
+
+ String serialized = parser.getAttributeValue(null, att);
+ if (!TextUtils.isEmpty(serialized)) {
+ // We split on every "," that is *not preceded* by the escape character "\".
+ // Then we reverse the escaping done on each individual item.
+ String[] escapedItems = ITEM_SPLITTER_REGEX.split(serialized);
+ for (String escapedItem : escapedItems) {
+ values.add(escapedItem
+ .replace(ITEM_SEPARATOR_ESCAPE + ITEM_SEPARATOR_ESCAPE,
+ ITEM_SEPARATOR_ESCAPE)
+ .replace(ITEM_SEPARATOR_ESCAPE + ITEM_SEPARATOR,
+ ITEM_SEPARATOR));
+ }
+ }
+ return values;
+ }
+
@Override
public int describeContents() {
return 0;
diff --git a/core/java/android/service/voice/AbstractDetector.java b/core/java/android/service/voice/AbstractDetector.java
index dfb1361..db97d4f 100644
--- a/core/java/android/service/voice/AbstractDetector.java
+++ b/core/java/android/service/voice/AbstractDetector.java
@@ -263,12 +263,5 @@
result != null ? result : new HotwordRejectedResult.Builder().build());
}));
}
-
- @Override
- public void onTrainingData(HotwordTrainingData data) {
- Binder.withCleanCallingIdentity(() -> mExecutor.execute(() -> {
- mCallback.onTrainingData(data);
- }));
- }
}
}
diff --git a/core/java/android/service/voice/AlwaysOnHotwordDetector.java b/core/java/android/service/voice/AlwaysOnHotwordDetector.java
index 23c8393..94d8516 100644
--- a/core/java/android/service/voice/AlwaysOnHotwordDetector.java
+++ b/core/java/android/service/voice/AlwaysOnHotwordDetector.java
@@ -306,7 +306,6 @@
private static final int MSG_DETECTION_HOTWORD_DETECTION_SERVICE_FAILURE = 9;
private static final int MSG_DETECTION_SOUND_TRIGGER_FAILURE = 10;
private static final int MSG_DETECTION_UNKNOWN_FAILURE = 11;
- private static final int MSG_HOTWORD_TRAINING_DATA = 12;
private final String mText;
private final Locale mLocale;
@@ -1648,16 +1647,6 @@
}
@Override
- public void onTrainingData(@NonNull HotwordTrainingData data) {
- if (DBG) {
- Slog.d(TAG, "onTrainingData(" + data + ")");
- } else {
- Slog.i(TAG, "onTrainingData");
- }
- Message.obtain(mHandler, MSG_HOTWORD_TRAINING_DATA, data).sendToTarget();
- }
-
- @Override
public void onHotwordDetectionServiceFailure(
HotwordDetectionServiceFailure hotwordDetectionServiceFailure) {
Slog.v(TAG, "onHotwordDetectionServiceFailure: " + hotwordDetectionServiceFailure);
@@ -1788,9 +1777,6 @@
case MSG_DETECTION_UNKNOWN_FAILURE:
mExternalCallback.onUnknownFailure((String) message.obj);
break;
- case MSG_HOTWORD_TRAINING_DATA:
- mExternalCallback.onTrainingData((HotwordTrainingData) message.obj);
- break;
default:
super.handleMessage(message);
}
diff --git a/core/java/android/service/voice/HotwordDetectionService.java b/core/java/android/service/voice/HotwordDetectionService.java
index 13b6a9a..ccf8b67 100644
--- a/core/java/android/service/voice/HotwordDetectionService.java
+++ b/core/java/android/service/voice/HotwordDetectionService.java
@@ -19,7 +19,6 @@
import static java.util.Objects.requireNonNull;
import android.annotation.DurationMillisLong;
-import android.annotation.FlaggedApi;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
@@ -40,7 +39,6 @@
import android.os.PersistableBundle;
import android.os.RemoteException;
import android.os.SharedMemory;
-import android.service.voice.flags.Flags;
import android.speech.IRecognitionServiceManager;
import android.util.Log;
import android.view.contentcapture.ContentCaptureManager;
@@ -445,30 +443,5 @@
throw e.rethrowFromSystemServer();
}
}
-
- /**
- * Informs the {@link HotwordDetector} when there is training data.
- *
- * <p> A daily limit of 20 is enforced on training data events sent. Number events egressed
- * are tracked across UTC day (24-hour window) and count is reset at midnight
- * (UTC 00:00:00). To be informed of failures to egress training data due to limit being
- * reached, the associated hotword detector should listen for
- * {@link HotwordDetectionServiceFailure#ERROR_CODE_ON_TRAINING_DATA_EGRESS_LIMIT_EXCEEDED}
- * events in {@link HotwordDetector.Callback#onFailure(HotwordDetectionServiceFailure)}.
- *
- * @param data Training data determined by the service. This is provided to the
- * {@link HotwordDetector}.
- */
- @FlaggedApi(Flags.FLAG_ALLOW_TRAINING_DATA_EGRESS_FROM_HDS)
- public void onTrainingData(@NonNull HotwordTrainingData data) {
- requireNonNull(data);
- try {
- Log.d(TAG, "onTrainingData");
- mRemoteCallback.onTrainingData(data);
- } catch (RemoteException e) {
- throw e.rethrowFromSystemServer();
- }
- }
-
}
}
diff --git a/core/java/android/service/voice/HotwordDetectionServiceFailure.java b/core/java/android/service/voice/HotwordDetectionServiceFailure.java
index c8b60c4..cc03c86 100644
--- a/core/java/android/service/voice/HotwordDetectionServiceFailure.java
+++ b/core/java/android/service/voice/HotwordDetectionServiceFailure.java
@@ -81,14 +81,6 @@
*/
public static final int ERROR_CODE_REMOTE_EXCEPTION = 7;
- /** Indicates failure to egress training data due to limit being exceeded. */
- @FlaggedApi(Flags.FLAG_ALLOW_TRAINING_DATA_EGRESS_FROM_HDS)
- public static final int ERROR_CODE_ON_TRAINING_DATA_EGRESS_LIMIT_EXCEEDED = 8;
-
- /** Indicates failure to egress training data due to security exception. */
- @FlaggedApi(Flags.FLAG_ALLOW_TRAINING_DATA_EGRESS_FROM_HDS)
- public static final int ERROR_CODE_ON_TRAINING_DATA_SECURITY_EXCEPTION = 9;
-
/** Indicates shutdown of {@link HotwordDetectionService} due to voice activation op being
* disabled. */
@FlaggedApi(Flags.FLAG_ALLOW_TRAINING_DATA_EGRESS_FROM_HDS)
@@ -106,8 +98,6 @@
ERROR_CODE_ON_DETECTED_SECURITY_EXCEPTION,
ERROR_CODE_ON_DETECTED_STREAM_COPY_FAILURE,
ERROR_CODE_REMOTE_EXCEPTION,
- ERROR_CODE_ON_TRAINING_DATA_EGRESS_LIMIT_EXCEEDED,
- ERROR_CODE_ON_TRAINING_DATA_SECURITY_EXCEPTION,
ERROR_CODE_SHUTDOWN_HDS_ON_VOICE_ACTIVATION_OP_DISABLED,
})
@Retention(RetentionPolicy.SOURCE)
diff --git a/core/java/android/service/voice/HotwordDetector.java b/core/java/android/service/voice/HotwordDetector.java
index 16a6dbe..32a93ee 100644
--- a/core/java/android/service/voice/HotwordDetector.java
+++ b/core/java/android/service/voice/HotwordDetector.java
@@ -19,7 +19,6 @@
import static android.Manifest.permission.CAPTURE_AUDIO_HOTWORD;
import static android.Manifest.permission.RECORD_AUDIO;
-import android.annotation.FlaggedApi;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.RequiresPermission;
@@ -28,7 +27,6 @@
import android.os.ParcelFileDescriptor;
import android.os.PersistableBundle;
import android.os.SharedMemory;
-import android.service.voice.flags.Flags;
import java.io.PrintWriter;
@@ -246,19 +244,6 @@
void onRejected(@NonNull HotwordRejectedResult result);
/**
- * Called by the {@link HotwordDetectionService} to egress training data to the
- * {@link HotwordDetector}. This data can be used for improving and analyzing hotword
- * detection models.
- *
- * @param data Training data to be egressed provided by the
- * {@link HotwordDetectionService}.
- */
- @FlaggedApi(Flags.FLAG_ALLOW_TRAINING_DATA_EGRESS_FROM_HDS)
- default void onTrainingData(@NonNull HotwordTrainingData data) {
- return;
- }
-
- /**
* Called when the {@link HotwordDetectionService} or {@link VisualQueryDetectionService} is
* created by the system and given a short amount of time to report their initialization
* state.
diff --git a/core/java/android/service/voice/HotwordTrainingDataLimitEnforcer.java b/core/java/android/service/voice/HotwordTrainingDataLimitEnforcer.java
deleted file mode 100644
index 7eb5280..0000000
--- a/core/java/android/service/voice/HotwordTrainingDataLimitEnforcer.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.service.voice;
-
-import android.annotation.NonNull;
-import android.content.Context;
-import android.content.SharedPreferences;
-import android.os.Environment;
-import android.os.UserHandle;
-import android.text.TextUtils;
-import android.util.Log;
-
-import com.android.internal.annotations.VisibleForTesting;
-
-import java.io.File;
-import java.time.LocalDate;
-import java.time.ZoneOffset;
-import java.time.format.DateTimeFormatter;
-
-/**
- * Enforces daily limits on the egress of {@link HotwordTrainingData} from the hotword detection
- * service.
- *
- * <p> Egress is tracked across UTC day (24-hour window) and count is reset at
- * midnight (UTC 00:00:00).
- *
- * @hide
- */
-public class HotwordTrainingDataLimitEnforcer {
- private static final String TAG = "HotwordTrainingDataLimitEnforcer";
-
- /**
- * Number of hotword training data events that are allowed to be egressed per day.
- */
- private static final int TRAINING_DATA_EGRESS_LIMIT = 20;
-
- /**
- * Name of hotword training data limit shared preference.
- */
- private static final String TRAINING_DATA_LIMIT_SHARED_PREF = "TrainingDataSharedPref";
-
- /**
- * Key for date associated with
- * {@link HotwordTrainingDataLimitEnforcer#TRAINING_DATA_EGRESS_COUNT}.
- */
- private static final String TRAINING_DATA_EGRESS_DATE = "TRAINING_DATA_EGRESS_DATE";
-
- /**
- * Key for number of hotword training data events egressed on
- * {@link HotwordTrainingDataLimitEnforcer#TRAINING_DATA_EGRESS_DATE}.
- */
- private static final String TRAINING_DATA_EGRESS_COUNT = "TRAINING_DATA_EGRESS_COUNT";
-
- private SharedPreferences mSharedPreferences;
-
- private static final Object INSTANCE_LOCK = new Object();
- private final Object mTrainingDataIncrementLock = new Object();
-
- private static HotwordTrainingDataLimitEnforcer sInstance;
-
- /** Get singleton HotwordTrainingDataLimitEnforcer instance. */
- public static @NonNull HotwordTrainingDataLimitEnforcer getInstance(@NonNull Context context) {
- synchronized (INSTANCE_LOCK) {
- if (sInstance == null) {
- sInstance = new HotwordTrainingDataLimitEnforcer(context.getApplicationContext());
- }
- return sInstance;
- }
- }
-
- private HotwordTrainingDataLimitEnforcer(Context context) {
- mSharedPreferences = context.getSharedPreferences(
- new File(Environment.getDataSystemCeDirectory(UserHandle.USER_SYSTEM),
- TRAINING_DATA_LIMIT_SHARED_PREF),
- Context.MODE_PRIVATE);
- }
-
- /** @hide */
- @VisibleForTesting
- public void resetTrainingDataEgressCount() {
- Log.i(TAG, "Resetting training data egress count!");
- synchronized (mTrainingDataIncrementLock) {
- // Clear all training data shared preferences.
- mSharedPreferences.edit().clear().commit();
- }
- }
-
- /**
- * Increments training data egress count.
- * <p> If count exceeds daily training data egress limit, returns false. Else, will return true.
- */
- public boolean incrementEgressCount() {
- synchronized (mTrainingDataIncrementLock) {
- return incrementTrainingDataEgressCountLocked();
- }
- }
-
- private boolean incrementTrainingDataEgressCountLocked() {
- LocalDate utcDate = LocalDate.now(ZoneOffset.UTC);
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
- String currentDate = utcDate.format(formatter);
-
- String storedDate = mSharedPreferences.getString(TRAINING_DATA_EGRESS_DATE, "");
- int storedCount = mSharedPreferences.getInt(TRAINING_DATA_EGRESS_COUNT, 0);
- Log.i(TAG,
- TextUtils.formatSimple("There are %s hotword training data events egressed for %s",
- storedCount, storedDate));
-
- SharedPreferences.Editor editor = mSharedPreferences.edit();
-
- // If date has not changed from last training data event, increment counter if within
- // limit.
- if (storedDate.equals(currentDate)) {
- if (storedCount < TRAINING_DATA_EGRESS_LIMIT) {
- Log.i(TAG, "Within hotword training data egress limit, incrementing...");
- editor.putInt(TRAINING_DATA_EGRESS_COUNT, storedCount + 1);
- editor.commit();
- return true;
- }
- Log.i(TAG, "Exceeded hotword training data egress limit.");
- return false;
- }
-
- // If date has changed, reset.
- Log.i(TAG, TextUtils.formatSimple(
- "Stored date %s is different from current data %s. Resetting counters...",
- storedDate, currentDate));
-
- editor.putString(TRAINING_DATA_EGRESS_DATE, currentDate);
- editor.putInt(TRAINING_DATA_EGRESS_COUNT, 1);
- editor.commit();
- return true;
- }
-}
diff --git a/core/java/android/service/voice/IDetectorSessionVisualQueryDetectionCallback.aidl b/core/java/android/service/voice/IDetectorSessionVisualQueryDetectionCallback.aidl
index 4f6eb88..c2036a4 100644
--- a/core/java/android/service/voice/IDetectorSessionVisualQueryDetectionCallback.aidl
+++ b/core/java/android/service/voice/IDetectorSessionVisualQueryDetectionCallback.aidl
@@ -16,6 +16,7 @@
package android.service.voice;
+import android.service.voice.VisualQueryAttentionResult;
import android.service.voice.VisualQueryDetectedResult;
/**
@@ -31,12 +32,12 @@
/**
* Called when the user attention is gained and intent to show the assistant icon in SysUI.
*/
- void onAttentionGained();
+ void onAttentionGained(in VisualQueryAttentionResult attentionResult);
/**
* Called when the user attention is lost and intent to hide the assistant icon in SysUI.
*/
- void onAttentionLost();
+ void onAttentionLost(int interactionIntention);
/**
* Called when the detected query is streamed.
diff --git a/core/java/android/service/voice/IDspHotwordDetectionCallback.aidl b/core/java/android/service/voice/IDspHotwordDetectionCallback.aidl
index a9c6af79..c6b10ff 100644
--- a/core/java/android/service/voice/IDspHotwordDetectionCallback.aidl
+++ b/core/java/android/service/voice/IDspHotwordDetectionCallback.aidl
@@ -18,7 +18,6 @@
import android.service.voice.HotwordDetectedResult;
import android.service.voice.HotwordRejectedResult;
-import android.service.voice.HotwordTrainingData;
/**
* Callback for returning the detected result from the HotwordDetectionService.
@@ -38,10 +37,4 @@
* Sends {@code result} to the HotwordDetector.
*/
void onRejected(in HotwordRejectedResult result);
-
- /**
- * Called by {@link HotwordDetectionService} to egress training data to the
- * {@link HotwordDetector}.
- */
- void onTrainingData(in HotwordTrainingData data);
}
diff --git a/core/java/android/service/voice/IMicrophoneHotwordDetectionVoiceInteractionCallback.aidl b/core/java/android/service/voice/IMicrophoneHotwordDetectionVoiceInteractionCallback.aidl
index 6226772..fab830a 100644
--- a/core/java/android/service/voice/IMicrophoneHotwordDetectionVoiceInteractionCallback.aidl
+++ b/core/java/android/service/voice/IMicrophoneHotwordDetectionVoiceInteractionCallback.aidl
@@ -20,7 +20,6 @@
import android.service.voice.HotwordDetectedResult;
import android.service.voice.HotwordDetectionServiceFailure;
import android.service.voice.HotwordRejectedResult;
-import android.service.voice.HotwordTrainingData;
/**
* Callback for returning the detected result from the HotwordDetectionService.
@@ -48,10 +47,4 @@
*/
void onRejected(
in HotwordRejectedResult hotwordRejectedResult);
-
- /**
- * Called by {@link HotwordDetectionService} to egress training data to the
- * {@link HotwordDetector}.
- */
- void onTrainingData(in HotwordTrainingData data);
}
diff --git a/core/java/android/service/voice/SoftwareHotwordDetector.java b/core/java/android/service/voice/SoftwareHotwordDetector.java
index 2c68fae..f1bc792 100644
--- a/core/java/android/service/voice/SoftwareHotwordDetector.java
+++ b/core/java/android/service/voice/SoftwareHotwordDetector.java
@@ -18,7 +18,6 @@
import static android.Manifest.permission.RECORD_AUDIO;
-import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.RequiresPermission;
import android.hardware.soundtrigger.SoundTrigger;
@@ -202,13 +201,6 @@
result != null ? result : new HotwordRejectedResult.Builder().build());
}));
}
-
- @Override
- public void onTrainingData(@NonNull HotwordTrainingData result) {
- Binder.withCleanCallingIdentity(() -> mExecutor.execute(() -> {
- mCallback.onTrainingData(result);
- }));
- }
}
private static class InitializationStateListener
@@ -246,13 +238,6 @@
}
@Override
- public void onTrainingData(@NonNull HotwordTrainingData data) {
- if (DEBUG) {
- Slog.i(TAG, "Ignored #onTrainingData event");
- }
- }
-
- @Override
public void onHotwordDetectionServiceFailure(
HotwordDetectionServiceFailure hotwordDetectionServiceFailure)
throws RemoteException {
diff --git a/packages/SystemUI/src/com/android/systemui/scene/shared/model/SceneModel.kt b/core/java/android/service/voice/VisualQueryAttentionResult.aidl
similarity index 61%
rename from packages/SystemUI/src/com/android/systemui/scene/shared/model/SceneModel.kt
rename to core/java/android/service/voice/VisualQueryAttentionResult.aidl
index f3d549f..38c8f07 100644
--- a/packages/SystemUI/src/com/android/systemui/scene/shared/model/SceneModel.kt
+++ b/core/java/android/service/voice/VisualQueryAttentionResult.aidl
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2023 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,14 +14,6 @@
* limitations under the License.
*/
-package com.android.systemui.scene.shared.model
+package android.service.voice;
-/** Models a scene. */
-data class SceneModel(
-
- /** The key of the scene. */
- val key: SceneKey,
-
- /** An optional name for the transition that led to this scene being the current scene. */
- val transitionName: String? = null,
-)
+parcelable VisualQueryAttentionResult;
\ No newline at end of file
diff --git a/core/java/android/service/voice/VisualQueryAttentionResult.java b/core/java/android/service/voice/VisualQueryAttentionResult.java
new file mode 100644
index 0000000..690990b
--- /dev/null
+++ b/core/java/android/service/voice/VisualQueryAttentionResult.java
@@ -0,0 +1,365 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.service.voice;
+
+import android.annotation.FlaggedApi;
+import android.annotation.IntDef;
+import android.annotation.IntRange;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.annotation.SystemApi;
+import android.os.Parcel;
+import android.os.Parcelable;
+import android.service.voice.flags.Flags;
+
+import com.android.internal.util.DataClass;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/**
+ * Represents a result supporting the visual query attention.
+ *
+ * @hide
+ */
+@DataClass(
+ genConstructor = false,
+ genBuilder = true,
+ genEqualsHashCode = true,
+ genHiddenConstDefs = true,
+ genParcelable = true,
+ genToString = true
+)
+@SystemApi
+@FlaggedApi(Flags.FLAG_ALLOW_VARIOUS_ATTENTION_TYPES)
+public final class VisualQueryAttentionResult implements Parcelable {
+
+ /** Intention type to allow the system to listen to audio-visual query interactions. */
+ public static final int INTERACTION_INTENTION_AUDIO_VISUAL = 0;
+
+ /** Intention type to allow the system to listen to visual accessibility query interactions. */
+ public static final int INTERACTION_INTENTION_VISUAL_ACCESSIBILITY = 1;
+
+ /**
+ * Intention of interaction associated with the attention result that the device should listen
+ * to after the attention signal is gained.
+ */
+ private final @InteractionIntention int mInteractionIntention;
+
+ private static @InteractionIntention int defaultInteractionIntention() {
+ return INTERACTION_INTENTION_AUDIO_VISUAL;
+ }
+
+ /**
+ * Integer value denoting the level of user engagement of the attention. System will
+ * also use this to adjust the intensity of UI indicators.
+ *
+ * The value can be between 1 and 100 (inclusive). The default value is set to be 100 which is
+ * defined as a complete engagement, which leads to the same UI result as the legacy
+ * {@link VisualQueryDetectionService#gainedAttention()}.
+ *
+ * Different values of engagement level corresponds to various SysUI effects. Within the same
+ * interaction intention, higher value of engagement level will lead to stronger visual
+ * presentation of the device attention UI.
+ */
+ @IntRange(from = 1, to = 100)
+ private final int mEngagementLevel;
+
+ private static int defaultEngagementLevel() {
+ return 100;
+ }
+
+ /**
+ * Provides an instance of {@link Builder} with state corresponding to this instance.
+ *
+ * @hide
+ */
+ public Builder buildUpon() {
+ return new Builder()
+ .setInteractionIntention(mInteractionIntention)
+ .setEngagementLevel(mEngagementLevel);
+ }
+
+
+
+
+ // Code below generated by codegen v1.0.23.
+ //
+ // DO NOT MODIFY!
+ // CHECKSTYLE:OFF Generated code
+ //
+ // To regenerate run:
+ // $ codegen $ANDROID_BUILD_TOP/frameworks/base/core/java/android/service/voice/VisualQueryAttentionResult.java
+ //
+ // To exclude the generated code from IntelliJ auto-formatting enable (one-time):
+ // Settings > Editor > Code Style > Formatter Control
+ //@formatter:off
+
+
+ /** @hide */
+ @IntDef(prefix = "INTERACTION_INTENTION_", value = {
+ INTERACTION_INTENTION_AUDIO_VISUAL,
+ INTERACTION_INTENTION_VISUAL_ACCESSIBILITY
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ @DataClass.Generated.Member
+ public @interface InteractionIntention {}
+
+ /** @hide */
+ @DataClass.Generated.Member
+ public static String interactionIntentionToString(@InteractionIntention int value) {
+ switch (value) {
+ case INTERACTION_INTENTION_AUDIO_VISUAL:
+ return "INTERACTION_INTENTION_AUDIO_VISUAL";
+ case INTERACTION_INTENTION_VISUAL_ACCESSIBILITY:
+ return "INTERACTION_INTENTION_VISUAL_ACCESSIBILITY";
+ default: return Integer.toHexString(value);
+ }
+ }
+
+ @DataClass.Generated.Member
+ /* package-private */ VisualQueryAttentionResult(
+ @InteractionIntention int interactionIntention,
+ @IntRange(from = 1, to = 100) int engagementLevel) {
+ this.mInteractionIntention = interactionIntention;
+
+ if (!(mInteractionIntention == INTERACTION_INTENTION_AUDIO_VISUAL)
+ && !(mInteractionIntention == INTERACTION_INTENTION_VISUAL_ACCESSIBILITY)) {
+ throw new java.lang.IllegalArgumentException(
+ "interactionIntention was " + mInteractionIntention + " but must be one of: "
+ + "INTERACTION_INTENTION_AUDIO_VISUAL(" + INTERACTION_INTENTION_AUDIO_VISUAL + "), "
+ + "INTERACTION_INTENTION_VISUAL_ACCESSIBILITY(" + INTERACTION_INTENTION_VISUAL_ACCESSIBILITY + ")");
+ }
+
+ this.mEngagementLevel = engagementLevel;
+ com.android.internal.util.AnnotationValidations.validate(
+ IntRange.class, null, mEngagementLevel,
+ "from", 1,
+ "to", 100);
+
+ // onConstructed(); // You can define this method to get a callback
+ }
+
+ /**
+ * Intention of interaction associated with the attention result that the device should listen
+ * to after the attention signal is gained.
+ */
+ @DataClass.Generated.Member
+ public @InteractionIntention int getInteractionIntention() {
+ return mInteractionIntention;
+ }
+
+ /**
+ * Integer value denoting the level of user engagement of the attention. System will
+ * also use this to adjust the intensity of UI indicators.
+ *
+ * The value can be between 1 and 100 (inclusive). The default value is set to be 100 which is
+ * defined as a complete engagement, which leads to the same UI result as the legacy
+ * {@link VisualQueryDetectionService#gainedAttention()}.
+ *
+ * Different values of engagement level corresponds to various SysUI effects. Within the same
+ * interaction intention, higher value of engagement level will lead to stronger visual
+ * presentation of the device attention UI.
+ */
+ @DataClass.Generated.Member
+ public @IntRange(from = 1, to = 100) int getEngagementLevel() {
+ return mEngagementLevel;
+ }
+
+ @Override
+ @DataClass.Generated.Member
+ public String toString() {
+ // You can override field toString logic by defining methods like:
+ // String fieldNameToString() { ... }
+
+ return "VisualQueryAttentionResult { " +
+ "interactionIntention = " + interactionIntentionToString(mInteractionIntention) + ", " +
+ "engagementLevel = " + mEngagementLevel +
+ " }";
+ }
+
+ @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(VisualQueryAttentionResult other) { ... }
+ // boolean fieldNameEquals(FieldType otherValue) { ... }
+
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ @SuppressWarnings("unchecked")
+ VisualQueryAttentionResult that = (VisualQueryAttentionResult) o;
+ //noinspection PointlessBooleanExpression
+ return true
+ && mInteractionIntention == that.mInteractionIntention
+ && mEngagementLevel == that.mEngagementLevel;
+ }
+
+ @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 + mInteractionIntention;
+ _hash = 31 * _hash + mEngagementLevel;
+ return _hash;
+ }
+
+ @Override
+ @DataClass.Generated.Member
+ public void writeToParcel(@NonNull Parcel dest, int flags) {
+ // You can override field parcelling by defining methods like:
+ // void parcelFieldName(Parcel dest, int flags) { ... }
+
+ dest.writeInt(mInteractionIntention);
+ dest.writeInt(mEngagementLevel);
+ }
+
+ @Override
+ @DataClass.Generated.Member
+ public int describeContents() { return 0; }
+
+ /** @hide */
+ @SuppressWarnings({"unchecked", "RedundantCast"})
+ @DataClass.Generated.Member
+ /* package-private */ VisualQueryAttentionResult(@NonNull Parcel in) {
+ // You can override field unparcelling by defining methods like:
+ // static FieldType unparcelFieldName(Parcel in) { ... }
+
+ int interactionIntention = in.readInt();
+ int engagementLevel = in.readInt();
+
+ this.mInteractionIntention = interactionIntention;
+
+ if (!(mInteractionIntention == INTERACTION_INTENTION_AUDIO_VISUAL)
+ && !(mInteractionIntention == INTERACTION_INTENTION_VISUAL_ACCESSIBILITY)) {
+ throw new java.lang.IllegalArgumentException(
+ "interactionIntention was " + mInteractionIntention + " but must be one of: "
+ + "INTERACTION_INTENTION_AUDIO_VISUAL(" + INTERACTION_INTENTION_AUDIO_VISUAL + "), "
+ + "INTERACTION_INTENTION_VISUAL_ACCESSIBILITY(" + INTERACTION_INTENTION_VISUAL_ACCESSIBILITY + ")");
+ }
+
+ this.mEngagementLevel = engagementLevel;
+ com.android.internal.util.AnnotationValidations.validate(
+ IntRange.class, null, mEngagementLevel,
+ "from", 1,
+ "to", 100);
+
+ // onConstructed(); // You can define this method to get a callback
+ }
+
+ @DataClass.Generated.Member
+ public static final @NonNull Parcelable.Creator<VisualQueryAttentionResult> CREATOR
+ = new Parcelable.Creator<VisualQueryAttentionResult>() {
+ @Override
+ public VisualQueryAttentionResult[] newArray(int size) {
+ return new VisualQueryAttentionResult[size];
+ }
+
+ @Override
+ public VisualQueryAttentionResult createFromParcel(@NonNull Parcel in) {
+ return new VisualQueryAttentionResult(in);
+ }
+ };
+
+ /**
+ * A builder for {@link VisualQueryAttentionResult}
+ */
+ @SuppressWarnings("WeakerAccess")
+ @DataClass.Generated.Member
+ public static final class Builder {
+
+ private @InteractionIntention int mInteractionIntention;
+ private @IntRange(from = 1, to = 100) int mEngagementLevel;
+
+ private long mBuilderFieldsSet = 0L;
+
+ public Builder() {
+ }
+
+ /**
+ * Intention of interaction associated with the attention result that the device should listen
+ * to after the attention signal is gained.
+ */
+ @DataClass.Generated.Member
+ public @NonNull Builder setInteractionIntention(@InteractionIntention int value) {
+ checkNotUsed();
+ mBuilderFieldsSet |= 0x1;
+ mInteractionIntention = value;
+ return this;
+ }
+
+ /**
+ * Integer value denoting the level of user engagement of the attention. System will
+ * also use this to adjust the intensity of UI indicators.
+ *
+ * The value can be between 1 and 100 (inclusive). The default value is set to be 100 which is
+ * defined as a complete engagement, which leads to the same UI result as the legacy
+ * {@link VisualQueryDetectionService#gainedAttention()}.
+ *
+ * Different values of engagement level corresponds to various SysUI effects. Within the same
+ * interaction intention, higher value of engagement level will lead to stronger visual
+ * presentation of the device attention UI.
+ */
+ @DataClass.Generated.Member
+ public @NonNull Builder setEngagementLevel(@IntRange(from = 1, to = 100) int value) {
+ checkNotUsed();
+ mBuilderFieldsSet |= 0x2;
+ mEngagementLevel = value;
+ return this;
+ }
+
+ /** Builds the instance. This builder should not be touched after calling this! */
+ public @NonNull VisualQueryAttentionResult build() {
+ checkNotUsed();
+ mBuilderFieldsSet |= 0x4; // Mark builder used
+
+ if ((mBuilderFieldsSet & 0x1) == 0) {
+ mInteractionIntention = defaultInteractionIntention();
+ }
+ if ((mBuilderFieldsSet & 0x2) == 0) {
+ mEngagementLevel = defaultEngagementLevel();
+ }
+ VisualQueryAttentionResult o = new VisualQueryAttentionResult(
+ mInteractionIntention,
+ mEngagementLevel);
+ return o;
+ }
+
+ private void checkNotUsed() {
+ if ((mBuilderFieldsSet & 0x4) != 0) {
+ throw new IllegalStateException(
+ "This Builder should not be reused. Use a new Builder instance instead");
+ }
+ }
+ }
+
+ @DataClass.Generated(
+ time = 1707773691880L,
+ codegenVersion = "1.0.23",
+ sourceFile = "frameworks/base/core/java/android/service/voice/VisualQueryAttentionResult.java",
+ inputSignatures = "public static final int INTERACTION_INTENTION_AUDIO_VISUAL\npublic static final int INTERACTION_INTENTION_VISUAL_ACCESSIBILITY\nprivate final @android.service.voice.VisualQueryAttentionResult.InteractionIntention int mInteractionIntention\nprivate final @android.annotation.IntRange int mEngagementLevel\nprivate static @android.service.voice.VisualQueryAttentionResult.InteractionIntention int defaultInteractionIntention()\nprivate static int defaultEngagementLevel()\npublic android.service.voice.VisualQueryAttentionResult.Builder buildUpon()\nclass VisualQueryAttentionResult extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genConstructor=false, genBuilder=true, genEqualsHashCode=true, genHiddenConstDefs=true, genParcelable=true, genToString=true)")
+ @Deprecated
+ private void __metadata() {}
+
+
+ //@formatter:on
+ // End of generated code
+
+}
diff --git a/core/java/android/service/voice/VisualQueryDetectedResult.java b/core/java/android/service/voice/VisualQueryDetectedResult.java
index 13cdfde..322148a 100644
--- a/core/java/android/service/voice/VisualQueryDetectedResult.java
+++ b/core/java/android/service/voice/VisualQueryDetectedResult.java
@@ -82,8 +82,6 @@
}
-
-
// Code below generated by codegen v1.0.23.
//
// DO NOT MODIFY!
diff --git a/core/java/android/service/voice/VisualQueryDetectionService.java b/core/java/android/service/voice/VisualQueryDetectionService.java
index b60c775..887b575 100644
--- a/core/java/android/service/voice/VisualQueryDetectionService.java
+++ b/core/java/android/service/voice/VisualQueryDetectionService.java
@@ -262,23 +262,82 @@
public void onStopDetection() {
}
+ // TODO(b/324341724): Properly deprecate this API.
/**
- * Informs the system that the user attention is gained so queries can be streamed.
+ * Informs the system that the attention is gained for the interaction intention
+ * {@link VisualQueryAttentionResult#INTERACTION_INTENTION_AUDIO_VISUAL} with
+ * engagement level equals to the maximum value possible so queries can be streamed.
+ *
+ * Usage of this method is not recommended, please use
+ * {@link VisualQueryDetectionService#gainedAttention(VisualQueryAttentionResult)} instead.
+ *
*/
public final void gainedAttention() {
+ if (Flags.allowVariousAttentionTypes()) {
+ gainedAttention(new VisualQueryAttentionResult.Builder().build());
+ } else {
+ try {
+ mRemoteCallback.onAttentionGained(null);
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+ }
+
+ /**
+ * Puts the device into an attention state that will listen to certain interaction intention
+ * based on the {@link VisualQueryAttentionResult} provided.
+ *
+ * Different type and levels of engagement will lead to corresponding UI icons showing. See
+ * {@link VisualQueryAttentionResult#setInteractionIntention(int)} for details.
+ *
+ * Exactly one {@link VisualQueryAttentionResult} can be set at a time with this method at
+ * the moment. Multiple attention results will be supported to set the device into with this
+ * API before {@link android.os.Build.VERSION_CODES#VANILLA_ICE_CREAM} is finalized.
+ *
+ * Latest call will override the {@link VisualQueryAttentionResult} of previous calls. Queries
+ * streamed are independent of the attention interactionIntention.
+ *
+ * @param attentionResult Attention result of type {@link VisualQueryAttentionResult}.
+ */
+ @FlaggedApi(Flags.FLAG_ALLOW_VARIOUS_ATTENTION_TYPES)
+ public final void gainedAttention(@NonNull VisualQueryAttentionResult attentionResult) {
try {
- mRemoteCallback.onAttentionGained();
+ mRemoteCallback.onAttentionGained(attentionResult);
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
}
/**
- * Informs the system that the user attention is lost to stop streaming.
+ * Informs the system that all attention has lost to stop streaming.
*/
public final void lostAttention() {
+ if (Flags.allowVariousAttentionTypes()) {
+ lostAttention(VisualQueryAttentionResult.INTERACTION_INTENTION_AUDIO_VISUAL);
+ lostAttention(VisualQueryAttentionResult.INTERACTION_INTENTION_VISUAL_ACCESSIBILITY);
+ } else {
+ try {
+ mRemoteCallback.onAttentionLost(0); // placeholder
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+ }
+
+ /**
+ * This will cancel the corresponding attention if the provided interaction intention is the
+ * same as which of the object called with
+ * {@link VisualQueryDetectionService#gainedAttention(VisualQueryAttentionResult)}.
+ *
+ * @param interactionIntention Interaction intention, one of
+ * {@link VisualQueryAttentionResult#InteractionIntention}.
+ */
+ @FlaggedApi(Flags.FLAG_ALLOW_VARIOUS_ATTENTION_TYPES)
+ public final void lostAttention(
+ @VisualQueryAttentionResult.InteractionIntention int interactionIntention) {
try {
- mRemoteCallback.onAttentionLost();
+ mRemoteCallback.onAttentionLost(interactionIntention);
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
diff --git a/core/java/android/service/voice/VisualQueryDetector.java b/core/java/android/service/voice/VisualQueryDetector.java
index aee25f5..23847fe 100644
--- a/core/java/android/service/voice/VisualQueryDetector.java
+++ b/core/java/android/service/voice/VisualQueryDetector.java
@@ -427,12 +427,6 @@
Slog.i(TAG, "Ignored #onRejected event");
}
}
- @Override
- public void onTrainingData(HotwordTrainingData data) throws RemoteException {
- if (DEBUG) {
- Slog.i(TAG, "Ignored #onTrainingData event");
- }
- }
@Override
public void onRecognitionPaused() throws RemoteException {
diff --git a/core/java/android/service/voice/VoiceInteractionService.java b/core/java/android/service/voice/VoiceInteractionService.java
index 75ab48a..20adc54 100644
--- a/core/java/android/service/voice/VoiceInteractionService.java
+++ b/core/java/android/service/voice/VoiceInteractionService.java
@@ -18,7 +18,6 @@
import android.Manifest;
import android.annotation.CallbackExecutor;
-import android.annotation.FlaggedApi;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.RequiresPermission;
@@ -49,7 +48,6 @@
import android.os.SharedMemory;
import android.os.SystemProperties;
import android.provider.Settings;
-import android.service.voice.flags.Flags;
import android.util.ArraySet;
import android.util.Log;
@@ -444,20 +442,6 @@
}
}
- /** Reset hotword training data egressed count.
- * @hide */
- @TestApi
- @FlaggedApi(Flags.FLAG_ALLOW_TRAINING_DATA_EGRESS_FROM_HDS)
- @RequiresPermission(Manifest.permission.RESET_HOTWORD_TRAINING_DATA_EGRESS_COUNT)
- public final void resetHotwordTrainingDataEgressCountForTest() {
- Log.i(TAG, "Resetting hotword training data egress count for test.");
- try {
- mSystemService.resetHotwordTrainingDataEgressCountForTest();
- } catch (RemoteException e) {
- throw e.rethrowFromSystemServer();
- }
- }
-
/**
* Creates an {@link AlwaysOnHotwordDetector} for the given keyphrase and locale.
* This instance must be retained and used by the client.
@@ -1025,36 +1009,6 @@
}
/**
- * Allow/disallow receiving training data from trusted process.
- *
- * <p> This method can be called by a preinstalled assistant to receive/stop receiving
- * training data via {@link HotwordDetector.Callback#onTrainingData(HotwordTrainingData)}.
- * These training data events are produced during sandboxed detection (in trusted process).
- *
- * @param allowed whether to allow/disallow receiving training data produced during
- * sandboxed detection (from trusted process).
- * @throws SecurityException if caller is not a preinstalled assistant or if caller is not the
- * active assistant.
- *
- * @hide
- */
- //TODO(b/315053245): Add mitigations to make API no-op once user has modified setting.
- @SystemApi
- @FlaggedApi(Flags.FLAG_ALLOW_TRAINING_DATA_EGRESS_FROM_HDS)
- @RequiresPermission(Manifest.permission.MANAGE_HOTWORD_DETECTION)
- public void setShouldReceiveSandboxedTrainingData(boolean allowed) {
- Log.i(TAG, "setShouldReceiveSandboxedTrainingData to " + allowed);
- if (mSystemService == null) {
- throw new IllegalStateException("Not available until onReady() is called");
- }
- try {
- mSystemService.setShouldReceiveSandboxedTrainingData(allowed);
- } catch (RemoteException e) {
- throw e.rethrowFromSystemServer();
- }
- }
-
- /**
* Creates an {@link KeyphraseModelManager} to use for enrolling voice models outside of the
* pre-bundled system voice models.
* @hide
diff --git a/core/java/android/text/flags/flags.aconfig b/core/java/android/text/flags/flags.aconfig
index f37c4c2a..f68fcab9 100644
--- a/core/java/android/text/flags/flags.aconfig
+++ b/core/java/android/text/flags/flags.aconfig
@@ -110,3 +110,12 @@
description: "A flag for replacing AndroidBidi with android.icu.text.Bidi."
bug: "317144801"
}
+
+flag {
+ name: "lazy_variation_instance"
+ namespace: "text"
+ description: "A flag for enabling lazy variation instance creation."
+ # Make read only, as it could be used before the Settings provider is initialized.
+ is_fixed_read_only: true
+ bug: "324676775"
+}
diff --git a/core/java/android/tracing/OWNERS b/core/java/android/tracing/OWNERS
index 2ebe2e9..f67844d 100644
--- a/core/java/android/tracing/OWNERS
+++ b/core/java/android/tracing/OWNERS
@@ -1,6 +1,4 @@
carmenjackson@google.com
kevinjeon@google.com
-pablogamito@google.com
-natanieljr@google.com
-keanmariotti@google.com
+include platform/development:/tools/winscope/OWNERS
include platform/external/perfetto:/OWNERS
diff --git a/core/java/android/util/AndroidException.java b/core/java/android/util/AndroidException.java
index d1b9d9f..8e2429a 100644
--- a/core/java/android/util/AndroidException.java
+++ b/core/java/android/util/AndroidException.java
@@ -19,6 +19,7 @@
/**
* Base class for all checked exceptions thrown by the Android frameworks.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class AndroidException extends Exception {
public AndroidException() {
}
diff --git a/core/java/android/util/AndroidRuntimeException.java b/core/java/android/util/AndroidRuntimeException.java
index 72c34d8b..1c3f2012 100644
--- a/core/java/android/util/AndroidRuntimeException.java
+++ b/core/java/android/util/AndroidRuntimeException.java
@@ -19,6 +19,7 @@
/**
* Base class for all unchecked exceptions thrown by the Android frameworks.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class AndroidRuntimeException extends RuntimeException {
public AndroidRuntimeException() {
}
diff --git a/core/java/android/util/ArrayMap.java b/core/java/android/util/ArrayMap.java
index 2945c8f..174e0c8 100644
--- a/core/java/android/util/ArrayMap.java
+++ b/core/java/android/util/ArrayMap.java
@@ -53,6 +53,7 @@
*
* <p>This structure is <b>NOT</b> thread-safe.</p>
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public final class ArrayMap<K, V> implements Map<K, V> {
private static final boolean DEBUG = false;
private static final String TAG = "ArrayMap";
diff --git a/core/java/android/util/ArraySet.java b/core/java/android/util/ArraySet.java
index adebe2c..bfbca07 100644
--- a/core/java/android/util/ArraySet.java
+++ b/core/java/android/util/ArraySet.java
@@ -51,6 +51,7 @@
*
* <p>This structure is <b>NOT</b> thread-safe.</p>
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public final class ArraySet<E> implements Collection<E>, Set<E> {
private static final boolean DEBUG = false;
private static final String TAG = "ArraySet";
diff --git a/core/java/android/util/BackupUtils.java b/core/java/android/util/BackupUtils.java
index 4fcb13c..75471c1 100644
--- a/core/java/android/util/BackupUtils.java
+++ b/core/java/android/util/BackupUtils.java
@@ -24,6 +24,8 @@
* Utility methods for Backup/Restore
* @hide
*/
+// Exported to Mainline modules; cannot use annotations
+// @android.ravenwood.annotation.RavenwoodKeepWholeClass
public class BackupUtils {
public static final int NULL = 0;
diff --git a/core/java/android/util/Base64.java b/core/java/android/util/Base64.java
index 92abd7c..99151c2 100644
--- a/core/java/android/util/Base64.java
+++ b/core/java/android/util/Base64.java
@@ -26,6 +26,7 @@
* href="http://www.ietf.org/rfc/rfc2045.txt">2045</a> and <a
* href="http://www.ietf.org/rfc/rfc3548.txt">3548</a>.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class Base64 {
/**
* Default values for encoder/decoder flags.
diff --git a/core/java/android/util/Base64DataException.java b/core/java/android/util/Base64DataException.java
index de12ee1..41963dc 100644
--- a/core/java/android/util/Base64DataException.java
+++ b/core/java/android/util/Base64DataException.java
@@ -23,6 +23,7 @@
* when an error is detected in the data being decoded. This allows problems with the base64 data
* to be disambiguated from errors in the underlying streams (e.g. actual connection errors.)
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class Base64DataException extends IOException {
public Base64DataException(String detailMessage) {
super(detailMessage);
diff --git a/core/java/android/util/Base64InputStream.java b/core/java/android/util/Base64InputStream.java
index 9eba5b5..85802d2 100644
--- a/core/java/android/util/Base64InputStream.java
+++ b/core/java/android/util/Base64InputStream.java
@@ -24,6 +24,7 @@
* An InputStream that does Base64 decoding on the data read through
* it.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class Base64InputStream extends FilterInputStream {
private final Base64.Coder coder;
diff --git a/core/java/android/util/Base64OutputStream.java b/core/java/android/util/Base64OutputStream.java
index 48fadeb..9ae1470 100644
--- a/core/java/android/util/Base64OutputStream.java
+++ b/core/java/android/util/Base64OutputStream.java
@@ -26,6 +26,7 @@
* An OutputStream that does Base64 encoding on the data written to
* it, writing the resulting data to another OutputStream.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class Base64OutputStream extends FilterOutputStream {
private final Base64.Coder coder;
private final int flags;
diff --git a/core/java/android/util/ContainerHelpers.java b/core/java/android/util/ContainerHelpers.java
index 4e5fefb..0077c91 100644
--- a/core/java/android/util/ContainerHelpers.java
+++ b/core/java/android/util/ContainerHelpers.java
@@ -16,6 +16,7 @@
package android.util;
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
class ContainerHelpers {
// This is Arrays.binarySearch(), but doesn't do any argument validation.
diff --git a/core/java/android/util/DebugUtils.java b/core/java/android/util/DebugUtils.java
index bab2089..5725a23 100644
--- a/core/java/android/util/DebugUtils.java
+++ b/core/java/android/util/DebugUtils.java
@@ -33,6 +33,7 @@
/**
* <p>Various utilities for debugging and logging.</p>
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class DebugUtils {
/** @hide */ public DebugUtils() {}
diff --git a/core/java/android/util/Dumpable.java b/core/java/android/util/Dumpable.java
index 955113d..9aa7e99 100644
--- a/core/java/android/util/Dumpable.java
+++ b/core/java/android/util/Dumpable.java
@@ -23,6 +23,7 @@
/**
* Represents an object whose state can be dumped into a {@link PrintWriter}.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public interface Dumpable {
/**
diff --git a/core/java/android/util/EmptyArray.java b/core/java/android/util/EmptyArray.java
index 1216024..cfb1093 100644
--- a/core/java/android/util/EmptyArray.java
+++ b/core/java/android/util/EmptyArray.java
@@ -23,6 +23,7 @@
*
* @hide
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public final class EmptyArray {
private EmptyArray() {}
diff --git a/core/java/android/util/FloatMath.java b/core/java/android/util/FloatMath.java
index bb7d15f..392e5ee 100644
--- a/core/java/android/util/FloatMath.java
+++ b/core/java/android/util/FloatMath.java
@@ -30,6 +30,7 @@
* @deprecated Use {@link java.lang.Math} instead.
*/
@Deprecated
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class FloatMath {
/** Prevents instantiation. */
diff --git a/core/java/android/util/FloatProperty.java b/core/java/android/util/FloatProperty.java
index 4aac196..7af05e1 100644
--- a/core/java/android/util/FloatProperty.java
+++ b/core/java/android/util/FloatProperty.java
@@ -24,6 +24,7 @@
*
* @param <T> The class on which the Property is declared.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public abstract class FloatProperty<T> extends Property<T, Float> {
public FloatProperty(String name) {
diff --git a/core/java/android/util/IndentingPrintWriter.java b/core/java/android/util/IndentingPrintWriter.java
index 9d2ebe8..6519918 100644
--- a/core/java/android/util/IndentingPrintWriter.java
+++ b/core/java/android/util/IndentingPrintWriter.java
@@ -33,6 +33,8 @@
*
* @hide
*/
+// Exported to Mainline modules; cannot use annotations
+// @android.ravenwood.annotation.RavenwoodKeepWholeClass
public class IndentingPrintWriter extends PrintWriter {
private final String mSingleIndent;
private final int mWrapLength;
diff --git a/core/java/android/util/IntProperty.java b/core/java/android/util/IntProperty.java
index 9e21ced..6bb2ebe 100644
--- a/core/java/android/util/IntProperty.java
+++ b/core/java/android/util/IntProperty.java
@@ -24,6 +24,7 @@
*
* @param <T> The class on which the Property is declared.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public abstract class IntProperty<T> extends Property<T, Integer> {
public IntProperty(String name) {
diff --git a/core/java/android/util/JsonReader.java b/core/java/android/util/JsonReader.java
index c75e238..38439ca 100644
--- a/core/java/android/util/JsonReader.java
+++ b/core/java/android/util/JsonReader.java
@@ -175,6 +175,7 @@
* <p>Each {@code JsonReader} may be used to read a single JSON stream. Instances
* of this class are not thread safe.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public final class JsonReader implements Closeable {
private static final String TRUE = "true";
diff --git a/core/java/android/util/JsonWriter.java b/core/java/android/util/JsonWriter.java
index c1e6e40..1075d4b 100644
--- a/core/java/android/util/JsonWriter.java
+++ b/core/java/android/util/JsonWriter.java
@@ -117,6 +117,7 @@
* Instances of this class are not thread safe. Calls that would result in a
* malformed JSON string will fail with an {@link IllegalStateException}.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public final class JsonWriter implements Closeable {
/** The output data, containing at most one top-level array or object. */
diff --git a/core/java/android/util/LocalLog.java b/core/java/android/util/LocalLog.java
index cd077e1..feb80cc 100644
--- a/core/java/android/util/LocalLog.java
+++ b/core/java/android/util/LocalLog.java
@@ -32,6 +32,8 @@
/**
* @hide
*/
+// Exported to Mainline modules; cannot use annotations
+// @android.ravenwood.annotation.RavenwoodKeepWholeClass
public final class LocalLog {
private final Deque<String> mLog;
diff --git a/core/java/android/util/Log.java b/core/java/android/util/Log.java
index f1e91d0..31576c5 100644
--- a/core/java/android/util/Log.java
+++ b/core/java/android/util/Log.java
@@ -71,6 +71,9 @@
* releases due to changes in the logging implementation. For the methods that return an integer,
* a positive value may be considered as a successful invocation.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
+@android.ravenwood.annotation.RavenwoodNativeSubstitutionClass(
+ "com.android.hoststubgen.nativesubstitution.Log_host")
public final class Log {
/** @hide */
@IntDef({ASSERT, ERROR, WARN, INFO, DEBUG, VERBOSE})
diff --git a/core/java/android/util/LogPrinter.java b/core/java/android/util/LogPrinter.java
index 68f64d0..169de68 100644
--- a/core/java/android/util/LogPrinter.java
+++ b/core/java/android/util/LogPrinter.java
@@ -20,6 +20,7 @@
* Implementation of a {@link android.util.Printer} that sends its output
* to the system log.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class LogPrinter implements Printer {
private final int mPriority;
private final String mTag;
diff --git a/core/java/android/util/LogWriter.java b/core/java/android/util/LogWriter.java
index 21b3665..41f5438 100644
--- a/core/java/android/util/LogWriter.java
+++ b/core/java/android/util/LogWriter.java
@@ -22,6 +22,7 @@
import java.io.Writer;
/** @hide */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class LogWriter extends Writer {
private final int mPriority;
private final String mTag;
diff --git a/core/java/android/util/LongSparseArray.java b/core/java/android/util/LongSparseArray.java
index 8402ab2..e428fb2 100644
--- a/core/java/android/util/LongSparseArray.java
+++ b/core/java/android/util/LongSparseArray.java
@@ -55,6 +55,7 @@
* keys in ascending order, or the values corresponding to the keys in ascending
* order in the case of <code>valueAt(int)</code>.</p>
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class LongSparseArray<E> implements Cloneable {
private static final Object DELETED = new Object();
private boolean mGarbage = false;
diff --git a/core/java/android/util/MalformedJsonException.java b/core/java/android/util/MalformedJsonException.java
index 63c19ff..40cc078 100644
--- a/core/java/android/util/MalformedJsonException.java
+++ b/core/java/android/util/MalformedJsonException.java
@@ -22,6 +22,7 @@
* Thrown when a reader encounters malformed JSON. Some syntax errors can be
* ignored by calling {@link JsonReader#setLenient(boolean)}.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public final class MalformedJsonException extends IOException {
private static final long serialVersionUID = 1L;
diff --git a/core/java/android/util/MapCollections.java b/core/java/android/util/MapCollections.java
index 7ab3fca..cce3a0e 100644
--- a/core/java/android/util/MapCollections.java
+++ b/core/java/android/util/MapCollections.java
@@ -31,6 +31,7 @@
* structure like {@link ArrayMap}.
* @hide
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
abstract class MapCollections<K, V> {
EntrySet mEntrySet;
KeySet mKeySet;
diff --git a/core/java/android/util/MathUtils.java b/core/java/android/util/MathUtils.java
index aecde441..97ea5da 100644
--- a/core/java/android/util/MathUtils.java
+++ b/core/java/android/util/MathUtils.java
@@ -24,6 +24,7 @@
*
* @hide Pending API council approval
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public final class MathUtils {
private static final float DEG_TO_RAD = 3.1415926f / 180.0f;
private static final float RAD_TO_DEG = 180.0f / 3.1415926f;
diff --git a/core/java/android/util/MutableBoolean.java b/core/java/android/util/MutableBoolean.java
index 44e73cc..5e0700a 100644
--- a/core/java/android/util/MutableBoolean.java
+++ b/core/java/android/util/MutableBoolean.java
@@ -20,6 +20,7 @@
* @deprecated This class will be removed from a future version of the Android API.
*/
@Deprecated
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public final class MutableBoolean {
public boolean value;
diff --git a/core/java/android/util/MutableByte.java b/core/java/android/util/MutableByte.java
index b9ec25d..e0cbc57 100644
--- a/core/java/android/util/MutableByte.java
+++ b/core/java/android/util/MutableByte.java
@@ -20,6 +20,7 @@
* @deprecated This class will be removed from a future version of the Android API.
*/
@Deprecated
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public final class MutableByte {
public byte value;
diff --git a/core/java/android/util/MutableChar.java b/core/java/android/util/MutableChar.java
index 9f7a9ae..22b8a55 100644
--- a/core/java/android/util/MutableChar.java
+++ b/core/java/android/util/MutableChar.java
@@ -20,6 +20,7 @@
* @deprecated This class will be removed from a future version of the Android API.
*/
@Deprecated
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public final class MutableChar {
public char value;
diff --git a/core/java/android/util/MutableDouble.java b/core/java/android/util/MutableDouble.java
index 56e539b..ce85fa2 100644
--- a/core/java/android/util/MutableDouble.java
+++ b/core/java/android/util/MutableDouble.java
@@ -20,6 +20,7 @@
* @deprecated This class will be removed from a future version of the Android API.
*/
@Deprecated
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public final class MutableDouble {
public double value;
diff --git a/core/java/android/util/MutableFloat.java b/core/java/android/util/MutableFloat.java
index 6d7ad59..c2bfdb0 100644
--- a/core/java/android/util/MutableFloat.java
+++ b/core/java/android/util/MutableFloat.java
@@ -20,6 +20,7 @@
* @deprecated This class will be removed from a future version of the Android API.
*/
@Deprecated
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public final class MutableFloat {
public float value;
diff --git a/core/java/android/util/MutableInt.java b/core/java/android/util/MutableInt.java
index bb24566..64fc4f2 100644
--- a/core/java/android/util/MutableInt.java
+++ b/core/java/android/util/MutableInt.java
@@ -20,6 +20,7 @@
* @deprecated This class will be removed from a future version of the Android API.
*/
@Deprecated
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public final class MutableInt {
public int value;
diff --git a/core/java/android/util/MutableLong.java b/core/java/android/util/MutableLong.java
index 86e70e1..57a2e86 100644
--- a/core/java/android/util/MutableLong.java
+++ b/core/java/android/util/MutableLong.java
@@ -20,6 +20,7 @@
* @deprecated This class will be removed from a future version of the Android API.
*/
@Deprecated
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public final class MutableLong {
public long value;
diff --git a/core/java/android/util/MutableShort.java b/core/java/android/util/MutableShort.java
index b94ab07..1f81c41 100644
--- a/core/java/android/util/MutableShort.java
+++ b/core/java/android/util/MutableShort.java
@@ -20,6 +20,7 @@
* @deprecated This class will be removed from a future version of the Android API.
*/
@Deprecated
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public final class MutableShort {
public short value;
diff --git a/core/java/android/util/NoSuchPropertyException.java b/core/java/android/util/NoSuchPropertyException.java
index b93f983..d4f2098 100644
--- a/core/java/android/util/NoSuchPropertyException.java
+++ b/core/java/android/util/NoSuchPropertyException.java
@@ -21,6 +21,7 @@
*
* @see Property#of(java.lang.Class, java.lang.Class, java.lang.String)
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class NoSuchPropertyException extends RuntimeException {
public NoSuchPropertyException(String s) {
diff --git a/core/java/android/util/Pair.java b/core/java/android/util/Pair.java
index b0866b4..96708f6 100644
--- a/core/java/android/util/Pair.java
+++ b/core/java/android/util/Pair.java
@@ -25,6 +25,8 @@
* implementation of equals(), returning true if equals() is true on each of the contained
* objects.
*/
+// Exported to Mainline modules; cannot use annotations
+// @android.ravenwood.annotation.RavenwoodKeepWholeClass
public class Pair<F, S> {
public final F first;
public final S second;
diff --git a/core/java/android/util/Patterns.java b/core/java/android/util/Patterns.java
index c4660c4..58dff96 100644
--- a/core/java/android/util/Patterns.java
+++ b/core/java/android/util/Patterns.java
@@ -22,6 +22,7 @@
/**
* Commonly used regular expression patterns.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class Patterns {
/**
* Regular expression to match all IANA top-level domains.
diff --git a/core/java/android/util/Pools.java b/core/java/android/util/Pools.java
index 7ae32441..384103a 100644
--- a/core/java/android/util/Pools.java
+++ b/core/java/android/util/Pools.java
@@ -42,6 +42,7 @@
*
* @hide
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public final class Pools {
/**
diff --git a/core/java/android/util/PrefixPrinter.java b/core/java/android/util/PrefixPrinter.java
index 62f7da1..b560f7c 100644
--- a/core/java/android/util/PrefixPrinter.java
+++ b/core/java/android/util/PrefixPrinter.java
@@ -22,6 +22,7 @@
*
* @hide
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class PrefixPrinter implements Printer {
private final Printer mPrinter;
private final String mPrefix;
diff --git a/core/java/android/util/PrintStreamPrinter.java b/core/java/android/util/PrintStreamPrinter.java
index 1c11f15..330dd31 100644
--- a/core/java/android/util/PrintStreamPrinter.java
+++ b/core/java/android/util/PrintStreamPrinter.java
@@ -22,6 +22,7 @@
* Implementation of a {@link android.util.Printer} that sends its output
* to a {@link java.io.PrintStream}.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class PrintStreamPrinter implements Printer {
private final PrintStream mPS;
diff --git a/core/java/android/util/PrintWriterPrinter.java b/core/java/android/util/PrintWriterPrinter.java
index 82c4d03..aa935eb 100644
--- a/core/java/android/util/PrintWriterPrinter.java
+++ b/core/java/android/util/PrintWriterPrinter.java
@@ -22,6 +22,7 @@
* Implementation of a {@link android.util.Printer} that sends its output
* to a {@link java.io.PrintWriter}.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class PrintWriterPrinter implements Printer {
private final PrintWriter mPW;
diff --git a/core/java/android/util/Printer.java b/core/java/android/util/Printer.java
index 595cf70..5106a29 100644
--- a/core/java/android/util/Printer.java
+++ b/core/java/android/util/Printer.java
@@ -22,6 +22,7 @@
* {@link android.util.StringBuilderPrinter}, and
* {@link android.util.PrintWriterPrinter}.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public interface Printer {
/**
* Write a line of text to the output. There is no need to terminate
diff --git a/core/java/android/util/Property.java b/core/java/android/util/Property.java
index 146db80..88a3c7e 100644
--- a/core/java/android/util/Property.java
+++ b/core/java/android/util/Property.java
@@ -25,6 +25,7 @@
* @param <T> The class on which the property is declared.
* @param <V> The type that this property represents.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public abstract class Property<T, V> {
private final String mName;
diff --git a/core/java/android/util/Range.java b/core/java/android/util/Range.java
index 750696b..32b63ee 100644
--- a/core/java/android/util/Range.java
+++ b/core/java/android/util/Range.java
@@ -38,6 +38,7 @@
* stored must also be immutable. If mutable objects are stored here, then the range
* effectively becomes mutable. </p>
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public final class Range<T extends Comparable<? super T>> {
/**
* Create a new immutable range.
diff --git a/core/java/android/util/Rational.java b/core/java/android/util/Rational.java
index d7730f2..bb70937 100644
--- a/core/java/android/util/Rational.java
+++ b/core/java/android/util/Rational.java
@@ -30,6 +30,8 @@
* <p>Contains a pair of {@code int}s representing the numerator and denominator of a
* Rational number. </p>
*/
+// Exported to Mainline modules; cannot use annotations
+// @android.ravenwood.annotation.RavenwoodKeepWholeClass
public final class Rational extends Number implements Comparable<Rational> {
/**
* Constant for the <em>Not-a-Number (NaN)</em> value of the {@code Rational} type.
diff --git a/core/java/android/util/ReflectiveProperty.java b/core/java/android/util/ReflectiveProperty.java
index 6832240..41900dc 100644
--- a/core/java/android/util/ReflectiveProperty.java
+++ b/core/java/android/util/ReflectiveProperty.java
@@ -23,6 +23,7 @@
* Internal class to automatically generate a Property for a given class/name pair, given the
* specification of {@link Property#of(java.lang.Class, java.lang.Class, java.lang.String)}
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
class ReflectiveProperty<T, V> extends Property<T, V> {
private static final String PREFIX_GET = "get";
diff --git a/core/java/android/util/Size.java b/core/java/android/util/Size.java
index 62df564..05d7468 100644
--- a/core/java/android/util/Size.java
+++ b/core/java/android/util/Size.java
@@ -21,6 +21,7 @@
/**
* Immutable class for describing width and height dimensions in pixels.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public final class Size {
/**
* Create a new immutable Size instance.
diff --git a/core/java/android/util/SizeF.java b/core/java/android/util/SizeF.java
index c77a0243..9473c44 100644
--- a/core/java/android/util/SizeF.java
+++ b/core/java/android/util/SizeF.java
@@ -30,6 +30,7 @@
* Width and height are finite values stored as a floating point representation.
* </p>
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public final class SizeF implements Parcelable {
/**
* Create a new immutable SizeF instance.
diff --git a/core/java/android/util/SparseArray.java b/core/java/android/util/SparseArray.java
index c18cac3..26111f8 100644
--- a/core/java/android/util/SparseArray.java
+++ b/core/java/android/util/SparseArray.java
@@ -54,6 +54,7 @@
* keys in ascending order. In the case of <code>valueAt(int)</code>, the
* values corresponding to the keys are returned in ascending order.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class SparseArray<E> implements Cloneable {
private static final Object DELETED = new Object();
private boolean mGarbage = false;
diff --git a/core/java/android/util/SparseArrayMap.java b/core/java/android/util/SparseArrayMap.java
index b4e1f59..1ce7313 100644
--- a/core/java/android/util/SparseArrayMap.java
+++ b/core/java/android/util/SparseArrayMap.java
@@ -31,6 +31,7 @@
* @hide
*/
@TestApi
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class SparseArrayMap<K, V> {
private final SparseArray<ArrayMap<K, V>> mData = new SparseArray<>();
diff --git a/core/java/android/util/SparseBooleanArray.java b/core/java/android/util/SparseBooleanArray.java
index 795f4c9..bca7ffc 100644
--- a/core/java/android/util/SparseBooleanArray.java
+++ b/core/java/android/util/SparseBooleanArray.java
@@ -44,6 +44,7 @@
* keys in ascending order, or the values corresponding to the keys in ascending
* order in the case of <code>valueAt(int)</code>.</p>
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class SparseBooleanArray implements Cloneable {
/**
* Creates a new SparseBooleanArray containing no mappings.
diff --git a/core/java/android/util/SparseIntArray.java b/core/java/android/util/SparseIntArray.java
index 24d04be..500d133 100644
--- a/core/java/android/util/SparseIntArray.java
+++ b/core/java/android/util/SparseIntArray.java
@@ -44,6 +44,7 @@
* keys in ascending order, or the values corresponding to the keys in ascending
* order in the case of <code>valueAt(int)</code>.</p>
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class SparseIntArray implements Cloneable {
@UnsupportedAppUsage(maxTargetSdk = 28) // Use keyAt(int)
private int[] mKeys;
diff --git a/core/java/android/util/SparseLongArray.java b/core/java/android/util/SparseLongArray.java
index 4b257e6..c7c272b 100644
--- a/core/java/android/util/SparseLongArray.java
+++ b/core/java/android/util/SparseLongArray.java
@@ -40,6 +40,7 @@
* keys in ascending order, or the values corresponding to the keys in ascending
* order in the case of <code>valueAt(int)</code>.</p>
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class SparseLongArray implements Cloneable {
private int[] mKeys;
private long[] mValues;
diff --git a/core/java/android/util/StringBuilderPrinter.java b/core/java/android/util/StringBuilderPrinter.java
index d0fc1e7..ee04f14 100644
--- a/core/java/android/util/StringBuilderPrinter.java
+++ b/core/java/android/util/StringBuilderPrinter.java
@@ -20,6 +20,7 @@
* Implementation of a {@link android.util.Printer} that sends its output
* to a {@link StringBuilder}.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class StringBuilderPrinter implements Printer {
private final StringBuilder mBuilder;
diff --git a/core/java/android/util/TeeWriter.java b/core/java/android/util/TeeWriter.java
index 439a0c2..0bf2a34 100644
--- a/core/java/android/util/TeeWriter.java
+++ b/core/java/android/util/TeeWriter.java
@@ -29,6 +29,7 @@
* @see https://man7.org/linux/man-pages/man1/tee.1.html
* @hide
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class TeeWriter extends Writer {
private final @NonNull Writer[] mWriters;
diff --git a/core/java/android/util/UtilConfig.java b/core/java/android/util/UtilConfig.java
index 7658c40..31d2535 100644
--- a/core/java/android/util/UtilConfig.java
+++ b/core/java/android/util/UtilConfig.java
@@ -21,6 +21,7 @@
*
* @hide
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class UtilConfig {
static boolean sThrowExceptionForUpperArrayOutOfBounds = true;
diff --git a/core/java/android/util/proto/EncodedBuffer.java b/core/java/android/util/proto/EncodedBuffer.java
index 2a8f405..c05d406 100644
--- a/core/java/android/util/proto/EncodedBuffer.java
+++ b/core/java/android/util/proto/EncodedBuffer.java
@@ -34,6 +34,7 @@
* @hide
*/
@TestApi
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public final class EncodedBuffer {
private static final String TAG = "EncodedBuffer";
diff --git a/core/java/android/util/proto/ProtoInputStream.java b/core/java/android/util/proto/ProtoInputStream.java
index 9a15cd5..0719f01 100644
--- a/core/java/android/util/proto/ProtoInputStream.java
+++ b/core/java/android/util/proto/ProtoInputStream.java
@@ -65,6 +65,7 @@
*
* @hide
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public final class ProtoInputStream extends ProtoStream {
public static final int NO_MORE_FIELDS = -1;
diff --git a/core/java/android/util/proto/ProtoOutputStream.java b/core/java/android/util/proto/ProtoOutputStream.java
index afca4ab..3e0feab 100644
--- a/core/java/android/util/proto/ProtoOutputStream.java
+++ b/core/java/android/util/proto/ProtoOutputStream.java
@@ -104,6 +104,7 @@
* correctly matched pairs of #start and #end calls, and issue
* errors if they are not matched.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public final class ProtoOutputStream extends ProtoStream {
/**
* @hide
diff --git a/core/java/android/util/proto/ProtoParseException.java b/core/java/android/util/proto/ProtoParseException.java
index 5ba9bf8..0429f93 100644
--- a/core/java/android/util/proto/ProtoParseException.java
+++ b/core/java/android/util/proto/ProtoParseException.java
@@ -24,6 +24,7 @@
* @hide
*/
@TestApi
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class ProtoParseException extends RuntimeException {
/**
diff --git a/core/java/android/util/proto/ProtoStream.java b/core/java/android/util/proto/ProtoStream.java
index 1940da9..a24cf32 100644
--- a/core/java/android/util/proto/ProtoStream.java
+++ b/core/java/android/util/proto/ProtoStream.java
@@ -32,6 +32,7 @@
*
* @hide
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class ProtoStream {
/**
diff --git a/core/java/android/util/proto/ProtoUtils.java b/core/java/android/util/proto/ProtoUtils.java
index 2b44b42..c7a3c4c 100644
--- a/core/java/android/util/proto/ProtoUtils.java
+++ b/core/java/android/util/proto/ProtoUtils.java
@@ -27,6 +27,7 @@
* //frameworks/base/core/proto/android/base directory
* @hide
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class ProtoUtils {
/**
diff --git a/core/java/android/util/proto/WireTypeMismatchException.java b/core/java/android/util/proto/WireTypeMismatchException.java
index d90b4f8..b8afcd3 100644
--- a/core/java/android/util/proto/WireTypeMismatchException.java
+++ b/core/java/android/util/proto/WireTypeMismatchException.java
@@ -24,6 +24,7 @@
* @hide
*/
@TestApi
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class WireTypeMismatchException extends ProtoParseException {
/**
diff --git a/core/java/android/view/Display.java b/core/java/android/view/Display.java
index 0006139..1f2b4fa 100644
--- a/core/java/android/view/Display.java
+++ b/core/java/android/view/Display.java
@@ -1211,6 +1211,8 @@
* @see #REMOVE_MODE_DESTROY_CONTENT
*/
// TODO (b/114338689): Remove the method and use IWindowManager#getRemoveContentMode
+ @SuppressLint("UnflaggedApi") // @TestApi without associated feature.
+ @TestApi
public int getRemoveMode() {
return mDisplayInfo.removeMode;
}
diff --git a/core/java/android/view/InsetsController.java b/core/java/android/view/InsetsController.java
index 6b7f9db..1803a6e 100644
--- a/core/java/android/view/InsetsController.java
+++ b/core/java/android/view/InsetsController.java
@@ -1498,6 +1498,14 @@
&& (control.getLeash() != null || control.getId() == ID_IME_CAPTION_BAR)) {
controls.put(control.getId(), new InsetsSourceControl(control));
typesReady |= consumer.getType();
+ } else if (fromIme) {
+ Log.w(TAG, "collectSourceControls can't continue for type: ime,"
+ + " fromIme: true requires a control with a leash but we have "
+ + ((control == null)
+ ? "control: null"
+ : "control: non-null and control.getLeash(): null"));
+ ImeTracker.forLogging().onFailed(statsToken,
+ ImeTracker.PHASE_CLIENT_COLLECT_SOURCE_CONTROLS);
}
}
return new Pair<>(typesReady, imeReady);
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index 3dfd68a..254c4ae 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -82,6 +82,10 @@
import android.content.res.Configuration;
import android.content.res.Resources;
import android.content.res.TypedArray;
+import android.credentials.CredentialManager;
+import android.credentials.GetCredentialException;
+import android.credentials.GetCredentialRequest;
+import android.credentials.GetCredentialResponse;
import android.graphics.Bitmap;
import android.graphics.BlendMode;
import android.graphics.Canvas;
@@ -114,6 +118,7 @@
import android.os.Handler;
import android.os.IBinder;
import android.os.Message;
+import android.os.OutcomeReceiver;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.RemoteCallback;
@@ -1037,6 +1042,10 @@
*/
private static String sTraceRequestLayoutClass;
+ @Nullable
+ private ViewCredentialHandler mViewCredentialHandler;
+
+
/** Used to avoid computing the full strings each time when layout tracing is enabled. */
@Nullable
private ViewTraversalTracingStrings mTracingStrings;
@@ -6394,6 +6403,9 @@
case R.styleable.View_handwritingBoundsOffsetBottom:
mHandwritingBoundsOffsetBottom = a.getDimension(attr, 0);
break;
+ case R.styleable.View_contentSensitivity:
+ setContentSensitivity(a.getInt(attr, CONTENT_SENSITIVITY_AUTO));
+ break;
}
}
@@ -6976,6 +6988,64 @@
}
/**
+ * Clears the request and callback previously set
+ * through {@link View#setCredentialManagerRequest}.
+ * Once this API is invoked, there will be no request fired to {@link CredentialManager}
+ * on future view focus events.
+ *
+ * @see #setCredentialManagerRequest
+ */
+ @FlaggedApi("autofill_credman_dev_integration")
+ public void clearCredentialManagerRequest() {
+ if (Log.isLoggable(AUTOFILL_LOG_TAG, Log.VERBOSE)) {
+ Log.v(AUTOFILL_LOG_TAG, "clearCredentialManagerRequest called");
+ }
+ mViewCredentialHandler = null;
+ }
+
+ /**
+ * Sets a {@link CredentialManager} request to retrieve credentials, when the user focuses
+ * on this given view.
+ *
+ * When this view is focused, the given {@code request} will be fired to
+ * {@link CredentialManager}, which will fetch content from all
+ * {@link android.service.credentials.CredentialProviderService} services on the
+ * device, and then display credential options to the user on a relevant UI
+ * (dropdown, keyboard suggestions etc.).
+ *
+ * When the user selects a credential, the final {@link GetCredentialResponse} will be
+ * propagated to the given {@code callback}. Developers are expected to handle the response
+ * programmatically and perform a relevant action, e.g. signing in the user.
+ *
+ * <p> For details on how to build a Credential Manager request, please see
+ * {@link GetCredentialRequest}.
+ *
+ * <p> This API should be called at any point before the user focuses on the view, e.g. during
+ * {@code onCreate} of an Activity.
+ *
+ * @param request the request to be fired when this view is entered
+ * @param callback to be invoked when either a response or an exception needs to be
+ * propagated for the given view
+ */
+ @FlaggedApi("autofill_credman_dev_integration")
+ public void setCredentialManagerRequest(@NonNull GetCredentialRequest request,
+ @NonNull OutcomeReceiver<GetCredentialResponse, GetCredentialException> callback) {
+ Preconditions.checkNotNull(request, "request must not be null");
+ Preconditions.checkNotNull(callback, "request must not be null");
+
+ mViewCredentialHandler = new ViewCredentialHandler(request, callback);
+ }
+
+ /**
+ *
+ * @hide
+ */
+ @Nullable
+ public ViewCredentialHandler getViewCredentialHandler() {
+ return mViewCredentialHandler;
+ }
+
+ /**
* Returns the size of the horizontal faded edges used to indicate that more
* content in this view is visible.
*
@@ -9440,6 +9510,11 @@
structure.setAutofillValue(getAutofillValue());
structure.setIsCredential(isCredential());
}
+ if (getViewCredentialHandler() != null) {
+ structure.setCredentialManagerRequest(
+ getViewCredentialHandler().getRequest(),
+ getViewCredentialHandler().getCallback());
+ }
structure.setImportantForAutofill(getImportantForAutofill());
structure.setReceiveContentMimeTypes(getReceiveContentMimeTypes());
}
@@ -9857,6 +9932,53 @@
}
/**
+ * Returns the {@link GetCredentialRequest} associated with the view.
+ * If the return value is null, that means no request has been set
+ * on the view and no {@link CredentialManager} flow will be invoked
+ * when this view is focused. Traditioanl autofill flows will still
+ * work, autofilling content if applicable, from
+ * the active {@link android.service.autofill.AutofillService} on
+ * the device.
+ *
+ * <p>See {@link #setCredentialManagerRequest} for more info.
+ *
+ * @return The credential request associated with this View.
+ */
+ @FlaggedApi("autofill_credman_dev_integration")
+ @Nullable
+ public final GetCredentialRequest getCredentialManagerRequest() {
+ if (mViewCredentialHandler == null) {
+ return null;
+ }
+ return mViewCredentialHandler.getRequest();
+ }
+
+
+ /**
+ * Returns the callback that has previously been set up on this view through
+ * the {@link #setCredentialManagerRequest} API.
+ * If the return value is null, that means no callback, or request, has been set
+ * on the view and no {@link CredentialManager} flow will be invoked
+ * when this view is focused. Traditioanl autofill flows will still
+ * work, and autofillable content will still be returned through the
+ * {@link #autofill(AutofillValue)} )} API.
+ *
+ * <p>See {@link #setCredentialManagerRequest} for more info.
+ *
+ * @return The callback associated with this view that will be invoked on a response from
+ * {@link CredentialManager} .
+ */
+ @FlaggedApi("autofill_credman_dev_integration")
+ @Nullable
+ public final OutcomeReceiver<GetCredentialResponse,
+ GetCredentialException> getCredentialManagerCallback() {
+ if (mViewCredentialHandler == null) {
+ return null;
+ }
+ return mViewCredentialHandler.getCallback();
+ }
+
+ /**
* Sets the unique, logical identifier of this view in the activity, for autofill purposes.
*
* <p>The autofill id is created on demand, and this method should only be called when a view is
@@ -10742,6 +10864,8 @@
structure.setAutofillId(new AutofillId(getAutofillId(),
AccessibilityNodeInfo.getVirtualDescendantId(info.getSourceNodeId())));
}
+ structure.setCredentialManagerRequest(getCredentialManagerRequest(),
+ getCredentialManagerCallback());
CharSequence cname = info.getClassName();
structure.setClassName(cname != null ? cname.toString() : null);
structure.setContentDescription(info.getContentDescription());
diff --git a/core/java/android/view/ViewCredentialHandler.java b/core/java/android/view/ViewCredentialHandler.java
new file mode 100644
index 0000000..11488ab
--- /dev/null
+++ b/core/java/android/view/ViewCredentialHandler.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.view;
+
+import android.credentials.GetCredentialException;
+import android.credentials.GetCredentialRequest;
+import android.credentials.GetCredentialResponse;
+import android.os.OutcomeReceiver;
+
+/**
+ * @hide
+ */
+public class ViewCredentialHandler {
+ private GetCredentialRequest mRequest;
+
+ private OutcomeReceiver<GetCredentialResponse, GetCredentialException> mCallback;
+
+ ViewCredentialHandler(GetCredentialRequest request,
+ OutcomeReceiver<GetCredentialResponse, GetCredentialException> callback) {
+ mRequest = request;
+ mCallback = callback;
+ }
+
+ public GetCredentialRequest getRequest() {
+ return mRequest;
+ }
+
+ public OutcomeReceiver<GetCredentialResponse,
+ GetCredentialException> getCallback() {
+ return mCallback;
+ }
+}
diff --git a/core/java/android/view/ViewStructure.java b/core/java/android/view/ViewStructure.java
index bb2c7c8..d86cc4a 100644
--- a/core/java/android/view/ViewStructure.java
+++ b/core/java/android/view/ViewStructure.java
@@ -16,13 +16,18 @@
package android.view;
+import android.annotation.FlaggedApi;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SuppressLint;
+import android.credentials.GetCredentialException;
+import android.credentials.GetCredentialRequest;
+import android.credentials.GetCredentialResponse;
import android.graphics.Matrix;
import android.graphics.Rect;
import android.os.Bundle;
import android.os.LocaleList;
+import android.os.OutcomeReceiver;
import android.util.Pair;
import android.view.View.AutofillImportance;
import android.view.autofill.AutofillId;
@@ -347,6 +352,37 @@
public abstract ViewStructure asyncNewChild(int index);
/**
+ * Gets the {@link GetCredentialRequest} associated with this node.
+ *
+ * <p> If null, no request is associated with this node, and hence no
+ * {@link android.credentials.CredentialManager} request will be fired when this
+ * node is focused.
+ * <p> For details on how a request and callback can be set, see
+ * {@link ViewStructure#setCredentialManagerRequest(GetCredentialRequest, OutcomeReceiver)}
+ */
+ @Nullable
+ @FlaggedApi("autofill_credman_dev_integration")
+ public GetCredentialRequest getCredentialManagerRequest() {
+ return null;
+ }
+
+ /**
+ * Gets the {@code callback} associated with this node.
+ *
+ * <p> If null, no callback or request is associated with this node, and hence no
+ * {@link android.credentials.CredentialManager} request will be fired when this
+ * node is focused.
+ * <p> For details on how a request and callback can be set, see
+ * {@link ViewStructure#setCredentialManagerRequest(GetCredentialRequest, OutcomeReceiver)}
+ */
+ @Nullable
+ @FlaggedApi("autofill_credman_dev_integration")
+ public OutcomeReceiver<
+ GetCredentialResponse, GetCredentialException> getCredentialManagerCallback() {
+ return null;
+ }
+
+ /**
* Gets the {@link AutofillId} associated with this node.
*/
@Nullable
@@ -509,6 +545,24 @@
public abstract void setHtmlInfo(@NonNull HtmlInfo htmlInfo);
/**
+ * Sets a credential request to be fired to {@link android.credentials.CredentialManager}
+ * when this node is focused
+ *
+ * @param request the request to be fired
+ * @param callback the callback where the response or exception, is returned
+ */
+ @FlaggedApi("autofill_credman_dev_integration")
+ public void setCredentialManagerRequest(@NonNull GetCredentialRequest request,
+ @NonNull OutcomeReceiver<GetCredentialResponse, GetCredentialException> callback) {}
+
+ /**
+ * Clears the credential request previously set through
+ * {@link ViewStructure#setCredentialManagerRequest(GetCredentialRequest, OutcomeReceiver)}
+ */
+ @FlaggedApi("autofill_credman_dev_integration")
+ public void clearCredentialManagerRequest() {}
+
+ /**
* Simplified representation of the HTML properties of a node that represents an HTML element.
*/
public abstract static class HtmlInfo {
diff --git a/core/java/android/view/WindowInsetsController.java b/core/java/android/view/WindowInsetsController.java
index cc2cd79..b7542dc 100644
--- a/core/java/android/view/WindowInsetsController.java
+++ b/core/java/android/view/WindowInsetsController.java
@@ -16,6 +16,7 @@
package android.view;
+import android.annotation.FlaggedApi;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
@@ -26,6 +27,7 @@
import android.view.WindowInsets.Type;
import android.view.WindowInsets.Type.InsetsType;
import android.view.animation.Interpolator;
+import android.view.flags.Flags;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -78,6 +80,20 @@
int APPEARANCE_SEMI_TRANSPARENT_NAVIGATION_BARS = 1 << 6;
/**
+ * Makes the caption bar transparent.
+ */
+ @FlaggedApi(Flags.FLAG_CUSTOMIZABLE_WINDOW_HEADERS)
+ int APPEARANCE_TRANSPARENT_CAPTION_BAR_BACKGROUND = 1 << 7;
+
+ /**
+ * When {@link WindowInsetsController#APPEARANCE_TRANSPARENT_CAPTION_BAR_BACKGROUND} is set,
+ * changes the foreground color of the caption bars so that the items on the bar can be read
+ * clearly on light backgrounds.
+ */
+ @FlaggedApi(Flags.FLAG_CUSTOMIZABLE_WINDOW_HEADERS)
+ int APPEARANCE_LIGHT_CAPTION_BARS = 1 << 8;
+
+ /**
* Determines the appearance of system bars.
* @hide
*/
@@ -85,7 +101,8 @@
@IntDef(flag = true, value = {APPEARANCE_OPAQUE_STATUS_BARS, APPEARANCE_OPAQUE_NAVIGATION_BARS,
APPEARANCE_LOW_PROFILE_BARS, APPEARANCE_LIGHT_STATUS_BARS,
APPEARANCE_LIGHT_NAVIGATION_BARS, APPEARANCE_SEMI_TRANSPARENT_STATUS_BARS,
- APPEARANCE_SEMI_TRANSPARENT_NAVIGATION_BARS})
+ APPEARANCE_SEMI_TRANSPARENT_NAVIGATION_BARS,
+ APPEARANCE_TRANSPARENT_CAPTION_BAR_BACKGROUND, APPEARANCE_LIGHT_CAPTION_BARS})
@interface Appearance {
}
diff --git a/core/java/android/view/accessibility/AccessibilityManager.java b/core/java/android/view/accessibility/AccessibilityManager.java
index 0deaca1..ae4a7d3 100644
--- a/core/java/android/view/accessibility/AccessibilityManager.java
+++ b/core/java/android/view/accessibility/AccessibilityManager.java
@@ -2446,7 +2446,6 @@
}
}
-
/**
* Attaches a {@link android.view.SurfaceControl} containing an accessibility overlay to the
* specified display.
@@ -2470,4 +2469,29 @@
throw re.rethrowFromSystemServer();
}
}
+
+ /**
+ * Notifies that the current a11y tiles in QuickSettings Panel has been changed
+ *
+ * @param userId The userId of the user attempts to change the qs panel.
+ * @param tileComponentNames A list of Accessibility feature's TileServices' component names
+ * and the a11y platform tiles' component names
+ * @hide
+ */
+ @RequiresPermission(Manifest.permission.STATUS_BAR_SERVICE)
+ public void notifyQuickSettingsTilesChanged(
+ @UserIdInt int userId, List<ComponentName> tileComponentNames) {
+ final IAccessibilityManager service;
+ synchronized (mLock) {
+ service = getServiceLocked();
+ if (service == null) {
+ return;
+ }
+ }
+ try {
+ service.notifyQuickSettingsTilesChanged(userId, tileComponentNames);
+ } catch (RemoteException re) {
+ throw re.rethrowFromSystemServer();
+ }
+ }
}
diff --git a/core/java/android/view/accessibility/IAccessibilityManager.aidl b/core/java/android/view/accessibility/IAccessibilityManager.aidl
index eca1586..9617606 100644
--- a/core/java/android/view/accessibility/IAccessibilityManager.aidl
+++ b/core/java/android/view/accessibility/IAccessibilityManager.aidl
@@ -140,4 +140,7 @@
@JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.INTERNAL_SYSTEM_WINDOW)")
void attachAccessibilityOverlayToDisplay(int displayId, in SurfaceControl surfaceControl);
+
+ @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE)")
+ oneway void notifyQuickSettingsTilesChanged(int userId, in List<ComponentName> tileComponentNames);
}
diff --git a/core/java/android/view/autofill/AutofillManager.java b/core/java/android/view/autofill/AutofillManager.java
index 7ebabee..bd9f504 100644
--- a/core/java/android/view/autofill/AutofillManager.java
+++ b/core/java/android/view/autofill/AutofillManager.java
@@ -3486,52 +3486,52 @@
/** @hide */
public void dump(String outerPrefix, PrintWriter pw) {
- pw.print(outerPrefix); pw.println("AutofillManager:");
- final String pfx = outerPrefix + " ";
- pw.print(pfx); pw.print("sessionId: "); pw.println(mSessionId);
- pw.print(pfx); pw.print("state: "); pw.println(getStateAsStringLocked());
- pw.print(pfx); pw.print("context: "); pw.println(mContext);
- pw.print(pfx); pw.print("service client: "); pw.println(mServiceClient);
- final AutofillClient client = getClient();
- if (client != null) {
- pw.print(pfx); pw.print("client: "); pw.print(client);
- pw.print(" ("); pw.print(client.autofillClientGetActivityToken()); pw.println(')');
- }
- pw.print(pfx); pw.print("enabled: "); pw.println(mEnabled);
- pw.print(pfx); pw.print("enabledAugmentedOnly: "); pw.println(mForAugmentedAutofillOnly);
- pw.print(pfx); pw.print("hasService: "); pw.println(mService != null);
- pw.print(pfx); pw.print("hasCallback: "); pw.println(mCallback != null);
- pw.print(pfx); pw.print("onInvisibleCalled "); pw.println(mOnInvisibleCalled);
- pw.print(pfx); pw.print("last autofilled data: "); pw.println(mLastAutofilledData);
- pw.print(pfx); pw.print("id of last fill UI shown: "); pw.println(mIdShownFillUi);
- pw.print(pfx); pw.print("tracked views: ");
- if (mTrackedViews == null) {
- pw.println("null");
- } else {
- final String pfx2 = pfx + " ";
- pw.println();
- pw.print(pfx2); pw.print("visible:"); pw.println(mTrackedViews.mVisibleTrackedIds);
- pw.print(pfx2); pw.print("invisible:"); pw.println(mTrackedViews.mInvisibleTrackedIds);
- }
- pw.print(pfx); pw.print("fillable ids: "); pw.println(mFillableIds);
- pw.print(pfx); pw.print("entered ids: "); pw.println(mEnteredIds);
- if (mEnteredForAugmentedAutofillIds != null) {
- pw.print(pfx); pw.print("entered ids for augmented autofill: ");
- pw.println(mEnteredForAugmentedAutofillIds);
- }
- if (mForAugmentedAutofillOnly) {
- pw.print(pfx); pw.println("For Augmented Autofill Only");
- }
- pw.print(pfx); pw.print("save trigger id: "); pw.println(mSaveTriggerId);
- pw.print(pfx); pw.print("save on finish(): "); pw.println(mSaveOnFinish);
- if (mOptions != null) {
- pw.print(pfx); pw.print("options: "); mOptions.dumpShort(pw); pw.println();
- }
- pw.print(pfx); pw.print("compat mode enabled: ");
synchronized (mLock) {
+ pw.print(outerPrefix); pw.println("AutofillManager:");
+ final String pfx = outerPrefix + " ";
+ pw.print(pfx); pw.print("sessionId: "); pw.println(mSessionId);
+ pw.print(pfx); pw.print("state: "); pw.println(getStateAsStringLocked());
+ pw.print(pfx); pw.print("context: "); pw.println(mContext);
+ pw.print(pfx); pw.print("service client: "); pw.println(mServiceClient);
+ final AutofillClient client = getClient();
+ if (client != null) {
+ pw.print(pfx); pw.print("client: "); pw.print(client);
+ pw.print(" ("); pw.print(client.autofillClientGetActivityToken()); pw.println(')');
+ }
+ pw.print(pfx); pw.print("enabled: "); pw.println(mEnabled);
+ pw.print(pfx); pw.print("enabledAugmentedOnly: "); pw.println(mForAugmentedAutofillOnly);
+ pw.print(pfx); pw.print("hasService: "); pw.println(mService != null);
+ pw.print(pfx); pw.print("hasCallback: "); pw.println(mCallback != null);
+ pw.print(pfx); pw.print("onInvisibleCalled "); pw.println(mOnInvisibleCalled);
+ pw.print(pfx); pw.print("last autofilled data: "); pw.println(mLastAutofilledData);
+ pw.print(pfx); pw.print("id of last fill UI shown: "); pw.println(mIdShownFillUi);
+ pw.print(pfx); pw.print("tracked views: ");
+ if (mTrackedViews == null) {
+ pw.println("null");
+ } else {
+ final String pfx2 = pfx + " ";
+ pw.println();
+ pw.print(pfx2); pw.print("visible:"); pw.println(mTrackedViews.mVisibleTrackedIds);
+ pw.print(pfx2); pw.print("invisible:"); pw.println(mTrackedViews.mInvisibleTrackedIds);
+ }
+ pw.print(pfx); pw.print("fillable ids: "); pw.println(mFillableIds);
+ pw.print(pfx); pw.print("entered ids: "); pw.println(mEnteredIds);
+ if (mEnteredForAugmentedAutofillIds != null) {
+ pw.print(pfx); pw.print("entered ids for augmented autofill: ");
+ pw.println(mEnteredForAugmentedAutofillIds);
+ }
+ if (mForAugmentedAutofillOnly) {
+ pw.print(pfx); pw.println("For Augmented Autofill Only");
+ }
+ pw.print(pfx); pw.print("save trigger id: "); pw.println(mSaveTriggerId);
+ pw.print(pfx); pw.print("save on finish(): "); pw.println(mSaveOnFinish);
+ if (mOptions != null) {
+ pw.print(pfx); pw.print("options: "); mOptions.dumpShort(pw); pw.println();
+ }
pw.print(pfx); pw.print("fill dialog enabled: "); pw.println(mIsFillDialogEnabled);
pw.print(pfx); pw.print("fill dialog enabled hints: ");
pw.println(Arrays.toString(mFillDialogEnabledHints));
+ pw.print(pfx); pw.print("compat mode enabled: ");
if (mCompatibilityBridge != null) {
final String pfx2 = pfx + " ";
pw.println("true");
@@ -3547,9 +3547,9 @@
} else {
pw.println("false");
}
+ pw.print(pfx); pw.print("debug: "); pw.print(sDebug);
+ pw.print(" verbose: "); pw.println(sVerbose);
}
- pw.print(pfx); pw.print("debug: "); pw.print(sDebug);
- pw.print(" verbose: "); pw.println(sVerbose);
}
@GuardedBy("mLock")
diff --git a/core/java/android/view/flags/view_flags.aconfig b/core/java/android/view/flags/view_flags.aconfig
index 0b3581e..6cf89d6 100644
--- a/core/java/android/view/flags/view_flags.aconfig
+++ b/core/java/android/view/flags/view_flags.aconfig
@@ -41,4 +41,11 @@
bug: "322887144"
# Referenced in WM where WM starts before DeviceConfig
is_fixed_read_only: true
-}
\ No newline at end of file
+}
+
+flag {
+ name: "enable_arrow_icon_on_hover_when_clickable"
+ namespace: "toolkit"
+ description: "Enable default arrow icon when hovering on buttons or clickable widgets."
+ bug: "299269803"
+}
diff --git a/core/java/android/view/inputmethod/ConnectionlessHandwritingCallback.java b/core/java/android/view/inputmethod/ConnectionlessHandwritingCallback.java
new file mode 100644
index 0000000..d985732
--- /dev/null
+++ b/core/java/android/view/inputmethod/ConnectionlessHandwritingCallback.java
@@ -0,0 +1,77 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.view.inputmethod;
+
+import android.annotation.FlaggedApi;
+import android.annotation.IntDef;
+import android.annotation.NonNull;
+import android.view.View;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.util.concurrent.Executor;
+
+/**
+ * Interface to receive the result of starting a connectionless stylus handwriting session using
+ * one of {@link InputMethodManager#startConnectionlessStylusHandwriting(View, CursorAnchorInfo,
+ * Executor,ConnectionlessHandwritingCallback)}, {@link
+ * InputMethodManager#startConnectionlessStylusHandwritingForDelegation(View, CursorAnchorInfo,
+ * Executor, ConnectionlessHandwritingCallback)}, or {@link
+ * InputMethodManager#startConnectionlessStylusHandwritingForDelegation(View, CursorAnchorInfo,
+ * String, Executor, ConnectionlessHandwritingCallback)}.
+ */
+@FlaggedApi(Flags.FLAG_CONNECTIONLESS_HANDWRITING)
+public interface ConnectionlessHandwritingCallback {
+
+ /** @hide */
+ @IntDef(prefix = {"CONNECTIONLESS_HANDWRITING_ERROR_"}, value = {
+ CONNECTIONLESS_HANDWRITING_ERROR_NO_TEXT_RECOGNIZED,
+ CONNECTIONLESS_HANDWRITING_ERROR_UNSUPPORTED,
+ CONNECTIONLESS_HANDWRITING_ERROR_OTHER
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ @interface ConnectionlessHandwritingError {
+ }
+
+ /**
+ * Error code indicating that the connectionless handwriting session started and completed
+ * but no text was recognized.
+ */
+ int CONNECTIONLESS_HANDWRITING_ERROR_NO_TEXT_RECOGNIZED = 0;
+
+ /**
+ * Error code indicating that the connectionless handwriting session was not started as the
+ * current IME does not support it.
+ */
+ int CONNECTIONLESS_HANDWRITING_ERROR_UNSUPPORTED = 1;
+
+ /**
+ * Error code for any other reason that the connectionless handwriting session did not complete
+ * successfully. Either the session could not start, or the session started but did not complete
+ * successfully.
+ */
+ int CONNECTIONLESS_HANDWRITING_ERROR_OTHER = 2;
+
+ /**
+ * Callback when the connectionless handwriting session completed successfully and
+ * recognized text.
+ */
+ void onResult(@NonNull CharSequence text);
+
+ /** Callback when the connectionless handwriting session did not complete successfully. */
+ void onError(@ConnectionlessHandwritingError int errorCode);
+}
diff --git a/core/java/android/view/inputmethod/IInputMethodManagerGlobalInvoker.java b/core/java/android/view/inputmethod/IInputMethodManagerGlobalInvoker.java
index 89da041..dc5e0e5 100644
--- a/core/java/android/view/inputmethod/IInputMethodManagerGlobalInvoker.java
+++ b/core/java/android/view/inputmethod/IInputMethodManagerGlobalInvoker.java
@@ -34,6 +34,7 @@
import android.window.ImeOnBackInvokedDispatcher;
import com.android.internal.inputmethod.DirectBootAwareness;
+import com.android.internal.inputmethod.IConnectionlessHandwritingCallback;
import com.android.internal.inputmethod.IImeTracker;
import com.android.internal.inputmethod.IInputMethodClient;
import com.android.internal.inputmethod.IRemoteAccessibilityInputConnection;
@@ -492,6 +493,27 @@
}
@AnyThread
+ static boolean startConnectionlessStylusHandwriting(
+ @NonNull IInputMethodClient client,
+ @UserIdInt int userId,
+ @Nullable CursorAnchorInfo cursorAnchorInfo,
+ @Nullable String delegatePackageName,
+ @Nullable String delegatorPackageName,
+ @NonNull IConnectionlessHandwritingCallback callback) {
+ final IInputMethodManager service = getService();
+ if (service == null) {
+ return false;
+ }
+ try {
+ service.startConnectionlessStylusHandwriting(client, userId, cursorAnchorInfo,
+ delegatePackageName, delegatorPackageName, callback);
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ return true;
+ }
+
+ @AnyThread
static void prepareStylusHandwritingDelegation(
@NonNull IInputMethodClient client,
@UserIdInt int userId,
@@ -530,13 +552,14 @@
@AnyThread
@RequiresPermission(value = Manifest.permission.INTERACT_ACROSS_USERS_FULL, conditional = true)
- static boolean isStylusHandwritingAvailableAsUser(@UserIdInt int userId) {
+ static boolean isStylusHandwritingAvailableAsUser(
+ @UserIdInt int userId, boolean connectionless) {
final IInputMethodManager service = getService();
if (service == null) {
return false;
}
try {
- return service.isStylusHandwritingAvailableAsUser(userId);
+ return service.isStylusHandwritingAvailableAsUser(userId, connectionless);
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
diff --git a/core/java/android/view/inputmethod/ImeTracker.java b/core/java/android/view/inputmethod/ImeTracker.java
index 31c0363..74e1d10 100644
--- a/core/java/android/view/inputmethod/ImeTracker.java
+++ b/core/java/android/view/inputmethod/ImeTracker.java
@@ -180,7 +180,8 @@
PHASE_CLIENT_ANIMATION_RUNNING,
PHASE_CLIENT_ANIMATION_CANCEL,
PHASE_CLIENT_ANIMATION_FINISHED_SHOW,
- PHASE_CLIENT_ANIMATION_FINISHED_HIDE
+ PHASE_CLIENT_ANIMATION_FINISHED_HIDE,
+ PHASE_WM_ABORT_SHOW_IME_POST_LAYOUT,
})
@Retention(RetentionPolicy.SOURCE)
@interface Phase {}
@@ -239,7 +240,7 @@
/** Applied the IME visibility. */
int PHASE_SERVER_APPLY_IME_VISIBILITY = ImeProtoEnums.PHASE_SERVER_APPLY_IME_VISIBILITY;
- /** Created the show IME runner. */
+ /** Started the show IME runner. */
int PHASE_WM_SHOW_IME_RUNNER = ImeProtoEnums.PHASE_WM_SHOW_IME_RUNNER;
/** Ready to show IME. */
@@ -318,6 +319,10 @@
/** Finished the IME window insets hide animation. */
int PHASE_CLIENT_ANIMATION_FINISHED_HIDE = ImeProtoEnums.PHASE_CLIENT_ANIMATION_FINISHED_HIDE;
+ /** Aborted the request to show the IME post layout. */
+ int PHASE_WM_ABORT_SHOW_IME_POST_LAYOUT =
+ ImeProtoEnums.PHASE_WM_ABORT_SHOW_IME_POST_LAYOUT;
+
/**
* Creates an IME show request tracking token.
*
diff --git a/core/java/android/view/inputmethod/InputMethod.java b/core/java/android/view/inputmethod/InputMethod.java
index 5b4efd8..33f34c5 100644
--- a/core/java/android/view/inputmethod/InputMethod.java
+++ b/core/java/android/view/inputmethod/InputMethod.java
@@ -32,6 +32,7 @@
import android.view.MotionEvent;
import android.view.View;
+import com.android.internal.inputmethod.IConnectionlessHandwritingCallback;
import com.android.internal.inputmethod.IInlineSuggestionsRequestCallback;
import com.android.internal.inputmethod.IInputMethod;
import com.android.internal.inputmethod.InlineSuggestionsRequestInfo;
@@ -387,10 +388,20 @@
/**
* Checks if IME is ready to start stylus handwriting session.
* If yes, {@link #startStylusHandwriting(int, InputChannel, List)} is called.
- * @param requestId
+ *
+ * @param requestId identifier for the session start request
+ * @param connectionlessCallback the callback to receive the session result if starting a
+ * connectionless handwriting session, or null if starting a regular session
+ * @param cursorAnchorInfo optional positional information about the view receiving stylus
+ * events for a connectionless handwriting session
+ * @param isConnectionlessForDelegation whether the connectionless handwriting session is for
+ * delegation. If true, the recognised text should be saved and can later be committed by
+ * {@link #commitHandwritingDelegationTextIfAvailable}.
* @hide
*/
- default void canStartStylusHandwriting(int requestId) {
+ default void canStartStylusHandwriting(int requestId,
+ @Nullable IConnectionlessHandwritingCallback connectionlessCallback,
+ @Nullable CursorAnchorInfo cursorAnchorInfo, boolean isConnectionlessForDelegation) {
// intentionally empty
}
@@ -413,6 +424,26 @@
}
/**
+ * Commits recognised text that was previously saved from a connectionless handwriting session
+ * for delegation.
+ *
+ * @hide
+ */
+ default void commitHandwritingDelegationTextIfAvailable() {
+ // intentionally empty
+ }
+
+ /**
+ * Discards recognised text that was previously saved from a connectionless handwriting session
+ * for delegation.
+ *
+ * @hide
+ */
+ default void discardHandwritingDelegationText() {
+ // intentionally empty
+ }
+
+ /**
* Initialize Ink window early-on.
* @hide
*/
diff --git a/core/java/android/view/inputmethod/InputMethodInfo.java b/core/java/android/view/inputmethod/InputMethodInfo.java
index b60efc1..7c9678f 100644
--- a/core/java/android/view/inputmethod/InputMethodInfo.java
+++ b/core/java/android/view/inputmethod/InputMethodInfo.java
@@ -204,6 +204,9 @@
*/
private final boolean mSupportsStylusHandwriting;
+ /** The flag whether this IME supports connectionless stylus handwriting sessions. */
+ private final boolean mSupportsConnectionlessStylusHandwriting;
+
/**
* The stylus handwriting setting activity's name, used by the system settings to
* launch the stylus handwriting specific setting activity of this input method.
@@ -330,6 +333,9 @@
com.android.internal.R.styleable.InputMethod_configChanges, 0);
mSupportsStylusHandwriting = sa.getBoolean(
com.android.internal.R.styleable.InputMethod_supportsStylusHandwriting, false);
+ mSupportsConnectionlessStylusHandwriting = sa.getBoolean(
+ com.android.internal.R.styleable
+ .InputMethod_supportsConnectionlessStylusHandwriting, false);
stylusHandwritingSettingsActivity = sa.getString(
com.android.internal.R.styleable.InputMethod_stylusHandwritingSettingsActivity);
sa.recycle();
@@ -442,6 +448,7 @@
mSubtypes = source.mSubtypes;
mHandledConfigChanges = source.mHandledConfigChanges;
mSupportsStylusHandwriting = source.mSupportsStylusHandwriting;
+ mSupportsConnectionlessStylusHandwriting = source.mSupportsConnectionlessStylusHandwriting;
mForceDefault = source.mForceDefault;
mStylusHandwritingSettingsActivityAttr = source.mStylusHandwritingSettingsActivityAttr;
}
@@ -463,6 +470,7 @@
mSubtypes = new InputMethodSubtypeArray(source);
mHandledConfigChanges = source.readInt();
mSupportsStylusHandwriting = source.readBoolean();
+ mSupportsConnectionlessStylusHandwriting = source.readBoolean();
mStylusHandwritingSettingsActivityAttr = source.readString8();
mForceDefault = false;
}
@@ -479,6 +487,7 @@
false /* inlineSuggestionsEnabled */, false /* isVrOnly */,
false /* isVirtualDeviceOnly */, 0 /* handledConfigChanges */,
false /* supportsStylusHandwriting */,
+ false /* supportConnectionlessStylusHandwriting */,
null /* stylusHandwritingSettingsActivityAttr */,
false /* inlineSuggestionsEnabled */);
}
@@ -488,9 +497,11 @@
* @hide
*/
@TestApi
+ @FlaggedApi(Flags.FLAG_CONNECTIONLESS_HANDWRITING)
public InputMethodInfo(@NonNull String packageName, @NonNull String className,
@NonNull CharSequence label, @NonNull String settingsActivity,
@NonNull String languageSettingsActivity, boolean supportStylusHandwriting,
+ boolean supportConnectionlessStylusHandwriting,
@NonNull String stylusHandwritingSettingsActivityAttr) {
this(buildFakeResolveInfo(packageName, className, label), false /* isAuxIme */,
settingsActivity, languageSettingsActivity, null /* subtypes */,
@@ -498,8 +509,8 @@
true /* supportsSwitchingToNextInputMethod */,
false /* inlineSuggestionsEnabled */, false /* isVrOnly */,
false /* isVirtualDeviceOnly */, 0 /* handledConfigChanges */,
- supportStylusHandwriting, stylusHandwritingSettingsActivityAttr,
- false /* inlineSuggestionsEnabled */);
+ supportStylusHandwriting, supportConnectionlessStylusHandwriting,
+ stylusHandwritingSettingsActivityAttr, false /* inlineSuggestionsEnabled */);
}
/**
@@ -517,6 +528,7 @@
false /* inlineSuggestionsEnabled */, false /* isVrOnly */,
false /* isVirtualDeviceOnly */, handledConfigChanges,
false /* supportsStylusHandwriting */,
+ false /* supportConnectionlessStylusHandwriting */,
null /* stylusHandwritingSettingsActivityAttr */,
false /* inlineSuggestionsEnabled */);
}
@@ -533,6 +545,7 @@
true /* supportsSwitchingToNextInputMethod */, false /* inlineSuggestionsEnabled */,
false /* isVrOnly */, false /* isVirtualDeviceOnly */, 0 /* handledconfigChanges */,
false /* supportsStylusHandwriting */,
+ false /* supportConnectionlessStylusHandwriting */,
null /* stylusHandwritingSettingsActivityAttr */,
false /* inlineSuggestionsEnabled */);
}
@@ -549,6 +562,7 @@
supportsSwitchingToNextInputMethod, false /* inlineSuggestionsEnabled */, isVrOnly,
false /* isVirtualDeviceOnly */,
0 /* handledConfigChanges */, false /* supportsStylusHandwriting */,
+ false /* supportConnectionlessStylusHandwriting */,
null /* stylusHandwritingSettingsActivityAttr */,
false /* inlineSuggestionsEnabled */);
}
@@ -562,7 +576,8 @@
int isDefaultResId, boolean forceDefault,
boolean supportsSwitchingToNextInputMethod, boolean inlineSuggestionsEnabled,
boolean isVrOnly, boolean isVirtualDeviceOnly, int handledConfigChanges,
- boolean supportsStylusHandwriting, String stylusHandwritingSettingsActivityAttr,
+ boolean supportsStylusHandwriting, boolean supportsConnectionlessStylusHandwriting,
+ String stylusHandwritingSettingsActivityAttr,
boolean supportsInlineSuggestionsWithTouchExploration) {
final ServiceInfo si = ri.serviceInfo;
mService = ri;
@@ -583,6 +598,7 @@
mIsVirtualDeviceOnly = isVirtualDeviceOnly;
mHandledConfigChanges = handledConfigChanges;
mSupportsStylusHandwriting = supportsStylusHandwriting;
+ mSupportsConnectionlessStylusHandwriting = supportsConnectionlessStylusHandwriting;
mStylusHandwritingSettingsActivityAttr = stylusHandwritingSettingsActivityAttr;
}
@@ -763,6 +779,16 @@
}
/**
+ * Returns whether the IME supports connectionless stylus handwriting sessions.
+ *
+ * @attr ref android.R.styleable#InputMethod_supportsConnectionlessStylusHandwriting
+ */
+ @FlaggedApi(Flags.FLAG_CONNECTIONLESS_HANDWRITING)
+ public boolean supportsConnectionlessStylusHandwriting() {
+ return mSupportsConnectionlessStylusHandwriting;
+ }
+
+ /**
* Returns {@link Intent} for stylus handwriting settings activity with
* {@link Intent#getAction() Intent action} {@link #ACTION_STYLUS_HANDWRITING_SETTINGS}
* if IME {@link #supportsStylusHandwriting() supports stylus handwriting}, else
@@ -828,6 +854,8 @@
+ " mSuppressesSpellChecker=" + mSuppressesSpellChecker
+ " mShowInInputMethodPicker=" + mShowInInputMethodPicker
+ " mSupportsStylusHandwriting=" + mSupportsStylusHandwriting
+ + " mSupportsConnectionlessStylusHandwriting="
+ + mSupportsConnectionlessStylusHandwriting
+ " mStylusHandwritingSettingsActivityAttr="
+ mStylusHandwritingSettingsActivityAttr);
pw.println(prefix + "mIsDefaultResId=0x"
@@ -947,6 +975,7 @@
mSubtypes.writeToParcel(dest);
dest.writeInt(mHandledConfigChanges);
dest.writeBoolean(mSupportsStylusHandwriting);
+ dest.writeBoolean(mSupportsConnectionlessStylusHandwriting);
dest.writeString8(mStylusHandwritingSettingsActivityAttr);
}
diff --git a/core/java/android/view/inputmethod/InputMethodManager.java b/core/java/android/view/inputmethod/InputMethodManager.java
index 3b07f27..f4b09df 100644
--- a/core/java/android/view/inputmethod/InputMethodManager.java
+++ b/core/java/android/view/inputmethod/InputMethodManager.java
@@ -38,6 +38,7 @@
import static com.android.internal.inputmethod.StartInputReason.BOUND_TO_IMMS;
import android.Manifest;
+import android.annotation.CallbackExecutor;
import android.annotation.DisplayContext;
import android.annotation.DrawableRes;
import android.annotation.DurationMillisLong;
@@ -108,6 +109,7 @@
import com.android.internal.annotations.GuardedBy;
import com.android.internal.inputmethod.DirectBootAwareness;
+import com.android.internal.inputmethod.IConnectionlessHandwritingCallback;
import com.android.internal.inputmethod.IInputMethodClient;
import com.android.internal.inputmethod.IInputMethodSession;
import com.android.internal.inputmethod.IRemoteAccessibilityInputConnection;
@@ -134,6 +136,7 @@
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.Executor;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.function.Consumer;
@@ -566,8 +569,15 @@
@GuardedBy("mH")
private PropertyInvalidatedCache<Integer, Boolean> mStylusHandwritingAvailableCache;
+ /** Cached value for {@link #isConnectionlessStylusHandwritingAvailable} for userId. */
+ @GuardedBy("mH")
+ private PropertyInvalidatedCache<Integer, Boolean>
+ mConnectionlessStylusHandwritingAvailableCache;
+
private static final String CACHE_KEY_STYLUS_HANDWRITING_PROPERTY =
"cache_key.system_server.stylus_handwriting";
+ private static final String CACHE_KEY_CONNECTIONLESS_STYLUS_HANDWRITING_PROPERTY =
+ "cache_key.system_server.connectionless_stylus_handwriting";
@GuardedBy("mH")
private int mCursorSelStart;
@@ -691,6 +701,17 @@
PropertyInvalidatedCache.invalidateCache(CACHE_KEY_STYLUS_HANDWRITING_PROPERTY);
}
+ /**
+ * Calling this will invalidate the local connectionless stylus handwriting availability cache,
+ * which forces the next query in any process to recompute the cache.
+ *
+ * @hide
+ */
+ public static void invalidateLocalConnectionlessStylusHandwritingAvailabilityCaches() {
+ PropertyInvalidatedCache.invalidateCache(
+ CACHE_KEY_CONNECTIONLESS_STYLUS_HANDWRITING_PROPERTY);
+ }
+
private static boolean isAutofillUIShowing(View servedView) {
AutofillManager afm = servedView.getContext().getSystemService(AutofillManager.class);
return afm != null && afm.isAutofillUiShowing();
@@ -1584,7 +1605,7 @@
@Override
public Boolean recompute(Integer userId) {
return IInputMethodManagerGlobalInvoker.isStylusHandwritingAvailableAsUser(
- userId);
+ userId, /* connectionless= */ false);
}
};
}
@@ -1594,6 +1615,30 @@
}
/**
+ * Returns {@code true} if the currently selected IME supports connectionless stylus handwriting
+ * sessions and is enabled.
+ */
+ @FlaggedApi(Flags.FLAG_CONNECTIONLESS_HANDWRITING)
+ public boolean isConnectionlessStylusHandwritingAvailable() {
+ if (ActivityThread.currentApplication() == null) {
+ return false;
+ }
+ synchronized (mH) {
+ if (mConnectionlessStylusHandwritingAvailableCache == null) {
+ mConnectionlessStylusHandwritingAvailableCache = new PropertyInvalidatedCache<>(
+ /* maxEntries= */ 4, CACHE_KEY_CONNECTIONLESS_STYLUS_HANDWRITING_PROPERTY) {
+ @Override
+ public Boolean recompute(@NonNull Integer userId) {
+ return IInputMethodManagerGlobalInvoker.isStylusHandwritingAvailableAsUser(
+ userId, /* connectionless= */ true);
+ }
+ };
+ }
+ return mConnectionlessStylusHandwritingAvailableCache.query(UserHandle.myUserId());
+ }
+ }
+
+ /**
* Returns the list of installed input methods for the specified user.
*
* <p>{@link Manifest.permission#INTERACT_ACROSS_USERS_FULL} is required when and only when
@@ -2433,6 +2478,127 @@
}
/**
+ * Starts a connectionless stylus handwriting session. A connectionless session differs from a
+ * regular stylus handwriting session in that the IME does not use an input connection to
+ * communicate with a text editor. Instead, the IME directly returns recognised handwritten text
+ * via a callback.
+ *
+ * <p>The {code cursorAnchorInfo} may be used by the IME to improve the handwriting recognition
+ * accuracy and user experience of the handwriting session. Usually connectionless handwriting
+ * is used for a view which appears like a text editor but does not really support text editing.
+ * For best results, the {code cursorAnchorInfo} should be populated as it would be for a real
+ * text editor (for example, the insertion marker location can be set to where the user would
+ * expect it to be, even if there is no visible cursor).
+ *
+ * @param view the view receiving stylus events
+ * @param cursorAnchorInfo positional information about the view receiving stylus events
+ * @param callbackExecutor the executor to run the callback on
+ * @param callback the callback to receive the result
+ */
+ @FlaggedApi(Flags.FLAG_CONNECTIONLESS_HANDWRITING)
+ public void startConnectionlessStylusHandwriting(@NonNull View view,
+ @Nullable CursorAnchorInfo cursorAnchorInfo,
+ @NonNull @CallbackExecutor Executor callbackExecutor,
+ @NonNull ConnectionlessHandwritingCallback callback) {
+ startConnectionlessStylusHandwritingInternal(
+ view, cursorAnchorInfo, null, null, callbackExecutor, callback);
+ }
+
+ /**
+ * Starts a connectionless stylus handwriting session (see {@link
+ * #startConnectionlessStylusHandwriting}) and additionally enables the recognised handwritten
+ * text to be later committed to a text editor using {@link
+ * #acceptStylusHandwritingDelegation(View)}.
+ *
+ * <p>After a connectionless session started using this method completes successfully, a text
+ * editor view, called the delegate view, may call {@link
+ * #acceptStylusHandwritingDelegation(View)} which will request the IME to commit the recognised
+ * handwritten text from the connectionless session to the delegate view.
+ *
+ * <p>The delegate view must belong to the same package as the delegator view for the delegation
+ * to succeed. If the delegate view belongs to a different package, use {@link
+ * #startConnectionlessStylusHandwritingForDelegation(View, CursorAnchorInfo, String, Executor,
+ * ConnectionlessHandwritingCallback)} instead.
+ *
+ * @param delegatorView the view receiving stylus events
+ * @param cursorAnchorInfo positional information about the view receiving stylus events
+ * @param callbackExecutor the executor to run the callback on
+ * @param callback the callback to receive the result
+ */
+ @FlaggedApi(Flags.FLAG_CONNECTIONLESS_HANDWRITING)
+ public void startConnectionlessStylusHandwritingForDelegation(@NonNull View delegatorView,
+ @Nullable CursorAnchorInfo cursorAnchorInfo,
+ @NonNull @CallbackExecutor Executor callbackExecutor,
+ @NonNull ConnectionlessHandwritingCallback callback) {
+ String delegatorPackageName = delegatorView.getContext().getOpPackageName();
+ startConnectionlessStylusHandwritingInternal(delegatorView, cursorAnchorInfo,
+ delegatorPackageName, delegatorPackageName, callbackExecutor, callback);
+ }
+
+ /**
+ * Starts a connectionless stylus handwriting session (see {@link
+ * #startConnectionlessStylusHandwriting}) and additionally enables the recognised handwritten
+ * text to be later committed to a text editor using {@link
+ * #acceptStylusHandwritingDelegation(View, String)}.
+ *
+ * <p>After a connectionless session started using this method completes successfully, a text
+ * editor view, called the delegate view, may call {@link
+ * #acceptStylusHandwritingDelegation(View, String)} which will request the IME to commit the
+ * recognised handwritten text from the connectionless session to the delegate view.
+ *
+ * <p>The delegate view must belong to {@code delegatePackageName} for the delegation to
+ * succeed.
+ *
+ * @param delegatorView the view receiving stylus events
+ * @param cursorAnchorInfo positional information about the view receiving stylus events
+ * @param delegatePackageName name of the package containing the delegate view which will accept
+ * the delegation
+ * @param callbackExecutor the executor to run the callback on
+ * @param callback the callback to receive the result
+ */
+ @FlaggedApi(Flags.FLAG_CONNECTIONLESS_HANDWRITING)
+ public void startConnectionlessStylusHandwritingForDelegation(@NonNull View delegatorView,
+ @Nullable CursorAnchorInfo cursorAnchorInfo,
+ @NonNull String delegatePackageName,
+ @NonNull @CallbackExecutor Executor callbackExecutor,
+ @NonNull ConnectionlessHandwritingCallback callback) {
+ Objects.requireNonNull(delegatePackageName);
+ String delegatorPackageName = delegatorView.getContext().getOpPackageName();
+ startConnectionlessStylusHandwritingInternal(delegatorView, cursorAnchorInfo,
+ delegatorPackageName, delegatePackageName, callbackExecutor, callback);
+ }
+
+ private void startConnectionlessStylusHandwritingInternal(@NonNull View view,
+ @Nullable CursorAnchorInfo cursorAnchorInfo,
+ @Nullable String delegatorPackageName,
+ @Nullable String delegatePackageName,
+ @NonNull @CallbackExecutor Executor callbackExecutor,
+ @NonNull ConnectionlessHandwritingCallback callback) {
+ Objects.requireNonNull(view);
+ Objects.requireNonNull(callbackExecutor);
+ Objects.requireNonNull(callback);
+ // Re-dispatch if there is a context mismatch.
+ final InputMethodManager fallbackImm = getFallbackInputMethodManagerIfNecessary(view);
+ if (fallbackImm != null) {
+ fallbackImm.startConnectionlessStylusHandwritingInternal(view, cursorAnchorInfo,
+ delegatorPackageName, delegatePackageName, callbackExecutor, callback);
+ }
+
+ checkFocus();
+ synchronized (mH) {
+ if (view.getViewRootImpl() != mCurRootView) {
+ Log.w(TAG, "Ignoring startConnectionlessStylusHandwriting: "
+ + "View's window does not have focus.");
+ return;
+ }
+ IInputMethodManagerGlobalInvoker.startConnectionlessStylusHandwriting(
+ mClient, UserHandle.myUserId(), cursorAnchorInfo,
+ delegatePackageName, delegatorPackageName,
+ new ConnectionlessHandwritingCallbackProxy(callbackExecutor, callback));
+ }
+ }
+
+ /**
* Prepares delegation of starting stylus handwriting session to a different editor in same
* or different window than the view on which initial handwriting stroke was detected.
*
@@ -2511,12 +2677,18 @@
* {@link #acceptStylusHandwritingDelegation(View, String)} instead.</p>
*
* @param delegateView delegate view capable of receiving input via {@link InputConnection}
- * on which {@link #startStylusHandwriting(View)} will be called.
* @return {@code true} if view belongs to same application package as used in
- * {@link #prepareStylusHandwritingDelegation(View)} and handwriting session can start.
- * @see #acceptStylusHandwritingDelegation(View, String)
+ * {@link #prepareStylusHandwritingDelegation(View)} and delegation is accepted
* @see #prepareStylusHandwritingDelegation(View)
+ * @see #acceptStylusHandwritingDelegation(View, String)
*/
+ // TODO(b/300979854): Once connectionless APIs are finalised, update documentation to add:
+ // <p>Otherwise, if the delegator view previously started delegation using {@link
+ // #startConnectionlessStylusHandwritingForDelegation(View, ResultReceiver, CursorAnchorInfo)},
+ // requests the IME to commit the recognised handwritten text from the connectionless session to
+ // the delegate view.
+ // @see #startConnectionlessStylusHandwritingForDelegation(View, ResultReceiver,
+ // CursorAnchorInfo)
public boolean acceptStylusHandwritingDelegation(@NonNull View delegateView) {
return startStylusHandwritingInternal(
delegateView, delegateView.getContext().getOpPackageName(),
@@ -2533,13 +2705,19 @@
* {@link #acceptStylusHandwritingDelegation(View)} instead.</p>
*
* @param delegateView delegate view capable of receiving input via {@link InputConnection}
- * on which {@link #startStylusHandwriting(View)} will be called.
* @param delegatorPackageName package name of the delegator that handled initial stylus stroke.
- * @return {@code true} if view belongs to allowed delegate package declared in
- * {@link #prepareStylusHandwritingDelegation(View, String)} and handwriting session can start.
+ * @return {@code true} if view belongs to allowed delegate package declared in {@link
+ * #prepareStylusHandwritingDelegation(View, String)} and delegation is accepted
* @see #prepareStylusHandwritingDelegation(View, String)
* @see #acceptStylusHandwritingDelegation(View)
*/
+ // TODO(b/300979854): Once connectionless APIs are finalised, update documentation to add:
+ // <p>Otherwise, if the delegator view previously started delegation using {@link
+ // #startConnectionlessStylusHandwritingForDelegation(View, ResultReceiver, CursorAnchorInfo,
+ // String)}, requests the IME to commit the recognised handwritten text from the connectionless
+ // session to the delegate view.
+ // @see #startConnectionlessStylusHandwritingForDelegation(View, ResultReceiver,
+ // CursorAnchorInfo, String)
public boolean acceptStylusHandwritingDelegation(
@NonNull View delegateView, @NonNull String delegatorPackageName) {
Objects.requireNonNull(delegatorPackageName);
@@ -2556,15 +2734,21 @@
* <p>Note: If delegator and delegate are in the same application package, use {@link
* #acceptStylusHandwritingDelegation(View)} instead.
*
- * @param delegateView delegate view capable of receiving input via {@link InputConnection} on
- * which {@link #startStylusHandwriting(View)} will be called.
+ * @param delegateView delegate view capable of receiving input via {@link InputConnection}
* @param delegatorPackageName package name of the delegator that handled initial stylus stroke.
* @param flags {@link #HANDWRITING_DELEGATE_FLAG_HOME_DELEGATOR_ALLOWED} or {@code 0}
* @return {@code true} if view belongs to allowed delegate package declared in {@link
- * #prepareStylusHandwritingDelegation(View, String)} and handwriting session can start.
+ * #prepareStylusHandwritingDelegation(View, String)} and delegation is accepted
* @see #prepareStylusHandwritingDelegation(View, String)
* @see #acceptStylusHandwritingDelegation(View)
*/
+ // TODO(b/300979854): Once connectionless APIs are finalised, update documentation to add:
+ // <p>Otherwise, if the delegator view previously started delegation using {@link
+ // #startConnectionlessStylusHandwritingForDelegation(View, ResultReceiver, CursorAnchorInfo,
+ // String)}, requests the IME to commit the recognised handwritten text from the connectionless
+ // session to the delegate view.
+ // @see #startConnectionlessStylusHandwritingForDelegation(View, ResultReceiver,
+ // CursorAnchorInfo, String)
@FlaggedApi(FLAG_HOME_SCREEN_HANDWRITING_DELEGATOR)
public boolean acceptStylusHandwritingDelegation(
@NonNull View delegateView, @NonNull String delegatorPackageName,
@@ -4315,6 +4499,73 @@
public void onFinishedInputEvent(Object token, boolean handled);
}
+ private static class ConnectionlessHandwritingCallbackProxy
+ extends IConnectionlessHandwritingCallback.Stub {
+ private final Object mLock = new Object();
+
+ @Nullable
+ @GuardedBy("mLock")
+ private Executor mExecutor;
+
+ @Nullable
+ @GuardedBy("mLock")
+ private ConnectionlessHandwritingCallback mCallback;
+
+ ConnectionlessHandwritingCallbackProxy(
+ @NonNull Executor executor, @NonNull ConnectionlessHandwritingCallback callback) {
+ mExecutor = executor;
+ mCallback = callback;
+ }
+
+ @Override
+ public void onResult(CharSequence text) {
+ Executor executor;
+ ConnectionlessHandwritingCallback callback;
+ synchronized (mLock) {
+ if (mExecutor == null || mCallback == null) {
+ return;
+ }
+ executor = mExecutor;
+ callback = mCallback;
+ mExecutor = null;
+ mCallback = null;
+ }
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ if (TextUtils.isEmpty(text)) {
+ executor.execute(() -> callback.onError(
+ ConnectionlessHandwritingCallback
+ .CONNECTIONLESS_HANDWRITING_ERROR_NO_TEXT_RECOGNIZED));
+ } else {
+ executor.execute(() -> callback.onResult(text));
+ }
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
+ }
+
+ @Override
+ public void onError(int errorCode) {
+ Executor executor;
+ ConnectionlessHandwritingCallback callback;
+ synchronized (mLock) {
+ if (mExecutor == null || mCallback == null) {
+ return;
+ }
+ executor = mExecutor;
+ callback = mCallback;
+ mExecutor = null;
+ mCallback = null;
+ }
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ executor.execute(() -> callback.onError(errorCode));
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
+ }
+ }
+
private final class ImeInputEventSender extends InputEventSender {
public ImeInputEventSender(InputChannel inputChannel, Looper looper) {
super(inputChannel, looper);
diff --git a/core/java/android/view/textclassifier/TextClassificationConstants.java b/core/java/android/view/textclassifier/TextClassificationConstants.java
index 5f3159c..d0ed8ee 100644
--- a/core/java/android/view/textclassifier/TextClassificationConstants.java
+++ b/core/java/android/view/textclassifier/TextClassificationConstants.java
@@ -22,6 +22,8 @@
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.util.IndentingPrintWriter;
+import java.util.Optional;
+
/**
* TextClassifier specific settings.
*
@@ -36,43 +38,35 @@
*/
// TODO: Rename to TextClassifierSettings.
public final class TextClassificationConstants {
- /**
- * Whether the smart linkify feature is enabled.
- */
+ /** Whether the smart linkify feature is enabled. */
private static final String SMART_LINKIFY_ENABLED = "smart_linkify_enabled";
- /**
- * Whether SystemTextClassifier is enabled.
- */
+
+ /** Whether SystemTextClassifier is enabled. */
static final String SYSTEM_TEXT_CLASSIFIER_ENABLED = "system_textclassifier_enabled";
- /**
- * Whether TextClassifierImpl is enabled.
- */
+
+ /** Whether TextClassifierImpl is enabled. */
@VisibleForTesting
static final String LOCAL_TEXT_CLASSIFIER_ENABLED = "local_textclassifier_enabled";
- /**
- * Enable smart selection without a visible UI changes.
- */
+
+ /** Enable smart selection without a visible UI changes. */
private static final String MODEL_DARK_LAUNCH_ENABLED = "model_dark_launch_enabled";
- /**
- * Whether the smart selection feature is enabled.
- */
+
+ /** Whether the smart selection feature is enabled. */
private static final String SMART_SELECTION_ENABLED = "smart_selection_enabled";
- /**
- * Whether the smart text share feature is enabled.
- */
+
+ /** Whether the smart text share feature is enabled. */
private static final String SMART_TEXT_SHARE_ENABLED = "smart_text_share_enabled";
- /**
- * Whether animation for smart selection is enabled.
- */
- private static final String SMART_SELECT_ANIMATION_ENABLED =
- "smart_select_animation_enabled";
- /**
- * Max length of text that generateLinks can accept.
- */
+
+ /** Whether animation for smart selection is enabled. */
+ private static final String SMART_SELECT_ANIMATION_ENABLED = "smart_select_animation_enabled";
+
+ /** Max length of text that generateLinks can accept. */
@VisibleForTesting
static final String GENERATE_LINKS_MAX_TEXT_LENGTH = "generate_links_max_text_length";
+
/**
* The TextClassifierService which would like to use. Example of setting the package:
+ *
* <pre>
* adb shell cmd device_config put textclassifier textclassifier_service_package_override \
* com.android.textclassifier
@@ -83,8 +77,8 @@
"textclassifier_service_package_override";
/**
- * The timeout value in seconds used by {@link SystemTextClassifier} for each TextClassifier
- * API calls.
+ * The timeout value in seconds used by {@link SystemTextClassifier} for each TextClassifier API
+ * calls.
*/
@VisibleForTesting
static final String SYSTEM_TEXT_CLASSIFIER_API_TIMEOUT_IN_SECOND =
@@ -109,64 +103,144 @@
private static final long SYSTEM_TEXT_CLASSIFIER_API_TIMEOUT_IN_SECOND_DEFAULT = 60;
private static final int SMART_SELECTION_TRIM_DELTA_DEFAULT = 120;
+ private static final Object sLock = new Object();
+ private static volatile boolean sMemoizedValuesInitialized;
+ private static boolean sLocalTextClassifierEnabled;
+ private static boolean sSystemTextClassifierEnabled;
+ private static boolean sModelDarkLaunchEnabled;
+ private static boolean sSmartSelectionEnabled;
+ private static boolean sSmartTextShareEnabled;
+ private static boolean sSmartLinkifyEnabled;
+ private static boolean sSmartSelectAnimationEnabled;
+ private static int sGenerateLinksMaxTextLength;
+ private static long sSystemTextClassifierApiTimeoutInSecond;
+ private static int sSmartSelectionTrimDelta;
+
+ /**
+ * For DeviceConfig values where we don't care if they change at runtime, fetch them once and
+ * memoize their values.
+ */
+ private static void ensureMemoizedValues() {
+ if (sMemoizedValuesInitialized) {
+ return;
+ }
+ synchronized (sLock) {
+ if (sMemoizedValuesInitialized) {
+ return;
+ }
+
+ // Read all namespace properties so we get a single snapshot (values
+ // fetched aren't updated in the interim).
+ DeviceConfig.Properties properties =
+ DeviceConfig.getProperties(DeviceConfig.NAMESPACE_TEXTCLASSIFIER);
+ sLocalTextClassifierEnabled =
+ properties.getBoolean(
+ LOCAL_TEXT_CLASSIFIER_ENABLED,
+ LOCAL_TEXT_CLASSIFIER_ENABLED_DEFAULT);
+ sSystemTextClassifierEnabled =
+ properties.getBoolean(
+ SYSTEM_TEXT_CLASSIFIER_ENABLED,
+ SYSTEM_TEXT_CLASSIFIER_ENABLED_DEFAULT);
+ sModelDarkLaunchEnabled =
+ properties.getBoolean(
+ MODEL_DARK_LAUNCH_ENABLED,
+ MODEL_DARK_LAUNCH_ENABLED_DEFAULT);
+ sSmartSelectionEnabled =
+ properties.getBoolean(
+ SMART_SELECTION_ENABLED,
+ SMART_SELECTION_ENABLED_DEFAULT);
+ sSmartTextShareEnabled =
+ properties.getBoolean(
+ SMART_TEXT_SHARE_ENABLED,
+ SMART_TEXT_SHARE_ENABLED_DEFAULT);
+ sSmartLinkifyEnabled =
+ properties.getBoolean(
+ SMART_LINKIFY_ENABLED,
+ SMART_LINKIFY_ENABLED_DEFAULT);
+ sSmartSelectAnimationEnabled =
+ properties.getBoolean(
+ SMART_SELECT_ANIMATION_ENABLED,
+ SMART_SELECT_ANIMATION_ENABLED_DEFAULT);
+ sGenerateLinksMaxTextLength =
+ properties.getInt(
+ GENERATE_LINKS_MAX_TEXT_LENGTH,
+ GENERATE_LINKS_MAX_TEXT_LENGTH_DEFAULT);
+ sSystemTextClassifierApiTimeoutInSecond =
+ properties.getLong(
+ SYSTEM_TEXT_CLASSIFIER_API_TIMEOUT_IN_SECOND,
+ SYSTEM_TEXT_CLASSIFIER_API_TIMEOUT_IN_SECOND_DEFAULT);
+ sSmartSelectionTrimDelta =
+ properties.getInt(
+ SMART_SELECTION_TRIM_DELTA,
+ SMART_SELECTION_TRIM_DELTA_DEFAULT);
+
+ sMemoizedValuesInitialized = true;
+ }
+ }
+
+ @VisibleForTesting
+ public static void resetMemoizedValues() {
+ sMemoizedValuesInitialized = false;
+ }
+
@Nullable
public String getTextClassifierServicePackageOverride() {
- return DeviceConfig.getString(DeviceConfig.NAMESPACE_TEXTCLASSIFIER,
+ // Don't memoize this value because we want to be able to receive config
+ // updates at runtime.
+ return DeviceConfig.getString(
+ DeviceConfig.NAMESPACE_TEXTCLASSIFIER,
TEXT_CLASSIFIER_SERVICE_PACKAGE_OVERRIDE,
DEFAULT_TEXT_CLASSIFIER_SERVICE_PACKAGE_OVERRIDE);
}
public boolean isLocalTextClassifierEnabled() {
- return DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_TEXTCLASSIFIER,
- LOCAL_TEXT_CLASSIFIER_ENABLED, LOCAL_TEXT_CLASSIFIER_ENABLED_DEFAULT);
+ ensureMemoizedValues();
+ return sLocalTextClassifierEnabled;
}
public boolean isSystemTextClassifierEnabled() {
- return DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_TEXTCLASSIFIER,
- SYSTEM_TEXT_CLASSIFIER_ENABLED,
- SYSTEM_TEXT_CLASSIFIER_ENABLED_DEFAULT);
+ ensureMemoizedValues();
+ return sSystemTextClassifierEnabled;
}
public boolean isModelDarkLaunchEnabled() {
- return DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_TEXTCLASSIFIER,
- MODEL_DARK_LAUNCH_ENABLED, MODEL_DARK_LAUNCH_ENABLED_DEFAULT);
+ ensureMemoizedValues();
+ return sModelDarkLaunchEnabled;
}
public boolean isSmartSelectionEnabled() {
- return DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_TEXTCLASSIFIER,
- SMART_SELECTION_ENABLED, SMART_SELECTION_ENABLED_DEFAULT);
+ ensureMemoizedValues();
+ return sSmartSelectionEnabled;
}
public boolean isSmartTextShareEnabled() {
- return DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_TEXTCLASSIFIER,
- SMART_TEXT_SHARE_ENABLED, SMART_TEXT_SHARE_ENABLED_DEFAULT);
+ ensureMemoizedValues();
+ return sSmartTextShareEnabled;
}
public boolean isSmartLinkifyEnabled() {
- return DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_TEXTCLASSIFIER, SMART_LINKIFY_ENABLED,
- SMART_LINKIFY_ENABLED_DEFAULT);
+ ensureMemoizedValues();
+ return sSmartLinkifyEnabled;
}
public boolean isSmartSelectionAnimationEnabled() {
- return DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_TEXTCLASSIFIER,
- SMART_SELECT_ANIMATION_ENABLED, SMART_SELECT_ANIMATION_ENABLED_DEFAULT);
+ ensureMemoizedValues();
+ return sSmartSelectAnimationEnabled;
}
public int getGenerateLinksMaxTextLength() {
- return DeviceConfig.getInt(DeviceConfig.NAMESPACE_TEXTCLASSIFIER,
- GENERATE_LINKS_MAX_TEXT_LENGTH, GENERATE_LINKS_MAX_TEXT_LENGTH_DEFAULT);
+ ensureMemoizedValues();
+ return sGenerateLinksMaxTextLength;
}
public long getSystemTextClassifierApiTimeoutInSecond() {
- return DeviceConfig.getLong(DeviceConfig.NAMESPACE_TEXTCLASSIFIER,
- SYSTEM_TEXT_CLASSIFIER_API_TIMEOUT_IN_SECOND,
- SYSTEM_TEXT_CLASSIFIER_API_TIMEOUT_IN_SECOND_DEFAULT);
+ ensureMemoizedValues();
+ return sSystemTextClassifierApiTimeoutInSecond;
}
public int getSmartSelectionTrimDelta() {
- return DeviceConfig.getInt(DeviceConfig.NAMESPACE_TEXTCLASSIFIER,
- SMART_SELECTION_TRIM_DELTA,
- SMART_SELECTION_TRIM_DELTA_DEFAULT);
+ ensureMemoizedValues();
+ return sSmartSelectionTrimDelta;
}
void dump(IndentingPrintWriter pw) {
@@ -180,11 +254,15 @@
pw.print(SMART_SELECTION_ENABLED, isSmartSelectionEnabled()).println();
pw.print(SMART_TEXT_SHARE_ENABLED, isSmartTextShareEnabled()).println();
pw.print(SYSTEM_TEXT_CLASSIFIER_ENABLED, isSystemTextClassifierEnabled()).println();
- pw.print(TEXT_CLASSIFIER_SERVICE_PACKAGE_OVERRIDE,
- getTextClassifierServicePackageOverride()).println();
- pw.print(SYSTEM_TEXT_CLASSIFIER_API_TIMEOUT_IN_SECOND,
- getSystemTextClassifierApiTimeoutInSecond()).println();
+ pw.print(
+ TEXT_CLASSIFIER_SERVICE_PACKAGE_OVERRIDE,
+ getTextClassifierServicePackageOverride())
+ .println();
+ pw.print(
+ SYSTEM_TEXT_CLASSIFIER_API_TIMEOUT_IN_SECOND,
+ getSystemTextClassifierApiTimeoutInSecond())
+ .println();
pw.print(SMART_SELECTION_TRIM_DELTA, getSmartSelectionTrimDelta()).println();
pw.decreaseIndent();
}
-}
\ No newline at end of file
+}
diff --git a/core/java/android/webkit/IWebViewUpdateService.aidl b/core/java/android/webkit/IWebViewUpdateService.aidl
index c6bd20c..aeb746c 100644
--- a/core/java/android/webkit/IWebViewUpdateService.aidl
+++ b/core/java/android/webkit/IWebViewUpdateService.aidl
@@ -45,6 +45,7 @@
* it would then try to update the provider to such a package while in reality the update
* service would switch to another one.
*/
+ @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS)")
String changeProviderAndSetting(String newProvider);
/**
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index f5b81b02..f336b5d 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -3087,14 +3087,22 @@
return webviewPackage;
}
- IWebViewUpdateService service = WebViewFactory.getUpdateService();
- if (service == null) {
- return null;
- }
- try {
- return service.getCurrentWebViewPackage();
- } catch (RemoteException e) {
- throw e.rethrowFromSystemServer();
+ if (Flags.updateServiceIpcWrapper()) {
+ WebViewUpdateManager manager = WebViewUpdateManager.getInstance();
+ if (manager == null) {
+ return null;
+ }
+ return manager.getCurrentWebViewPackage();
+ } else {
+ IWebViewUpdateService service = WebViewFactory.getUpdateService();
+ if (service == null) {
+ return null;
+ }
+ try {
+ return service.getCurrentWebViewPackage();
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
}
}
diff --git a/core/java/android/webkit/WebViewBootstrapFrameworkInitializer.java b/core/java/android/webkit/WebViewBootstrapFrameworkInitializer.java
new file mode 100644
index 0000000..9b15ab3
--- /dev/null
+++ b/core/java/android/webkit/WebViewBootstrapFrameworkInitializer.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package android.webkit;
+
+import android.annotation.FlaggedApi;
+import android.annotation.SystemApi;
+import android.app.SystemServiceRegistry;
+import android.content.Context;
+
+/**
+ * Class for performing registration for webviewupdate service.
+ *
+ * @hide
+ */
+@FlaggedApi(Flags.FLAG_UPDATE_SERVICE_IPC_WRAPPER)
+@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
+public class WebViewBootstrapFrameworkInitializer {
+ private WebViewBootstrapFrameworkInitializer() {}
+
+ /**
+ * Called by {@link SystemServiceRegistry}'s static initializer and registers webviewupdate
+ * service to {@link Context}, so that {@link Context#getSystemService} can return them.
+ *
+ * @throws IllegalStateException if this is called from anywhere besides
+ * {@link SystemServiceRegistry}
+ */
+ public static void registerServiceWrappers() {
+ SystemServiceRegistry.registerForeverStaticService(Context.WEBVIEW_UPDATE_SERVICE,
+ WebViewUpdateManager.class,
+ (b) -> new WebViewUpdateManager(IWebViewUpdateService.Stub.asInterface(b)));
+ }
+}
diff --git a/core/java/android/webkit/WebViewDelegate.java b/core/java/android/webkit/WebViewDelegate.java
index 8e89541..3fc0a30 100644
--- a/core/java/android/webkit/WebViewDelegate.java
+++ b/core/java/android/webkit/WebViewDelegate.java
@@ -16,8 +16,6 @@
package android.webkit;
-import static android.webkit.Flags.updateServiceV2;
-
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SystemApi;
@@ -207,7 +205,12 @@
* Returns whether WebView should run in multiprocess mode.
*/
public boolean isMultiProcessEnabled() {
- if (updateServiceV2()) {
+ if (Flags.updateServiceV2()) {
+ return true;
+ } else if (Flags.updateServiceIpcWrapper()) {
+ // We don't want to support this method in the new wrapper because updateServiceV2 is
+ // intended to ship in the same release (or sooner). It's only possible to disable it
+ // with an obscure adb command, so just return true here too.
return true;
}
try {
diff --git a/core/java/android/webkit/WebViewFactory.java b/core/java/android/webkit/WebViewFactory.java
index 53b047a..c748a57 100644
--- a/core/java/android/webkit/WebViewFactory.java
+++ b/core/java/android/webkit/WebViewFactory.java
@@ -285,10 +285,16 @@
return LIBLOAD_WRONG_PACKAGE_NAME;
}
+ Application initialApplication = AppGlobals.getInitialApplication();
WebViewProviderResponse response = null;
try {
- response = getUpdateService().waitForAndGetProvider();
- } catch (RemoteException e) {
+ if (Flags.updateServiceIpcWrapper()) {
+ response = initialApplication.getSystemService(WebViewUpdateManager.class)
+ .waitForAndGetProvider();
+ } else {
+ response = getUpdateService().waitForAndGetProvider();
+ }
+ } catch (Exception e) {
Log.e(LOGTAG, "error waiting for relro creation", e);
return LIBLOAD_FAILED_WAITING_FOR_WEBVIEW_REASON_UNKNOWN;
}
@@ -302,7 +308,7 @@
return LIBLOAD_WRONG_PACKAGE_NAME;
}
- PackageManager packageManager = AppGlobals.getInitialApplication().getPackageManager();
+ PackageManager packageManager = initialApplication.getPackageManager();
String libraryFileName;
try {
PackageInfo packageInfo = packageManager.getPackageInfo(packageName,
@@ -436,7 +442,12 @@
Trace.traceBegin(Trace.TRACE_TAG_WEBVIEW,
"WebViewUpdateService.waitForAndGetProvider()");
try {
- response = getUpdateService().waitForAndGetProvider();
+ if (Flags.updateServiceIpcWrapper()) {
+ response = initialApplication.getSystemService(WebViewUpdateManager.class)
+ .waitForAndGetProvider();
+ } else {
+ response = getUpdateService().waitForAndGetProvider();
+ }
} finally {
Trace.traceEnd(Trace.TRACE_TAG_WEBVIEW);
}
diff --git a/core/java/android/webkit/WebViewLibraryLoader.java b/core/java/android/webkit/WebViewLibraryLoader.java
index 91412d7..a68a577 100644
--- a/core/java/android/webkit/WebViewLibraryLoader.java
+++ b/core/java/android/webkit/WebViewLibraryLoader.java
@@ -24,7 +24,6 @@
import android.content.pm.PackageInfo;
import android.os.Build;
import android.os.Process;
-import android.os.RemoteException;
import android.util.Log;
import com.android.internal.annotations.VisibleForTesting;
@@ -87,8 +86,12 @@
} finally {
// We must do our best to always notify the update service, even if something fails.
try {
- WebViewFactory.getUpdateServiceUnchecked().notifyRelroCreationCompleted();
- } catch (RemoteException e) {
+ if (Flags.updateServiceIpcWrapper()) {
+ WebViewUpdateManager.getInstance().notifyRelroCreationCompleted();
+ } else {
+ WebViewFactory.getUpdateServiceUnchecked().notifyRelroCreationCompleted();
+ }
+ } catch (Exception e) {
Log.e(LOGTAG, "error notifying update service", e);
}
@@ -114,8 +117,12 @@
public void run() {
try {
Log.e(LOGTAG, "relro file creator for " + abi + " crashed. Proceeding without");
- WebViewFactory.getUpdateService().notifyRelroCreationCompleted();
- } catch (RemoteException e) {
+ if (Flags.updateServiceIpcWrapper()) {
+ WebViewUpdateManager.getInstance().notifyRelroCreationCompleted();
+ } else {
+ WebViewFactory.getUpdateService().notifyRelroCreationCompleted();
+ }
+ } catch (Exception e) {
Log.e(LOGTAG, "Cannot reach WebViewUpdateService. " + e.getMessage());
}
}
diff --git a/core/java/android/webkit/WebViewProviderResponse.java b/core/java/android/webkit/WebViewProviderResponse.java
index 02e48dd..84e34a3 100644
--- a/core/java/android/webkit/WebViewProviderResponse.java
+++ b/core/java/android/webkit/WebViewProviderResponse.java
@@ -16,17 +16,42 @@
package android.webkit;
+import android.annotation.FlaggedApi;
+import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.SystemApi;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.pm.PackageInfo;
import android.os.Parcel;
import android.os.Parcelable;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
/** @hide */
+@FlaggedApi(Flags.FLAG_UPDATE_SERVICE_IPC_WRAPPER)
+@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
public final class WebViewProviderResponse implements Parcelable {
- public WebViewProviderResponse(PackageInfo packageInfo, int status) {
+ @IntDef(
+ prefix = {"STATUS_"},
+ value = {
+ STATUS_SUCCESS,
+ STATUS_FAILED_WAITING_FOR_RELRO,
+ STATUS_FAILED_LISTING_WEBVIEW_PACKAGES,
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ private @interface WebViewProviderStatus {}
+
+ public static final int STATUS_SUCCESS = WebViewFactory.LIBLOAD_SUCCESS;
+ public static final int STATUS_FAILED_WAITING_FOR_RELRO =
+ WebViewFactory.LIBLOAD_FAILED_WAITING_FOR_RELRO;
+ public static final int STATUS_FAILED_LISTING_WEBVIEW_PACKAGES =
+ WebViewFactory.LIBLOAD_FAILED_LISTING_WEBVIEW_PACKAGES;
+
+ public WebViewProviderResponse(
+ @Nullable PackageInfo packageInfo, @WebViewProviderStatus int status) {
this.packageInfo = packageInfo;
this.status = status;
}
@@ -54,13 +79,11 @@
}
@Override
- public void writeToParcel(Parcel out, int flags) {
+ public void writeToParcel(@NonNull Parcel out, int flags) {
out.writeTypedObject(packageInfo, flags);
out.writeInt(status);
}
- @UnsupportedAppUsage
- @Nullable
- public final PackageInfo packageInfo;
- public final int status;
+ @UnsupportedAppUsage public final @Nullable PackageInfo packageInfo;
+ public final @WebViewProviderStatus int status;
}
diff --git a/core/java/android/webkit/WebViewUpdateManager.java b/core/java/android/webkit/WebViewUpdateManager.java
new file mode 100644
index 0000000..8ada598
--- /dev/null
+++ b/core/java/android/webkit/WebViewUpdateManager.java
@@ -0,0 +1,170 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.webkit;
+
+import android.annotation.FlaggedApi;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.annotation.RequiresPermission;
+import android.annotation.SuppressLint;
+import android.annotation.SystemApi;
+import android.app.SystemServiceRegistry;
+import android.content.Context;
+import android.content.pm.PackageInfo;
+import android.os.RemoteException;
+
+/** @hide */
+@FlaggedApi(Flags.FLAG_UPDATE_SERVICE_IPC_WRAPPER)
+@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
+public final class WebViewUpdateManager {
+ private final IWebViewUpdateService mService;
+
+ /** @hide */
+ public WebViewUpdateManager(@NonNull IWebViewUpdateService service) {
+ mService = service;
+ }
+
+ /**
+ * Get the singleton instance of the manager.
+ *
+ * This exists for the benefit of callsites without a {@link Context}; prefer
+ * {@link Context#getSystemService(Class)} otherwise.
+ */
+ @SuppressLint("ManagerLookup") // service opts in to getSystemServiceWithNoContext()
+ public static @Nullable WebViewUpdateManager getInstance() {
+ return (WebViewUpdateManager) SystemServiceRegistry.getSystemServiceWithNoContext(
+ Context.WEBVIEW_UPDATE_SERVICE);
+ }
+
+ /**
+ * Block until system-level WebView preparations are complete.
+ *
+ * This also makes the current WebView provider package visible to the caller.
+ *
+ * @return the status of WebView preparation and the current provider package.
+ */
+ public @NonNull WebViewProviderResponse waitForAndGetProvider() {
+ try {
+ return mService.waitForAndGetProvider();
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
+ /**
+ * Get the package that is the system's current WebView implementation.
+ *
+ * @return the package, or null if no valid implementation is present.
+ */
+ public @Nullable PackageInfo getCurrentWebViewPackage() {
+ try {
+ return mService.getCurrentWebViewPackage();
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
+ /**
+ * Get the complete list of supported WebView providers for this device.
+ *
+ * This includes all configured providers, regardless of whether they are currently available
+ * or valid.
+ */
+ @SuppressLint({"ParcelableList", "ArrayReturn"})
+ public @NonNull WebViewProviderInfo[] getAllWebViewPackages() {
+ try {
+ return mService.getAllWebViewPackages();
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
+ /**
+ * Get the list of currently-valid WebView providers for this device.
+ *
+ * This only includes providers that are currently present on the device and meet the validity
+ * criteria (signature, version, etc), but does not check if the provider is installed and
+ * enabled for all users.
+ */
+ @SuppressLint({"ParcelableList", "ArrayReturn"})
+ public @NonNull WebViewProviderInfo[] getValidWebViewPackages() {
+ try {
+ return mService.getValidWebViewPackages();
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
+ /**
+ * Get the package name of the current WebView implementation.
+ *
+ * @return the package name, or null if no valid implementation is present.
+ */
+ public @Nullable String getCurrentWebViewPackageName() {
+ try {
+ return mService.getCurrentWebViewPackageName();
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
+ /**
+ * Ask the system to switch to a specific WebView implementation if possible.
+ *
+ * This choice will be stored persistently.
+ *
+ * @param newProvider the package name to use, or null to reset to default.
+ * @return the package name which is now in use, which may not be the
+ * requested one if it was not usable.
+ */
+ @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS)
+ public @Nullable String changeProviderAndSetting(@NonNull String newProvider) {
+ try {
+ return mService.changeProviderAndSetting(newProvider);
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
+ /**
+ * Used by the relro file creator to notify the service that it's done.
+ * @hide
+ */
+ void notifyRelroCreationCompleted() {
+ try {
+ mService.notifyRelroCreationCompleted();
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
+ /**
+ * Get the WebView provider which will be used if no explicit choice has been made.
+ *
+ * The default provider is not guaranteed to be currently valid/usable.
+ *
+ * @return the default WebView provider.
+ */
+ @FlaggedApi(Flags.FLAG_UPDATE_SERVICE_V2)
+ public @NonNull WebViewProviderInfo getDefaultWebViewPackage() {
+ try {
+ return mService.getDefaultWebViewPackage();
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+}
diff --git a/core/java/android/webkit/WebViewUpdateService.java b/core/java/android/webkit/WebViewUpdateService.java
index 9152b43..6f53dde 100644
--- a/core/java/android/webkit/WebViewUpdateService.java
+++ b/core/java/android/webkit/WebViewUpdateService.java
@@ -33,14 +33,22 @@
* Fetch all packages that could potentially implement WebView.
*/
public static WebViewProviderInfo[] getAllWebViewPackages() {
- IWebViewUpdateService service = getUpdateService();
- if (service == null) {
- return new WebViewProviderInfo[0];
- }
- try {
- return service.getAllWebViewPackages();
- } catch (RemoteException e) {
- throw e.rethrowFromSystemServer();
+ if (Flags.updateServiceIpcWrapper()) {
+ WebViewUpdateManager manager = WebViewUpdateManager.getInstance();
+ if (manager == null) {
+ return new WebViewProviderInfo[0];
+ }
+ return manager.getAllWebViewPackages();
+ } else {
+ IWebViewUpdateService service = getUpdateService();
+ if (service == null) {
+ return new WebViewProviderInfo[0];
+ }
+ try {
+ return service.getAllWebViewPackages();
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
}
}
@@ -48,14 +56,22 @@
* Fetch all packages that could potentially implement WebView and are currently valid.
*/
public static WebViewProviderInfo[] getValidWebViewPackages() {
- IWebViewUpdateService service = getUpdateService();
- if (service == null) {
- return new WebViewProviderInfo[0];
- }
- try {
- return service.getValidWebViewPackages();
- } catch (RemoteException e) {
- throw e.rethrowFromSystemServer();
+ if (Flags.updateServiceIpcWrapper()) {
+ WebViewUpdateManager manager = WebViewUpdateManager.getInstance();
+ if (manager == null) {
+ return new WebViewProviderInfo[0];
+ }
+ return manager.getValidWebViewPackages();
+ } else {
+ IWebViewUpdateService service = getUpdateService();
+ if (service == null) {
+ return new WebViewProviderInfo[0];
+ }
+ try {
+ return service.getValidWebViewPackages();
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
}
}
@@ -63,14 +79,22 @@
* Used by DevelopmentSetting to get the name of the WebView provider currently in use.
*/
public static String getCurrentWebViewPackageName() {
- IWebViewUpdateService service = getUpdateService();
- if (service == null) {
- return null;
- }
- try {
- return service.getCurrentWebViewPackageName();
- } catch (RemoteException e) {
- throw e.rethrowFromSystemServer();
+ if (Flags.updateServiceIpcWrapper()) {
+ WebViewUpdateManager manager = WebViewUpdateManager.getInstance();
+ if (manager == null) {
+ return null;
+ }
+ return manager.getCurrentWebViewPackageName();
+ } else {
+ IWebViewUpdateService service = getUpdateService();
+ if (service == null) {
+ return null;
+ }
+ try {
+ return service.getCurrentWebViewPackageName();
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
}
}
diff --git a/core/java/android/widget/Button.java b/core/java/android/widget/Button.java
index 405099d..98c00ac 100644
--- a/core/java/android/widget/Button.java
+++ b/core/java/android/widget/Button.java
@@ -16,6 +16,10 @@
package android.widget;
+import static android.view.flags.Flags.enableArrowIconOnHoverWhenClickable;
+import static android.view.flags.Flags.FLAG_ENABLE_ARROW_ICON_ON_HOVER_WHEN_CLICKABLE;
+
+import android.annotation.FlaggedApi;
import android.content.Context;
import android.util.AttributeSet;
import android.view.InputDevice;
@@ -24,7 +28,6 @@
import android.view.PointerIcon;
import android.widget.RemoteViews.RemoteView;
-
/**
* A user interface element the user can tap or click to perform an action.
*
@@ -172,10 +175,16 @@
return Button.class.getName();
}
+ @FlaggedApi(FLAG_ENABLE_ARROW_ICON_ON_HOVER_WHEN_CLICKABLE)
@Override
public PointerIcon onResolvePointerIcon(MotionEvent event, int pointerIndex) {
- if (getPointerIcon() == null && isClickable() && isEnabled()
- && event.isFromSource(InputDevice.SOURCE_MOUSE)) {
+ // By default the pointer icon is an arrow. More specifically, when the pointer icon is set
+ // to null, it will be an arrow. Therefore, we don't need to change the icon when
+ // enableArrowIconOnHoverWhenClickable() and the pointer icon is a null. We only need to do
+ // that when we want the hand icon for hover.
+ if (!enableArrowIconOnHoverWhenClickable() && getPointerIcon() == null && isClickable()
+ && isEnabled() && event.isFromSource(InputDevice.SOURCE_MOUSE)
+ ) {
return PointerIcon.getSystemIcon(getContext(), PointerIcon.TYPE_HAND);
}
return super.onResolvePointerIcon(event, pointerIndex);
diff --git a/core/java/android/widget/ImageButton.java b/core/java/android/widget/ImageButton.java
index b6c5396c..b3d084e 100644
--- a/core/java/android/widget/ImageButton.java
+++ b/core/java/android/widget/ImageButton.java
@@ -16,6 +16,10 @@
package android.widget;
+import static android.view.flags.Flags.enableArrowIconOnHoverWhenClickable;
+import static android.view.flags.Flags.FLAG_ENABLE_ARROW_ICON_ON_HOVER_WHEN_CLICKABLE;
+
+import android.annotation.FlaggedApi;
import android.content.Context;
import android.util.AttributeSet;
import android.view.InputDevice;
@@ -98,11 +102,16 @@
return ImageButton.class.getName();
}
+ @FlaggedApi(FLAG_ENABLE_ARROW_ICON_ON_HOVER_WHEN_CLICKABLE)
@Override
public PointerIcon onResolvePointerIcon(MotionEvent event, int pointerIndex) {
if (getPointerIcon() == null && isClickable() && isEnabled()
&& event.isFromSource(InputDevice.SOURCE_MOUSE)) {
- return PointerIcon.getSystemIcon(getContext(), PointerIcon.TYPE_HAND);
+
+ int pointerIcon = enableArrowIconOnHoverWhenClickable()
+ ? PointerIcon.TYPE_ARROW
+ : PointerIcon.TYPE_HAND;
+ return PointerIcon.getSystemIcon(getContext(), pointerIcon);
}
return super.onResolvePointerIcon(event, pointerIndex);
}
diff --git a/core/java/android/widget/RadialTimePickerView.java b/core/java/android/widget/RadialTimePickerView.java
index edf0f48..26d1268 100644
--- a/core/java/android/widget/RadialTimePickerView.java
+++ b/core/java/android/widget/RadialTimePickerView.java
@@ -16,7 +16,11 @@
package android.widget;
+import static android.view.flags.Flags.enableArrowIconOnHoverWhenClickable;
+import static android.view.flags.Flags.FLAG_ENABLE_ARROW_ICON_ON_HOVER_WHEN_CLICKABLE;
+
import android.animation.ObjectAnimator;
+import android.annotation.FlaggedApi;
import android.annotation.IntDef;
import android.content.Context;
import android.content.res.ColorStateList;
@@ -1056,6 +1060,7 @@
invalidate();
}
+ @FlaggedApi(FLAG_ENABLE_ARROW_ICON_ON_HOVER_WHEN_CLICKABLE)
@Override
public PointerIcon onResolvePointerIcon(MotionEvent event, int pointerIndex) {
if (!isEnabled()) {
@@ -1064,7 +1069,10 @@
if (event.isFromSource(InputDevice.SOURCE_MOUSE)) {
final int degrees = getDegreesFromXY(event.getX(), event.getY(), false);
if (degrees != -1) {
- return PointerIcon.getSystemIcon(getContext(), PointerIcon.TYPE_HAND);
+ int pointerIcon = enableArrowIconOnHoverWhenClickable()
+ ? PointerIcon.TYPE_ARROW
+ : PointerIcon.TYPE_HAND;
+ return PointerIcon.getSystemIcon(getContext(), pointerIcon);
}
}
return super.onResolvePointerIcon(event, pointerIndex);
diff --git a/core/java/android/widget/SimpleMonthView.java b/core/java/android/widget/SimpleMonthView.java
index 1317b51..3898646 100644
--- a/core/java/android/widget/SimpleMonthView.java
+++ b/core/java/android/widget/SimpleMonthView.java
@@ -16,6 +16,10 @@
package android.widget;
+import static android.view.flags.Flags.enableArrowIconOnHoverWhenClickable;
+import static android.view.flags.Flags.FLAG_ENABLE_ARROW_ICON_ON_HOVER_WHEN_CLICKABLE;
+
+import android.annotation.FlaggedApi;
import android.annotation.Nullable;
import android.content.Context;
import android.content.res.ColorStateList;
@@ -1037,6 +1041,7 @@
return true;
}
+ @FlaggedApi(FLAG_ENABLE_ARROW_ICON_ON_HOVER_WHEN_CLICKABLE)
@Override
public PointerIcon onResolvePointerIcon(MotionEvent event, int pointerIndex) {
if (!isEnabled()) {
@@ -1049,7 +1054,10 @@
final int y = (int) (event.getY() + 0.5f);
final int dayUnderPointer = getDayAtLocation(x, y);
if (dayUnderPointer >= 0) {
- return PointerIcon.getSystemIcon(getContext(), PointerIcon.TYPE_HAND);
+ int pointerIcon = enableArrowIconOnHoverWhenClickable()
+ ? PointerIcon.TYPE_ARROW
+ : PointerIcon.TYPE_HAND;
+ return PointerIcon.getSystemIcon(getContext(), pointerIcon);
}
}
return super.onResolvePointerIcon(event, pointerIndex);
diff --git a/core/java/android/widget/Spinner.java b/core/java/android/widget/Spinner.java
index ecc41a5..b9bf315 100644
--- a/core/java/android/widget/Spinner.java
+++ b/core/java/android/widget/Spinner.java
@@ -16,7 +16,11 @@
package android.widget;
+import static android.view.flags.Flags.enableArrowIconOnHoverWhenClickable;
+import static android.view.flags.Flags.FLAG_ENABLE_ARROW_ICON_ON_HOVER_WHEN_CLICKABLE;
+
import android.annotation.DrawableRes;
+import android.annotation.FlaggedApi;
import android.annotation.Nullable;
import android.annotation.TestApi;
import android.annotation.Widget;
@@ -934,11 +938,15 @@
}
}
+ @FlaggedApi(FLAG_ENABLE_ARROW_ICON_ON_HOVER_WHEN_CLICKABLE)
@Override
public PointerIcon onResolvePointerIcon(MotionEvent event, int pointerIndex) {
if (getPointerIcon() == null && isClickable() && isEnabled()
&& event.isFromSource(InputDevice.SOURCE_MOUSE)) {
- return PointerIcon.getSystemIcon(getContext(), PointerIcon.TYPE_HAND);
+ int pointerIcon = enableArrowIconOnHoverWhenClickable()
+ ? PointerIcon.TYPE_ARROW
+ : PointerIcon.TYPE_HAND;
+ return PointerIcon.getSystemIcon(getContext(), pointerIcon);
}
return super.onResolvePointerIcon(event, pointerIndex);
}
diff --git a/core/java/android/widget/TabWidget.java b/core/java/android/widget/TabWidget.java
index 36abf3a..31bf72f 100644
--- a/core/java/android/widget/TabWidget.java
+++ b/core/java/android/widget/TabWidget.java
@@ -16,7 +16,11 @@
package android.widget;
+import static android.view.flags.Flags.enableArrowIconOnHoverWhenClickable;
+import static android.view.flags.Flags.FLAG_ENABLE_ARROW_ICON_ON_HOVER_WHEN_CLICKABLE;
+
import android.annotation.DrawableRes;
+import android.annotation.FlaggedApi;
import android.annotation.Nullable;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.Context;
@@ -517,6 +521,7 @@
}
}
+ @FlaggedApi(FLAG_ENABLE_ARROW_ICON_ON_HOVER_WHEN_CLICKABLE)
@Override
public void addView(View child) {
if (child.getLayoutParams() == null) {
@@ -530,7 +535,11 @@
child.setFocusable(true);
child.setClickable(true);
- if (child.getPointerIcon() == null) {
+ // By default the pointer icon is an arrow. More specifically, when the pointer icon is set
+ // to null, it will be an arrow. Therefore, we don't need to change the icon when
+ // enableArrowIconOnHoverWhenClickable() and the pointer icon is a null. We only need to do
+ // that when we want the hand icon for hover.
+ if (!enableArrowIconOnHoverWhenClickable() && child.getPointerIcon() == null) {
child.setPointerIcon(PointerIcon.getSystemIcon(getContext(), PointerIcon.TYPE_HAND));
}
diff --git a/core/java/android/window/BackProgressAnimator.java b/core/java/android/window/BackProgressAnimator.java
index e7280d0..40e28cb 100644
--- a/core/java/android/window/BackProgressAnimator.java
+++ b/core/java/android/window/BackProgressAnimator.java
@@ -17,6 +17,7 @@
package android.window;
import android.annotation.NonNull;
+import android.annotation.Nullable;
import android.util.FloatProperty;
import com.android.internal.dynamicanimation.animation.DynamicAnimation;
@@ -44,6 +45,14 @@
private float mProgress = 0;
private BackMotionEvent mLastBackEvent;
private boolean mBackAnimationInProgress = false;
+ @Nullable
+ private Runnable mBackCancelledFinishRunnable;
+ private final DynamicAnimation.OnAnimationEndListener mOnAnimationEndListener =
+ (animation, canceled, value, velocity) -> {
+ invokeBackCancelledRunnable();
+ reset();
+ };
+
private void setProgress(float progress) {
mProgress = progress;
@@ -116,6 +125,11 @@
* Resets the back progress animation. This should be called when back is invoked or cancelled.
*/
public void reset() {
+ if (mBackCancelledFinishRunnable != null) {
+ // Ensure that last progress value that apps see is 0
+ updateProgressValue(0);
+ invokeBackCancelledRunnable();
+ }
mSpring.animateToFinalPosition(0);
if (mSpring.canSkipToEnd()) {
mSpring.skipToEnd();
@@ -136,17 +150,8 @@
* @param finishCallback the callback to be invoked when the progress is reach to 0.
*/
public void onBackCancelled(@NonNull Runnable finishCallback) {
- final DynamicAnimation.OnAnimationEndListener listener =
- new DynamicAnimation.OnAnimationEndListener() {
- @Override
- public void onAnimationEnd(DynamicAnimation animation, boolean canceled, float value,
- float velocity) {
- mSpring.removeEndListener(this);
- finishCallback.run();
- reset();
- }
- };
- mSpring.addEndListener(listener);
+ mBackCancelledFinishRunnable = finishCallback;
+ mSpring.addEndListener(mOnAnimationEndListener);
mSpring.animateToFinalPosition(0);
}
@@ -164,4 +169,10 @@
progress / SCALE_FACTOR, mLastBackEvent.getSwipeEdge()));
}
-}
+ private void invokeBackCancelledRunnable() {
+ mSpring.removeEndListener(mOnAnimationEndListener);
+ mBackCancelledFinishRunnable.run();
+ mBackCancelledFinishRunnable = null;
+ }
+
+}
\ No newline at end of file
diff --git a/core/java/android/window/WindowOnBackInvokedDispatcher.java b/core/java/android/window/WindowOnBackInvokedDispatcher.java
index 5c911f4..45d7767 100644
--- a/core/java/android/window/WindowOnBackInvokedDispatcher.java
+++ b/core/java/android/window/WindowOnBackInvokedDispatcher.java
@@ -371,11 +371,11 @@
}
final OnBackAnimationCallback callback = getBackAnimationCallback();
if (callback != null) {
+ mProgressAnimator.reset();
callback.onBackStarted(new BackEvent(
backEvent.getTouchX(), backEvent.getTouchY(),
backEvent.getProgress(), backEvent.getSwipeEdge()));
- mProgressAnimator.onBackStarted(backEvent, event ->
- callback.onBackProgressed(event));
+ mProgressAnimator.onBackStarted(backEvent, callback::onBackProgressed);
}
});
}
diff --git a/core/java/com/android/internal/accessibility/AccessibilityShortcutController.java b/core/java/com/android/internal/accessibility/AccessibilityShortcutController.java
index de0f070..840e2a1 100644
--- a/core/java/com/android/internal/accessibility/AccessibilityShortcutController.java
+++ b/core/java/com/android/internal/accessibility/AccessibilityShortcutController.java
@@ -110,6 +110,8 @@
new ComponentName("com.android.server.accessibility", "OneHandedModeTile");
public static final ComponentName REDUCE_BRIGHT_COLORS_TILE_SERVICE_COMPONENT_NAME =
new ComponentName("com.android.server.accessibility", "ReduceBrightColorsTile");
+ public static final ComponentName FONT_SIZE_TILE_COMPONENT_NAME =
+ new ComponentName("com.android.server.accessibility", "FontSizeTile");
private static final AudioAttributes VIBRATION_ATTRIBUTES = new AudioAttributes.Builder()
.setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
diff --git a/core/java/com/android/internal/app/IHotwordRecognitionStatusCallback.aidl b/core/java/com/android/internal/app/IHotwordRecognitionStatusCallback.aidl
index a65877c..ba87caa 100644
--- a/core/java/com/android/internal/app/IHotwordRecognitionStatusCallback.aidl
+++ b/core/java/com/android/internal/app/IHotwordRecognitionStatusCallback.aidl
@@ -20,7 +20,6 @@
import android.service.voice.HotwordDetectedResult;
import android.service.voice.HotwordDetectionServiceFailure;
import android.service.voice.HotwordRejectedResult;
-import android.service.voice.HotwordTrainingData;
import android.service.voice.SoundTriggerFailure;
import android.service.voice.VisualQueryDetectionServiceFailure;
import com.android.internal.infra.AndroidFuture;
@@ -60,12 +59,6 @@
void onRejected(in HotwordRejectedResult result);
/**
- * Called by {@link HotwordDetectionService} to egress training data to the
- * {@link HotwordDetector}.
- */
- void onTrainingData(in HotwordTrainingData data);
-
- /**
* Called when the detection fails due to an error occurs in the
* {@link HotwordDetectionService}.
*
diff --git a/core/java/com/android/internal/app/IVisualQueryDetectionAttentionListener.aidl b/core/java/com/android/internal/app/IVisualQueryDetectionAttentionListener.aidl
index 3e48da7..eeaa3ef 100644
--- a/core/java/com/android/internal/app/IVisualQueryDetectionAttentionListener.aidl
+++ b/core/java/com/android/internal/app/IVisualQueryDetectionAttentionListener.aidl
@@ -16,6 +16,8 @@
package com.android.internal.app;
+import android.service.voice.VisualQueryAttentionResult;
+
/**
* Allows sysui to notify users the assistant is ready to take a query without notifying the
* assistant app.
@@ -24,10 +26,10 @@
/**
* Called when attention signal is sent.
*/
- void onAttentionGained();
+ void onAttentionGained(in VisualQueryAttentionResult attentionResult);
/**
- * Called when a attention signal is lost.
+ * Called when a attention signal is lost for a certain interaction intention.
*/
- void onAttentionLost();
+ void onAttentionLost(int interactionIntention);
}
\ No newline at end of file
diff --git a/core/java/com/android/internal/app/IVoiceInteractionManagerService.aidl b/core/java/com/android/internal/app/IVoiceInteractionManagerService.aidl
index e92c6a6..314ed69 100644
--- a/core/java/com/android/internal/app/IVoiceInteractionManagerService.aidl
+++ b/core/java/com/android/internal/app/IVoiceInteractionManagerService.aidl
@@ -359,12 +359,6 @@
in IHotwordRecognitionStatusCallback callback);
/**
- * Test API to reset training data egress count for test.
- */
- @EnforcePermission("RESET_HOTWORD_TRAINING_DATA_EGRESS_COUNT")
- void resetHotwordTrainingDataEgressCountForTest();
-
- /**
* Starts to listen the status of visible activity.
*/
void startListeningVisibleActivityChanged(in IBinder token);
@@ -388,14 +382,4 @@
oneway void notifyActivityEventChanged(
in IBinder activityToken,
int type);
-
- /**
- * Allows/disallows receiving training data from trusted process.
- * Caller must be the active assistant and a preinstalled assistant.
- *
- * @param allowed whether to allow/disallow receiving training data produced during
- * sandboxed detection (from trusted process).
- */
- @EnforcePermission("MANAGE_HOTWORD_DETECTION")
- void setShouldReceiveSandboxedTrainingData(boolean allowed);
}
diff --git a/packages/SystemUI/src/com/android/systemui/scene/shared/model/SceneModel.kt b/core/java/com/android/internal/inputmethod/IConnectionlessHandwritingCallback.aidl
similarity index 61%
copy from packages/SystemUI/src/com/android/systemui/scene/shared/model/SceneModel.kt
copy to core/java/com/android/internal/inputmethod/IConnectionlessHandwritingCallback.aidl
index f3d549f..e564599 100644
--- a/packages/SystemUI/src/com/android/systemui/scene/shared/model/SceneModel.kt
+++ b/core/java/com/android/internal/inputmethod/IConnectionlessHandwritingCallback.aidl
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2023 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,14 +14,10 @@
* limitations under the License.
*/
-package com.android.systemui.scene.shared.model
+package com.android.internal.inputmethod;
-/** Models a scene. */
-data class SceneModel(
-
- /** The key of the scene. */
- val key: SceneKey,
-
- /** An optional name for the transition that led to this scene being the current scene. */
- val transitionName: String? = null,
-)
+/** Binder interface to receive a result from a connectionless stylus handwriting session. */
+oneway interface IConnectionlessHandwritingCallback {
+ void onResult(in CharSequence text);
+ void onError(int errorCode);
+}
diff --git a/core/java/com/android/internal/inputmethod/IInputMethod.aidl b/core/java/com/android/internal/inputmethod/IInputMethod.aidl
index 8cb568d..6abd9e8 100644
--- a/core/java/com/android/internal/inputmethod/IInputMethod.aidl
+++ b/core/java/com/android/internal/inputmethod/IInputMethod.aidl
@@ -20,11 +20,13 @@
import android.os.ResultReceiver;
import android.view.InputChannel;
import android.view.MotionEvent;
+import android.view.inputmethod.CursorAnchorInfo;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.ImeTracker;
import android.view.inputmethod.InputBinding;
import android.view.inputmethod.InputMethodSubtype;
import android.window.ImeOnBackInvokedDispatcher;
+import com.android.internal.inputmethod.IConnectionlessHandwritingCallback;
import com.android.internal.inputmethod.IInlineSuggestionsRequestCallback;
import com.android.internal.inputmethod.IInputMethodPrivilegedOperations;
import com.android.internal.inputmethod.IInputMethodSession;
@@ -79,11 +81,17 @@
void changeInputMethodSubtype(in InputMethodSubtype subtype);
- void canStartStylusHandwriting(int requestId);
+ void canStartStylusHandwriting(int requestId,
+ in IConnectionlessHandwritingCallback connectionlessCallback,
+ in CursorAnchorInfo cursorAnchorInfo, boolean isConnectionlessForDelegation);
void startStylusHandwriting(int requestId, in InputChannel channel,
in List<MotionEvent> events);
+ void commitHandwritingDelegationTextIfAvailable();
+
+ void discardHandwritingDelegationText();
+
void initInkWindow();
void finishStylusHandwriting();
diff --git a/core/java/com/android/internal/os/BatteryStatsHistory.java b/core/java/com/android/internal/os/BatteryStatsHistory.java
index 0b7593a..c5c17cf 100644
--- a/core/java/com/android/internal/os/BatteryStatsHistory.java
+++ b/core/java/com/android/internal/os/BatteryStatsHistory.java
@@ -1146,7 +1146,7 @@
mHistoryCur.batteryHealth = (byte) health;
mHistoryCur.batteryPlugType = (byte) plugType;
mHistoryCur.batteryTemperature = (short) temperature;
- mHistoryCur.batteryVoltage = (char) voltageMv;
+ mHistoryCur.batteryVoltage = (short) voltageMv;
mHistoryCur.batteryChargeUah = chargeUah;
}
}
@@ -2010,7 +2010,11 @@
int bits = 0;
bits = setBitField(bits, h.batteryLevel, 25, 0xfe000000 /* 7F << 25 */);
bits = setBitField(bits, h.batteryTemperature, 15, 0x01ff8000 /* 3FF << 15 */);
- bits = setBitField(bits, h.batteryVoltage, 1, 0x00007ffe /* 3FFF << 1 */);
+ short voltage = (short) h.batteryVoltage;
+ if (voltage == -1) {
+ voltage = 0x3FFF;
+ }
+ bits = setBitField(bits, voltage, 1, 0x00007ffe /* 3FFF << 1 */);
return bits;
}
diff --git a/core/java/com/android/internal/os/BatteryStatsHistoryIterator.java b/core/java/com/android/internal/os/BatteryStatsHistoryIterator.java
index 739ee48..b2a6a93 100644
--- a/core/java/com/android/internal/os/BatteryStatsHistoryIterator.java
+++ b/core/java/com/android/internal/os/BatteryStatsHistoryIterator.java
@@ -309,7 +309,12 @@
private static void readBatteryLevelInt(int batteryLevelInt, BatteryStats.HistoryItem out) {
out.batteryLevel = (byte) ((batteryLevelInt & 0xfe000000) >>> 25);
out.batteryTemperature = (short) ((batteryLevelInt & 0x01ff8000) >>> 15);
- out.batteryVoltage = (char) ((batteryLevelInt & 0x00007ffe) >>> 1);
+ int voltage = ((batteryLevelInt & 0x00007ffe) >>> 1);
+ if (voltage == 0x3FFF) {
+ voltage = -1;
+ }
+
+ out.batteryVoltage = (short) voltage;
}
/**
diff --git a/core/java/com/android/internal/protolog/OWNERS b/core/java/com/android/internal/protolog/OWNERS
new file mode 100644
index 0000000..18cf2be
--- /dev/null
+++ b/core/java/com/android/internal/protolog/OWNERS
@@ -0,0 +1,3 @@
+# ProtoLog owners
+# Bug component: 1157642
+include platform/development:/tools/winscope/OWNERS
diff --git a/core/java/com/android/internal/statusbar/IStatusBarService.aidl b/core/java/com/android/internal/statusbar/IStatusBarService.aidl
index fc60f06..b83b2d2 100644
--- a/core/java/com/android/internal/statusbar/IStatusBarService.aidl
+++ b/core/java/com/android/internal/statusbar/IStatusBarService.aidl
@@ -17,6 +17,7 @@
package com.android.internal.statusbar;
import android.app.Notification;
+import android.app.StatusBarManager;
import android.content.ComponentName;
import android.graphics.drawable.Icon;
import android.graphics.Rect;
@@ -52,9 +53,9 @@
void togglePanel();
@UnsupportedAppUsage
void disable(int what, IBinder token, String pkg);
- void disableForUser(int what, IBinder token, String pkg, int userId);
void disable2(int what, IBinder token, String pkg);
- void disable2ForUser(int what, IBinder token, String pkg, int userId);
+ void disableForUser(in StatusBarManager.DisableInfo info, IBinder token, String pkg, int userId, String reason);
+
int[] getDisableFlags(IBinder token, int userId);
void setIcon(String slot, String iconPackage, int iconId, int iconLevel, String contentDescription);
@UnsupportedAppUsage
diff --git a/core/java/com/android/internal/util/CollectionUtils.java b/core/java/com/android/internal/util/CollectionUtils.java
index 4191936..af9de41 100644
--- a/core/java/com/android/internal/util/CollectionUtils.java
+++ b/core/java/com/android/internal/util/CollectionUtils.java
@@ -43,6 +43,7 @@
* Unless a method specifies otherwise, a null value for a collection is treated as an empty
* collection of that type.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class CollectionUtils {
private CollectionUtils() { /* cannot be instantiated */ }
diff --git a/core/java/com/android/internal/util/FileRotator.java b/core/java/com/android/internal/util/FileRotator.java
index c9d9926..71a14a4 100644
--- a/core/java/com/android/internal/util/FileRotator.java
+++ b/core/java/com/android/internal/util/FileRotator.java
@@ -53,6 +53,8 @@
*
* @hide
*/
+// Exported to Mainline modules; cannot use annotations
+// @android.ravenwood.annotation.RavenwoodKeepWholeClass
public class FileRotator {
private static final String TAG = "FileRotator";
private static final boolean LOGD = false;
diff --git a/core/java/com/android/internal/util/HexDump.java b/core/java/com/android/internal/util/HexDump.java
index 6468caf..cf0af37 100644
--- a/core/java/com/android/internal/util/HexDump.java
+++ b/core/java/com/android/internal/util/HexDump.java
@@ -19,6 +19,8 @@
import android.annotation.Nullable;
import android.compat.annotation.UnsupportedAppUsage;
+// Exported to Mainline modules; cannot use annotations
+// @android.ravenwood.annotation.RavenwoodKeepWholeClass
public class HexDump
{
private final static char[] HEX_DIGITS = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
diff --git a/core/java/com/android/internal/util/IndentingPrintWriter.java b/core/java/com/android/internal/util/IndentingPrintWriter.java
index 520f518..5e1af7f 100644
--- a/core/java/com/android/internal/util/IndentingPrintWriter.java
+++ b/core/java/com/android/internal/util/IndentingPrintWriter.java
@@ -25,6 +25,8 @@
* @deprecated Use {@link android.util.IndentingPrintWriter}
*/
@Deprecated
+// Exported to Mainline modules; cannot use annotations
+// @android.ravenwood.annotation.RavenwoodKeepWholeClass
public class IndentingPrintWriter extends android.util.IndentingPrintWriter {
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
diff --git a/core/java/com/android/internal/util/IntPair.java b/core/java/com/android/internal/util/IntPair.java
index 7992507..7fd000e 100644
--- a/core/java/com/android/internal/util/IntPair.java
+++ b/core/java/com/android/internal/util/IntPair.java
@@ -21,6 +21,7 @@
*
* @hide
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class IntPair {
private IntPair() {}
diff --git a/core/java/com/android/internal/util/LocalLog.java b/core/java/com/android/internal/util/LocalLog.java
index 057dc8f..29a7e27 100644
--- a/core/java/com/android/internal/util/LocalLog.java
+++ b/core/java/com/android/internal/util/LocalLog.java
@@ -28,6 +28,8 @@
* of a system service's dumpsys output.
* @hide
*/
+// Exported to Mainline modules; cannot use annotations
+// @android.ravenwood.annotation.RavenwoodKeepWholeClass
public class LocalLog {
private final String mTag;
private final int mMaxLines = 20;
diff --git a/core/java/com/android/internal/util/MessageUtils.java b/core/java/com/android/internal/util/MessageUtils.java
index e733c30a..e884208 100644
--- a/core/java/com/android/internal/util/MessageUtils.java
+++ b/core/java/com/android/internal/util/MessageUtils.java
@@ -26,6 +26,8 @@
/**
* Static utility class for dealing with {@link Message} objects.
*/
+// Exported to Mainline modules; cannot use annotations
+// @android.ravenwood.annotation.RavenwoodKeepWholeClass
public class MessageUtils {
private static final String TAG = MessageUtils.class.getSimpleName();
diff --git a/core/java/com/android/internal/util/SizedInputStream.java b/core/java/com/android/internal/util/SizedInputStream.java
index 00a729d..33bb58d 100644
--- a/core/java/com/android/internal/util/SizedInputStream.java
+++ b/core/java/com/android/internal/util/SizedInputStream.java
@@ -16,8 +16,6 @@
package com.android.internal.util;
-import libcore.io.Streams;
-
import java.io.IOException;
import java.io.InputStream;
@@ -25,6 +23,7 @@
* Reads exact number of bytes from wrapped stream, returning EOF once those
* bytes have been read.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class SizedInputStream extends InputStream {
private final InputStream mWrapped;
private long mLength;
@@ -42,7 +41,9 @@
@Override
public int read() throws IOException {
- return Streams.readSingleByte(this);
+ byte[] buffer = new byte[1];
+ int result = read(buffer, 0, 1);
+ return (result != -1) ? buffer[0] & 0xff : -1;
}
@Override
diff --git a/core/java/com/android/internal/util/TokenBucket.java b/core/java/com/android/internal/util/TokenBucket.java
index a163ceb..fcdbf1b 100644
--- a/core/java/com/android/internal/util/TokenBucket.java
+++ b/core/java/com/android/internal/util/TokenBucket.java
@@ -36,6 +36,8 @@
*
* {@hide}
*/
+// Exported to Mainline modules; cannot use annotations
+// @android.ravenwood.annotation.RavenwoodKeepWholeClass
public class TokenBucket {
private final int mFillDelta; // Time in ms it takes to generate one token.
diff --git a/core/java/com/android/internal/util/XmlPullParserWrapper.java b/core/java/com/android/internal/util/XmlPullParserWrapper.java
index efa17ef..375ea5c 100644
--- a/core/java/com/android/internal/util/XmlPullParserWrapper.java
+++ b/core/java/com/android/internal/util/XmlPullParserWrapper.java
@@ -29,6 +29,7 @@
/**
* Wrapper which delegates all calls through to the given {@link XmlPullParser}.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class XmlPullParserWrapper implements XmlPullParser {
private final XmlPullParser mWrapped;
diff --git a/core/java/com/android/internal/util/XmlSerializerWrapper.java b/core/java/com/android/internal/util/XmlSerializerWrapper.java
index 9f28d90a..f541e1f 100644
--- a/core/java/com/android/internal/util/XmlSerializerWrapper.java
+++ b/core/java/com/android/internal/util/XmlSerializerWrapper.java
@@ -28,6 +28,7 @@
/**
* Wrapper which delegates all calls through to the given {@link XmlSerializer}.
*/
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class XmlSerializerWrapper implements XmlSerializer {
private final XmlSerializer mWrapped;
diff --git a/core/java/com/android/internal/util/XmlUtils.java b/core/java/com/android/internal/util/XmlUtils.java
index af5e3b3..7e554cf 100644
--- a/core/java/com/android/internal/util/XmlUtils.java
+++ b/core/java/com/android/internal/util/XmlUtils.java
@@ -51,6 +51,7 @@
import java.util.Set;
/** {@hide} */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
public class XmlUtils {
private static final String STRING_ARRAY_SEPARATOR = ":";
diff --git a/core/java/com/android/internal/view/IInputMethodManager.aidl b/core/java/com/android/internal/view/IInputMethodManager.aidl
index 595bf3b..e95127b 100644
--- a/core/java/com/android/internal/view/IInputMethodManager.aidl
+++ b/core/java/com/android/internal/view/IInputMethodManager.aidl
@@ -17,12 +17,14 @@
package com.android.internal.view;
import android.os.ResultReceiver;
+import android.view.inputmethod.CursorAnchorInfo;
import android.view.inputmethod.ImeTracker;
import android.view.inputmethod.InputMethodInfo;
import android.view.inputmethod.InputMethodSubtype;
import android.view.inputmethod.EditorInfo;
import android.window.ImeOnBackInvokedDispatcher;
+import com.android.internal.inputmethod.IConnectionlessHandwritingCallback;
import com.android.internal.inputmethod.IImeTracker;
import com.android.internal.inputmethod.IInputMethodClient;
import com.android.internal.inputmethod.IRemoteAccessibilityInputConnection;
@@ -144,6 +146,9 @@
/** Start Stylus handwriting session **/
void startStylusHandwriting(in IInputMethodClient client);
+ oneway void startConnectionlessStylusHandwriting(in IInputMethodClient client, int userId,
+ in CursorAnchorInfo cursorAnchorInfo, in String delegatePackageName,
+ in String delegatorPackageName, in IConnectionlessHandwritingCallback callback);
/** Prepares delegation of starting stylus handwriting session to a different editor **/
void prepareStylusHandwritingDelegation(in IInputMethodClient client,
@@ -158,7 +163,7 @@
/** Returns {@code true} if currently selected IME supports Stylus handwriting. */
@JavaPassthrough(annotation="@android.annotation.RequiresPermission(value = "
+ "android.Manifest.permission.INTERACT_ACROSS_USERS_FULL, conditional = true)")
- boolean isStylusHandwritingAvailableAsUser(int userId);
+ boolean isStylusHandwritingAvailableAsUser(int userId, boolean connectionless);
/** add virtual stylus id for test Stylus handwriting session **/
@EnforcePermission("TEST_INPUT_METHOD")
diff --git a/core/jni/LayoutlibLoader.cpp b/core/jni/LayoutlibLoader.cpp
index 200ddef..01e9f43 100644
--- a/core/jni/LayoutlibLoader.cpp
+++ b/core/jni/LayoutlibLoader.cpp
@@ -416,11 +416,17 @@
env->NewStringUTF("icu.data.path"),
env->NewStringUTF(""));
const char* path = env->GetStringUTFChars(stringPath, 0);
- bool icuInitialized = init_icu(path);
- env->ReleaseStringUTFChars(stringPath, path);
- if (!icuInitialized) {
- return JNI_ERR;
+
+ if (strcmp(path, "**n/a**") != 0) {
+ bool icuInitialized = init_icu(path);
+ if (!icuInitialized) {
+ fprintf(stderr, "Failed to initialize ICU\n");
+ return JNI_ERR;
+ }
+ } else {
+ fprintf(stderr, "Skip initializing ICU\n");
}
+ env->ReleaseStringUTFChars(stringPath, path);
jstring useJniProperty =
(jstring)env->CallStaticObjectMethod(system, getPropertyMethod,
@@ -449,12 +455,18 @@
// Use English locale for number format to ensure correct parsing of floats when using strtof
setlocale(LC_NUMERIC, "en_US.UTF-8");
- auto keyboardPathsString =
+ auto keyboardPathsJString =
(jstring)env->CallStaticObjectMethod(system, getPropertyMethod,
env->NewStringUTF("keyboard_paths"),
env->NewStringUTF(""));
- vector<string> keyboardPaths = parseCsv(env, keyboardPathsString);
- init_keyboard(env, keyboardPaths);
+ const char* keyboardPathsString = env->GetStringUTFChars(keyboardPathsJString, 0);
+ if (strcmp(keyboardPathsString, "**n/a**") != 0) {
+ vector<string> keyboardPaths = parseCsv(env, keyboardPathsJString);
+ init_keyboard(env, keyboardPaths);
+ } else {
+ fprintf(stderr, "Skip initializing keyboard\n");
+ }
+ env->ReleaseStringUTFChars(keyboardPathsJString, keyboardPathsString);
return JNI_VERSION_1_6;
}
diff --git a/core/jni/android_os_VintfObject.cpp b/core/jni/android_os_VintfObject.cpp
index ce4a337..8dc9d0a 100644
--- a/core/jni/android_os_VintfObject.cpp
+++ b/core/jni/android_os_VintfObject.cpp
@@ -39,6 +39,7 @@
using vintf::HalManifest;
using vintf::Level;
using vintf::SchemaType;
+using vintf::SepolicyVersion;
using vintf::to_string;
using vintf::toXml;
using vintf::Version;
@@ -139,7 +140,7 @@
return nullptr;
}
- Version latest;
+ SepolicyVersion latest;
for (const auto& range : versions) {
latest = std::max(latest, range.maxVer());
}
diff --git a/core/proto/OWNERS b/core/proto/OWNERS
index c65794e..b900fa6 100644
--- a/core/proto/OWNERS
+++ b/core/proto/OWNERS
@@ -22,7 +22,6 @@
per-file android/hardware/location/context_hub_info.proto = file:/services/core/java/com/android/server/location/contexthub/OWNERS
# Biometrics
-jaggies@google.com
jbolinger@google.com
# Launcher
diff --git a/core/proto/android/providers/settings/secure.proto b/core/proto/android/providers/settings/secure.proto
index c62e536..4fc9b40 100644
--- a/core/proto/android/providers/settings/secure.proto
+++ b/core/proto/android/providers/settings/secure.proto
@@ -144,6 +144,7 @@
optional SettingProto long_press_home_enabled = 11 [ (android.privacy).dest = DEST_AUTOMATIC ];
optional SettingProto search_press_hold_nav_handle_enabled = 12 [ (android.privacy).dest = DEST_AUTOMATIC ];
optional SettingProto search_long_press_home_enabled = 13 [ (android.privacy).dest = DEST_AUTOMATIC ];
+ optional SettingProto visual_query_accessibility_detection_enabled = 14 [ (android.privacy).dest = DEST_AUTOMATIC ];
}
optional Assist assist = 7;
diff --git a/core/res/Android.bp b/core/res/Android.bp
index 34c4045..277824c 100644
--- a/core/res/Android.bp
+++ b/core/res/Android.bp
@@ -154,6 +154,14 @@
},
generate_product_characteristics_rro: true,
+
+ flags_packages: [
+ "android.content.pm.flags-aconfig",
+ "android.provider.flags-aconfig",
+ "camera_platform_flags",
+ "com.android.net.flags-aconfig",
+ "com.android.window.flags.window-aconfig",
+ ],
}
java_genrule {
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index a2ce212..e4e8f7e 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -835,6 +835,7 @@
<!-- Added in V -->
<protected-broadcast android:name="android.intent.action.PROFILE_AVAILABLE" />
<protected-broadcast android:name="android.intent.action.PROFILE_UNAVAILABLE" />
+ <protected-broadcast android:name="android.app.action.CONSOLIDATED_NOTIFICATION_POLICY_CHANGED" />
<!-- ====================================================================== -->
<!-- RUNTIME PERMISSIONS -->
@@ -892,7 +893,8 @@
android:permissionGroup="android.permission-group.UNDEFINED"
android:label="@string/permlab_writeVerificationStateE2eeContactKeys"
android:description="@string/permdesc_writeVerificationStateE2eeContactKeys"
- android:protectionLevel="signature|privileged" />
+ android:protectionLevel="signature|privileged"
+ android:featureFlag="android.provider.user_keys" />
<!-- Allows an application to set default account for new contacts.
<p> This permission is only granted to system applications fulfilling the Contacts app role.
@@ -1728,7 +1730,8 @@
android:permissionGroup="android.permission-group.UNDEFINED"
android:label="@string/permlab_cameraHeadlessSystemUser"
android:description="@string/permdesc_cameraHeadlessSystemUser"
- android:protectionLevel="signature" />
+ android:protectionLevel="signature"
+ android:featureFlag="com.android.internal.camera.flags.camera_hsum_permission" />
<!-- ====================================================================== -->
<!-- Permissions for accessing the device sensors -->
@@ -2321,7 +2324,8 @@
@hide This should only be used by system apps.
-->
<permission android:name="android.permission.REGISTER_NSD_OFFLOAD_ENGINE"
- android:protectionLevel="signature" />
+ android:protectionLevel="signature"
+ android:featureFlag="com.android.net.flags.register_nsd_offload_engine" />
<!-- ======================================= -->
<!-- Permissions for short range, peripheral networks -->
@@ -2390,7 +2394,8 @@
them from running without explicit user action.
-->
<permission android:name="android.permission.QUARANTINE_APPS"
- android:protectionLevel="signature|verifier" />
+ android:protectionLevel="signature|verifier"
+ android:featureFlag="android.content.pm.quarantined_enabled" />
<!-- Allows applications to discover and pair bluetooth devices.
<p>Protection level: normal
@@ -2650,7 +2655,8 @@
@FlaggedApi("com.android.window.flags.screen_recording_callbacks")
-->
<permission android:name="android.permission.DETECT_SCREEN_RECORDING"
- android:protectionLevel="normal" />
+ android:protectionLevel="normal"
+ android:featureFlag="com.android.window.flags.screen_recording_callbacks" />
<!-- ======================================== -->
<!-- Permissions for factory reset protection -->
@@ -3617,6 +3623,13 @@
<permission android:name="android.permission.MANAGE_DEVICE_POLICY_THREAD_NETWORK"
android:protectionLevel="internal|role" />
+ <!-- Allows an application to set policy related to sending assist content to a
+ privileged app such as the Assistant app.
+ @FlaggedApi("android.app.admin.flags.assist_content_user_restriction_enabled")
+ -->
+ <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ASSIST_CONTENT"
+ android:protectionLevel="internal|role" />
+
<!-- Allows an application to set policy related to windows.
<p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is
required to call APIs protected by this permission on users different to the calling user.
@@ -3799,6 +3812,13 @@
<permission android:name="android.permission.MANAGE_DEVICE_POLICY_CONTENT_PROTECTION"
android:protectionLevel="internal|role" />
+ <!-- Allows an application to set policy related to subscriptions downloaded by an admin.
+ <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call
+ APIs protected by this permission on users different to the calling user.
+ @FlaggedApi("android.app.admin.flags.esim_management_enabled") -->
+ <permission android:name="android.permission.MANAGE_DEVICE_POLICY_MANAGED_SUBSCRIPTIONS"
+ android:protectionLevel="internal|role" />
+
<!-- Allows an application to set device policies outside the current user
that are critical for securing data within the current user.
<p>Holding this permission allows the use of other held MANAGE_DEVICE_POLICY_*
@@ -5922,7 +5942,7 @@
<permission android:name="android.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS"
android:protectionLevel="signature|privileged" />
- <!-- Allows an application to collect usage infomation about brightness slider changes.
+ <!-- Allows an application to collect usage information about brightness slider changes.
<p>Not for use by third-party applications.</p>
@hide
@SystemApi
@@ -7994,14 +8014,6 @@
<permission android:name="android.permission.MANAGE_DISPLAYS"
android:protectionLevel="signature" />
- <!-- @SystemApi Allows apps to reset hotword training data egress count for testing.
- <p>CTS tests will use UiAutomation.AdoptShellPermissionIdentity() to gain access.
- <p>Protection level: signature
- @FlaggedApi("android.service.voice.flags.allow_training_data_egress_from_hds")
- @hide -->
- <permission android:name="android.permission.RESET_HOTWORD_TRAINING_DATA_EGRESS_COUNT"
- android:protectionLevel="signature" />
-
<!-- @SystemApi Allows an app to track all preparations for a complete factory reset.
<p>Protection level: signature|privileged
@FlaggedApi("android.permission.flags.factory_reset_prep_permission_apis")
diff --git a/core/res/OWNERS b/core/res/OWNERS
index 332ad2a..6924248 100644
--- a/core/res/OWNERS
+++ b/core/res/OWNERS
@@ -8,7 +8,6 @@
hackbod@android.com
hackbod@google.com
ilyamaty@google.com
-jaggies@google.com
jbolinger@google.com
jsharkey@android.com
jsharkey@google.com
diff --git a/core/res/res/color/system_on_surface_disabled.xml b/core/res/res/color/system_on_surface_disabled.xml
new file mode 100644
index 0000000..aba87f5
--- /dev/null
+++ b/core/res/res/color/system_on_surface_disabled.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2023 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:color="?attr/materialColorOnSurface"
+ android:alpha="?attr/disabledAlpha" />
+</selector>
diff --git a/core/res/res/color/system_outline_disabled.xml b/core/res/res/color/system_outline_disabled.xml
new file mode 100644
index 0000000..0a67ce3
--- /dev/null
+++ b/core/res/res/color/system_outline_disabled.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2023 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:color="?attr/materialColorOutline"
+ android:alpha="?attr/disabledAlpha" />
+</selector>
diff --git a/core/res/res/color/system_surface_disabled.xml b/core/res/res/color/system_surface_disabled.xml
new file mode 100644
index 0000000..2d7fe7d
--- /dev/null
+++ b/core/res/res/color/system_surface_disabled.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2023 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:color="?attr/materialColorSurface"
+ android:alpha="?attr/disabledAlpha" />
+</selector>
diff --git a/core/res/res/drawable/ic_private_profile_badge.xml b/core/res/res/drawable/ic_private_profile_badge.xml
index 28c0f8a..b042c39 100644
--- a/core/res/res/drawable/ic_private_profile_badge.xml
+++ b/core/res/res/drawable/ic_private_profile_badge.xml
@@ -20,6 +20,6 @@
android:viewportWidth="24"
android:viewportHeight="24">
<path
- android:pathData="M10.5,15H13.5L12.925,11.775C13.258,11.608 13.517,11.367 13.7,11.05C13.9,10.733 14,10.383 14,10C14,9.45 13.8,8.983 13.4,8.6C13.017,8.2 12.55,8 12,8C11.45,8 10.975,8.2 10.575,8.6C10.192,8.983 10,9.45 10,10C10,10.383 10.092,10.733 10.275,11.05C10.475,11.367 10.742,11.608 11.075,11.775L10.5,15ZM12,22C9.683,21.417 7.767,20.092 6.25,18.025C4.75,15.942 4,13.633 4,11.1V5L12,2L20,5V11.1C20,13.633 19.242,15.942 17.725,18.025C16.225,20.092 14.317,21.417 12,22ZM12,19.9C13.733,19.35 15.167,18.25 16.3,16.6C17.433,14.95 18,13.117 18,11.1V6.375L12,4.125L6,6.375V11.1C6,13.117 6.567,14.95 7.7,16.6C8.833,18.25 10.267,19.35 12,19.9Z"
- android:fillColor="@android:color/system_accent1_900"/>
+ android:pathData="M5,3H19C20.1,3 21,3.9 21,5V19C21,20.1 20.1,21 19,21H5C3.9,21 3,20.1 3,19V5C3,3.9 3.9,3 5,3ZM13.5,15.501L12.93,12.271C13.57,11.941 14,11.271 14,10.501C14,9.401 13.1,8.501 12,8.501C10.9,8.501 10,9.401 10,10.501C10,11.271 10.43,11.941 11.07,12.271L10.5,15.501H13.5Z"
+ android:fillColor="#3C4043"/>
</vector>
\ No newline at end of file
diff --git a/core/res/res/drawable/ic_private_profile_icon_badge.xml b/core/res/res/drawable/ic_private_profile_icon_badge.xml
index 5cb6a9d..5f1f1b7 100644
--- a/core/res/res/drawable/ic_private_profile_icon_badge.xml
+++ b/core/res/res/drawable/ic_private_profile_icon_badge.xml
@@ -25,7 +25,7 @@
android:translateX="42"
android:translateY="42">
<path
- android:pathData="M10.5,15H13.5L12.925,11.775C13.258,11.608 13.517,11.367 13.7,11.05C13.9,10.733 14,10.383 14,10C14,9.45 13.8,8.983 13.4,8.6C13.017,8.2 12.55,8 12,8C11.45,8 10.975,8.2 10.575,8.6C10.192,8.983 10,9.45 10,10C10,10.383 10.092,10.733 10.275,11.05C10.475,11.367 10.742,11.608 11.075,11.775L10.5,15ZM12,22C9.683,21.417 7.767,20.092 6.25,18.025C4.75,15.942 4,13.633 4,11.1V5L12,2L20,5V11.1C20,13.633 19.242,15.942 17.725,18.025C16.225,20.092 14.317,21.417 12,22ZM12,19.9C13.733,19.35 15.167,18.25 16.3,16.6C17.433,14.95 18,13.117 18,11.1V6.375L12,4.125L6,6.375V11.1C6,13.117 6.567,14.95 7.7,16.6C8.833,18.25 10.267,19.35 12,19.9Z"
- android:fillColor="@android:color/system_accent1_900"/>
+ android:pathData="M5,3H19C20.1,3 21,3.9 21,5V19C21,20.1 20.1,21 19,21H5C3.9,21 3,20.1 3,19V5C3,3.9 3.9,3 5,3ZM13.5,15.501L12.93,12.271C13.57,11.941 14,11.271 14,10.501C14,9.401 13.1,8.501 12,8.501C10.9,8.501 10,9.401 10,10.501C10,11.271 10.43,11.941 11.07,12.271L10.5,15.501H13.5Z"
+ android:fillColor="#3C4043"/>
</group>
</vector>
\ No newline at end of file
diff --git a/core/res/res/drawable/stat_sys_private_profile_status.xml b/core/res/res/drawable/stat_sys_private_profile_status.xml
index 98cc88d8..429070e 100644
--- a/core/res/res/drawable/stat_sys_private_profile_status.xml
+++ b/core/res/res/drawable/stat_sys_private_profile_status.xml
@@ -21,5 +21,5 @@
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
- android:pathData="M10.5,15H13.5L12.925,11.775C13.258,11.608 13.517,11.367 13.7,11.05C13.9,10.733 14,10.383 14,10C14,9.45 13.8,8.983 13.4,8.6C13.017,8.2 12.55,8 12,8C11.45,8 10.975,8.2 10.575,8.6C10.192,8.983 10,9.45 10,10C10,10.383 10.092,10.733 10.275,11.05C10.475,11.367 10.742,11.608 11.075,11.775L10.5,15ZM12,22C9.683,21.417 7.767,20.092 6.25,18.025C4.75,15.942 4,13.633 4,11.1V5L12,2L20,5V11.1C20,13.633 19.242,15.942 17.725,18.025C16.225,20.092 14.317,21.417 12,22ZM12,19.9C13.733,19.35 15.167,18.25 16.3,16.6C17.433,14.95 18,13.117 18,11.1V6.375L12,4.125L6,6.375V11.1C6,13.117 6.567,14.95 7.7,16.6C8.833,18.25 10.267,19.35 12,19.9Z"/>
+ android:pathData="M5,3H19C20.1,3 21,3.9 21,5V19C21,20.1 20.1,21 19,21H5C3.9,21 3,20.1 3,19V5C3,3.9 3.9,3 5,3ZM13.5,15.501L12.93,12.271C13.57,11.941 14,11.271 14,10.501C14,9.401 13.1,8.501 12,8.501C10.9,8.501 10,9.401 10,10.501C10,11.271 10.43,11.941 11.07,12.271L10.5,15.501H13.5Z"/>
</vector>
\ No newline at end of file
diff --git a/core/res/res/layout/app_perms_summary.xml b/core/res/res/layout/app_perms_summary.xml
index b8d93ac..509b988 100644
--- a/core/res/res/layout/app_perms_summary.xml
+++ b/core/res/res/layout/app_perms_summary.xml
@@ -14,7 +14,7 @@
limitations under the License.
-->
-<!-- Describes permission item consisting of a group name and the list of permisisons under the group -->
+<!-- Describes permission item consisting of a group name and the list of permissions under the group -->
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
diff --git a/core/res/res/values-watch/colors.xml b/core/res/res/values-watch/colors.xml
new file mode 100644
index 0000000..0b00bd8
--- /dev/null
+++ b/core/res/res/values-watch/colors.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<!-- Watch specific system colors. -->
+<resources>
+ <color name="system_error_light">#B3261E</color>
+ <color name="system_on_error_light">#FFFFFF</color>
+ <color name="system_error_container_light">#F9DEDC</color>
+ <color name="system_on_error_container_light">#410E0B</color>
+
+ <color name="system_error_dark">#EC928E</color>
+ <color name="system_on_error_dark">#410E0B</color>
+ <color name="system_error_container_dark">#F2B8B5</color>
+ <color name="system_on_error_container_dark">#601410</color>
+</resources>
diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml
index 41bc825..4ee03de 100644
--- a/core/res/res/values/attrs.xml
+++ b/core/res/res/values/attrs.xml
@@ -1344,6 +1344,8 @@
<!-- A color that passes accessibility guidelines for text/iconography when drawn on top
of tertiary. @hide -->
<attr name="materialColorTertiary" format="color"/>
+ <!-- The error color for the app, intended to draw attention to error conditions. @hide -->
+ <attr name="materialColorError" format="color"/>
</declare-styleable>
<!-- **************************************************************** -->
@@ -3641,6 +3643,18 @@
<p> The default value is 40dp for {@link android.widget.TextView} and
{@link android.widget.EditText}, and 0dp for all other views. -->
<attr name="handwritingBoundsOffsetBottom" format="dimension" />
+
+ <!-- Sets whether this view renders sensitive content. -->
+ <!-- @FlaggedApi("android.view.flags.sensitive_content_app_protection_api") -->
+ <attr name="contentSensitivity">
+ <!-- Let the Android System use its heuristics to determine if the view renders
+ sensitive content. -->
+ <enum name="auto" value="0" />
+ <!-- This view renders sensitive content. -->
+ <enum name="sensitive" value="0x1" />
+ <!-- This view doesn't render sensitive content. -->
+ <enum name="notSensitive" value="0x2" />
+ </attr>
</declare-styleable>
<!-- Attributes that can be assigned to a tag for a particular View. -->
@@ -3966,6 +3980,26 @@
{@link android.inputmethodservice.InputMethodService#onFinishInput()}.
-->
<attr name="supportsStylusHandwriting" format="boolean" />
+ <!-- Specifies whether the IME supports connectionless stylus handwriting sessions. A
+ connectionless session differs from a regular session in that the IME does not use an
+ input connection to communicate with a text editor. Instead, the IME directly returns
+ recognised handwritten text via an {@link
+ android.inputmethodservice.InputMethodService} handwriting lifecycle API.
+
+ <p>If the IME supports connectionless sessions, apps or framework may start a
+ connectionless session when a stylus motion event sequence begins. {@link
+ android.inputmethodservice.InputMethodService#onStartConnectionlessStylusHandwriting}
+ is called. If the IME is ready for stylus input, it should return {code true} to start
+ the basic mode session. As in the regular session, the IME will receive stylus motion
+ events to the stylus handwriting window and should render ink to a view in this window.
+ When the user has stopped handwriting, the IME should end the session and deliver the
+ result by calling {@link
+ android.inputmethodservice.InputMethodService#finishConnectionlessStylusHandwriting}.
+
+ The default value is {code false}. If {code true}, {@link
+ android.R.attr#supportsStylusHandwriting} should also be {code true}.
+ -->
+ <attr name="supportsConnectionlessStylusHandwriting" format="boolean" />
<!-- Class name of an activity that allows the user to modify the stylus handwriting
settings for this service -->
<attr name="stylusHandwritingSettingsActivity" format="string" />
diff --git a/core/res/res/values/attrs_manifest.xml b/core/res/res/values/attrs_manifest.xml
index 4741012..647bccf 100644
--- a/core/res/res/values/attrs_manifest.xml
+++ b/core/res/res/values/attrs_manifest.xml
@@ -1618,13 +1618,15 @@
<!-- Data (photo, file, account) upload/download, backup/restore, import/export, fetch,
transfer over network between device and cloud.
- <p>For apps with <code>targetSdkVersion</code>
- {@link android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE} and above, this type should NOT
- be used: calling
- {@link android.app.Service#startForeground(int, android.app.Notification, int)} with
- this type on devices running {@link android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE}
- is still allowed, but calling it with this type on devices running future platform
- releases may get a {@link android.app.InvalidForegroundServiceTypeException}.
+ <p><b>THIS TYPE IS DEPRECATED.</b>
+ <p><em>Note: For apps with <code>targetSdkVersion</code>
+ {@link android.os.Build.VERSION_CODES#VANILLA_ICE_CREAM} and above, this type should
+ <b>NOT</b> be used: calling
+ {@link android.app.Service#startForeground(int, android.app.Notification, int)}
+ with this type on devices running
+ {@link android.os.Build.VERSION_CODES#VANILLA_ICE_CREAM} is still allowed, but it may
+ throw an {@link android.app.InvalidForegroundServiceTypeException} in future platform
+ releases.</em>
-->
<flag name="dataSync" value="0x01" />
<!-- Music, video, news or other media play.
diff --git a/core/res/res/values/colors.xml b/core/res/res/values/colors.xml
index 53a6270..b879c97 100644
--- a/core/res/res/values/colors.xml
+++ b/core/res/res/values/colors.xml
@@ -438,7 +438,47 @@
This value can be overlaid at runtime by OverlayManager RROs. -->
<color name="system_neutral2_1000">#000000</color>
- <!-- Colors used in Android system, from Material design system.
+ <!-- Lightest shade of the error color used by the system. White.
+ This value can be overlaid at runtime by OverlayManager RROs. -->
+ <color name="system_error_0">#ffffff</color>
+ <!-- Shade of the error system color at 99% perceptual luminance (L* in L*a*b* color space).
+ This value can be overlaid at runtime by OverlayManager RROs. -->
+ <color name="system_error_10">#FFFBF9</color>
+ <!-- Shade of the error system color at 95% perceptual luminance (L* in L*a*b* color space).
+ This value can be overlaid at runtime by OverlayManager RROs. -->
+ <color name="system_error_50">#FCEEEE</color>
+ <!-- Shade of the error system color at 90% perceptual luminance (L* in L*a*b* color space).
+ This value can be overlaid at runtime by OverlayManager RROs. -->
+ <color name="system_error_100">#F9DEDC</color>
+ <!-- Shade of the error system color at 80% perceptual luminance (L* in L*a*b* color space).
+ This value can be overlaid at runtime by OverlayManager RROs. -->
+ <color name="system_error_200">#F2B8B5</color>
+ <!-- Shade of the error system color at 70% perceptual luminance (L* in L*a*b* color space).
+ This value can be overlaid at runtime by OverlayManager RROs. -->
+ <color name="system_error_300">#EC928E</color>
+ <!-- Shade of the error system color at 60% perceptual luminance (L* in L*a*b* color space).
+ This value can be overlaid at runtime by OverlayManager RROs. -->
+ <color name="system_error_400">#E46962</color>
+ <!-- Shade of the error system color at 49% perceptual luminance (L* in L*a*b* color space).
+ This value can be overlaid at runtime by OverlayManager RROs. -->
+ <color name="system_error_500">#DC362E</color>
+ <!-- Shade of the error system color at 40% perceptual luminance (L* in L*a*b* color space).
+ This value can be overlaid at runtime by OverlayManager RROs. -->
+ <color name="system_error_600">#B3261E</color>
+ <!-- Shade of the error system color at 30% perceptual luminance (L* in L*a*b* color space).
+ This value can be overlaid at runtime by OverlayManager RROs. -->
+ <color name="system_error_700">#8C1D18</color>
+ <!-- Shade of the error system color at 20% perceptual luminance (L* in L*a*b* color space).
+ This value can be overlaid at runtime by OverlayManager RROs. -->
+ <color name="system_error_800">#601410</color>
+ <!-- Shade of the error system color at 10% perceptual luminance (L* in L*a*b* color space).
+ This value can be overlaid at runtime by OverlayManager RROs. -->
+ <color name="system_error_900">#410E0B</color>
+ <!-- Darkest shade of the error color used by the system. Black.
+ This value can be overlaid at runtime by OverlayManager RROs. -->
+ <color name="system_error_1000">#000000</color>
+
+ <!-- Colors used in Android system, from design system.
These values can be overlaid at runtime by OverlayManager RROs. -->
<color name="system_primary_container_light">#D8E2FF</color>
<color name="system_on_primary_container_light">#001A41</color>
diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml
index 0acccee..291a593 100644
--- a/core/res/res/values/dimens.xml
+++ b/core/res/res/values/dimens.xml
@@ -65,7 +65,7 @@
<!-- Width of the navigation bar when it is placed vertically on the screen -->
<dimen name="navigation_bar_width">48dp</dimen>
<!-- Height of the bottom taskbar not including decorations like rounded corners. -->
- <dimen name="taskbar_frame_height">60dp</dimen>
+ <dimen name="taskbar_frame_height">56dp</dimen>
<!-- How much we expand the touchable region of the status bar below the notch to catch touches
that just start below the notch. -->
<dimen name="display_cutout_touchable_region_size">12dp</dimen>
diff --git a/core/res/res/values/dimens_material.xml b/core/res/res/values/dimens_material.xml
index 972fe7e..fa15c3f 100644
--- a/core/res/res/values/dimens_material.xml
+++ b/core/res/res/values/dimens_material.xml
@@ -204,4 +204,11 @@
<dimen name="progress_bar_size_small">16dip</dimen>
<dimen name="progress_bar_size_medium">48dp</dimen>
<dimen name="progress_bar_size_large">76dp</dimen>
+
+ <!-- System corner radius baseline sizes. Used by Material styling of rounded corner shapes-->
+ <dimen name="system_corner_radius_xsmall">4dp</dimen>
+ <dimen name="system_corner_radius_small">8dp</dimen>
+ <dimen name="system_corner_radius_medium">16dp</dimen>
+ <dimen name="system_corner_radius_large">26dp</dimen>
+ <dimen name="system_corner_radius_xlarge">36dp</dimen>
</resources>
diff --git a/core/res/res/values/public-staging.xml b/core/res/res/values/public-staging.xml
index 5ee5555..dcb6bb0 100644
--- a/core/res/res/values/public-staging.xml
+++ b/core/res/res/values/public-staging.xml
@@ -155,6 +155,10 @@
<public name="languageSettingsActivity"/>
<!-- @FlaggedApi("com.android.text.flags.fix_line_height_for_locale") -->
<public name="useLocalePreferredLineHeightForMinimum"/>
+ <!-- @FlaggedApi("android.view.flags.sensitive_content_app_protection_api") -->
+ <public name="contentSensitivity" />
+ <!-- @FlaggedApi("android.view.inputmethod.connectionless_handwriting") -->
+ <public name="supportsConnectionlessStylusHandwriting" />
</staging-public-group>
<staging-public-group type="id" first-id="0x01bc0000">
@@ -171,9 +175,31 @@
</staging-public-group>
<staging-public-group type="dimen" first-id="0x01b90000">
+ <!-- System corner radius baseline sizes. Used by Material styling of rounded corner shapes-->
+ <public name="system_corner_radius_xsmall" />
+ <public name="system_corner_radius_small" />
+ <public name="system_corner_radius_medium" />
+ <public name="system_corner_radius_large" />
+ <public name="system_corner_radius_xlarge" />
</staging-public-group>
<staging-public-group type="color" first-id="0x01b80000">
+ <public name="system_surface_disabled"/>
+ <public name="system_on_surface_disabled"/>
+ <public name="system_outline_disabled"/>
+ <public name="system_error_0"/>
+ <public name="system_error_10"/>
+ <public name="system_error_50"/>
+ <public name="system_error_100"/>
+ <public name="system_error_200"/>
+ <public name="system_error_300"/>
+ <public name="system_error_400"/>
+ <public name="system_error_500"/>
+ <public name="system_error_600"/>
+ <public name="system_error_700"/>
+ <public name="system_error_800"/>
+ <public name="system_error_900"/>
+ <public name="system_error_1000"/>
</staging-public-group>
<staging-public-group type="array" first-id="0x01b70000">
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index be96cc2..e999695 100644
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -1893,15 +1893,15 @@
<string name="face_authenticated_confirmation_required">Face authenticated, please press confirm</string>
<!-- Error message shown when the fingerprint hardware can't be accessed -->
- <string name="fingerprint_error_hw_not_available">Fingerprint hardware not available.</string>
+ <string name="fingerprint_error_hw_not_available">Fingerprint hardware not available</string>
<!-- Error message shown when the fingerprint hardware has run out of room for storing fingerprints -->
<string name="fingerprint_error_no_space">Can\u2019t set up fingerprint</string>
<!-- Error message shown when the fingerprint hardware timer has expired and the user needs to restart the operation. -->
<string name="fingerprint_error_timeout">Fingerprint setup timed out. Try again.</string>
<!-- Generic error message shown when the fingerprint operation (e.g. enrollment or authentication) is canceled. Generally not shown to the user-->
- <string name="fingerprint_error_canceled">Fingerprint operation canceled.</string>
+ <string name="fingerprint_error_canceled">Fingerprint operation canceled</string>
<!-- Generic error message shown when the fingerprint authentication operation is canceled due to user input. Generally not shown to the user -->
- <string name="fingerprint_error_user_canceled">Fingerprint operation canceled by user.</string>
+ <string name="fingerprint_error_user_canceled">Fingerprint operation canceled by user</string>
<!-- Generic error message shown when the fingerprint operation fails because too many attempts have been made. -->
<string name="fingerprint_error_lockout">Too many attempts. Use screen lock instead.</string>
<!-- Generic error message shown when the fingerprint operation fails because strong authentication is required -->
@@ -1909,13 +1909,13 @@
<!-- Generic error message shown when the fingerprint hardware can't recognize the fingerprint -->
<string name="fingerprint_error_unable_to_process">Can\u2019t process fingerprint. Try again.</string>
<!-- Generic error message shown when the user has no enrolled fingerprints -->
- <string name="fingerprint_error_no_fingerprints">No fingerprints enrolled.</string>
+ <string name="fingerprint_error_no_fingerprints">No fingerprints enrolled</string>
<!-- Generic error message shown when the app requests fingerprint authentication on a device without a sensor -->
- <string name="fingerprint_error_hw_not_present">This device does not have a fingerprint sensor.</string>
+ <string name="fingerprint_error_hw_not_present">This device does not have a fingerprint sensor</string>
<!-- Generic error message shown when fingerprint is not available due to a security vulnerability. [CHAR LIMIT=50] -->
- <string name="fingerprint_error_security_update_required">Sensor temporarily disabled.</string>
+ <string name="fingerprint_error_security_update_required">Sensor temporarily disabled</string>
<!-- Generic error message shown when fingerprint needs calibration [CHAR LIMIT=150] -->
- <string name="fingerprint_error_bad_calibration">Can\u2019t use fingerprint sensor. Visit a repair provider</string>
+ <string name="fingerprint_error_bad_calibration">Can\u2019t use fingerprint sensor. Visit a repair provider.</string>
<!-- Generic error message shown when the power button has been pressed. [CHAR LIMIT=150] -->
<string name="fingerprint_error_power_pressed">Power button pressed</string>
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index 3d19c85..7c290b1 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -5244,6 +5244,7 @@
<java-symbol name="materialColorPrimary" type="attr"/>
<java-symbol name="materialColorSecondary" type="attr"/>
<java-symbol name="materialColorTertiary" type="attr"/>
+ <java-symbol name="materialColorError" type="attr"/>
<java-symbol type="attr" name="actionModeUndoDrawable" />
<java-symbol type="attr" name="actionModeRedoDrawable" />
@@ -5355,4 +5356,11 @@
<java-symbol type="drawable" name="ic_satellite_alt_24px" />
<java-symbol type="bool" name="config_watchlistUseFileHashesCache" />
+
+ <!-- System corner radius baseline sizes. Used by Material styling of rounded corner shapes-->
+ <java-symbol type="dimen" name="system_corner_radius_xsmall" />
+ <java-symbol type="dimen" name="system_corner_radius_small" />
+ <java-symbol type="dimen" name="system_corner_radius_medium" />
+ <java-symbol type="dimen" name="system_corner_radius_large" />
+ <java-symbol type="dimen" name="system_corner_radius_xlarge" />
</resources>
diff --git a/core/res/res/values/themes_device_defaults.xml b/core/res/res/values/themes_device_defaults.xml
index 84f1d6e..ee19144 100644
--- a/core/res/res/values/themes_device_defaults.xml
+++ b/core/res/res/values/themes_device_defaults.xml
@@ -283,6 +283,7 @@
<item name="materialColorPrimary">@color/system_primary_dark</item>
<item name="materialColorSecondary">@color/system_secondary_dark</item>
<item name="materialColorTertiary">@color/system_tertiary_dark</item>
+ <item name="materialColorError">@color/system_error_dark</item>
</style>
<style name="Theme.DeviceDefault" parent="Theme.DeviceDefaultBase" />
@@ -378,6 +379,7 @@
<item name="materialColorPrimary">@color/system_primary_dark</item>
<item name="materialColorSecondary">@color/system_secondary_dark</item>
<item name="materialColorTertiary">@color/system_tertiary_dark</item>
+ <item name="materialColorError">@color/system_error_dark</item>
</style>
<!-- Variant of {@link #Theme_DeviceDefault} with no action bar and no status bar. This theme
@@ -472,6 +474,7 @@
<item name="materialColorPrimary">@color/system_primary_dark</item>
<item name="materialColorSecondary">@color/system_secondary_dark</item>
<item name="materialColorTertiary">@color/system_tertiary_dark</item>
+ <item name="materialColorError">@color/system_error_dark</item>
</style>
<!-- Variant of {@link #Theme_DeviceDefault} with no action bar and no status bar and
@@ -568,6 +571,7 @@
<item name="materialColorPrimary">@color/system_primary_dark</item>
<item name="materialColorSecondary">@color/system_secondary_dark</item>
<item name="materialColorTertiary">@color/system_tertiary_dark</item>
+ <item name="materialColorError">@color/system_error_dark</item>
</style>
<!-- Variant of {@link #Theme_DeviceDefault} that has no title bar and translucent
@@ -663,6 +667,7 @@
<item name="materialColorPrimary">@color/system_primary_dark</item>
<item name="materialColorSecondary">@color/system_secondary_dark</item>
<item name="materialColorTertiary">@color/system_tertiary_dark</item>
+ <item name="materialColorError">@color/system_error_dark</item>
</style>
<!-- DeviceDefault theme for dialog windows and activities. This changes the window to be
@@ -766,6 +771,7 @@
<item name="materialColorPrimary">@color/system_primary_dark</item>
<item name="materialColorSecondary">@color/system_secondary_dark</item>
<item name="materialColorTertiary">@color/system_tertiary_dark</item>
+ <item name="materialColorError">@color/system_error_dark</item>
</style>
<!-- Variant of {@link #Theme_DeviceDefault_Dialog} that has a nice minimum width for a
@@ -860,6 +866,7 @@
<item name="materialColorPrimary">@color/system_primary_dark</item>
<item name="materialColorSecondary">@color/system_secondary_dark</item>
<item name="materialColorTertiary">@color/system_tertiary_dark</item>
+ <item name="materialColorError">@color/system_error_dark</item>
</style>
<!-- Variant of {@link #Theme_DeviceDefault_Dialog} without an action bar -->
@@ -953,6 +960,7 @@
<item name="materialColorPrimary">@color/system_primary_dark</item>
<item name="materialColorSecondary">@color/system_secondary_dark</item>
<item name="materialColorTertiary">@color/system_tertiary_dark</item>
+ <item name="materialColorError">@color/system_error_dark</item>
</style>
<!-- Variant of {@link #Theme_DeviceDefault_Dialog_NoActionBar} that has a nice minimum width
@@ -1047,6 +1055,7 @@
<item name="materialColorPrimary">@color/system_primary_dark</item>
<item name="materialColorSecondary">@color/system_secondary_dark</item>
<item name="materialColorTertiary">@color/system_tertiary_dark</item>
+ <item name="materialColorError">@color/system_error_dark</item>
</style>
<!-- Variant of Theme.DeviceDefault.Dialog that has a fixed size. -->
@@ -1157,6 +1166,7 @@
<item name="materialColorPrimary">@color/system_primary_dark</item>
<item name="materialColorSecondary">@color/system_secondary_dark</item>
<item name="materialColorTertiary">@color/system_tertiary_dark</item>
+ <item name="materialColorError">@color/system_error_dark</item>
</style>
<!-- DeviceDefault theme for a window without an action bar that will be displayed either
@@ -1252,6 +1262,7 @@
<item name="materialColorPrimary">@color/system_primary_dark</item>
<item name="materialColorSecondary">@color/system_secondary_dark</item>
<item name="materialColorTertiary">@color/system_tertiary_dark</item>
+ <item name="materialColorError">@color/system_error_dark</item>
</style>
<!-- DeviceDefault theme for a presentation window on a secondary display. -->
@@ -1345,6 +1356,7 @@
<item name="materialColorPrimary">@color/system_primary_dark</item>
<item name="materialColorSecondary">@color/system_secondary_dark</item>
<item name="materialColorTertiary">@color/system_tertiary_dark</item>
+ <item name="materialColorError">@color/system_error_dark</item>
</style>
<!-- DeviceDefault theme for panel windows. This removes all extraneous window
@@ -1440,6 +1452,7 @@
<item name="materialColorPrimary">@color/system_primary_dark</item>
<item name="materialColorSecondary">@color/system_secondary_dark</item>
<item name="materialColorTertiary">@color/system_tertiary_dark</item>
+ <item name="materialColorError">@color/system_error_dark</item>
</style>
<!-- DeviceDefault theme for windows that want to have the user's selected wallpaper appear
@@ -1534,6 +1547,7 @@
<item name="materialColorPrimary">@color/system_primary_dark</item>
<item name="materialColorSecondary">@color/system_secondary_dark</item>
<item name="materialColorTertiary">@color/system_tertiary_dark</item>
+ <item name="materialColorError">@color/system_error_dark</item>
</style>
<!-- DeviceDefault theme for windows that want to have the user's selected wallpaper appear
@@ -1628,6 +1642,7 @@
<item name="materialColorPrimary">@color/system_primary_dark</item>
<item name="materialColorSecondary">@color/system_secondary_dark</item>
<item name="materialColorTertiary">@color/system_tertiary_dark</item>
+ <item name="materialColorError">@color/system_error_dark</item>
</style>
<!-- DeviceDefault style for input methods, which is used by the
@@ -1722,6 +1737,7 @@
<item name="materialColorPrimary">@color/system_primary_light</item>
<item name="materialColorSecondary">@color/system_secondary_light</item>
<item name="materialColorTertiary">@color/system_tertiary_light</item>
+ <item name="materialColorError">@color/system_error_light</item>
</style>
<!-- DeviceDefault style for input methods, which is used by the
@@ -1816,6 +1832,7 @@
<item name="materialColorPrimary">@color/system_primary_light</item>
<item name="materialColorSecondary">@color/system_secondary_light</item>
<item name="materialColorTertiary">@color/system_tertiary_light</item>
+ <item name="materialColorError">@color/system_error_light</item>
</style>
<style name="Theme.DeviceDefault.Dialog.Alert" parent="Theme.Material.Dialog.Alert">
@@ -1910,6 +1927,7 @@
<item name="materialColorPrimary">@color/system_primary_dark</item>
<item name="materialColorSecondary">@color/system_secondary_dark</item>
<item name="materialColorTertiary">@color/system_tertiary_dark</item>
+ <item name="materialColorError">@color/system_error_dark</item>
</style>
<!-- Theme for the dialog shown when an app crashes or ANRs. -->
@@ -2009,6 +2027,7 @@
<item name="materialColorPrimary">@color/system_primary_dark</item>
<item name="materialColorSecondary">@color/system_secondary_dark</item>
<item name="materialColorTertiary">@color/system_tertiary_dark</item>
+ <item name="materialColorError">@color/system_error_dark</item>
</style>
<style name="Theme.DeviceDefault.Dialog.NoFrame" parent="Theme.Material.Dialog.NoFrame">
@@ -2101,6 +2120,7 @@
<item name="materialColorPrimary">@color/system_primary_dark</item>
<item name="materialColorSecondary">@color/system_secondary_dark</item>
<item name="materialColorTertiary">@color/system_tertiary_dark</item>
+ <item name="materialColorError">@color/system_error_dark</item>
</style>
<!-- Variant of {@link #Theme_DeviceDefault} with a light-colored style -->
@@ -2331,6 +2351,7 @@
<item name="materialColorPrimary">@color/system_primary_light</item>
<item name="materialColorSecondary">@color/system_secondary_light</item>
<item name="materialColorTertiary">@color/system_tertiary_light</item>
+ <item name="materialColorError">@color/system_error_light</item>
</style>
<!-- Variant of the DeviceDefault (light) theme that has a solid (opaque) action bar with an
@@ -2425,6 +2446,7 @@
<item name="materialColorPrimary">@color/system_primary_light</item>
<item name="materialColorSecondary">@color/system_secondary_light</item>
<item name="materialColorTertiary">@color/system_tertiary_light</item>
+ <item name="materialColorError">@color/system_error_light</item>
</style>
<!-- Variant of {@link #Theme_DeviceDefault_Light} with no action bar -->
@@ -2518,6 +2540,7 @@
<item name="materialColorPrimary">@color/system_primary_light</item>
<item name="materialColorSecondary">@color/system_secondary_light</item>
<item name="materialColorTertiary">@color/system_tertiary_light</item>
+ <item name="materialColorError">@color/system_error_light</item>
</style>
<!-- Variant of {@link #Theme_DeviceDefault_Light} with no action bar and no status bar.
@@ -2612,6 +2635,7 @@
<item name="materialColorPrimary">@color/system_primary_light</item>
<item name="materialColorSecondary">@color/system_secondary_light</item>
<item name="materialColorTertiary">@color/system_tertiary_light</item>
+ <item name="materialColorError">@color/system_error_light</item>
</style>
<!-- Variant of {@link #Theme_DeviceDefault_Light} with no action bar and no status bar
@@ -2708,6 +2732,7 @@
<item name="materialColorPrimary">@color/system_primary_light</item>
<item name="materialColorSecondary">@color/system_secondary_light</item>
<item name="materialColorTertiary">@color/system_tertiary_light</item>
+ <item name="materialColorError">@color/system_error_light</item>
</style>
<!-- Variant of {@link #Theme_DeviceDefault_Light} that has no title bar and translucent
@@ -2803,6 +2828,7 @@
<item name="materialColorPrimary">@color/system_primary_light</item>
<item name="materialColorSecondary">@color/system_secondary_light</item>
<item name="materialColorTertiary">@color/system_tertiary_light</item>
+ <item name="materialColorError">@color/system_error_light</item>
</style>
<!-- DeviceDefault light theme for dialog windows and activities. This changes the window to be
@@ -2904,6 +2930,7 @@
<item name="materialColorPrimary">@color/system_primary_light</item>
<item name="materialColorSecondary">@color/system_secondary_light</item>
<item name="materialColorTertiary">@color/system_tertiary_light</item>
+ <item name="materialColorError">@color/system_error_light</item>
</style>
<!-- Variant of {@link #Theme_DeviceDefault_Light_Dialog} that has a nice minimum width for a
@@ -3001,6 +3028,7 @@
<item name="materialColorPrimary">@color/system_primary_light</item>
<item name="materialColorSecondary">@color/system_secondary_light</item>
<item name="materialColorTertiary">@color/system_tertiary_light</item>
+ <item name="materialColorError">@color/system_error_light</item>
</style>
<!-- Variant of {@link #Theme_DeviceDefault_Light_Dialog} without an action bar -->
@@ -3097,6 +3125,7 @@
<item name="materialColorPrimary">@color/system_primary_light</item>
<item name="materialColorSecondary">@color/system_secondary_light</item>
<item name="materialColorTertiary">@color/system_tertiary_light</item>
+ <item name="materialColorError">@color/system_error_light</item>
</style>
<!-- Variant of {@link #Theme_DeviceDefault_Light_Dialog_NoActionBar} that has a nice minimum
@@ -3194,6 +3223,7 @@
<item name="materialColorPrimary">@color/system_primary_light</item>
<item name="materialColorSecondary">@color/system_secondary_light</item>
<item name="materialColorTertiary">@color/system_tertiary_light</item>
+ <item name="materialColorError">@color/system_error_light</item>
</style>
<!-- Variant of Theme.DeviceDefault.Dialog that has a fixed size. -->
@@ -3272,6 +3302,7 @@
<item name="materialColorPrimary">@color/system_primary_light</item>
<item name="materialColorSecondary">@color/system_secondary_light</item>
<item name="materialColorTertiary">@color/system_tertiary_light</item>
+ <item name="materialColorError">@color/system_error_light</item>
</style>
<!-- Variant of Theme.DeviceDefault.Dialog.NoActionBar that has a fixed size. -->
@@ -3350,6 +3381,7 @@
<item name="materialColorPrimary">@color/system_primary_light</item>
<item name="materialColorSecondary">@color/system_secondary_light</item>
<item name="materialColorTertiary">@color/system_tertiary_light</item>
+ <item name="materialColorError">@color/system_error_light</item>
</style>
<!-- DeviceDefault light theme for a window that will be displayed either full-screen on smaller
@@ -3447,6 +3479,7 @@
<item name="materialColorPrimary">@color/system_primary_light</item>
<item name="materialColorSecondary">@color/system_secondary_light</item>
<item name="materialColorTertiary">@color/system_tertiary_light</item>
+ <item name="materialColorError">@color/system_error_light</item>
</style>
<!-- DeviceDefault light theme for a window without an action bar that will be displayed either
@@ -3545,6 +3578,7 @@
<item name="materialColorPrimary">@color/system_primary_light</item>
<item name="materialColorSecondary">@color/system_secondary_light</item>
<item name="materialColorTertiary">@color/system_tertiary_light</item>
+ <item name="materialColorError">@color/system_error_light</item>
</style>
<!-- DeviceDefault light theme for a presentation window on a secondary display. -->
@@ -3641,6 +3675,7 @@
<item name="materialColorPrimary">@color/system_primary_light</item>
<item name="materialColorSecondary">@color/system_secondary_light</item>
<item name="materialColorTertiary">@color/system_tertiary_light</item>
+ <item name="materialColorError">@color/system_error_light</item>
</style>
<!-- DeviceDefault light theme for panel windows. This removes all extraneous window
@@ -3736,6 +3771,7 @@
<item name="materialColorPrimary">@color/system_primary_light</item>
<item name="materialColorSecondary">@color/system_secondary_light</item>
<item name="materialColorTertiary">@color/system_tertiary_light</item>
+ <item name="materialColorError">@color/system_error_light</item>
</style>
<style name="Theme.DeviceDefault.Light.Dialog.Alert" parent="Theme.Material.Light.Dialog.Alert">
@@ -3830,6 +3866,7 @@
<item name="materialColorPrimary">@color/system_primary_light</item>
<item name="materialColorSecondary">@color/system_secondary_light</item>
<item name="materialColorTertiary">@color/system_tertiary_light</item>
+ <item name="materialColorError">@color/system_error_light</item>
</style>
<style name="Theme.DeviceDefault.Dialog.Alert.DayNight" parent="Theme.DeviceDefault.Light.Dialog.Alert" />
@@ -3924,6 +3961,7 @@
<item name="materialColorPrimary">@color/system_primary_light</item>
<item name="materialColorSecondary">@color/system_secondary_light</item>
<item name="materialColorTertiary">@color/system_tertiary_light</item>
+ <item name="materialColorError">@color/system_error_light</item>
</style>
<style name="Theme.DeviceDefault.Light.Voice" parent="Theme.Material.Light.Voice">
@@ -4016,6 +4054,7 @@
<item name="materialColorPrimary">@color/system_primary_light</item>
<item name="materialColorSecondary">@color/system_secondary_light</item>
<item name="materialColorTertiary">@color/system_tertiary_light</item>
+ <item name="materialColorError">@color/system_error_light</item>
</style>
<!-- DeviceDefault theme for a window that should look like the Settings app. -->
@@ -4116,6 +4155,7 @@
<item name="materialColorPrimary">@color/system_primary_light</item>
<item name="materialColorSecondary">@color/system_secondary_light</item>
<item name="materialColorTertiary">@color/system_tertiary_light</item>
+ <item name="materialColorError">@color/system_error_light</item>
</style>
<style name="Theme.DeviceDefault.SystemUI" parent="Theme.DeviceDefault.Light">
@@ -4197,6 +4237,7 @@
<item name="materialColorPrimary">@color/system_primary_light</item>
<item name="materialColorSecondary">@color/system_secondary_light</item>
<item name="materialColorTertiary">@color/system_tertiary_light</item>
+ <item name="materialColorError">@color/system_error_light</item>
</style>
<style name="Theme.DeviceDefault.SystemUI.Dialog" parent="Theme.DeviceDefault.Light.Dialog">
@@ -4270,6 +4311,7 @@
<item name="materialColorPrimary">@color/system_primary_light</item>
<item name="materialColorSecondary">@color/system_secondary_light</item>
<item name="materialColorTertiary">@color/system_tertiary_light</item>
+ <item name="materialColorError">@color/system_error_light</item>
</style>
<!-- Variant of {@link #Theme_DeviceDefault_Settings_Dark} with no action bar -->
@@ -4364,6 +4406,7 @@
<item name="materialColorPrimary">@color/system_primary_dark</item>
<item name="materialColorSecondary">@color/system_secondary_dark</item>
<item name="materialColorTertiary">@color/system_tertiary_dark</item>
+ <item name="materialColorError">@color/system_error_dark</item>
</style>
<style name="Theme.DeviceDefault.Settings.DialogBase" parent="Theme.Material.Light.BaseDialog">
@@ -4442,6 +4485,7 @@
<item name="materialColorPrimary">@color/system_primary_light</item>
<item name="materialColorSecondary">@color/system_secondary_light</item>
<item name="materialColorTertiary">@color/system_tertiary_light</item>
+ <item name="materialColorError">@color/system_error_light</item>
</style>
<style name="Theme.DeviceDefault.Settings.Dialog" parent="Theme.DeviceDefault.Settings.DialogBase">
@@ -4560,6 +4604,7 @@
<item name="materialColorPrimary">@color/system_primary_light</item>
<item name="materialColorSecondary">@color/system_secondary_light</item>
<item name="materialColorTertiary">@color/system_tertiary_light</item>
+ <item name="materialColorError">@color/system_error_light</item>
</style>
<style name="Theme.DeviceDefault.Settings.Dialog.Alert" parent="Theme.Material.Settings.Dialog.Alert">
@@ -4656,6 +4701,7 @@
<item name="materialColorPrimary">@color/system_primary_light</item>
<item name="materialColorSecondary">@color/system_secondary_light</item>
<item name="materialColorTertiary">@color/system_tertiary_light</item>
+ <item name="materialColorError">@color/system_error_light</item>
</style>
<style name="Theme.DeviceDefault.Settings.Dialog.NoActionBar" parent="Theme.DeviceDefault.Light.Dialog.NoActionBar" />
@@ -4778,6 +4824,7 @@
<item name="materialColorPrimary">@color/system_primary_dark</item>
<item name="materialColorSecondary">@color/system_secondary_dark</item>
<item name="materialColorTertiary">@color/system_tertiary_dark</item>
+ <item name="materialColorError">@color/system_error_dark</item>
</style>
<style name="ThemeOverlay.DeviceDefault.Accent.Light">
@@ -4830,6 +4877,7 @@
<item name="materialColorPrimary">@color/system_primary_light</item>
<item name="materialColorSecondary">@color/system_secondary_light</item>
<item name="materialColorTertiary">@color/system_tertiary_light</item>
+ <item name="materialColorError">@color/system_error_light</item>
</style>
<!-- Theme overlay that replaces colorAccent with the colorAccent from {@link #Theme_DeviceDefault_DayNight}. -->
@@ -4886,6 +4934,7 @@
<item name="materialColorPrimary">@color/system_primary_dark</item>
<item name="materialColorSecondary">@color/system_secondary_dark</item>
<item name="materialColorTertiary">@color/system_tertiary_dark</item>
+ <item name="materialColorError">@color/system_error_dark</item>
</style>
<style name="Theme.DeviceDefault.Light.Dialog.Alert.UserSwitchingDialog" parent="Theme.DeviceDefault.NoActionBar.Fullscreen">
@@ -4938,6 +4987,7 @@
<item name="materialColorPrimary">@color/system_primary_light</item>
<item name="materialColorSecondary">@color/system_secondary_light</item>
<item name="materialColorTertiary">@color/system_tertiary_light</item>
+ <item name="materialColorError">@color/system_error_light</item>
</style>
<style name="Theme.DeviceDefault.Notification" parent="@style/Theme.Material.Notification">
@@ -5001,6 +5051,7 @@
<item name="materialColorPrimary">@color/system_primary_dark</item>
<item name="materialColorSecondary">@color/system_secondary_dark</item>
<item name="materialColorTertiary">@color/system_tertiary_dark</item>
+ <item name="materialColorError">@color/system_error_dark</item>
</style>
<style name="Theme.DeviceDefault.AutofillHalfScreenDialogList" parent="Theme.DeviceDefault.DayNight">
<item name="colorListDivider">@color/list_divider_opacity_device_default_light</item>
diff --git a/core/tests/BroadcastRadioTests/src/android/hardware/radio/TunerAdapterTest.java b/core/tests/BroadcastRadioTests/src/android/hardware/radio/TunerAdapterTest.java
index 5aace81..e4cf7ac 100644
--- a/core/tests/BroadcastRadioTests/src/android/hardware/radio/TunerAdapterTest.java
+++ b/core/tests/BroadcastRadioTests/src/android/hardware/radio/TunerAdapterTest.java
@@ -286,7 +286,7 @@
int scanStatus = mRadioTuner.scan(RadioTuner.DIRECTION_DOWN, /* skipSubChannel= */ false);
verify(mTunerMock).seek(/* directionDown= */ true, /* skipSubChannel= */ false);
- assertWithMessage("Status for scaning")
+ assertWithMessage("Status for scanning")
.that(scanStatus).isEqualTo(RadioManager.STATUS_OK);
verify(mCallbackMock, timeout(CALLBACK_TIMEOUT_MS)).onProgramInfoChanged(FM_PROGRAM_INFO);
}
diff --git a/core/tests/ConnectivityManagerTest/src/com/android/connectivitymanagertest/ConnectivityManagerStressTestRunner.java b/core/tests/ConnectivityManagerTest/src/com/android/connectivitymanagertest/ConnectivityManagerStressTestRunner.java
index 0806fa0..db95d7a 100644
--- a/core/tests/ConnectivityManagerTest/src/com/android/connectivitymanagertest/ConnectivityManagerStressTestRunner.java
+++ b/core/tests/ConnectivityManagerTest/src/com/android/connectivitymanagertest/ConnectivityManagerStressTestRunner.java
@@ -99,7 +99,7 @@
}
}
- public int getSoftApInterations() {
+ public int getSoftApIterations() {
return mSoftApIterations;
}
diff --git a/core/tests/coretests/src/android/app/assist/AssistStructureTest.java b/core/tests/coretests/src/android/app/assist/AssistStructureTest.java
index 0e5f2e1..abeb08c 100644
--- a/core/tests/coretests/src/android/app/assist/AssistStructureTest.java
+++ b/core/tests/coretests/src/android/app/assist/AssistStructureTest.java
@@ -22,11 +22,20 @@
import static com.google.common.truth.Truth.assertThat;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+
import android.app.assist.AssistStructure.ViewNode;
import android.app.assist.AssistStructure.ViewNodeBuilder;
import android.app.assist.AssistStructure.ViewNodeParcelable;
import android.content.Context;
+import android.credentials.CredentialOption;
+import android.credentials.GetCredentialException;
+import android.credentials.GetCredentialRequest;
+import android.credentials.GetCredentialResponse;
+import android.os.Bundle;
import android.os.LocaleList;
+import android.os.OutcomeReceiver;
import android.os.Parcel;
import android.os.SystemClock;
import android.text.InputFilter;
@@ -38,6 +47,7 @@
import android.widget.LinearLayout;
import android.widget.TextView;
+import androidx.annotation.NonNull;
import androidx.test.InstrumentationRegistry;
import androidx.test.rule.ActivityTestRule;
import androidx.test.runner.AndroidJUnit4;
@@ -74,6 +84,28 @@
private static final int BIG_VIEW_SIZE = 10_000_000;
private static final char BIG_VIEW_CHAR = '6';
private static final String BIG_STRING = repeat(BIG_VIEW_CHAR, BIG_VIEW_SIZE);
+
+ private static final GetCredentialRequest GET_CREDENTIAL_REQUEST = new
+ GetCredentialRequest.Builder(Bundle.EMPTY)
+ .addCredentialOption(new CredentialOption(
+ "TYPE_OPTION",
+ new Bundle(),
+ new Bundle(),
+ false))
+ .build();
+
+ private static final OutcomeReceiver<GetCredentialResponse,
+ GetCredentialException> GET_CREDENTIAL_REQUEST_CALLBACK = new OutcomeReceiver<>() {
+ @Override
+ public void onResult(@NonNull GetCredentialResponse response) {
+ // Do nothing
+ }
+
+ @Override
+ public void onError(@NonNull GetCredentialException e) {
+ // Do nothing
+ }
+ };
// Cannot be much big because it could hang test due to blocking GC
private static final int NUMBER_SMALL_VIEWS = 10_000;
@@ -224,6 +256,53 @@
}
@Test
+ public void testViewNodeParcelableForCredentialManager() {
+ Log.d(TAG, "Adding view with " + BIG_VIEW_SIZE + " chars");
+
+ View view = newCredentialView();
+ mActivity.addView(view);
+ waitUntilViewsAreLaidOff();
+
+ assertThat(view.getViewRootImpl()).isNotNull();
+ ViewNodeBuilder viewStructure = new ViewNodeBuilder();
+ viewStructure.setAutofillId(view.getAutofillId());
+ viewStructure.setCredentialManagerRequest(view.getCredentialManagerRequest(),
+ view.getCredentialManagerCallback());
+ view.onProvideAutofillStructure(viewStructure, /* flags= */ 0);
+ ViewNodeParcelable viewNodeParcelable = new ViewNodeParcelable(viewStructure.getViewNode());
+
+ // Check properties on "original" view node.
+ assertCredentialView(viewNodeParcelable.getViewNode());
+
+ // Check properties on "cloned" view node.
+ ViewNodeParcelable clone = cloneThroughParcel(viewNodeParcelable);
+ assertCredentialView(clone.getViewNode());
+ }
+
+ @Test
+ public void testViewNodeClearCredentialManagerRequest() {
+ Log.d(TAG, "Adding view with " + BIG_VIEW_SIZE + " chars");
+
+ View view = newCredentialView();
+ mActivity.addView(view);
+ waitUntilViewsAreLaidOff();
+
+ assertThat(view.getViewRootImpl()).isNotNull();
+ ViewNodeBuilder viewStructure = new ViewNodeBuilder();
+ viewStructure.setCredentialManagerRequest(view.getCredentialManagerRequest(),
+ view.getCredentialManagerCallback());
+
+ assertEquals(viewStructure.getCredentialManagerRequest(), GET_CREDENTIAL_REQUEST);
+ assertEquals(viewStructure.getCredentialManagerCallback(),
+ GET_CREDENTIAL_REQUEST_CALLBACK);
+
+ viewStructure.clearCredentialManagerRequest();
+
+ assertNull(viewStructure.getCredentialManagerRequest());
+ assertNull(viewStructure.getCredentialManagerCallback());
+ }
+
+ @Test
public void testViewNodeParcelableForAutofill() {
Log.d(TAG, "Adding view with " + BIG_VIEW_SIZE + " chars");
@@ -307,6 +386,14 @@
EditText view = new EditText(mContext);
view.setText("Big Hint in Little View");
view.setAutofillHints(BIG_STRING);
+ view.setCredentialManagerRequest(GET_CREDENTIAL_REQUEST, GET_CREDENTIAL_REQUEST_CALLBACK);
+ return view;
+ }
+
+ private EditText newCredentialView() {
+ EditText view = new EditText(mContext);
+ view.setText("Credential Request");
+ view.setCredentialManagerRequest(GET_CREDENTIAL_REQUEST, GET_CREDENTIAL_REQUEST_CALLBACK);
return view;
}
@@ -316,6 +403,7 @@
assertThat(view.getIdEntry()).isNull();
assertThat(view.getAutofillId()).isNotNull();
assertThat(view.getText().toString()).isEqualTo("Big Hint in Little View");
+ assertThat(view.getText().toString()).isEqualTo("Big Hint in Little View");
String[] hints = view.getAutofillHints();
assertThat(hints.length).isEqualTo(1);
@@ -326,6 +414,17 @@
assertThat(hint.charAt(BIG_VIEW_SIZE - 1)).isEqualTo(BIG_VIEW_CHAR);
}
+ private void assertCredentialView(ViewNode view) {
+ assertThat(view.getClassName()).isEqualTo(EditText.class.getName());
+ assertThat(view.getChildCount()).isEqualTo(0);
+ assertThat(view.getIdEntry()).isNull();
+ assertThat(view.getAutofillId()).isNotNull();
+ assertThat(view.getText().toString()).isEqualTo("Big Hint in Little View");
+
+ assertThat(view.getCredentialManagerRequest()).isEqualTo(GET_CREDENTIAL_REQUEST);
+ assertThat(view.getCredentialManagerCallback()).isEqualTo(GET_CREDENTIAL_REQUEST_CALLBACK);
+ }
+
/**
* Assert the lowest and highest bit control flags.
*
diff --git a/core/tests/coretests/src/android/os/CancellationSignalTest.java b/core/tests/coretests/src/android/os/CancellationSignalTest.java
new file mode 100644
index 0000000..5cd2873
--- /dev/null
+++ b/core/tests/coretests/src/android/os/CancellationSignalTest.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.os;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import android.platform.test.ravenwood.RavenwoodRule;
+
+import androidx.test.runner.AndroidJUnit4;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
+@RunWith(AndroidJUnit4.class)
+public class CancellationSignalTest {
+ @Rule
+ public final RavenwoodRule mRavenwood = new RavenwoodRule.Builder()
+ .setProvideMainThread(true)
+ .build();
+
+ @Test
+ public void testSimple() throws Exception {
+ final CancellationSignal signal = new CancellationSignal();
+ final CountDownLatch latch = new CountDownLatch(1);
+ signal.setOnCancelListener(() -> {
+ latch.countDown();
+ });
+
+ assertFalse(signal.isCanceled());
+ signal.cancel();
+ assertTrue(signal.isCanceled());
+ assertTrue(latch.await(100, TimeUnit.MILLISECONDS));
+ }
+}
diff --git a/core/tests/coretests/src/android/os/RemoteCallbackListTest.java b/core/tests/coretests/src/android/os/RemoteCallbackListTest.java
new file mode 100644
index 0000000..aa89e04
--- /dev/null
+++ b/core/tests/coretests/src/android/os/RemoteCallbackListTest.java
@@ -0,0 +1,121 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.os;
+
+import static org.junit.Assert.assertEquals;
+
+import androidx.test.runner.AndroidJUnit4;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.atomic.AtomicInteger;
+
+@RunWith(AndroidJUnit4.class)
+public class RemoteCallbackListTest {
+ private RemoteCallbackList<IRemoteCallback> mList;
+ private MyRemoteCallback mRed;
+ private MyRemoteCallback mGreen;
+ private MyRemoteCallback mBlue;
+ private Object mCookie;
+
+ public static class MyRemoteCallback {
+ public final CountDownLatch mLatch = new CountDownLatch(1);
+ public final RemoteCallback mCallback = new RemoteCallback((bundle) -> {
+ mLatch.countDown();
+ });
+ public final IRemoteCallback mInterface = mCallback.getInterface();
+ }
+
+ @Before
+ public void setUp() {
+ mList = new RemoteCallbackList<>();
+ mRed = new MyRemoteCallback();
+ mGreen = new MyRemoteCallback();
+ mBlue = new MyRemoteCallback();
+ mCookie = new Object();
+ }
+
+ @Test
+ public void testInspection() {
+ assertEquals(0, mList.getRegisteredCallbackCount());
+
+ mList.register(mRed.mInterface);
+ mList.register(mGreen.mInterface, mCookie);
+ assertEquals(2, mList.getRegisteredCallbackCount());
+ assertEquals(mRed.mInterface, mList.getRegisteredCallbackItem(0));
+ assertEquals(null, mList.getRegisteredCallbackCookie(0));
+ assertEquals(mGreen.mInterface, mList.getRegisteredCallbackItem(1));
+ assertEquals(mCookie, mList.getRegisteredCallbackCookie(1));
+
+ mList.unregister(mRed.mInterface);
+ assertEquals(1, mList.getRegisteredCallbackCount());
+ assertEquals(mGreen.mInterface, mList.getRegisteredCallbackItem(0));
+ assertEquals(mCookie, mList.getRegisteredCallbackCookie(0));
+ }
+
+ @Test
+ public void testEmpty_Manual() {
+ final int num = mList.beginBroadcast();
+ assertEquals(0, num);
+ mList.finishBroadcast();
+ }
+
+ @Test
+ public void testEmpty_Functional() {
+ final AtomicInteger count = new AtomicInteger();
+ mList.broadcast((e) -> {
+ count.incrementAndGet();
+ });
+ assertEquals(0, count.get());
+ }
+
+ @Test
+ public void testSimple_Manual() throws Exception {
+ mList.register(mRed.mInterface);
+ mList.register(mGreen.mInterface);
+
+ final int num = mList.beginBroadcast();
+ for (int i = num - 1; i >= 0; i--) {
+ mList.getBroadcastItem(i).sendResult(Bundle.EMPTY);
+ }
+ mList.finishBroadcast();
+
+ assertEquals(0, mRed.mLatch.getCount());
+ assertEquals(0, mGreen.mLatch.getCount());
+ assertEquals(1, mBlue.mLatch.getCount());
+ }
+
+ @Test
+ public void testSimple_Functional() throws Exception {
+ mList.register(mRed.mInterface);
+ mList.register(mGreen.mInterface);
+
+ mList.broadcast((e) -> {
+ try {
+ e.sendResult(Bundle.EMPTY);
+ } catch (RemoteException ignored) {
+ }
+ });
+
+ assertEquals(0, mRed.mLatch.getCount());
+ assertEquals(0, mGreen.mLatch.getCount());
+ assertEquals(1, mBlue.mLatch.getCount());
+ }
+}
diff --git a/core/tests/coretests/src/android/os/RemoteCallbackTest.java b/core/tests/coretests/src/android/os/RemoteCallbackTest.java
new file mode 100644
index 0000000..192c3d01
--- /dev/null
+++ b/core/tests/coretests/src/android/os/RemoteCallbackTest.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.os;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import android.platform.test.ravenwood.RavenwoodRule;
+
+import androidx.test.runner.AndroidJUnit4;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
+@RunWith(AndroidJUnit4.class)
+public class RemoteCallbackTest {
+ @Rule
+ public final RavenwoodRule mRavenwood = new RavenwoodRule.Builder()
+ .setProvideMainThread(true)
+ .build();
+
+ @Test
+ public void testSimple() throws Exception {
+ final CountDownLatch latch = new CountDownLatch(1);
+ final RemoteCallback cb = new RemoteCallback((bundle) -> {
+ latch.countDown();
+ }, new Handler(Looper.getMainLooper()));
+
+ assertEquals(1, latch.getCount());
+ cb.sendResult(Bundle.EMPTY);
+ assertTrue(latch.await(100, TimeUnit.MILLISECONDS));
+ }
+}
diff --git a/core/tests/coretests/src/android/os/ResultReceiverTest.java b/core/tests/coretests/src/android/os/ResultReceiverTest.java
new file mode 100644
index 0000000..8ee873b
--- /dev/null
+++ b/core/tests/coretests/src/android/os/ResultReceiverTest.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.os;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import android.platform.test.ravenwood.RavenwoodRule;
+
+import androidx.test.runner.AndroidJUnit4;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
+@RunWith(AndroidJUnit4.class)
+public class ResultReceiverTest {
+ @Rule
+ public final RavenwoodRule mRavenwood = new RavenwoodRule.Builder()
+ .setProvideMainThread(true)
+ .build();
+
+ @Test
+ public void testSimple() throws Exception {
+ final CountDownLatch latch = new CountDownLatch(1);
+ final ResultReceiver receiver = new ResultReceiver(new Handler(Looper.getMainLooper())) {
+ @Override
+ protected void onReceiveResult(int resultCode, Bundle resultData) {
+ latch.countDown();
+ }
+ };
+
+ assertEquals(1, latch.getCount());
+ receiver.send(42, Bundle.EMPTY);
+ assertTrue(latch.await(100, TimeUnit.MILLISECONDS));
+ }
+}
diff --git a/core/tests/coretests/src/android/util/FloatMathTest.java b/core/tests/coretests/src/android/util/FloatMathTest.java
new file mode 100644
index 0000000..f748acd
--- /dev/null
+++ b/core/tests/coretests/src/android/util/FloatMathTest.java
@@ -0,0 +1,95 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.util;
+
+import static org.junit.Assert.assertEquals;
+
+import androidx.test.runner.AndroidJUnit4;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(AndroidJUnit4.class)
+public class FloatMathTest {
+ private static float DELTA = 0.0f;
+
+ private static float[] TEST_VALUES = new float[] {
+ 0,
+ 1,
+ 30,
+ 90,
+ 123,
+ 360,
+ 1000,
+ };
+
+ @Test
+ public void testSqrt() {
+ for (float value : TEST_VALUES) {
+ assertEquals((float) Math.sqrt(value), FloatMath.sqrt(value), DELTA);
+ }
+ }
+
+ @Test
+ public void testFloor() {
+ for (float value : TEST_VALUES) {
+ assertEquals((float) Math.floor(value), FloatMath.floor(value), DELTA);
+ }
+ }
+
+ @Test
+ public void testCeil() {
+ for (float value : TEST_VALUES) {
+ assertEquals((float) Math.ceil(value), FloatMath.ceil(value), DELTA);
+ }
+ }
+
+ @Test
+ public void testCos() {
+ for (float value : TEST_VALUES) {
+ assertEquals((float) Math.cos(value), FloatMath.cos(value), DELTA);
+ }
+ }
+
+ @Test
+ public void testSin() {
+ for (float value : TEST_VALUES) {
+ assertEquals((float) Math.sin(value), FloatMath.sin(value), DELTA);
+ }
+ }
+
+ @Test
+ public void testExp() {
+ for (float value : TEST_VALUES) {
+ assertEquals((float) Math.exp(value), FloatMath.exp(value), DELTA);
+ }
+ }
+
+ @Test
+ public void testPow() {
+ for (float value : TEST_VALUES) {
+ assertEquals((float) Math.pow(value, value), FloatMath.pow(value, value), DELTA);
+ }
+ }
+
+ @Test
+ public void testHypot() {
+ for (float value : TEST_VALUES) {
+ assertEquals((float) Math.hypot(value, value), FloatMath.hypot(value, value), DELTA);
+ }
+ }
+}
diff --git a/core/tests/coretests/src/android/util/LogWriterTest.java b/core/tests/coretests/src/android/util/LogWriterTest.java
new file mode 100644
index 0000000..890a401
--- /dev/null
+++ b/core/tests/coretests/src/android/util/LogWriterTest.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.util;
+
+import androidx.test.runner.AndroidJUnit4;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(AndroidJUnit4.class)
+public class LogWriterTest {
+ @Test
+ public void testSimple() throws Exception {
+ // Since we can't inspect the log output, the best we can do is make sure we don't crash
+ final LogWriter writer = new LogWriter(Log.DEBUG, "Example");
+ writer.write("Message");
+ writer.write("Message\nMessage");
+ }
+}
diff --git a/core/tests/coretests/src/android/util/MutableTest.java b/core/tests/coretests/src/android/util/MutableTest.java
new file mode 100644
index 0000000..dfdff4d
--- /dev/null
+++ b/core/tests/coretests/src/android/util/MutableTest.java
@@ -0,0 +1,93 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.util;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import androidx.test.runner.AndroidJUnit4;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(AndroidJUnit4.class)
+public class MutableTest {
+ @Test
+ public void testMutableBoolean() {
+ MutableBoolean mut = new MutableBoolean(false);
+ assertFalse(mut.value);
+ mut = new MutableBoolean(true);
+ assertTrue(mut.value);
+ }
+
+ @Test
+ public void testMutableByte() {
+ MutableByte mut = new MutableByte((byte) 127);
+ assertEquals(127, mut.value);
+ mut = new MutableByte((byte) -128);
+ assertEquals(-128, mut.value);
+ }
+
+ @Test
+ public void testMutableChar() {
+ MutableChar mut = new MutableChar('a');
+ assertEquals('a', mut.value);
+ mut = new MutableChar('b');
+ assertEquals('b', mut.value);
+ }
+
+ @Test
+ public void testMutableDouble() {
+ MutableDouble mut = new MutableDouble(0);
+ assertEquals(0, mut.value, 0);
+ mut = new MutableDouble(Double.MAX_VALUE);
+ assertEquals(Double.MAX_VALUE, mut.value, 0);
+ }
+
+ @Test
+ public void testMutableFloat() {
+ MutableFloat mut = new MutableFloat(0f);
+ assertEquals(0f, mut.value, 0);
+ mut = new MutableFloat(Float.MAX_VALUE);
+ assertEquals(Float.MAX_VALUE, mut.value, 0);
+ }
+
+ @Test
+ public void testMutableShort() {
+ MutableShort mut = new MutableShort((short) 0);
+ assertEquals(0, mut.value);
+ mut = new MutableShort(Short.MAX_VALUE);
+ assertEquals(Short.MAX_VALUE, mut.value);
+ }
+
+ @Test
+ public void testMutableInt() {
+ MutableInt mut = new MutableInt(42);
+ assertEquals(42, mut.value);
+ mut = new MutableInt(21);
+ assertEquals(21, mut.value);
+ }
+
+ @Test
+ public void testMutableLong() {
+ MutableLong mut = new MutableLong(42L);
+ assertEquals(42L, mut.value);
+ mut = new MutableLong(21L);
+ assertEquals(21L, mut.value);
+ }
+}
diff --git a/core/tests/coretests/src/android/util/PoolsTest.java b/core/tests/coretests/src/android/util/PoolsTest.java
new file mode 100644
index 0000000..bdbc9b1
--- /dev/null
+++ b/core/tests/coretests/src/android/util/PoolsTest.java
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.util;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+
+import androidx.test.runner.AndroidJUnit4;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(AndroidJUnit4.class)
+public class PoolsTest {
+ private static final int POOL_SIZE = 2;
+
+ private final Object mRed = new Object();
+ private final Object mGreen = new Object();
+ private final Object mBlue = new Object();
+
+ @Test
+ public void testSimple() throws Exception {
+ doTest(new Pools.SimplePool<Object>(POOL_SIZE));
+ }
+
+ @Test
+ public void testSynchronized() throws Exception {
+ doTest(new Pools.SynchronizedPool<Object>(POOL_SIZE));
+ }
+
+ private void doTest(Pools.SimplePool<Object> pool) throws Exception {
+ // Pools are empty by default
+ assertNull(pool.acquire());
+
+ // Verify single item in pool
+ pool.release(mRed);
+ assertEquals(mRed, pool.acquire());
+ assertNull(pool.acquire());
+
+ // Verify pool doesn't get over-full
+ pool.release(mRed);
+ pool.release(mGreen);
+ pool.release(mBlue);
+ assertEquals(mGreen, pool.acquire());
+ assertEquals(mRed, pool.acquire());
+ assertNull(pool.acquire());
+ }
+}
diff --git a/core/tests/coretests/src/android/util/PrefixPrinterTest.java b/core/tests/coretests/src/android/util/PrefixPrinterTest.java
new file mode 100644
index 0000000..a8d48ee
--- /dev/null
+++ b/core/tests/coretests/src/android/util/PrefixPrinterTest.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.util;
+
+import static org.junit.Assert.assertEquals;
+
+import androidx.test.runner.AndroidJUnit4;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(AndroidJUnit4.class)
+public class PrefixPrinterTest {
+ @Test
+ public void testSimple() throws Exception {
+ final StringBuilder builder = new StringBuilder();
+ final Printer printer = new Printer() {
+ @Override
+ public void println(String x) {
+ builder.append(x).append('\n');
+ }
+ };
+
+ final Printer prefixed = PrefixPrinter.create(printer, " ");
+ prefixed.println("Test");
+ prefixed.println("Test");
+ assertEquals(" Test\n Test\n", builder.toString());
+ }
+}
diff --git a/core/tests/coretests/src/android/util/TeeWriterTest.java b/core/tests/coretests/src/android/util/TeeWriterTest.java
new file mode 100644
index 0000000..c78376a
--- /dev/null
+++ b/core/tests/coretests/src/android/util/TeeWriterTest.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.util;
+
+import static org.junit.Assert.assertEquals;
+
+import androidx.test.runner.AndroidJUnit4;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.io.ByteArrayOutputStream;
+import java.io.OutputStreamWriter;
+
+@RunWith(AndroidJUnit4.class)
+public class TeeWriterTest {
+ @Test
+ public void testEmpty() throws Exception {
+ // Verify we don't crash when writing nowhere
+ final TeeWriter writer = new TeeWriter();
+ writer.write("EXAMPLE!");
+ }
+
+ @Test
+ public void testSimple() throws Exception {
+ final ByteArrayOutputStream first = new ByteArrayOutputStream();
+ final ByteArrayOutputStream second = new ByteArrayOutputStream();
+ final ByteArrayOutputStream third = new ByteArrayOutputStream();
+
+ final TeeWriter writer = new TeeWriter(
+ new OutputStreamWriter(first),
+ new OutputStreamWriter(second),
+ new OutputStreamWriter(third));
+
+ writer.write("EXAMPLE!");
+ writer.flush();
+ assertEquals("EXAMPLE!", first.toString());
+ assertEquals("EXAMPLE!", second.toString());
+ assertEquals("EXAMPLE!", third.toString());
+ }
+}
diff --git a/core/tests/coretests/src/android/view/textclassifier/TextClassificationConstantsTest.java b/core/tests/coretests/src/android/view/textclassifier/TextClassificationConstantsTest.java
index 16e750a..a567b4b 100644
--- a/core/tests/coretests/src/android/view/textclassifier/TextClassificationConstantsTest.java
+++ b/core/tests/coretests/src/android/view/textclassifier/TextClassificationConstantsTest.java
@@ -23,6 +23,7 @@
import androidx.test.filters.SmallTest;
import androidx.test.runner.AndroidJUnit4;
+import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -32,6 +33,11 @@
@RunWith(AndroidJUnit4.class)
public class TextClassificationConstantsTest {
+ @Before
+ public void setup() {
+ TextClassificationConstants.resetMemoizedValues();
+ }
+
@Test
public void booleanSettings() {
assertSettings(
diff --git a/core/tests/coretests/src/com/android/internal/util/CollectionUtilsTest.java b/core/tests/coretests/src/com/android/internal/util/CollectionUtilsTest.java
new file mode 100644
index 0000000..ac954d6a
--- /dev/null
+++ b/core/tests/coretests/src/com/android/internal/util/CollectionUtilsTest.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.internal.util;
+
+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 androidx.test.runner.AndroidJUnit4;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+@RunWith(AndroidJUnit4.class)
+public class CollectionUtilsTest {
+ private static final Object RED = new Object();
+ private static final Object GREEN = new Object();
+ private static final Object BLUE = new Object();
+
+ @Test
+ public void testList() throws Exception {
+ List<Object> res = null;
+ assertEquals(0, CollectionUtils.size(res));
+ assertTrue(CollectionUtils.isEmpty(res));
+ assertNull(CollectionUtils.firstOrNull(res));
+ assertFalse(CollectionUtils.contains(res, RED));
+ assertFalse(CollectionUtils.contains(res, GREEN));
+
+ res = CollectionUtils.add(res, RED);
+ assertEquals(1, CollectionUtils.size(res));
+ assertFalse(CollectionUtils.isEmpty(res));
+ assertEquals(RED, CollectionUtils.firstOrNull(res));
+ assertTrue(CollectionUtils.contains(res, RED));
+ assertFalse(CollectionUtils.contains(res, GREEN));
+
+ res = CollectionUtils.add(res, GREEN);
+ assertEquals(2, CollectionUtils.size(res));
+ assertFalse(CollectionUtils.isEmpty(res));
+ assertEquals(RED, CollectionUtils.firstOrNull(res));
+ assertTrue(CollectionUtils.contains(res, RED));
+ assertTrue(CollectionUtils.contains(res, GREEN));
+
+ res = CollectionUtils.remove(res, GREEN);
+ assertNotNull(res);
+ res = CollectionUtils.remove(res, RED);
+ assertNotNull(res);
+
+ // Once drained we don't return to null
+ assertEquals(0, CollectionUtils.size(res));
+ assertTrue(CollectionUtils.isEmpty(res));
+ }
+
+ @Test
+ public void testList_Dupes() throws Exception {
+ List<Object> res = null;
+ res = CollectionUtils.add(res, RED);
+ res = CollectionUtils.add(res, RED);
+ assertEquals(2, CollectionUtils.size(res));
+ }
+
+ @Test
+ public void testSet() throws Exception {
+ Set<Object> res = null;
+ assertEquals(0, CollectionUtils.size(res));
+ assertTrue(CollectionUtils.isEmpty(res));
+ assertFalse(CollectionUtils.contains(res, RED));
+ assertFalse(CollectionUtils.contains(res, GREEN));
+
+ res = CollectionUtils.add(res, RED);
+ assertEquals(1, CollectionUtils.size(res));
+ assertFalse(CollectionUtils.isEmpty(res));
+ assertTrue(CollectionUtils.contains(res, RED));
+ assertFalse(CollectionUtils.contains(res, GREEN));
+
+ res = CollectionUtils.add(res, GREEN);
+ assertEquals(2, CollectionUtils.size(res));
+ assertFalse(CollectionUtils.isEmpty(res));
+ assertTrue(CollectionUtils.contains(res, RED));
+ assertTrue(CollectionUtils.contains(res, GREEN));
+
+ res = CollectionUtils.remove(res, GREEN);
+ assertNotNull(res);
+ res = CollectionUtils.remove(res, RED);
+ assertNotNull(res);
+
+ // Once drained we don't return to null
+ assertEquals(0, CollectionUtils.size(res));
+ assertTrue(CollectionUtils.isEmpty(res));
+ }
+
+ @Test
+ public void testSet_Dupes() throws Exception {
+ Set<Object> res = null;
+ res = CollectionUtils.add(res, RED);
+ res = CollectionUtils.add(res, RED);
+ assertEquals(1, CollectionUtils.size(res));
+ }
+
+ @Test
+ public void testEmptyIfNull() throws Exception {
+ assertTrue(CollectionUtils.emptyIfNull((Set<Object>) null).isEmpty());
+ assertTrue(CollectionUtils.emptyIfNull((List<Object>) null).isEmpty());
+ assertTrue(CollectionUtils.emptyIfNull((Map<Object, Object>) null).isEmpty());
+ }
+}
diff --git a/core/tests/coretests/src/com/android/internal/util/IntPairTest.java b/core/tests/coretests/src/com/android/internal/util/IntPairTest.java
new file mode 100644
index 0000000..af6503f
--- /dev/null
+++ b/core/tests/coretests/src/com/android/internal/util/IntPairTest.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.internal.util;
+
+import static org.junit.Assert.assertEquals;
+
+import androidx.test.runner.AndroidJUnit4;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(AndroidJUnit4.class)
+public class IntPairTest {
+ @Test
+ public void testSimple() throws Exception {
+ final long pair = IntPair.of(1, 2);
+ assertEquals(1, IntPair.first(pair));
+ assertEquals(2, IntPair.second(pair));
+ }
+
+ @Test
+ public void testNegative() throws Exception {
+ final long pair = IntPair.of(-1, -2);
+ assertEquals(-1, IntPair.first(pair));
+ assertEquals(-2, IntPair.second(pair));
+ }
+
+ @Test
+ public void testFullFirst() throws Exception {
+ final long pair = IntPair.of(~0, 0);
+ assertEquals(~0, IntPair.first(pair));
+ assertEquals(0, IntPair.second(pair));
+ }
+
+ @Test
+ public void testFullSecond() throws Exception {
+ final long pair = IntPair.of(0, ~0);
+ assertEquals(0, IntPair.first(pair));
+ assertEquals(~0, IntPair.second(pair));
+ }
+}
diff --git a/core/tests/coretests/src/com/android/internal/util/SizedInputStreamTest.java b/core/tests/coretests/src/com/android/internal/util/SizedInputStreamTest.java
new file mode 100644
index 0000000..efef7ff
--- /dev/null
+++ b/core/tests/coretests/src/com/android/internal/util/SizedInputStreamTest.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.internal.util;
+
+import static org.junit.Assert.assertEquals;
+
+import androidx.test.runner.AndroidJUnit4;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.io.ByteArrayInputStream;
+
+@RunWith(AndroidJUnit4.class)
+public class SizedInputStreamTest {
+ @Test
+ public void testSimple() throws Exception {
+ final ByteArrayInputStream in = new ByteArrayInputStream(new byte[]{1, 2, 3, 4});
+ final SizedInputStream sized = new SizedInputStream(in, 2);
+ assertEquals(1, sized.read());
+ assertEquals(2, sized.read());
+ assertEquals(-1, sized.read());
+ }
+}
diff --git a/data/etc/com.android.launcher3.xml b/data/etc/com.android.launcher3.xml
index 5616d1d..47e2e38 100644
--- a/data/etc/com.android.launcher3.xml
+++ b/data/etc/com.android.launcher3.xml
@@ -26,5 +26,6 @@
<permission name="android.permission.STATUS_BAR"/>
<permission name="android.permission.STOP_APP_SWITCHES"/>
<permission name="android.permission.ACCESS_SHORTCUTS"/>
+ <permission name="android.permission.ACCESS_HIDDEN_PROFILES_FULL"/>
</privapp-permissions>
</permissions>
diff --git a/data/etc/privapp-permissions-platform.xml b/data/etc/privapp-permissions-platform.xml
index fdb5208..4edfb09 100644
--- a/data/etc/privapp-permissions-platform.xml
+++ b/data/etc/privapp-permissions-platform.xml
@@ -316,6 +316,8 @@
<permission name="android.permission.SET_LOW_POWER_STANDBY_PORTS" />
<permission name="android.permission.MANAGE_ROLLBACKS"/>
<permission name="android.permission.MANAGE_USB"/>
+ <!-- Permission required to test Launcher Apps APIs for hidden profiles -->
+ <permission name="android.permission.ACCESS_HIDDEN_PROFILES_FULL" />
<!-- Needed for tests only -->
<permission name="android.permission.MANAGE_CLOUDSEARCH" />
<permission name="android.permission.MANAGE_WALLPAPER_EFFECTS_GENERATION" />
@@ -580,6 +582,8 @@
<permission name="android.permission.READ_BLOCKED_NUMBERS" />
<!-- Permission required for CTS test - PackageManagerTest -->
<permission name="android.permission.DOMAIN_VERIFICATION_AGENT"/>
+ <!-- Permission required for CTS test CtsInputTestCases -->
+ <permission name="android.permission.OVERRIDE_SYSTEM_KEY_BEHAVIOR_IN_FOCUSED_WINDOW" />
</privapp-permissions>
<privapp-permissions package="com.android.statementservice">
diff --git a/graphics/java/android/graphics/BitmapFactory.java b/graphics/java/android/graphics/BitmapFactory.java
index 1da8e18..d915b74 100644
--- a/graphics/java/android/graphics/BitmapFactory.java
+++ b/graphics/java/android/graphics/BitmapFactory.java
@@ -25,10 +25,13 @@
import android.content.res.Resources;
import android.os.Build;
import android.os.Trace;
+import android.system.OsConstants;
import android.util.DisplayMetrics;
import android.util.Log;
import android.util.TypedValue;
+import libcore.io.IoBridge;
+
import java.io.FileDescriptor;
import java.io.FileInputStream;
import java.io.IOException;
@@ -523,19 +526,19 @@
public static Bitmap decodeFile(String pathName, Options opts) {
validate(opts);
Bitmap bm = null;
- InputStream stream = null;
+ FileDescriptor fd = null;
try {
- stream = new FileInputStream(pathName);
- bm = decodeStream(stream, null, opts);
+ fd = IoBridge.open(pathName, OsConstants.O_RDONLY);
+ bm = decodeFileDescriptor(fd, null, opts);
} catch (Exception e) {
/* do nothing.
If the exception happened on open, bm will be null.
*/
- Log.e("BitmapFactory", "Unable to decode stream: " + e);
+ Log.e("BitmapFactory", "Unable to decode file: " + e);
} finally {
- if (stream != null) {
+ if (fd != null) {
try {
- stream.close();
+ IoBridge.closeAndSignalBlockedThreads(fd);
} catch (IOException e) {
// do nothing here
}
diff --git a/graphics/java/android/view/PixelCopy.java b/graphics/java/android/view/PixelCopy.java
index e6de597..9159a00 100644
--- a/graphics/java/android/view/PixelCopy.java
+++ b/graphics/java/android/view/PixelCopy.java
@@ -96,7 +96,7 @@
*
* The contents of the source will be scaled to fit exactly inside the bitmap.
* The pixel format of the source buffer will be converted, as part of the copy,
- * to fit the the bitmap's {@link Bitmap.Config}. The most recently queued buffer
+ * to fit the bitmap's {@link Bitmap.Config}. The most recently queued buffer
* in the SurfaceView's Surface will be used as the source of the copy.
*
* @param source The source from which to copy
@@ -117,7 +117,7 @@
*
* The contents of the source will be scaled to fit exactly inside the bitmap.
* The pixel format of the source buffer will be converted, as part of the copy,
- * to fit the the bitmap's {@link Bitmap.Config}. The most recently queued buffer
+ * to fit the bitmap's {@link Bitmap.Config}. The most recently queued buffer
* in the SurfaceView's Surface will be used as the source of the copy.
*
* @param source The source from which to copy
@@ -143,7 +143,7 @@
*
* The contents of the source will be scaled to fit exactly inside the bitmap.
* The pixel format of the source buffer will be converted, as part of the copy,
- * to fit the the bitmap's {@link Bitmap.Config}. The most recently queued buffer
+ * to fit the bitmap's {@link Bitmap.Config}. The most recently queued buffer
* in the Surface will be used as the source of the copy.
*
* @param source The source from which to copy
@@ -164,7 +164,7 @@
*
* The contents of the source rect will be scaled to fit exactly inside the bitmap.
* The pixel format of the source buffer will be converted, as part of the copy,
- * to fit the the bitmap's {@link Bitmap.Config}. The most recently queued buffer
+ * to fit the bitmap's {@link Bitmap.Config}. The most recently queued buffer
* in the Surface will be used as the source of the copy.
*
* @param source The source from which to copy
@@ -201,7 +201,7 @@
*
* The contents of the source will be scaled to fit exactly inside the bitmap.
* The pixel format of the source buffer will be converted, as part of the copy,
- * to fit the the bitmap's {@link Bitmap.Config}. The most recently queued buffer
+ * to fit the bitmap's {@link Bitmap.Config}. The most recently queued buffer
* in the Window's Surface will be used as the source of the copy.
*
* Note: This is limited to being able to copy from Window's with a non-null
@@ -231,7 +231,7 @@
*
* The contents of the source rect will be scaled to fit exactly inside the bitmap.
* The pixel format of the source buffer will be converted, as part of the copy,
- * to fit the the bitmap's {@link Bitmap.Config}. The most recently queued buffer
+ * to fit the bitmap's {@link Bitmap.Config}. The most recently queued buffer
* in the Window's Surface will be used as the source of the copy.
*
* Note: This is limited to being able to copy from Window's with a non-null
diff --git a/keystore/aaid/aidl/android/security/keystore/IKeyAttestationApplicationIdProvider.aidl b/keystore/aaid/aidl/android/security/keystore/IKeyAttestationApplicationIdProvider.aidl
index c360cb8..cfc5980 100644
--- a/keystore/aaid/aidl/android/security/keystore/IKeyAttestationApplicationIdProvider.aidl
+++ b/keystore/aaid/aidl/android/security/keystore/IKeyAttestationApplicationIdProvider.aidl
@@ -20,8 +20,14 @@
/** @hide */
interface IKeyAttestationApplicationIdProvider {
+ const int ERROR_GET_ATTESTATION_APPLICATION_ID_FAILED = 1;
+
/**
* Provides information describing the possible applications identified by a UID.
+ *
+ * In case of not getting package ids from uid return
+ * {@link #ERROR_GET_ATTESTATION_APPLICATION_ID_FAILED} to the caller.
+ *
* @hide
*/
KeyAttestationApplicationId getKeyAttestationApplicationId(int uid);
diff --git a/libs/WindowManager/Shell/Android.bp b/libs/WindowManager/Shell/Android.bp
index a12fa5f..310300d 100644
--- a/libs/WindowManager/Shell/Android.bp
+++ b/libs/WindowManager/Shell/Android.bp
@@ -19,6 +19,7 @@
// to get the below license kinds:
// SPDX-license-identifier-Apache-2.0
default_applicable_licenses: ["frameworks_base_license"],
+ default_team: "trendy_team_multitasking_windowing",
}
// Begin ProtoLog
diff --git a/libs/WindowManager/Shell/res/drawable/pip_split.xml b/libs/WindowManager/Shell/res/drawable/pip_split.xml
deleted file mode 100644
index 2cfdf6e..0000000
--- a/libs/WindowManager/Shell/res/drawable/pip_split.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- ~ Copyright (C) 2021 The Android Open Source Project
- ~
- ~ Licensed under the Apache License, Version 2.0 (the "License");
- ~ you may not use this file except in compliance with the License.
- ~ You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="@dimen/pip_expand_action_inner_size"
- android:height="@dimen/pip_expand_action_inner_size"
- android:viewportWidth="24"
- android:viewportHeight="24">
-
- <path
- android:fillColor="#FFFFFF"
- android:pathData="M20,18h-5V6h5V18z M22,18V6c0-1.1-0.9-2-2-2h-5c-1.1,0-2,0.9-2,2v12c0,1.1,0.9,2,2,2h5C21.1,20,22,19.1,22,18z M9,18H4V6h5
- V18z M11,18V6c0-1.1-0.9-2-2-2H4C2.9,4,2,4.9,2,6v12c0,1.1,0.9,2,2,2h5C10.1,20,11,19.1,11,18z" />
-</vector>
diff --git a/libs/WindowManager/Shell/res/layout/pip_menu.xml b/libs/WindowManager/Shell/res/layout/pip_menu.xml
index 1dd17ba..258f506 100644
--- a/libs/WindowManager/Shell/res/layout/pip_menu.xml
+++ b/libs/WindowManager/Shell/res/layout/pip_menu.xml
@@ -79,16 +79,6 @@
android:src="@drawable/pip_ic_settings"
android:background="?android:selectableItemBackgroundBorderless" />
- <ImageButton
- android:id="@+id/enter_split"
- android:layout_width="@dimen/pip_split_icon_size"
- android:layout_height="@dimen/pip_split_icon_size"
- android:layout_gravity="top|start"
- android:layout_margin="@dimen/pip_split_icon_margin"
- android:gravity="center"
- android:contentDescription="@string/pip_phone_enter_split"
- android:src="@drawable/pip_split"
- android:background="?android:selectableItemBackgroundBorderless" />
</LinearLayout>
<!--TODO (b/156917828): Add content description for a11y purposes?-->
diff --git a/libs/WindowManager/Shell/res/values/config.xml b/libs/WindowManager/Shell/res/values/config.xml
index a80afe2..8baaf2f 100644
--- a/libs/WindowManager/Shell/res/values/config.xml
+++ b/libs/WindowManager/Shell/res/values/config.xml
@@ -48,9 +48,6 @@
<!-- PiP minimum size, which is a % based off the shorter side of display width and height -->
<fraction name="config_pipShortestEdgePercent">40%</fraction>
- <!-- Show PiP enter split icon, which allows apps to directly enter splitscreen from PiP. -->
- <bool name="config_pipEnableEnterSplitButton">false</bool>
-
<!-- Time (duration in milliseconds) that the shell waits for an app to close the PiP by itself
if a custom action is present before closing it. -->
<integer name="config_pipForceCloseDelay">1000</integer>
diff --git a/libs/WindowManager/Shell/res/values/dimen.xml b/libs/WindowManager/Shell/res/values/dimen.xml
index 28e7098..f73775b 100644
--- a/libs/WindowManager/Shell/res/values/dimen.xml
+++ b/libs/WindowManager/Shell/res/values/dimen.xml
@@ -67,10 +67,6 @@
<dimen name="pip_resize_handle_margin">4dp</dimen>
<dimen name="pip_resize_handle_padding">0dp</dimen>
- <!-- PIP Split icon size and margin. -->
- <dimen name="pip_split_icon_size">24dp</dimen>
- <dimen name="pip_split_icon_margin">12dp</dimen>
-
<!-- PIP stash offset size, which is the width of visible PIP region when stashed. -->
<dimen name="pip_stash_offset">32dp</dimen>
@@ -266,6 +262,10 @@
<dimen name="bubble_bar_manage_menu_item_height">52dp</dimen>
<!-- Size of the icons in the bubble bar manage menu. -->
<dimen name="bubble_bar_manage_menu_item_icon_size">20dp</dimen>
+ <!-- Corner radius for expanded view when bubble bar is used -->
+ <dimen name="bubble_bar_expanded_view_corner_radius">16dp</dimen>
+ <!-- Corner radius for expanded view while it is being dragged -->
+ <dimen name="bubble_bar_expanded_view_corner_radius_dragged">28dp</dimen>
<!-- Bottom and end margin for compat buttons. -->
<dimen name="compat_button_margin">24dp</dimen>
@@ -435,6 +435,9 @@
Text varies in size, we will calculate that width separately. -->
<dimen name="desktop_mode_app_details_width_minus_text">62dp</dimen>
+ <!-- 22dp padding + 24dp app icon + 16dp expand button + 86dp text (max) -->
+ <dimen name="desktop_mode_app_details_max_width">148dp</dimen>
+
<!-- The width of the maximize menu in desktop mode. -->
<dimen name="desktop_mode_maximize_menu_width">287dp</dimen>
diff --git a/libs/WindowManager/Shell/res/values/strings.xml b/libs/WindowManager/Shell/res/values/strings.xml
index 3e66bbb..812a81b 100644
--- a/libs/WindowManager/Shell/res/values/strings.xml
+++ b/libs/WindowManager/Shell/res/values/strings.xml
@@ -24,9 +24,6 @@
<!-- Label for PIP settings button [CHAR LIMIT=NONE]-->
<string name="pip_phone_settings">Settings</string>
- <!-- Label for the PIP enter split button [CHAR LIMIT=NONE] -->
- <string name="pip_phone_enter_split">Enter split screen</string>
-
<!-- Title of menu shown over picture-in-picture. Used for accessibility. -->
<string name="pip_menu_title">Menu</string>
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleExpandedView.java b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleExpandedView.java
index df9ba63..123693d 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleExpandedView.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleExpandedView.java
@@ -176,7 +176,9 @@
private float mCornerRadius = 0f;
private int mBackgroundColorFloating;
private boolean mUsingMaxHeight;
+ private int mLeftClip = 0;
private int mTopClip = 0;
+ private int mRightClip = 0;
private int mBottomClip = 0;
@Nullable private Bubble mBubble;
private PendingIntent mPendingIntent;
@@ -353,7 +355,8 @@
mExpandedViewContainer.setOutlineProvider(new ViewOutlineProvider() {
@Override
public void getOutline(View view, Outline outline) {
- Rect clip = new Rect(0, mTopClip, view.getWidth(), view.getHeight() - mBottomClip);
+ Rect clip = new Rect(mLeftClip, mTopClip, view.getWidth() - mRightClip,
+ view.getHeight() - mBottomClip);
outline.setRoundRect(clip, mCornerRadius);
}
});
@@ -756,8 +759,26 @@
onContainerClipUpdate();
}
+ /**
+ * Sets the clipping for the view.
+ */
+ public void setTaskViewClip(Rect rect) {
+ mLeftClip = rect.left;
+ mTopClip = rect.top;
+ mRightClip = rect.right;
+ mBottomClip = rect.bottom;
+ onContainerClipUpdate();
+ }
+
+ /**
+ * Returns a rect representing the clipping for the view.
+ */
+ public Rect getTaskViewClip() {
+ return new Rect(mLeftClip, mTopClip, mRightClip, mBottom);
+ }
+
private void onContainerClipUpdate() {
- if (mTopClip == 0 && mBottomClip == 0) {
+ if (mTopClip == 0 && mBottomClip == 0 && mRightClip == 0 && mLeftClip == 0) {
if (mIsClipping) {
mIsClipping = false;
if (mTaskView != null) {
@@ -775,8 +796,10 @@
}
mExpandedViewContainer.invalidateOutline();
if (mTaskView != null) {
- mTaskView.setClipBounds(new Rect(0, mTopClip, mTaskView.getWidth(),
- mTaskView.getHeight() - mBottomClip));
+ Rect clipBounds = new Rect(mLeftClip, mTopClip,
+ mTaskView.getWidth() - mRightClip,
+ mTaskView.getHeight() - mBottomClip);
+ mTaskView.setClipBounds(clipBounds);
}
}
}
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleStackView.java b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleStackView.java
index 35c1e8c..b23fd52 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleStackView.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleStackView.java
@@ -441,43 +441,42 @@
/** Magnet listener that handles animating and dismissing individual dragged-out bubbles. */
private final MagnetizedObject.MagnetListener mIndividualBubbleMagnetListener =
new MagnetizedObject.MagnetListener() {
+
@Override
- public void onStuckToTarget(@NonNull MagnetizedObject.MagneticTarget target) {
- if (mExpandedAnimationController.getDraggedOutBubble() == null) {
- return;
+ public void onStuckToTarget(@NonNull MagnetizedObject.MagneticTarget target,
+ @NonNull MagnetizedObject draggedObject) {
+ if (draggedObject.getUnderlyingObject() instanceof View view) {
+ animateDismissBubble(view, true);
}
- animateDismissBubble(
- mExpandedAnimationController.getDraggedOutBubble(), true);
}
@Override
public void onUnstuckFromTarget(@NonNull MagnetizedObject.MagneticTarget target,
+ @NonNull MagnetizedObject draggedObject,
float velX, float velY, boolean wasFlungOut) {
- if (mExpandedAnimationController.getDraggedOutBubble() == null) {
- return;
- }
- animateDismissBubble(
- mExpandedAnimationController.getDraggedOutBubble(), false);
+ if (draggedObject.getUnderlyingObject() instanceof View view) {
+ animateDismissBubble(view, false);
- if (wasFlungOut) {
- mExpandedAnimationController.snapBubbleBack(
- mExpandedAnimationController.getDraggedOutBubble(), velX, velY);
- mDismissView.hide();
- } else {
- mExpandedAnimationController.onUnstuckFromTarget();
+ if (wasFlungOut) {
+ mExpandedAnimationController.snapBubbleBack(view, velX, velY);
+ mDismissView.hide();
+ } else {
+ mExpandedAnimationController.onUnstuckFromTarget();
+ }
}
}
@Override
- public void onReleasedInTarget(@NonNull MagnetizedObject.MagneticTarget target) {
- if (mExpandedAnimationController.getDraggedOutBubble() == null) {
- return;
+ public void onReleasedInTarget(@NonNull MagnetizedObject.MagneticTarget target,
+ @NonNull MagnetizedObject<?> draggedObject) {
+ if (draggedObject.getUnderlyingObject() instanceof View view) {
+ mExpandedAnimationController.dismissDraggedOutBubble(
+ view /* bubble */,
+ mDismissView.getHeight() /* translationYBy */,
+ () -> dismissBubbleIfExists(
+ mBubbleData.getBubbleWithView(view)) /* after */);
}
- mExpandedAnimationController.dismissDraggedOutBubble(
- mExpandedAnimationController.getDraggedOutBubble() /* bubble */,
- mDismissView.getHeight() /* translationYBy */,
- BubbleStackView.this::dismissMagnetizedObject /* after */);
mDismissView.hide();
}
};
@@ -487,12 +486,14 @@
new MagnetizedObject.MagnetListener() {
@Override
public void onStuckToTarget(
- @NonNull MagnetizedObject.MagneticTarget target) {
+ @NonNull MagnetizedObject.MagneticTarget target,
+ @NonNull MagnetizedObject<?> draggedObject) {
animateDismissBubble(mBubbleContainer, true);
}
@Override
public void onUnstuckFromTarget(@NonNull MagnetizedObject.MagneticTarget target,
+ @NonNull MagnetizedObject<?> draggedObject,
float velX, float velY, boolean wasFlungOut) {
animateDismissBubble(mBubbleContainer, false);
if (wasFlungOut) {
@@ -505,14 +506,14 @@
}
@Override
- public void onReleasedInTarget(@NonNull MagnetizedObject.MagneticTarget target) {
+ public void onReleasedInTarget(@NonNull MagnetizedObject.MagneticTarget target,
+ @NonNull MagnetizedObject<?> draggedObject) {
mStackAnimationController.animateStackDismissal(
mDismissView.getHeight() /* translationYBy */,
() -> {
+ mBubbleData.dismissAll(Bubbles.DISMISS_USER_GESTURE);
resetDismissAnimator();
- dismissMagnetizedObject();
- }
- );
+ } /*after */);
mDismissView.hide();
}
};
@@ -2759,19 +2760,6 @@
return mMagnetizedObject != null && mMagnetizedObject.maybeConsumeMotionEvent(event);
}
- /**
- * Dismisses the magnetized object - either an individual bubble, if we're expanded, or the
- * stack, if we're collapsed.
- */
- private void dismissMagnetizedObject() {
- if (mIsExpanded) {
- final View draggedOutBubbleView = (View) mMagnetizedObject.getUnderlyingObject();
- dismissBubbleIfExists(mBubbleData.getBubbleWithView(draggedOutBubbleView));
- } else {
- mBubbleData.dismissAll(Bubbles.DISMISS_USER_GESTURE);
- }
- }
-
private void dismissBubbleIfExists(@Nullable BubbleViewProvider bubble) {
if (bubble != null && mBubbleData.hasBubbleInStackWithKey(bubble.getKey())) {
if (mIsExpanded && mBubbleData.getBubbles().size() > 1
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/bar/BubbleBarAnimationHelper.java b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/bar/BubbleBarAnimationHelper.java
index 84a616f..4e995bc 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/bar/BubbleBarAnimationHelper.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/bar/BubbleBarAnimationHelper.java
@@ -15,17 +15,28 @@
*/
package com.android.wm.shell.bubbles.bar;
+import static android.view.View.SCALE_X;
+import static android.view.View.SCALE_Y;
+import static android.view.View.TRANSLATION_X;
+import static android.view.View.TRANSLATION_Y;
import static android.view.View.VISIBLE;
+import static android.view.View.X;
+import static android.view.View.Y;
+
+import static com.android.wm.shell.animation.Interpolators.EMPHASIZED;
+import static com.android.wm.shell.animation.Interpolators.EMPHASIZED_DECELERATE;
+import static com.android.wm.shell.bubbles.bar.BubbleBarExpandedView.CORNER_RADIUS;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
+import android.animation.AnimatorSet;
+import android.animation.ObjectAnimator;
import android.animation.ValueAnimator;
import android.content.Context;
import android.graphics.Point;
import android.graphics.Rect;
import android.util.Log;
import android.util.Size;
-import android.view.View;
import android.widget.FrameLayout;
import androidx.annotation.Nullable;
@@ -48,15 +59,16 @@
private static final float EXPANDED_VIEW_ANIMATE_SCALE_AMOUNT = 0.1f;
private static final float EXPANDED_VIEW_ANIMATE_OUT_SCALE_AMOUNT = .75f;
private static final int EXPANDED_VIEW_ALPHA_ANIMATION_DURATION = 150;
- private static final int EXPANDED_VIEW_SNAP_TO_DISMISS_DURATION = 100;
- private static final int EXPANDED_VIEW_ANIMATE_POSITION_DURATION = 300;
+ private static final int EXPANDED_VIEW_SNAP_TO_DISMISS_DURATION = 400;
+ private static final int EXPANDED_VIEW_ANIMATE_TO_REST_DURATION = 400;
private static final int EXPANDED_VIEW_DISMISS_DURATION = 250;
- private static final int EXPANDED_VIEW_DRAG_ANIMATION_DURATION = 150;
+ private static final int EXPANDED_VIEW_DRAG_ANIMATION_DURATION = 400;
/**
* Additional scale applied to expanded view when it is positioned inside a magnetic target.
*/
- private static final float EXPANDED_VIEW_IN_TARGET_SCALE = 0.6f;
- private static final float EXPANDED_VIEW_DRAG_SCALE = 0.5f;
+ private static final float EXPANDED_VIEW_IN_TARGET_SCALE = 0.2f;
+ private static final float EXPANDED_VIEW_DRAG_SCALE = 0.4f;
+ private static final float DISMISS_VIEW_SCALE = 1.25f;
/** Spring config for the expanded view scale-in animation. */
private final PhysicsAnimator.SpringConfig mScaleInSpringConfig =
@@ -72,6 +84,9 @@
/** Animator for animating the expanded view's alpha (including the TaskView inside it). */
private final ValueAnimator mExpandedViewAlphaAnimator = ValueAnimator.ofFloat(0f, 1f);
+ @Nullable
+ private Animator mRunningDragAnimator;
+
private final Context mContext;
private final BubbleBarLayerView mLayerView;
private final BubblePositioner mPositioner;
@@ -232,14 +247,18 @@
Log.w(TAG, "Trying to animate start drag without a bubble");
return;
}
- bbev.setPivotX(bbev.getWidth() / 2f);
- bbev.setPivotY(0f);
- bbev.animate()
- .scaleX(EXPANDED_VIEW_DRAG_SCALE)
- .scaleY(EXPANDED_VIEW_DRAG_SCALE)
- .setInterpolator(Interpolators.EMPHASIZED)
- .setDuration(EXPANDED_VIEW_DRAG_ANIMATION_DURATION)
- .start();
+ setDragPivot(bbev);
+ AnimatorSet animatorSet = new AnimatorSet();
+ // Corner radius gets scaled, apply the reverse scale to ensure we have the desired radius
+ final float cornerRadius = bbev.getDraggedCornerRadius() / EXPANDED_VIEW_DRAG_SCALE;
+ animatorSet.playTogether(
+ ObjectAnimator.ofFloat(bbev, SCALE_X, EXPANDED_VIEW_DRAG_SCALE),
+ ObjectAnimator.ofFloat(bbev, SCALE_Y, EXPANDED_VIEW_DRAG_SCALE),
+ ObjectAnimator.ofFloat(bbev, CORNER_RADIUS, cornerRadius)
+ );
+ animatorSet.setDuration(EXPANDED_VIEW_DRAG_ANIMATION_DURATION).setInterpolator(EMPHASIZED);
+ animatorSet.addListener(new DragAnimatorListenerAdapter(bbev));
+ startNewDragAnimation(animatorSet);
}
/**
@@ -258,6 +277,7 @@
int[] location = bbev.getLocationOnScreen();
int diffFromBottom = mPositioner.getScreenRect().bottom - location[1];
+ cancelAnimations();
bbev.animate()
// 2x distance from bottom so the view flies out
.translationYBy(diffFromBottom * 2)
@@ -276,19 +296,24 @@
return;
}
Point restPoint = getExpandedViewRestPosition(getExpandedViewSize());
- bbev.animate()
- .x(restPoint.x)
- .y(restPoint.y)
- .scaleX(1f)
- .scaleY(1f)
- .setDuration(EXPANDED_VIEW_ANIMATE_POSITION_DURATION)
- .setInterpolator(Interpolators.EMPHASIZED_DECELERATE)
- .withStartAction(() -> bbev.setAnimating(true))
- .withEndAction(() -> {
- bbev.setAnimating(false);
- bbev.resetPivot();
- })
- .start();
+
+ AnimatorSet animatorSet = new AnimatorSet();
+ animatorSet.playTogether(
+ ObjectAnimator.ofFloat(bbev, X, restPoint.x),
+ ObjectAnimator.ofFloat(bbev, Y, restPoint.y),
+ ObjectAnimator.ofFloat(bbev, SCALE_X, 1f),
+ ObjectAnimator.ofFloat(bbev, SCALE_Y, 1f),
+ ObjectAnimator.ofFloat(bbev, CORNER_RADIUS, bbev.getRestingCornerRadius())
+ );
+ animatorSet.setDuration(EXPANDED_VIEW_ANIMATE_TO_REST_DURATION).setInterpolator(EMPHASIZED);
+ animatorSet.addListener(new DragAnimatorListenerAdapter(bbev) {
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ super.onAnimationEnd(animation);
+ bbev.resetPivot();
+ }
+ });
+ startNewDragAnimation(animatorSet);
}
/**
@@ -304,17 +329,7 @@
return;
}
- // Calculate scale of expanded view so it fits inside the magnetic target
- float bbevMaxSide = Math.max(bbev.getWidth(), bbev.getHeight());
- View targetView = target.getTargetView();
- float targetMaxSide = Math.max(targetView.getWidth(), targetView.getHeight());
- // Reduce target size to have some padding between the target and expanded view
- targetMaxSide *= EXPANDED_VIEW_IN_TARGET_SCALE;
- float scaleInTarget = targetMaxSide / bbevMaxSide;
-
- // Scale around the top center of the expanded view. Same as when dragging.
- bbev.setPivotX(bbev.getWidth() / 2f);
- bbev.setPivotY(0);
+ setDragPivot(bbev);
// When the view animates into the target, it is scaled down with the pivot at center top.
// Find the point on the view that would be the center of the view at its final scale.
@@ -330,13 +345,13 @@
// Get scaled width of the view and adjust mTmpLocation so that point on x-axis is at the
// center of the view at its current size.
float currentWidth = bbev.getWidth() * bbev.getScaleX();
- mTmpLocation[0] += currentWidth / 2;
+ mTmpLocation[0] += (int) (currentWidth / 2f);
// Since pivotY is at the top of the view, at final scale, top coordinate of the view
// remains the same.
// Get height of the view at final scale and adjust mTmpLocation so that point on y-axis is
// moved down by half of the height at final scale.
- float targetHeight = bbev.getHeight() * scaleInTarget;
- mTmpLocation[1] += targetHeight / 2;
+ float targetHeight = bbev.getHeight() * EXPANDED_VIEW_IN_TARGET_SCALE;
+ mTmpLocation[1] += (int) (targetHeight / 2f);
// mTmpLocation is now set to the point on the view that will be the center of the view once
// scale is applied.
@@ -344,41 +359,61 @@
float xDiff = target.getCenterOnScreen().x - mTmpLocation[0];
float yDiff = target.getCenterOnScreen().y - mTmpLocation[1];
- bbev.animate()
- .translationX(bbev.getTranslationX() + xDiff)
- .translationY(bbev.getTranslationY() + yDiff)
- .scaleX(scaleInTarget)
- .scaleY(scaleInTarget)
- .setDuration(EXPANDED_VIEW_SNAP_TO_DISMISS_DURATION)
- .setInterpolator(Interpolators.EMPHASIZED)
- .withStartAction(() -> bbev.setAnimating(true))
- .withEndAction(() -> {
- bbev.setAnimating(false);
- if (endRunnable != null) {
- endRunnable.run();
- }
- })
- .start();
+ // Corner radius gets scaled, apply the reverse scale to ensure we have the desired radius
+ final float cornerRadius = bbev.getDraggedCornerRadius() / EXPANDED_VIEW_IN_TARGET_SCALE;
+
+ AnimatorSet animatorSet = new AnimatorSet();
+ animatorSet.playTogether(
+ // Move expanded view to the center of dismiss view
+ ObjectAnimator.ofFloat(bbev, TRANSLATION_X, bbev.getTranslationX() + xDiff),
+ ObjectAnimator.ofFloat(bbev, TRANSLATION_Y, bbev.getTranslationY() + yDiff),
+ // Scale expanded view down
+ ObjectAnimator.ofFloat(bbev, SCALE_X, EXPANDED_VIEW_IN_TARGET_SCALE),
+ ObjectAnimator.ofFloat(bbev, SCALE_Y, EXPANDED_VIEW_IN_TARGET_SCALE),
+ // Update corner radius for expanded view
+ ObjectAnimator.ofFloat(bbev, CORNER_RADIUS, cornerRadius),
+ // Scale dismiss view up
+ ObjectAnimator.ofFloat(target.getTargetView(), SCALE_X, DISMISS_VIEW_SCALE),
+ ObjectAnimator.ofFloat(target.getTargetView(), SCALE_Y, DISMISS_VIEW_SCALE)
+ );
+ animatorSet.setDuration(EXPANDED_VIEW_SNAP_TO_DISMISS_DURATION).setInterpolator(
+ EMPHASIZED_DECELERATE);
+ animatorSet.addListener(new DragAnimatorListenerAdapter(bbev) {
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ super.onAnimationEnd(animation);
+ if (endRunnable != null) {
+ endRunnable.run();
+ }
+ }
+ });
+ startNewDragAnimation(animatorSet);
}
/**
* Animate currently expanded view when it is released from dismiss view
*/
- public void animateUnstuckFromDismissView() {
- BubbleBarExpandedView expandedView = getExpandedView();
- if (expandedView == null) {
+ public void animateUnstuckFromDismissView(MagneticTarget target) {
+ BubbleBarExpandedView bbev = getExpandedView();
+ if (bbev == null) {
Log.w(TAG, "Trying to unsnap the expanded view from dismiss without a bubble");
return;
}
- expandedView
- .animate()
- .scaleX(EXPANDED_VIEW_DRAG_SCALE)
- .scaleY(EXPANDED_VIEW_DRAG_SCALE)
- .setDuration(EXPANDED_VIEW_SNAP_TO_DISMISS_DURATION)
- .setInterpolator(Interpolators.EMPHASIZED)
- .withStartAction(() -> expandedView.setAnimating(true))
- .withEndAction(() -> expandedView.setAnimating(false))
- .start();
+ setDragPivot(bbev);
+ // Corner radius gets scaled, apply the reverse scale to ensure we have the desired radius
+ final float cornerRadius = bbev.getDraggedCornerRadius() / EXPANDED_VIEW_DRAG_SCALE;
+ AnimatorSet animatorSet = new AnimatorSet();
+ animatorSet.playTogether(
+ ObjectAnimator.ofFloat(bbev, SCALE_X, EXPANDED_VIEW_DRAG_SCALE),
+ ObjectAnimator.ofFloat(bbev, SCALE_Y, EXPANDED_VIEW_DRAG_SCALE),
+ ObjectAnimator.ofFloat(bbev, CORNER_RADIUS, cornerRadius),
+ ObjectAnimator.ofFloat(target.getTargetView(), SCALE_X, 1f),
+ ObjectAnimator.ofFloat(target.getTargetView(), SCALE_Y, 1f)
+ );
+ animatorSet.setDuration(EXPANDED_VIEW_SNAP_TO_DISMISS_DURATION).setInterpolator(
+ EMPHASIZED_DECELERATE);
+ animatorSet.addListener(new DragAnimatorListenerAdapter(bbev));
+ startNewDragAnimation(animatorSet);
}
/**
@@ -391,6 +426,10 @@
if (bbev != null) {
bbev.animate().cancel();
}
+ if (mRunningDragAnimator != null) {
+ mRunningDragAnimator.cancel();
+ mRunningDragAnimator = null;
+ }
}
private @Nullable BubbleBarExpandedView getExpandedView() {
@@ -438,4 +477,35 @@
final int height = mPositioner.getExpandedViewHeightForBubbleBar(isOverflowExpanded);
return new Size(width, height);
}
+
+ private void startNewDragAnimation(Animator animator) {
+ cancelAnimations();
+ mRunningDragAnimator = animator;
+ animator.start();
+ }
+
+ private static void setDragPivot(BubbleBarExpandedView bbev) {
+ bbev.setPivotX(bbev.getWidth() / 2f);
+ bbev.setPivotY(0f);
+ }
+
+ private class DragAnimatorListenerAdapter extends AnimatorListenerAdapter {
+
+ private final BubbleBarExpandedView mBubbleBarExpandedView;
+
+ DragAnimatorListenerAdapter(BubbleBarExpandedView bbev) {
+ mBubbleBarExpandedView = bbev;
+ }
+
+ @Override
+ public void onAnimationStart(Animator animation) {
+ mBubbleBarExpandedView.setAnimating(true);
+ }
+
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ mBubbleBarExpandedView.setAnimating(false);
+ mRunningDragAnimator = null;
+ }
+ }
}
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/bar/BubbleBarExpandedView.java b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/bar/BubbleBarExpandedView.java
index ebb8e3e..eddd43f 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/bar/BubbleBarExpandedView.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/bar/BubbleBarExpandedView.java
@@ -27,13 +27,13 @@
import android.graphics.Outline;
import android.graphics.Rect;
import android.util.AttributeSet;
+import android.util.FloatProperty;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewOutlineProvider;
import android.widget.FrameLayout;
-import com.android.internal.policy.ScreenDecorationsUtils;
import com.android.wm.shell.R;
import com.android.wm.shell.bubbles.Bubble;
import com.android.wm.shell.bubbles.BubbleExpandedViewManager;
@@ -61,6 +61,23 @@
void onBackPressed();
}
+ /**
+ * A property wrapper around corner radius for the expanded view, handled by
+ * {@link #setCornerRadius(float)} and {@link #getCornerRadius()} methods.
+ */
+ public static final FloatProperty<BubbleBarExpandedView> CORNER_RADIUS = new FloatProperty<>(
+ "cornerRadius") {
+ @Override
+ public void setValue(BubbleBarExpandedView bbev, float radius) {
+ bbev.setCornerRadius(radius);
+ }
+
+ @Override
+ public Float get(BubbleBarExpandedView bbev) {
+ return bbev.getCornerRadius();
+ }
+ };
+
private static final String TAG = BubbleBarExpandedView.class.getSimpleName();
private static final int INVALID_TASK_ID = -1;
@@ -78,7 +95,12 @@
private int mCaptionHeight;
private int mBackgroundColor;
- private float mCornerRadius = 0f;
+ /** Corner radius used when view is resting */
+ private float mRestingCornerRadius = 0f;
+ /** Corner radius applied while dragging */
+ private float mDraggedCornerRadius = 0f;
+ /** Current corner radius */
+ private float mCurrentCornerRadius = 0f;
/**
* Whether we want the {@code TaskView}'s content to be visible (alpha = 1f). If
@@ -118,7 +140,7 @@
setOutlineProvider(new ViewOutlineProvider() {
@Override
public void getOutline(View view, Outline outline) {
- outline.setRoundRect(0, 0, view.getWidth(), view.getHeight(), mCornerRadius);
+ outline.setRoundRect(0, 0, view.getWidth(), view.getHeight(), mCurrentCornerRadius);
}
});
}
@@ -155,7 +177,7 @@
new FrameLayout.LayoutParams(MATCH_PARENT, MATCH_PARENT);
addView(mTaskView, lp);
mTaskView.setEnableSurfaceClipping(true);
- mTaskView.setCornerRadius(mCornerRadius);
+ mTaskView.setCornerRadius(mCurrentCornerRadius);
mTaskView.setVisibility(VISIBLE);
// Handle view needs to draw on top of task view.
@@ -198,22 +220,24 @@
// TODO (b/275087636): call this when theme/config changes
/** Updates the view based on the current theme. */
public void applyThemeAttrs() {
- boolean supportsRoundedCorners = ScreenDecorationsUtils.supportsRoundedCornersOnWindows(
- mContext.getResources());
+ mRestingCornerRadius = getResources().getDimensionPixelSize(
+ R.dimen.bubble_bar_expanded_view_corner_radius
+ );
+ mDraggedCornerRadius = getResources().getDimensionPixelSize(
+ R.dimen.bubble_bar_expanded_view_corner_radius_dragged
+ );
+
+ mCurrentCornerRadius = mRestingCornerRadius;
+
final TypedArray ta = mContext.obtainStyledAttributes(new int[]{
- android.R.attr.dialogCornerRadius,
android.R.attr.colorBackgroundFloating});
- mCornerRadius = supportsRoundedCorners ? ta.getDimensionPixelSize(0, 0) : 0;
- mCornerRadius = mCornerRadius / 2f;
- mBackgroundColor = ta.getColor(1, Color.WHITE);
-
+ mBackgroundColor = ta.getColor(0, Color.WHITE);
ta.recycle();
-
mCaptionHeight = getResources().getDimensionPixelSize(
R.dimen.bubble_bar_expanded_view_caption_height);
if (mTaskView != null) {
- mTaskView.setCornerRadius(mCornerRadius);
+ mTaskView.setCornerRadius(mCurrentCornerRadius);
updateHandleColor(true /* animated */);
}
}
@@ -396,4 +420,30 @@
public boolean isAnimating() {
return mIsAnimating;
}
+
+ /** @return corner radius that should be applied while view is in rest */
+ public float getRestingCornerRadius() {
+ return mRestingCornerRadius;
+ }
+
+ /** @return corner radius that should be applied while view is being dragged */
+ public float getDraggedCornerRadius() {
+ return mDraggedCornerRadius;
+ }
+
+ /** @return current corner radius */
+ public float getCornerRadius() {
+ return mCurrentCornerRadius;
+ }
+
+ /** Update corner radius */
+ public void setCornerRadius(float cornerRadius) {
+ if (mCurrentCornerRadius != cornerRadius) {
+ mCurrentCornerRadius = cornerRadius;
+ if (mTaskView != null) {
+ mTaskView.setCornerRadius(cornerRadius);
+ }
+ invalidateOutline();
+ }
+ }
}
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/bar/BubbleBarExpandedViewDragController.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/bar/BubbleBarExpandedViewDragController.kt
index 5e634a2..7d37d60 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/bar/BubbleBarExpandedViewDragController.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/bar/BubbleBarExpandedViewDragController.kt
@@ -126,21 +126,28 @@
}
private inner class MagnetListener : MagnetizedObject.MagnetListener {
- override fun onStuckToTarget(target: MagnetizedObject.MagneticTarget) {
+ override fun onStuckToTarget(
+ target: MagnetizedObject.MagneticTarget,
+ draggedObject: MagnetizedObject<*>
+ ) {
isStuckToDismiss = true
}
override fun onUnstuckFromTarget(
- target: MagnetizedObject.MagneticTarget,
- velX: Float,
- velY: Float,
- wasFlungOut: Boolean
+ target: MagnetizedObject.MagneticTarget,
+ draggedObject: MagnetizedObject<*>,
+ velX: Float,
+ velY: Float,
+ wasFlungOut: Boolean
) {
isStuckToDismiss = false
- animationHelper.animateUnstuckFromDismissView()
+ animationHelper.animateUnstuckFromDismissView(target)
}
- override fun onReleasedInTarget(target: MagnetizedObject.MagneticTarget) {
+ override fun onReleasedInTarget(
+ target: MagnetizedObject.MagneticTarget,
+ draggedObject: MagnetizedObject<*>
+ ) {
onDismissed()
dismissView.hide()
}
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/common/magnetictarget/MagnetizedObject.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/common/magnetictarget/MagnetizedObject.kt
index 7c931df..11e4777 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/common/magnetictarget/MagnetizedObject.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/common/magnetictarget/MagnetizedObject.kt
@@ -91,8 +91,9 @@
* to [onUnstuckFromTarget] or [onReleasedInTarget].
*
* @param target The target that the object is now stuck to.
+ * @param draggedObject The object that is stuck to the target.
*/
- fun onStuckToTarget(target: MagneticTarget)
+ fun onStuckToTarget(target: MagneticTarget, draggedObject: MagnetizedObject<*>)
/**
* Called when the object is no longer stuck to a target. This means that either touch
@@ -110,6 +111,7 @@
* and [maybeConsumeMotionEvent] is now returning false.
*
* @param target The target that this object was just unstuck from.
+ * @param draggedObject The object being unstuck from the target.
* @param velX The X velocity of the touch gesture when it exited the magnetic field.
* @param velY The Y velocity of the touch gesture when it exited the magnetic field.
* @param wasFlungOut Whether the object was unstuck via a fling gesture. This means that
@@ -119,6 +121,7 @@
*/
fun onUnstuckFromTarget(
target: MagneticTarget,
+ draggedObject: MagnetizedObject<*>,
velX: Float,
velY: Float,
wasFlungOut: Boolean
@@ -129,8 +132,9 @@
* velocity to reach it.
*
* @param target The target that the object was released in.
+ * @param draggedObject The object released in the target.
*/
- fun onReleasedInTarget(target: MagneticTarget)
+ fun onReleasedInTarget(target: MagneticTarget, draggedObject: MagnetizedObject<*>)
}
private val animator: PhysicsAnimator<T> = PhysicsAnimator.getInstance(underlyingObject)
@@ -386,7 +390,7 @@
// animate sticking to the magnet.
targetObjectIsStuckTo = targetObjectIsInMagneticFieldOf
cancelAnimations()
- magnetListener.onStuckToTarget(targetObjectIsInMagneticFieldOf!!)
+ magnetListener.onStuckToTarget(targetObjectIsInMagneticFieldOf!!, this)
animateStuckToTarget(targetObjectIsInMagneticFieldOf, velX, velY, false, null)
vibrateIfEnabled(VibrationEffect.EFFECT_HEAVY_CLICK)
@@ -397,7 +401,8 @@
// move the object out of the target using its own movement logic.
cancelAnimations()
magnetListener.onUnstuckFromTarget(
- targetObjectIsStuckTo!!, velocityTracker.xVelocity, velocityTracker.yVelocity,
+ targetObjectIsStuckTo!!, this,
+ velocityTracker.xVelocity, velocityTracker.yVelocity,
wasFlungOut = false)
targetObjectIsStuckTo = null
@@ -420,10 +425,11 @@
// the upward direction, tell the listener so the object can be animated out of
// the target.
magnetListener.onUnstuckFromTarget(
- targetObjectIsStuckTo!!, velX, velY, wasFlungOut = true)
+ targetObjectIsStuckTo!!, this,
+ velX, velY, wasFlungOut = true)
} else {
// If the object is stuck and not flung away, it was released inside the target.
- magnetListener.onReleasedInTarget(targetObjectIsStuckTo!!)
+ magnetListener.onReleasedInTarget(targetObjectIsStuckTo!!, this)
vibrateIfEnabled(VibrationEffect.EFFECT_HEAVY_CLICK)
}
@@ -440,11 +446,11 @@
if (flungToTarget != null) {
// If this is a fling-to-target, animate the object to the magnet and then release
// it.
- magnetListener.onStuckToTarget(flungToTarget)
+ magnetListener.onStuckToTarget(flungToTarget, this)
targetObjectIsStuckTo = flungToTarget
animateStuckToTarget(flungToTarget, velX, velY, true) {
- magnetListener.onReleasedInTarget(flungToTarget)
+ magnetListener.onReleasedInTarget(flungToTarget, this)
targetObjectIsStuckTo = null
vibrateIfEnabled(VibrationEffect.EFFECT_HEAVY_CLICK)
}
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/common/pip/PipBoundsState.java b/libs/WindowManager/Shell/src/com/android/wm/shell/common/pip/PipBoundsState.java
index 68d26da..df589df 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/common/pip/PipBoundsState.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/common/pip/PipBoundsState.java
@@ -260,7 +260,7 @@
mStashedState = stashedState;
try {
- ActivityTaskManager.getService().onPictureInPictureStateChanged(
+ ActivityTaskManager.getService().onPictureInPictureUiStateChanged(
new PictureInPictureUiState(stashedState != STASH_TYPE_NONE /* isStashed */)
);
} catch (RemoteException | IllegalStateException e) {
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/common/pip/PipMenuController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/common/pip/PipMenuController.java
index 2f1189a..85353d3 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/common/pip/PipMenuController.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/common/pip/PipMenuController.java
@@ -102,11 +102,6 @@
default void updateMenuBounds(Rect destinationBounds) {}
/**
- * Update when the current focused task changes.
- */
- default void onFocusTaskChanged(RunningTaskInfo taskInfo) {}
-
- /**
* Returns a default LayoutParams for the PIP Menu.
* @param context the context.
* @param width the PIP stack width.
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/pip/Pip1Module.java b/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/pip/Pip1Module.java
index ba882c4..8053369 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/pip/Pip1Module.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/pip/Pip1Module.java
@@ -124,12 +124,11 @@
static PhonePipMenuController providesPipPhoneMenuController(Context context,
PipBoundsState pipBoundsState, PipMediaController pipMediaController,
SystemWindows systemWindows,
- Optional<SplitScreenController> splitScreenOptional,
PipUiEventLogger pipUiEventLogger,
@ShellMainThread ShellExecutor mainExecutor,
@ShellMainThread Handler mainHandler) {
return new PhonePipMenuController(context, pipBoundsState, pipMediaController,
- systemWindows, splitScreenOptional, pipUiEventLogger, mainExecutor, mainHandler);
+ systemWindows, pipUiEventLogger, mainExecutor, mainHandler);
}
@WMSingleton
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeShellCommandHandler.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeShellCommandHandler.kt
index fd91ac0..e1e41ee 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeShellCommandHandler.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeShellCommandHandler.kt
@@ -58,7 +58,7 @@
return false
}
- return controller.moveToDesktopWithoutDecor(taskId, WindowContainerTransaction())
+ return controller.moveToDesktop(taskId, WindowContainerTransaction())
}
override fun printShellCommandHelp(pw: PrintWriter, prefix: String) {
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt
index 42c8d74..837cb99 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt
@@ -244,47 +244,14 @@
fun moveToDesktop(
taskId: Int,
wct: WindowContainerTransaction = WindowContainerTransaction()
- ) {
+ ): Boolean {
shellTaskOrganizer.getRunningTaskInfo(taskId)?.let {
task -> moveToDesktop(task, wct)
- }
- }
-
- /** Move a task with given `taskId` to desktop without decor */
- fun moveToDesktopWithoutDecor(
- taskId: Int,
- wct: WindowContainerTransaction
- ): Boolean {
- val task = shellTaskOrganizer.getRunningTaskInfo(taskId) ?: return false
- moveToDesktopWithoutDecor(task, wct)
+ } ?: return false
return true
}
/**
- * Move a task to desktop without decor
- */
- private fun moveToDesktopWithoutDecor(
- task: RunningTaskInfo,
- wct: WindowContainerTransaction
- ) {
- KtProtoLog.v(
- WM_SHELL_DESKTOP_MODE,
- "DesktopTasksController: moveToDesktopWithoutDecor taskId=%d",
- task.taskId
- )
- exitSplitIfApplicable(wct, task)
- // Bring other apps to front first
- bringDesktopAppsToFront(task.displayId, wct)
- addMoveToDesktopChanges(wct, task)
-
- if (Transitions.ENABLE_SHELL_TRANSITIONS) {
- transitions.startTransition(TRANSIT_CHANGE, wct, null /* handler */)
- } else {
- shellTaskOrganizer.applyTransaction(wct)
- }
- }
-
- /**
* Move a task to desktop
*/
fun moveToDesktop(
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/draganddrop/DragLayout.java b/libs/WindowManager/Shell/src/com/android/wm/shell/draganddrop/DragLayout.java
index 445ba89..619f624 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/draganddrop/DragLayout.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/draganddrop/DragLayout.java
@@ -16,11 +16,11 @@
package com.android.wm.shell.draganddrop;
+import static android.app.StatusBarManager.DISABLE2_NONE;
import static android.app.StatusBarManager.DISABLE_NONE;
import static android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD;
import static android.content.pm.ActivityInfo.CONFIG_ASSETS_PATHS;
import static android.content.pm.ActivityInfo.CONFIG_UI_MODE;
-import static android.content.res.Configuration.ORIENTATION_LANDSCAPE;
import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
import static com.android.wm.shell.common.split.SplitScreenConstants.SPLIT_POSITION_BOTTOM_OR_RIGHT;
@@ -445,18 +445,20 @@
}
private void animateFullscreenContainer(boolean visible) {
- mStatusBarManager.disable(visible
- ? HIDE_STATUS_BAR_FLAGS
- : DISABLE_NONE);
+ int flags = visible ? HIDE_STATUS_BAR_FLAGS : DISABLE_NONE;
+ StatusBarManager.DisableInfo disableInfo = new StatusBarManager.DisableInfo(flags,
+ DISABLE2_NONE);
+ mStatusBarManager.requestDisabledComponent(disableInfo, "animateFullscreenContainer");
// We're only using the first drop zone if there is one fullscreen target
mDropZoneView1.setShowingMargin(visible);
mDropZoneView1.setShowingHighlight(visible);
}
private void animateSplitContainers(boolean visible, Runnable animCompleteCallback) {
- mStatusBarManager.disable(visible
- ? HIDE_STATUS_BAR_FLAGS
- : DISABLE_NONE);
+ int flags = visible ? HIDE_STATUS_BAR_FLAGS : DISABLE_NONE;
+ StatusBarManager.DisableInfo disableInfo = new StatusBarManager.DisableInfo(flags,
+ DISABLE2_NONE);
+ mStatusBarManager.requestDisabledComponent(disableInfo, "animateSplitContainers");
mDropZoneView1.setShowingMargin(visible);
mDropZoneView2.setShowingMargin(visible);
Animator animator = mDropZoneView1.getAnimator();
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/freeform/FreeformTaskListener.java b/libs/WindowManager/Shell/src/com/android/wm/shell/freeform/FreeformTaskListener.java
index a80241e..f2bdcae 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/freeform/FreeformTaskListener.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/freeform/FreeformTaskListener.java
@@ -16,6 +16,8 @@
package com.android.wm.shell.freeform;
+import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM;
+
import static com.android.wm.shell.ShellTaskOrganizer.TASK_LISTENER_TYPE_FREEFORM;
import android.app.ActivityManager.RunningTaskInfo;
@@ -151,6 +153,9 @@
@Override
public void onFocusTaskChanged(RunningTaskInfo taskInfo) {
+ if (taskInfo.getWindowingMode() != WINDOWING_MODE_FREEFORM) {
+ return;
+ }
ProtoLog.v(ShellProtoLogGroup.WM_SHELL_TASK_ORG,
"Freeform Task Focus Changed: #%d focused=%b",
taskInfo.taskId, taskInfo.isFocused);
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTaskOrganizer.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTaskOrganizer.java
index 9f73f1b..271a939 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTaskOrganizer.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTaskOrganizer.java
@@ -25,7 +25,6 @@
import static com.android.wm.shell.ShellTaskOrganizer.TASK_LISTENER_TYPE_PIP;
import static com.android.wm.shell.ShellTaskOrganizer.taskListenerTypeToString;
-import static com.android.wm.shell.common.split.SplitScreenConstants.SPLIT_POSITION_BOTTOM_OR_RIGHT;
import static com.android.wm.shell.common.split.SplitScreenConstants.SPLIT_POSITION_TOP_OR_LEFT;
import static com.android.wm.shell.common.split.SplitScreenConstants.SPLIT_POSITION_UNDEFINED;
import static com.android.wm.shell.pip.PipAnimationController.ANIM_TYPE_ALPHA;
@@ -112,7 +111,7 @@
* see also {@link PipMotionHelper}.
*/
public class PipTaskOrganizer implements ShellTaskOrganizer.TaskListener,
- DisplayController.OnDisplaysChangedListener, ShellTaskOrganizer.FocusListener {
+ DisplayController.OnDisplaysChangedListener {
private static final String TAG = PipTaskOrganizer.class.getSimpleName();
/**
@@ -390,7 +389,6 @@
mMainExecutor.execute(() -> {
mTaskOrganizer.addListenerForType(this, TASK_LISTENER_TYPE_PIP);
});
- mTaskOrganizer.addFocusListener(this);
mPipTransitionController.setPipOrganizer(this);
displayController.addDisplayWindowListener(this);
pipTransitionController.registerPipTransitionCallback(mPipTransitionCallback);
@@ -1026,11 +1024,6 @@
}
@Override
- public void onFocusTaskChanged(ActivityManager.RunningTaskInfo taskInfo) {
- mPipMenuController.onFocusTaskChanged(taskInfo);
- }
-
- @Override
public boolean supportCompatUI() {
// PIP doesn't support compat.
return false;
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTransitionController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTransitionController.java
index d1fd207..6191fea 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTransitionController.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTransitionController.java
@@ -23,12 +23,16 @@
import static com.android.wm.shell.pip.PipAnimationController.isInPipDirection;
import android.annotation.Nullable;
+import android.app.ActivityTaskManager;
+import android.app.Flags;
import android.app.PictureInPictureParams;
+import android.app.PictureInPictureUiState;
import android.app.TaskInfo;
import android.content.ComponentName;
import android.content.pm.ActivityInfo;
import android.graphics.Rect;
import android.os.IBinder;
+import android.os.RemoteException;
import android.view.SurfaceControl;
import android.view.WindowManager;
import android.window.TransitionInfo;
@@ -37,11 +41,13 @@
import androidx.annotation.NonNull;
+import com.android.internal.protolog.common.ProtoLog;
import com.android.wm.shell.ShellTaskOrganizer;
import com.android.wm.shell.common.pip.PipBoundsAlgorithm;
import com.android.wm.shell.common.pip.PipBoundsState;
import com.android.wm.shell.common.pip.PipMenuController;
import com.android.wm.shell.common.split.SplitScreenUtils;
+import com.android.wm.shell.protolog.ShellProtoLogGroup;
import com.android.wm.shell.sysui.ShellInit;
import com.android.wm.shell.transition.Transitions;
@@ -181,6 +187,17 @@
final PipTransitionCallback callback = mPipTransitionCallbacks.get(i);
callback.onPipTransitionStarted(direction, pipBounds);
}
+ if (isInPipDirection(direction) && Flags.enablePipUiStateCallbackOnEntering()) {
+ try {
+ ActivityTaskManager.getService().onPictureInPictureUiStateChanged(
+ new PictureInPictureUiState.Builder()
+ .setEnteringPip(true)
+ .build());
+ } catch (RemoteException | IllegalStateException e) {
+ ProtoLog.e(ShellProtoLogGroup.WM_SHELL_PICTURE_IN_PICTURE,
+ "Failed to set alert PiP state change.");
+ }
+ }
}
protected void sendOnPipTransitionFinished(
@@ -189,6 +206,17 @@
final PipTransitionCallback callback = mPipTransitionCallbacks.get(i);
callback.onPipTransitionFinished(direction);
}
+ if (isInPipDirection(direction) && Flags.enablePipUiStateCallbackOnEntering()) {
+ try {
+ ActivityTaskManager.getService().onPictureInPictureUiStateChanged(
+ new PictureInPictureUiState.Builder()
+ .setEnteringPip(false)
+ .build());
+ } catch (RemoteException | IllegalStateException e) {
+ ProtoLog.e(ShellProtoLogGroup.WM_SHELL_PICTURE_IN_PICTURE,
+ "Failed to set alert PiP state change.");
+ }
+ }
}
protected void sendOnPipTransitionCancelled(
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PhonePipMenuController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PhonePipMenuController.java
index d8e8b58..0169e8c 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PhonePipMenuController.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PhonePipMenuController.java
@@ -19,12 +19,9 @@
import static android.view.WindowManager.SHELL_ROOT_LAYER_PIP;
import android.annotation.Nullable;
-import android.app.ActivityManager;
import android.app.RemoteAction;
import android.content.Context;
-import android.graphics.Matrix;
import android.graphics.Rect;
-import android.graphics.RectF;
import android.os.Debug;
import android.os.Handler;
import android.os.RemoteException;
@@ -43,14 +40,11 @@
import com.android.wm.shell.common.pip.PipMediaController.ActionListener;
import com.android.wm.shell.common.pip.PipMenuController;
import com.android.wm.shell.common.pip.PipUiEventLogger;
-import com.android.wm.shell.pip.PipSurfaceTransactionHelper;
import com.android.wm.shell.protolog.ShellProtoLogGroup;
-import com.android.wm.shell.splitscreen.SplitScreenController;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
-import java.util.Optional;
/**
* Manages the PiP menu view which can show menu options or a scrim.
@@ -99,30 +93,18 @@
* Called when the PIP requested to show the menu.
*/
void onPipShowMenu();
-
- /**
- * Called when the PIP requested to enter Split.
- */
- void onEnterSplit();
}
- private final Matrix mMoveTransform = new Matrix();
- private final Rect mTmpSourceBounds = new Rect();
- private final RectF mTmpSourceRectF = new RectF();
- private final RectF mTmpDestinationRectF = new RectF();
private final Context mContext;
private final PipBoundsState mPipBoundsState;
private final PipMediaController mMediaController;
private final ShellExecutor mMainExecutor;
private final Handler mMainHandler;
- private final PipSurfaceTransactionHelper.SurfaceControlTransactionFactory
- mSurfaceControlTransactionFactory;
private final float[] mTmpTransform = new float[9];
private final ArrayList<Listener> mListeners = new ArrayList<>();
private final SystemWindows mSystemWindows;
- private final Optional<SplitScreenController> mSplitScreenController;
private final PipUiEventLogger mPipUiEventLogger;
private List<RemoteAction> mAppActions;
@@ -145,7 +127,6 @@
public PhonePipMenuController(Context context, PipBoundsState pipBoundsState,
PipMediaController mediaController, SystemWindows systemWindows,
- Optional<SplitScreenController> splitScreenOptional,
PipUiEventLogger pipUiEventLogger,
ShellExecutor mainExecutor, Handler mainHandler) {
mContext = context;
@@ -154,11 +135,7 @@
mSystemWindows = systemWindows;
mMainExecutor = mainExecutor;
mMainHandler = mainHandler;
- mSplitScreenController = splitScreenOptional;
mPipUiEventLogger = pipUiEventLogger;
-
- mSurfaceControlTransactionFactory =
- new PipSurfaceTransactionHelper.VsyncSurfaceControlTransactionFactory();
}
public boolean isMenuVisible() {
@@ -190,7 +167,7 @@
detachPipMenuView();
}
mPipMenuView = new PipMenuView(mContext, this, mMainExecutor, mMainHandler,
- mSplitScreenController, mPipUiEventLogger);
+ mPipUiEventLogger);
mPipMenuView.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() {
@Override
public void onViewAttachedToWindow(View v) {
@@ -251,13 +228,6 @@
updateMenuLayout(destinationBounds);
}
- @Override
- public void onFocusTaskChanged(ActivityManager.RunningTaskInfo taskInfo) {
- if (mPipMenuView != null) {
- mPipMenuView.onFocusTaskChanged(taskInfo);
- }
- }
-
/**
* Tries to grab a surface control from {@link PipMenuView}. If this isn't available for some
* reason (ie. the window isn't ready yet, thus {@link android.view.ViewRootImpl} is
@@ -485,10 +455,6 @@
mListeners.forEach(Listener::onPipDismiss);
}
- void onEnterSplit() {
- mListeners.forEach(Listener::onEnterSplit);
- }
-
/**
* @return the best set of actions to show in the PiP menu.
*/
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipDismissTargetHandler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipDismissTargetHandler.java
index 4e75847..f929389 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipDismissTargetHandler.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipDismissTargetHandler.java
@@ -131,7 +131,8 @@
});
mMagnetizedPip.setMagnetListener(new MagnetizedObject.MagnetListener() {
@Override
- public void onStuckToTarget(@NonNull MagnetizedObject.MagneticTarget target) {
+ public void onStuckToTarget(@NonNull MagnetizedObject.MagneticTarget target,
+ @NonNull MagnetizedObject<?> draggedObject) {
// Show the dismiss target, in case the initial touch event occurred within
// the magnetic field radius.
if (mEnableDismissDragToEdge) {
@@ -141,6 +142,7 @@
@Override
public void onUnstuckFromTarget(@NonNull MagnetizedObject.MagneticTarget target,
+ @NonNull MagnetizedObject<?> draggedObject,
float velX, float velY, boolean wasFlungOut) {
if (wasFlungOut) {
mMotionHelper.flingToSnapTarget(velX, velY, null /* endAction */);
@@ -151,7 +153,8 @@
}
@Override
- public void onReleasedInTarget(@NonNull MagnetizedObject.MagneticTarget target) {
+ public void onReleasedInTarget(@NonNull MagnetizedObject.MagneticTarget target,
+ @NonNull MagnetizedObject<?> draggedObject) {
if (mEnableDismissDragToEdge) {
mMainExecutor.executeDelayed(() -> {
mMotionHelper.notifyDismissalPending();
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipMenuIconsAlgorithm.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipMenuIconsAlgorithm.java
index 0644657..321b739 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipMenuIconsAlgorithm.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipMenuIconsAlgorithm.java
@@ -32,7 +32,6 @@
protected ViewGroup mViewRoot;
protected ViewGroup mTopEndContainer;
protected View mDragHandle;
- protected View mEnterSplitButton;
protected View mSettingsButton;
protected View mDismissButton;
@@ -43,11 +42,10 @@
* Bind the necessary views.
*/
public void bindViews(ViewGroup viewRoot, ViewGroup topEndContainer, View dragHandle,
- View enterSplitButton, View settingsButton, View dismissButton) {
+ View settingsButton, View dismissButton) {
mViewRoot = viewRoot;
mTopEndContainer = topEndContainer;
mDragHandle = dragHandle;
- mEnterSplitButton = enterSplitButton;
mSettingsButton = settingsButton;
mDismissButton = dismissButton;
}
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipMenuView.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipMenuView.java
index 63cef9e..15342be 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipMenuView.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipMenuView.java
@@ -16,7 +16,6 @@
package com.android.wm.shell.pip.phone;
-import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN;
import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TASK;
import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
import static android.provider.Settings.ACTION_PICTURE_IN_PICTURE_SETTINGS;
@@ -35,10 +34,8 @@
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
-import android.app.ActivityManager;
import android.app.PendingIntent;
import android.app.RemoteAction;
-import android.app.WindowConfiguration;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
@@ -69,14 +66,12 @@
import com.android.wm.shell.common.pip.PipUiEventLogger;
import com.android.wm.shell.common.pip.PipUtils;
import com.android.wm.shell.protolog.ShellProtoLogGroup;
-import com.android.wm.shell.splitscreen.SplitScreenController;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
-import java.util.Optional;
/**
* Translucent window that gets started on top of a task in PIP to allow the user to control it.
@@ -114,7 +109,6 @@
private boolean mAllowMenuTimeout = true;
private boolean mAllowTouches = true;
private int mDismissFadeOutDurationMs;
- private boolean mFocusedTaskAllowSplitScreen;
private final List<RemoteAction> mActions = new ArrayList<>();
private RemoteAction mCloseAction;
@@ -127,7 +121,6 @@
private AnimatorSet mMenuContainerAnimator;
private final PhonePipMenuController mController;
- private final Optional<SplitScreenController> mSplitScreenControllerOptional;
private final PipUiEventLogger mPipUiEventLogger;
private ValueAnimator.AnimatorUpdateListener mMenuBgUpdateListener =
@@ -152,7 +145,6 @@
protected View mViewRoot;
protected View mSettingsButton;
protected View mDismissButton;
- protected View mEnterSplitButton;
protected View mTopEndContainer;
protected PipMenuIconsAlgorithm mPipMenuIconsAlgorithm;
@@ -161,14 +153,12 @@
public PipMenuView(Context context, PhonePipMenuController controller,
ShellExecutor mainExecutor, Handler mainHandler,
- Optional<SplitScreenController> splitScreenController,
PipUiEventLogger pipUiEventLogger) {
super(context, null, 0);
mContext = context;
mController = controller;
mMainExecutor = mainExecutor;
mMainHandler = mainHandler;
- mSplitScreenControllerOptional = splitScreenController;
mPipUiEventLogger = pipUiEventLogger;
mAccessibilityManager = context.getSystemService(AccessibilityManager.class);
@@ -200,17 +190,6 @@
}
});
- mEnterSplitButton = findViewById(R.id.enter_split);
- mEnterSplitButton.setAlpha(0);
- mEnterSplitButton.setOnClickListener(v -> {
- if (mEnterSplitButton.getAlpha() != 0) {
- enterSplit();
- }
- });
-
- // this disables the ripples
- mEnterSplitButton.setEnabled(false);
-
findViewById(R.id.resize_handle).setAlpha(0);
mActionsGroup = findViewById(R.id.actions_group);
@@ -218,8 +197,7 @@
R.dimen.pip_between_action_padding_land);
mPipMenuIconsAlgorithm = new PipMenuIconsAlgorithm(mContext);
mPipMenuIconsAlgorithm.bindViews((ViewGroup) mViewRoot, (ViewGroup) mTopEndContainer,
- findViewById(R.id.resize_handle), mEnterSplitButton, mSettingsButton,
- mDismissButton);
+ findViewById(R.id.resize_handle), mSettingsButton, mDismissButton);
mDismissFadeOutDurationMs = context.getResources()
.getInteger(R.integer.config_pipExitAnimationDuration);
@@ -281,22 +259,10 @@
return super.dispatchGenericMotionEvent(event);
}
- public void onFocusTaskChanged(ActivityManager.RunningTaskInfo taskInfo) {
- final boolean isSplitScreen = mSplitScreenControllerOptional.isPresent()
- && mSplitScreenControllerOptional.get().isTaskInSplitScreenForeground(
- taskInfo.taskId);
- mFocusedTaskAllowSplitScreen = isSplitScreen
- || (taskInfo.getWindowingMode() == WINDOWING_MODE_FULLSCREEN
- && taskInfo.supportsMultiWindow
- && taskInfo.topActivityType != WindowConfiguration.ACTIVITY_TYPE_HOME);
- }
-
void showMenu(int menuState, Rect stackBounds, boolean allowMenuTimeout,
boolean resizeMenuOnShow, boolean withDelay, boolean showResizeHandle) {
mAllowMenuTimeout = allowMenuTimeout;
mDidLastShowMenuResize = resizeMenuOnShow;
- final boolean enableEnterSplit =
- mContext.getResources().getBoolean(R.bool.config_pipEnableEnterSplitButton);
if (mMenuState != menuState) {
// Disallow touches if the menu needs to resize while showing, and we are transitioning
// to/from a full menu state.
@@ -315,14 +281,8 @@
mSettingsButton.getAlpha(), 1f);
ObjectAnimator dismissAnim = ObjectAnimator.ofFloat(mDismissButton, View.ALPHA,
mDismissButton.getAlpha(), 1f);
- ObjectAnimator enterSplitAnim = ObjectAnimator.ofFloat(mEnterSplitButton, View.ALPHA,
- mEnterSplitButton.getAlpha(),
- enableEnterSplit && mFocusedTaskAllowSplitScreen ? 1f : 0f);
if (menuState == MENU_STATE_FULL) {
- mMenuContainerAnimator.playTogether(menuAnim, settingsAnim, dismissAnim,
- enterSplitAnim);
- } else {
- mMenuContainerAnimator.playTogether(enterSplitAnim);
+ mMenuContainerAnimator.playTogether(menuAnim, settingsAnim, dismissAnim);
}
mMenuContainerAnimator.setInterpolator(Interpolators.ALPHA_IN);
mMenuContainerAnimator.setDuration(ANIMATION_HIDE_DURATION_MS);
@@ -375,7 +335,6 @@
mMenuContainer.setAlpha(0f);
mSettingsButton.setAlpha(0f);
mDismissButton.setAlpha(0f);
- mEnterSplitButton.setAlpha(0f);
}
void pokeMenu() {
@@ -415,10 +374,7 @@
mSettingsButton.getAlpha(), 0f);
ObjectAnimator dismissAnim = ObjectAnimator.ofFloat(mDismissButton, View.ALPHA,
mDismissButton.getAlpha(), 0f);
- ObjectAnimator enterSplitAnim = ObjectAnimator.ofFloat(mEnterSplitButton, View.ALPHA,
- mEnterSplitButton.getAlpha(), 0f);
- mMenuContainerAnimator.playTogether(menuAnim, settingsAnim, dismissAnim,
- enterSplitAnim);
+ mMenuContainerAnimator.playTogether(menuAnim, settingsAnim, dismissAnim);
mMenuContainerAnimator.setInterpolator(Interpolators.ALPHA_OUT);
mMenuContainerAnimator.setDuration(getFadeOutDuration(animationType));
mMenuContainerAnimator.addListener(new AnimatorListenerAdapter() {
@@ -439,7 +395,7 @@
/**
* @return Estimated minimum {@link Size} to hold the actions.
- * See also {@link #updateActionViews(Rect)}
+ * See also {@link #updateActionViews(int, Rect)}
*/
Size getEstimatedMinMenuSize() {
final int pipActionSize = getResources().getDimensionPixelSize(R.dimen.pip_action_size);
@@ -608,13 +564,6 @@
}
}
- private void enterSplit() {
- // Do not notify menu visibility when hiding the menu, the controller will do this when it
- // handles the message
- hideMenu(mController::onEnterSplit, false /* notifyMenuVisibility */, true /* resize */,
- ANIM_TYPE_HIDE);
- }
-
private void showSettings() {
final Pair<ComponentName, Integer> topPipActivityInfo =
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipTouchHandler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipTouchHandler.java
index 11c356d..d5925d1 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipTouchHandler.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipTouchHandler.java
@@ -149,11 +149,6 @@
}
@Override
- public void onEnterSplit() {
- mMotionHelper.expandIntoSplit();
- }
-
- @Override
public void onPipDismiss() {
mTouchState.removeDoubleTapTimeoutCallback();
mMotionHelper.dismissPip();
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PhonePipMenuController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PhonePipMenuController.java
index 2478252..6e36a32 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PhonePipMenuController.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PhonePipMenuController.java
@@ -19,12 +19,9 @@
import static android.view.WindowManager.SHELL_ROOT_LAYER_PIP;
import android.annotation.Nullable;
-import android.app.ActivityManager;
import android.app.RemoteAction;
import android.content.Context;
-import android.graphics.Matrix;
import android.graphics.Rect;
-import android.graphics.RectF;
import android.os.Debug;
import android.os.Handler;
import android.os.RemoteException;
@@ -43,7 +40,6 @@
import com.android.wm.shell.common.pip.PipMediaController.ActionListener;
import com.android.wm.shell.common.pip.PipMenuController;
import com.android.wm.shell.common.pip.PipUiEventLogger;
-import com.android.wm.shell.pip2.PipSurfaceTransactionHelper;
import com.android.wm.shell.protolog.ShellProtoLogGroup;
import java.io.PrintWriter;
@@ -97,27 +93,14 @@
* Called when the PIP requested to show the menu.
*/
void onPipShowMenu();
-
- /**
- * Called when the PIP requested to enter Split.
- */
- void onEnterSplit();
}
- private final Matrix mMoveTransform = new Matrix();
- private final Rect mTmpSourceBounds = new Rect();
- private final RectF mTmpSourceRectF = new RectF();
- private final RectF mTmpDestinationRectF = new RectF();
private final Context mContext;
private final PipBoundsState mPipBoundsState;
private final PipMediaController mMediaController;
private final ShellExecutor mMainExecutor;
private final Handler mMainHandler;
- private final PipSurfaceTransactionHelper.SurfaceControlTransactionFactory
- mSurfaceControlTransactionFactory;
- private final float[] mTmpTransform = new float[9];
-
private final ArrayList<Listener> mListeners = new ArrayList<>();
private final SystemWindows mSystemWindows;
private final PipUiEventLogger mPipUiEventLogger;
@@ -151,9 +134,6 @@
mMainExecutor = mainExecutor;
mMainHandler = mainHandler;
mPipUiEventLogger = pipUiEventLogger;
-
- mSurfaceControlTransactionFactory =
- new PipSurfaceTransactionHelper.VsyncSurfaceControlTransactionFactory();
}
public boolean isMenuVisible() {
@@ -246,13 +226,6 @@
updateMenuLayout(destinationBounds);
}
- @Override
- public void onFocusTaskChanged(ActivityManager.RunningTaskInfo taskInfo) {
- if (mPipMenuView != null) {
- mPipMenuView.onFocusTaskChanged(taskInfo);
- }
- }
-
/**
* Tries to grab a surface control from {@link PipMenuView}. If this isn't available for some
* reason (ie. the window isn't ready yet, thus {@link ViewRootImpl} is
@@ -480,10 +453,6 @@
mListeners.forEach(Listener::onPipDismiss);
}
- void onEnterSplit() {
- mListeners.forEach(Listener::onEnterSplit);
- }
-
/**
* @return the best set of actions to show in the PiP menu.
*/
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipMenuIconsAlgorithm.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipMenuIconsAlgorithm.java
index b5e575b..ecb6ad6 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipMenuIconsAlgorithm.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipMenuIconsAlgorithm.java
@@ -32,7 +32,6 @@
protected ViewGroup mViewRoot;
protected ViewGroup mTopEndContainer;
protected View mDragHandle;
- protected View mEnterSplitButton;
protected View mSettingsButton;
protected View mDismissButton;
@@ -43,11 +42,10 @@
* Bind the necessary views.
*/
public void bindViews(ViewGroup viewRoot, ViewGroup topEndContainer, View dragHandle,
- View enterSplitButton, View settingsButton, View dismissButton) {
+ View settingsButton, View dismissButton) {
mViewRoot = viewRoot;
mTopEndContainer = topEndContainer;
mDragHandle = dragHandle;
- mEnterSplitButton = enterSplitButton;
mSettingsButton = settingsButton;
mDismissButton = dismissButton;
}
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipMenuView.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipMenuView.java
index a5b76c7..42b8e9f 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipMenuView.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipMenuView.java
@@ -34,7 +34,6 @@
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
-import android.app.ActivityManager;
import android.app.PendingIntent;
import android.app.RemoteAction;
import android.content.ComponentName;
@@ -145,7 +144,6 @@
protected View mViewRoot;
protected View mSettingsButton;
protected View mDismissButton;
- protected View mEnterSplitButton;
protected View mTopEndContainer;
protected PipMenuIconsAlgorithm mPipMenuIconsAlgorithm;
@@ -190,17 +188,6 @@
}
});
- mEnterSplitButton = findViewById(R.id.enter_split);
- mEnterSplitButton.setAlpha(0);
- mEnterSplitButton.setOnClickListener(v -> {
- if (mEnterSplitButton.getAlpha() != 0) {
- enterSplit();
- }
- });
-
- // this disables the ripples
- mEnterSplitButton.setEnabled(false);
-
findViewById(R.id.resize_handle).setAlpha(0);
mActionsGroup = findViewById(R.id.actions_group);
@@ -208,8 +195,7 @@
R.dimen.pip_between_action_padding_land);
mPipMenuIconsAlgorithm = new PipMenuIconsAlgorithm(mContext);
mPipMenuIconsAlgorithm.bindViews((ViewGroup) mViewRoot, (ViewGroup) mTopEndContainer,
- findViewById(R.id.resize_handle), mEnterSplitButton, mSettingsButton,
- mDismissButton);
+ findViewById(R.id.resize_handle), mSettingsButton, mDismissButton);
mDismissFadeOutDurationMs = context.getResources()
.getInteger(R.integer.config_pipExitAnimationDuration);
@@ -271,14 +257,10 @@
return super.dispatchGenericMotionEvent(event);
}
- void onFocusTaskChanged(ActivityManager.RunningTaskInfo taskInfo) {}
-
void showMenu(int menuState, Rect stackBounds, boolean allowMenuTimeout,
boolean resizeMenuOnShow, boolean withDelay, boolean showResizeHandle) {
mAllowMenuTimeout = allowMenuTimeout;
mDidLastShowMenuResize = resizeMenuOnShow;
- final boolean enableEnterSplit =
- mContext.getResources().getBoolean(R.bool.config_pipEnableEnterSplitButton);
if (mMenuState != menuState) {
// Disallow touches if the menu needs to resize while showing, and we are transitioning
// to/from a full menu state.
@@ -351,7 +333,6 @@
mMenuContainer.setAlpha(0f);
mSettingsButton.setAlpha(0f);
mDismissButton.setAlpha(0f);
- mEnterSplitButton.setAlpha(0f);
}
void pokeMenu() {
@@ -391,10 +372,7 @@
mSettingsButton.getAlpha(), 0f);
ObjectAnimator dismissAnim = ObjectAnimator.ofFloat(mDismissButton, View.ALPHA,
mDismissButton.getAlpha(), 0f);
- ObjectAnimator enterSplitAnim = ObjectAnimator.ofFloat(mEnterSplitButton, View.ALPHA,
- mEnterSplitButton.getAlpha(), 0f);
- mMenuContainerAnimator.playTogether(menuAnim, settingsAnim, dismissAnim,
- enterSplitAnim);
+ mMenuContainerAnimator.playTogether(menuAnim, settingsAnim, dismissAnim);
mMenuContainerAnimator.setInterpolator(Interpolators.ALPHA_OUT);
mMenuContainerAnimator.setDuration(getFadeOutDuration(animationType));
mMenuContainerAnimator.addListener(new AnimatorListenerAdapter() {
@@ -415,7 +393,7 @@
/**
* @return Estimated minimum {@link Size} to hold the actions.
- * See also {@link #updateActionViews(Rect)}
+ * See also {@link #updateActionViews(int, Rect)}
*/
Size getEstimatedMinMenuSize() {
final int pipActionSize = getResources().getDimensionPixelSize(R.dimen.pip_action_size);
@@ -584,14 +562,6 @@
}
}
- private void enterSplit() {
- // Do not notify menu visibility when hiding the menu, the controller will do this when it
- // handles the message
- hideMenu(mController::onEnterSplit, false /* notifyMenuVisibility */, true /* resize */,
- ANIM_TYPE_HIDE);
- }
-
-
private void showSettings() {
final Pair<ComponentName, Integer> topPipActivityInfo =
PipUtils.getTopPipActivity(mContext);
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java
index 97d3457..dffcc6d 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java
@@ -19,6 +19,7 @@
import static android.app.ActivityTaskManager.INVALID_TASK_ID;
import static android.app.WindowConfiguration.ACTIVITY_TYPE_HOME;
import static android.app.WindowConfiguration.ACTIVITY_TYPE_RECENTS;
+import static android.view.WindowManager.KEYGUARD_VISIBILITY_TRANSIT_FLAGS;
import static android.view.WindowManager.TRANSIT_CHANGE;
import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_LOCKED;
import static android.view.WindowManager.TRANSIT_SLEEP;
@@ -591,7 +592,7 @@
cancel("transit_sleep");
return;
}
- if (mKeyguardLocked || (info.getFlags() & TRANSIT_FLAG_KEYGUARD_LOCKED) != 0) {
+ if (mKeyguardLocked || (info.getFlags() & KEYGUARD_VISIBILITY_TRANSIT_FLAGS) != 0) {
ProtoLog.v(ShellProtoLogGroup.WM_SHELL_RECENTS_TRANSITION,
"[%d] RecentsController.merge: keyguard is locked", mInstanceId);
// We will not accept new changes if we are swiping over the keyguard.
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java
index 3f0a281..185365b 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java
@@ -299,12 +299,34 @@
ActivityManager.RunningTaskInfo taskInfo,
boolean applyStartTransactionOnDraw,
boolean shouldSetTaskPositionAndCrop) {
+ final int captionLayoutId = getDesktopModeWindowDecorLayoutId(taskInfo.getWindowingMode());
relayoutParams.reset();
relayoutParams.mRunningTaskInfo = taskInfo;
- relayoutParams.mLayoutResId =
- getDesktopModeWindowDecorLayoutId(taskInfo.getWindowingMode());
+ relayoutParams.mLayoutResId = captionLayoutId;
relayoutParams.mCaptionHeightId = getCaptionHeightIdStatic(taskInfo.getWindowingMode());
relayoutParams.mCaptionWidthId = getCaptionWidthId(relayoutParams.mLayoutResId);
+
+ // The "app controls" type caption bar should report the occluding elements as bounding
+ // rects to the insets system so that apps can draw in the empty space left in the center.
+ if (captionLayoutId == R.layout.desktop_mode_app_controls_window_decor) {
+ // The "app chip" section of the caption bar, it's aligned to the left and its width
+ // varies depending on the length of the app name, but we'll report its max width for
+ // now.
+ // TODO(b/316387515): consider reporting the true width after it's been laid out.
+ final RelayoutParams.OccludingCaptionElement appChipElement =
+ new RelayoutParams.OccludingCaptionElement();
+ appChipElement.mWidthResId = R.dimen.desktop_mode_app_details_max_width;
+ appChipElement.mAlignment = RelayoutParams.OccludingCaptionElement.Alignment.START;
+ relayoutParams.mOccludingCaptionElements.add(appChipElement);
+ // The "controls" section of the caption bar (maximize, close btns). These are aligned
+ // to the right of the caption bar and have a fixed width.
+ // TODO(b/316387515): add additional padding for an exclusive drag-move region.
+ final RelayoutParams.OccludingCaptionElement controlsElement =
+ new RelayoutParams.OccludingCaptionElement();
+ controlsElement.mWidthResId = R.dimen.desktop_mode_right_edge_buttons_width;
+ controlsElement.mAlignment = RelayoutParams.OccludingCaptionElement.Alignment.END;
+ relayoutParams.mOccludingCaptionElements.add(controlsElement);
+ }
if (DesktopModeStatus.useWindowShadow(/* isFocusedWindow= */ taskInfo.isFocused)) {
relayoutParams.mShadowRadiusId = taskInfo.isFocused
? R.dimen.freeform_decor_shadow_focused_thickness
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/WindowDecoration.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/WindowDecoration.java
index 35d5940..dc65855 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/WindowDecoration.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/WindowDecoration.java
@@ -50,7 +50,10 @@
import com.android.wm.shell.ShellTaskOrganizer;
import com.android.wm.shell.common.DisplayController;
import com.android.wm.shell.desktopmode.DesktopModeStatus;
+import com.android.wm.shell.windowdecor.WindowDecoration.RelayoutParams.OccludingCaptionElement;
+import java.util.ArrayList;
+import java.util.List;
import java.util.function.Supplier;
/**
@@ -293,13 +296,36 @@
outResult.mRootView.setTaskFocusState(mTaskInfo.isFocused);
// Caption insets
- mCaptionInsetsRect.set(taskBounds);
if (mIsCaptionVisible) {
- mCaptionInsetsRect.bottom =
- mCaptionInsetsRect.top + outResult.mCaptionHeight;
+ // Caption inset is the full width of the task with the |captionHeight| and
+ // positioned at the top of the task bounds, also in absolute coordinates.
+ // So just reuse the task bounds and adjust the bottom coordinate.
+ mCaptionInsetsRect.set(taskBounds);
+ mCaptionInsetsRect.bottom = mCaptionInsetsRect.top + outResult.mCaptionHeight;
+
+ // Caption bounding rectangles: these are optional, and are used to present finer
+ // insets than traditional |Insets| to apps about where their content is occluded.
+ // These are also in absolute coordinates.
+ final Rect[] boundingRects;
+ final int numOfElements = params.mOccludingCaptionElements.size();
+ if (numOfElements == 0) {
+ boundingRects = null;
+ } else {
+ boundingRects = new Rect[numOfElements];
+ for (int i = 0; i < numOfElements; i++) {
+ final OccludingCaptionElement element =
+ params.mOccludingCaptionElements.get(i);
+ final int elementWidthPx =
+ resources.getDimensionPixelSize(element.mWidthResId);
+ boundingRects[i] =
+ calculateBoundingRect(element, elementWidthPx, mCaptionInsetsRect);
+ }
+ }
+
+ // Add this caption as an inset source.
wct.addInsetsSource(mTaskInfo.token,
mOwner, 0 /* index */, WindowInsets.Type.captionBar(), mCaptionInsetsRect,
- null /* boundingRects */);
+ boundingRects);
wct.addInsetsSource(mTaskInfo.token,
mOwner, 0 /* index */, WindowInsets.Type.mandatorySystemGestures(),
mCaptionInsetsRect, null /* boundingRects */);
@@ -378,6 +404,20 @@
}
}
+ private Rect calculateBoundingRect(@NonNull OccludingCaptionElement element,
+ int elementWidthPx, @NonNull Rect captionRect) {
+ switch (element.mAlignment) {
+ case START -> {
+ return new Rect(0, 0, elementWidthPx, captionRect.height());
+ }
+ case END -> {
+ return new Rect(captionRect.width() - elementWidthPx, 0,
+ captionRect.width(), captionRect.height());
+ }
+ }
+ throw new IllegalArgumentException("Unexpected alignment " + element.mAlignment);
+ }
+
/**
* Checks if task has entered/exited immersive mode and requires a change in caption visibility.
*/
@@ -555,8 +595,9 @@
int mLayoutResId;
int mCaptionHeightId;
int mCaptionWidthId;
- int mShadowRadiusId;
+ final List<OccludingCaptionElement> mOccludingCaptionElements = new ArrayList<>();
+ int mShadowRadiusId;
int mCornerRadius;
Configuration mWindowDecorConfig;
@@ -568,14 +609,28 @@
mLayoutResId = Resources.ID_NULL;
mCaptionHeightId = Resources.ID_NULL;
mCaptionWidthId = Resources.ID_NULL;
- mShadowRadiusId = Resources.ID_NULL;
+ mOccludingCaptionElements.clear();
+ mShadowRadiusId = Resources.ID_NULL;
mCornerRadius = 0;
mApplyStartTransactionOnDraw = false;
mSetTaskPositionAndCrop = false;
mWindowDecorConfig = null;
}
+
+ /**
+ * Describes elements within the caption bar that could occlude app content, and should be
+ * sent as bounding rectangles to the insets system.
+ */
+ static class OccludingCaptionElement {
+ int mWidthResId;
+ Alignment mAlignment;
+
+ enum Alignment {
+ START, END
+ }
+ }
}
static class RelayoutResult<T extends View & TaskFocusStateConsumer> {
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/DesktopModeAppControlsWindowDecorationViewHolder.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/DesktopModeAppControlsWindowDecorationViewHolder.kt
index 144373f..2309c54 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/DesktopModeAppControlsWindowDecorationViewHolder.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/DesktopModeAppControlsWindowDecorationViewHolder.kt
@@ -8,6 +8,8 @@
import android.graphics.Color
import android.view.View
import android.view.View.OnLongClickListener
+import android.view.WindowInsetsController.APPEARANCE_LIGHT_CAPTION_BARS
+import android.view.WindowInsetsController.APPEARANCE_TRANSPARENT_CAPTION_BAR_BACKGROUND
import android.widget.ImageButton
import android.widget.ImageView
import android.widget.TextView
@@ -79,6 +81,9 @@
@ColorInt
private fun getCaptionBackgroundColor(taskInfo: RunningTaskInfo): Int {
+ if (isTransparentBackgroundRequested(taskInfo)) {
+ return Color.TRANSPARENT
+ }
val materialColorAttr: Int =
if (isDarkMode()) {
if (!taskInfo.isFocused) {
@@ -102,6 +107,10 @@
@ColorInt
private fun getAppNameAndButtonColor(taskInfo: RunningTaskInfo): Int {
val materialColorAttr = when {
+ isTransparentBackgroundRequested(taskInfo) &&
+ isLightCaptionBar(taskInfo) -> materialColorOnSecondaryContainer
+ isTransparentBackgroundRequested(taskInfo) &&
+ !isLightCaptionBar(taskInfo) -> materialColorOnSurface
isDarkMode() -> materialColorOnSurface
else -> materialColorOnSecondaryContainer
}
@@ -132,6 +141,16 @@
Configuration.UI_MODE_NIGHT_YES
}
+ private fun isTransparentBackgroundRequested(taskInfo: RunningTaskInfo): Boolean {
+ val appearance = taskInfo.taskDescription?.statusBarAppearance ?: 0
+ return (appearance and APPEARANCE_TRANSPARENT_CAPTION_BAR_BACKGROUND) != 0
+ }
+
+ private fun isLightCaptionBar(taskInfo: RunningTaskInfo): Boolean {
+ val appearance = taskInfo.taskDescription?.statusBarAppearance ?: 0
+ return (appearance and APPEARANCE_LIGHT_CAPTION_BARS) != 0
+ }
+
companion object {
private const val TAG = "DesktopModeAppControlsWindowDecorationViewHolder"
private const val DARK_THEME_UNFOCUSED_OPACITY = 140 // 55%
diff --git a/libs/WindowManager/Shell/tests/unittest/Android.bp b/libs/WindowManager/Shell/tests/unittest/Android.bp
index aadadd6..8c47116 100644
--- a/libs/WindowManager/Shell/tests/unittest/Android.bp
+++ b/libs/WindowManager/Shell/tests/unittest/Android.bp
@@ -19,6 +19,7 @@
// to get the below license kinds:
// SPDX-license-identifier-Apache-2.0
default_applicable_licenses: ["frameworks_base_license"],
+ default_team: "trendy_team_multitasking_windowing",
}
android_test {
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/back/BackProgressAnimatorTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/back/BackProgressAnimatorTest.java
index 91503b1..7e26577 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/back/BackProgressAnimatorTest.java
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/back/BackProgressAnimatorTest.java
@@ -18,6 +18,7 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
import android.os.Handler;
import android.os.Looper;
@@ -28,6 +29,7 @@
import android.window.BackProgressAnimator;
import androidx.test.filters.SmallTest;
+import androidx.test.platform.app.InstrumentationRegistry;
import org.junit.Before;
import org.junit.Test;
@@ -102,6 +104,36 @@
assertEquals(mReceivedBackEvent.getProgress(), mTargetProgress, 0 /* delta */);
}
+ @Test
+ public void testResetCallsCancelCallbackImmediately() throws InterruptedException {
+ // Give the animator some progress.
+ final BackMotionEvent backEvent = backMotionEventFrom(100, mTargetProgress);
+ mMainThreadHandler.post(
+ () -> mProgressAnimator.onBackProgressed(backEvent));
+ mTargetProgressCalled.await(1, TimeUnit.SECONDS);
+ assertNotNull(mReceivedBackEvent);
+
+ mTargetProgress = 0;
+ mReceivedBackEvent = null;
+ mTargetProgressCalled = new CountDownLatch(1);
+
+ CountDownLatch cancelCallbackCalled = new CountDownLatch(1);
+ InstrumentationRegistry.getInstrumentation().runOnMainSync(
+ () -> mProgressAnimator.onBackCancelled(cancelCallbackCalled::countDown));
+
+ // verify onBackProgressed and onBackCancelled not yet called
+ assertNull(mReceivedBackEvent);
+ assertEquals(1, cancelCallbackCalled.getCount());
+
+ // call reset
+ InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> mProgressAnimator.reset());
+
+ // verify that back event with progress 0 is sent and cancel callback is invoked
+ assertNotNull(mReceivedBackEvent);
+ assertEquals(mReceivedBackEvent.getProgress(), mTargetProgress, 0 /* delta */);
+ assertEquals(0, cancelCallbackCalled.getCount());
+ }
+
private void onGestureProgress(BackEvent backEvent) {
if (mTargetProgress == backEvent.getProgress()) {
mReceivedBackEvent = backEvent;
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/common/magnetictarget/MagnetizedObjectTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/common/magnetictarget/MagnetizedObjectTest.kt
index a9f054e..a4fb350 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/common/magnetictarget/MagnetizedObjectTest.kt
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/common/magnetictarget/MagnetizedObjectTest.kt
@@ -201,9 +201,11 @@
getMotionEvent(x = 200, y = 200))
// You can't become unstuck if you were never stuck in the first place.
- verify(magnetListener, never()).onStuckToTarget(magneticTarget)
+ verify(magnetListener, never()).onStuckToTarget(magneticTarget,
+ magnetizedObject)
verify(magnetListener, never()).onUnstuckFromTarget(
- eq(magneticTarget), ArgumentMatchers.anyFloat(), ArgumentMatchers.anyFloat(),
+ eq(magneticTarget), eq(magnetizedObject),
+ ArgumentMatchers.anyFloat(), ArgumentMatchers.anyFloat(),
eq(false))
// Move into and then around inside the magnetic field.
@@ -213,9 +215,10 @@
getMotionEvent(x = targetCenterX + 100, y = targetCenterY + 100))
// We should only have received one call to onStuckToTarget and none to unstuck.
- verify(magnetListener, times(1)).onStuckToTarget(magneticTarget)
+ verify(magnetListener, times(1)).onStuckToTarget(magneticTarget, magnetizedObject)
verify(magnetListener, never()).onUnstuckFromTarget(
- eq(magneticTarget), ArgumentMatchers.anyFloat(), ArgumentMatchers.anyFloat(),
+ eq(magneticTarget), eq(magnetizedObject),
+ ArgumentMatchers.anyFloat(), ArgumentMatchers.anyFloat(),
eq(false))
// Move out of the field and then release.
@@ -226,7 +229,8 @@
// We should have received one unstuck call and no more stuck calls. We also should never
// have received an onReleasedInTarget call.
verify(magnetListener, times(1)).onUnstuckFromTarget(
- eq(magneticTarget), ArgumentMatchers.anyFloat(), ArgumentMatchers.anyFloat(),
+ eq(magneticTarget), eq(magnetizedObject),
+ ArgumentMatchers.anyFloat(), ArgumentMatchers.anyFloat(),
eq(false))
verifyNoMoreInteractions(magnetListener)
}
@@ -242,8 +246,8 @@
getMotionEvent(
x = targetCenterX, y = targetCenterY))
- verify(magnetListener, times(1)).onStuckToTarget(magneticTarget)
- verify(magnetListener, never()).onReleasedInTarget(magneticTarget)
+ verify(magnetListener, times(1)).onStuckToTarget(magneticTarget, magnetizedObject)
+ verify(magnetListener, never()).onReleasedInTarget(magneticTarget, magnetizedObject)
// Move back out.
dispatchMotionEvents(
@@ -252,9 +256,11 @@
y = targetCenterY - magneticFieldRadius))
verify(magnetListener, times(1)).onUnstuckFromTarget(
- eq(magneticTarget), ArgumentMatchers.anyFloat(), ArgumentMatchers.anyFloat(),
+ eq(magneticTarget),
+ eq(magnetizedObject),
+ ArgumentMatchers.anyFloat(), ArgumentMatchers.anyFloat(),
eq(false))
- verify(magnetListener, never()).onReleasedInTarget(magneticTarget)
+ verify(magnetListener, never()).onReleasedInTarget(magneticTarget, magnetizedObject)
// Move in again and release in the magnetic field.
dispatchMotionEvents(
@@ -264,8 +270,8 @@
getMotionEvent(
x = targetCenterX, y = targetCenterY, action = MotionEvent.ACTION_UP))
- verify(magnetListener, times(2)).onStuckToTarget(magneticTarget)
- verify(magnetListener).onReleasedInTarget(magneticTarget)
+ verify(magnetListener, times(2)).onStuckToTarget(magneticTarget, magnetizedObject)
+ verify(magnetListener).onReleasedInTarget(magneticTarget, magnetizedObject)
verifyNoMoreInteractions(magnetListener)
}
@@ -288,7 +294,7 @@
action = MotionEvent.ACTION_UP))
// Nevertheless it should have ended up stuck to the target.
- verify(magnetListener, times(1)).onStuckToTarget(magneticTarget)
+ verify(magnetListener, times(1)).onStuckToTarget(magneticTarget, magnetizedObject)
}
@Test
@@ -366,7 +372,7 @@
getMotionEvent(x = 100, y = 900))
// Verify that we received an onStuck for the second target, and no others.
- verify(magnetListener).onStuckToTarget(secondMagneticTarget)
+ verify(magnetListener).onStuckToTarget(secondMagneticTarget, magnetizedObject)
verifyNoMoreInteractions(magnetListener)
// Drag into the original target.
@@ -376,8 +382,9 @@
// We should have unstuck from the second one and stuck into the original one.
verify(magnetListener).onUnstuckFromTarget(
- eq(secondMagneticTarget), anyFloat(), anyFloat(), eq(false))
- verify(magnetListener).onStuckToTarget(magneticTarget)
+ eq(secondMagneticTarget), eq(magnetizedObject),
+ anyFloat(), anyFloat(), eq(false))
+ verify(magnetListener).onStuckToTarget(magneticTarget, magnetizedObject)
verifyNoMoreInteractions(magnetListener)
}
@@ -394,7 +401,7 @@
getMotionEvent(x = 100, y = 650, action = MotionEvent.ACTION_UP))
// Verify that we received an onStuck for the second target.
- verify(magnetListener).onStuckToTarget(secondMagneticTarget)
+ verify(magnetListener).onStuckToTarget(secondMagneticTarget, magnetizedObject)
// Fling towards the first target.
dispatchMotionEvents(
@@ -403,7 +410,7 @@
getMotionEvent(x = 500, y = 650, action = MotionEvent.ACTION_UP))
// Verify that we received onStuck for the original target.
- verify(magnetListener).onStuckToTarget(magneticTarget)
+ verify(magnetListener).onStuckToTarget(magneticTarget, magnetizedObject)
}
@Test
@@ -413,10 +420,10 @@
dispatchMotionEvents(getMotionEvent(x = targetCenterX, y = targetCenterY))
// Moved into the target location, but it should be shifted due to screen offset.
// Should not get stuck.
- verify(magnetListener, never()).onStuckToTarget(magneticTarget)
+ verify(magnetListener, never()).onStuckToTarget(magneticTarget, magnetizedObject)
dispatchMotionEvents(getMotionEvent(x = targetCenterX, y = targetCenterY + 500))
- verify(magnetListener).onStuckToTarget(magneticTarget)
+ verify(magnetListener).onStuckToTarget(magneticTarget, magnetizedObject)
dispatchMotionEvents(
getMotionEvent(
@@ -426,7 +433,7 @@
)
)
- verify(magnetListener).onReleasedInTarget(magneticTarget)
+ verify(magnetListener).onReleasedInTarget(magneticTarget, magnetizedObject)
verifyNoMoreInteractions(magnetListener)
}
@@ -437,14 +444,15 @@
dispatchMotionEvents(getMotionEvent(x = targetCenterX, y = adjustedTargetCenter))
dispatchMotionEvents(getMotionEvent(x = 0, y = 0))
- verify(magnetListener).onStuckToTarget(magneticTarget)
+ verify(magnetListener).onStuckToTarget(magneticTarget, magnetizedObject)
verify(magnetListener)
- .onUnstuckFromTarget(eq(magneticTarget), anyFloat(), anyFloat(), anyBoolean())
+ .onUnstuckFromTarget(eq(magneticTarget), eq(magnetizedObject),
+ anyFloat(), anyFloat(), anyBoolean())
// Offset if removed, we should now get stuck at the target location
magneticTarget.screenVerticalOffset = 0
dispatchMotionEvents(getMotionEvent(x = targetCenterX, y = targetCenterY))
- verify(magnetListener, times(2)).onStuckToTarget(magneticTarget)
+ verify(magnetListener, times(2)).onStuckToTarget(magneticTarget, magnetizedObject)
}
@Test
@@ -466,7 +474,7 @@
)
// Nevertheless it should have ended up stuck to the target.
- verify(magnetListener, times(1)).onStuckToTarget(magneticTarget)
+ verify(magnetListener, times(1)).onStuckToTarget(magneticTarget, magnetizedObject)
}
private fun getSecondMagneticTarget(): MagnetizedObject.MagneticTarget {
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/freeform/FreeformTaskListenerTests.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/freeform/FreeformTaskListenerTests.java
new file mode 100644
index 0000000..71eea4b
--- /dev/null
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/freeform/FreeformTaskListenerTests.java
@@ -0,0 +1,110 @@
+/*
+ * 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.wm.shell.freeform;
+
+import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM;
+import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN;
+
+import static com.android.dx.mockito.inline.extended.ExtendedMockito.mockitoSession;
+
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.ActivityManager;
+
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+import androidx.test.filters.SmallTest;
+
+import com.android.dx.mockito.inline.extended.StaticMockitoSession;
+import com.android.wm.shell.ShellTaskOrganizer;
+import com.android.wm.shell.ShellTestCase;
+import com.android.wm.shell.TestRunningTaskInfoBuilder;
+import com.android.wm.shell.desktopmode.DesktopModeStatus;
+import com.android.wm.shell.desktopmode.DesktopModeTaskRepository;
+import com.android.wm.shell.sysui.ShellInit;
+import com.android.wm.shell.windowdecor.WindowDecorViewModel;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.quality.Strictness;
+
+import java.util.Optional;
+
+/**
+ * Tests for {@link FreeformTaskListener}
+ * Build/Install/Run:
+ * atest WMShellUnitTests:FreeformTaskListenerTests
+ */
+@SmallTest
+@RunWith(AndroidJUnit4.class)
+public final class FreeformTaskListenerTests extends ShellTestCase {
+
+ @Mock
+ private ShellTaskOrganizer mTaskOrganizer;
+ @Mock
+ private ShellInit mShellInit;
+ @Mock
+ private WindowDecorViewModel mWindowDecorViewModel;
+ @Mock
+ private DesktopModeTaskRepository mDesktopModeTaskRepository;
+ private FreeformTaskListener mFreeformTaskListener;
+ private StaticMockitoSession mMockitoSession;
+
+ @Before
+ public void setup() {
+ mMockitoSession = mockitoSession().initMocks(this)
+ .strictness(Strictness.LENIENT).mockStatic(DesktopModeStatus.class).startMocking();
+ when(DesktopModeStatus.isEnabled()).thenReturn(true);
+ mFreeformTaskListener = new FreeformTaskListener(
+ mShellInit,
+ mTaskOrganizer,
+ Optional.of(mDesktopModeTaskRepository),
+ mWindowDecorViewModel);
+ }
+
+ @Test
+ public void testFocusTaskChanged_freeformTaskIsAddedToRepo() {
+ ActivityManager.RunningTaskInfo task = new TestRunningTaskInfoBuilder()
+ .setWindowingMode(WINDOWING_MODE_FREEFORM).build();
+ task.isFocused = true;
+
+ mFreeformTaskListener.onFocusTaskChanged(task);
+
+ verify(mDesktopModeTaskRepository).addOrMoveFreeformTaskToTop(task.taskId);
+ }
+
+ @Test
+ public void testFocusTaskChanged_fullscreenTaskIsNotAddedToRepo() {
+ ActivityManager.RunningTaskInfo fullscreenTask = new TestRunningTaskInfoBuilder()
+ .setWindowingMode(WINDOWING_MODE_FULLSCREEN).build();
+ fullscreenTask.isFocused = true;
+
+ mFreeformTaskListener.onFocusTaskChanged(fullscreenTask);
+
+ verify(mDesktopModeTaskRepository, never())
+ .addOrMoveFreeformTaskToTop(fullscreenTask.taskId);
+ }
+
+ @After
+ public void tearDown() {
+ mMockitoSession.finishMocking();
+ }
+}
diff --git a/libs/hwui/hwui/Canvas.cpp b/libs/hwui/hwui/Canvas.cpp
index e9f4b81c..80b6c03 100644
--- a/libs/hwui/hwui/Canvas.cpp
+++ b/libs/hwui/hwui/Canvas.cpp
@@ -18,7 +18,6 @@
#include <SkFontMetrics.h>
#include <SkRRect.h>
-#include <minikin/MinikinRect.h>
#include "FeatureFlags.h"
#include "MinikinUtils.h"
@@ -108,13 +107,7 @@
// care of all alignment.
paint.setTextAlign(Paint::kLeft_Align);
- minikin::MinikinRect bounds;
- // We only need the bounds to draw a rectangular background in high contrast mode. Let's save
- // the cycles otherwise.
- if (flags::high_contrast_text_small_text_rect() && isHighContrastText()) {
- MinikinUtils::getBounds(&paint, bidiFlags, typeface, text, textSize, &bounds);
- }
- DrawTextFunctor f(layout, this, paint, x, y, layout.getAdvance(), bounds);
+ DrawTextFunctor f(layout, this, paint, x, y, layout.getAdvance());
MinikinUtils::forFontRun(layout, &paint, f);
if (text_feature::fix_double_underline()) {
diff --git a/libs/hwui/hwui/DrawTextFunctor.h b/libs/hwui/hwui/DrawTextFunctor.h
index ba65439..02bf0d8 100644
--- a/libs/hwui/hwui/DrawTextFunctor.h
+++ b/libs/hwui/hwui/DrawTextFunctor.h
@@ -16,6 +16,7 @@
#include <SkFontMetrics.h>
#include <SkRRect.h>
+#include <SkTextBlob.h>
#include <com_android_graphics_hwui_flags.h>
#include "../utils/Color.h"
@@ -66,7 +67,7 @@
* @param bounds bounds of the text. Only required if high contrast text mode is enabled.
*/
DrawTextFunctor(const minikin::Layout& layout, Canvas* canvas, const Paint& paint, float x,
- float y, float totalAdvance, const minikin::MinikinRect& bounds)
+ float y, float totalAdvance)
: layout(layout)
, canvas(canvas)
, paint(paint)
@@ -74,8 +75,7 @@
, y(y)
, totalAdvance(totalAdvance)
, underlinePosition(0)
- , underlineThickness(0)
- , bounds(bounds) {}
+ , underlineThickness(0) {}
void operator()(size_t start, size_t end) {
auto glyphFunc = [&](uint16_t* text, float* positions) {
@@ -106,12 +106,32 @@
simplifyPaint(darken ? SK_ColorWHITE : SK_ColorBLACK, &outlinePaint);
outlinePaint.setStyle(SkPaint::kStrokeAndFill_Style);
if (flags::high_contrast_text_small_text_rect()) {
- auto bgBounds(bounds);
- auto padding = kHighContrastTextBorderWidth + 0.1f * paint.getSkFont().getSize();
- bgBounds.offset(x, y);
- canvas->drawRect(bgBounds.mLeft - padding, bgBounds.mTop - padding,
- bgBounds.mRight + padding, bgBounds.mBottom + padding,
- outlinePaint);
+ const SkFont& font = paint.getSkFont();
+ auto padding = kHighContrastTextBorderWidth + 0.1f * font.getSize();
+
+ // Draw the background only behind each glyph's bounds. We do this instead of using
+ // the bounds of the entire layout, because the layout includes alignment whitespace
+ // etc which can obscure other text from separate passes (e.g. emojis).
+ // Merge all the glyph bounds into one rect for this line, since drawing a rect for
+ // each glyph is expensive.
+ SkRect glyphBounds;
+ SkRect bgBounds;
+ for (size_t i = start; i < end; i++) {
+ auto glyph = layout.getGlyphId(i);
+
+ font.getBounds(reinterpret_cast<const SkGlyphID*>(&glyph), 1, &glyphBounds,
+ &paint);
+ glyphBounds.offset(layout.getX(i), layout.getY(i));
+
+ bgBounds.join(glyphBounds);
+ }
+
+ if (!bgBounds.isEmpty()) {
+ bgBounds.offset(x, y);
+ bgBounds.outset(padding, padding);
+ canvas->drawRect(bgBounds.fLeft, bgBounds.fTop, bgBounds.fRight,
+ bgBounds.fBottom, outlinePaint);
+ }
} else {
canvas->drawGlyphs(glyphFunc, glyphCount, outlinePaint, x, y, totalAdvance);
}
@@ -169,7 +189,6 @@
float totalAdvance;
float underlinePosition;
float underlineThickness;
- const minikin::MinikinRect& bounds;
};
} // namespace android
diff --git a/libs/hwui/tests/unit/UnderlineTest.cpp b/libs/hwui/tests/unit/UnderlineTest.cpp
index 9911bfa..c70a304 100644
--- a/libs/hwui/tests/unit/UnderlineTest.cpp
+++ b/libs/hwui/tests/unit/UnderlineTest.cpp
@@ -103,9 +103,8 @@
// Create minikin::Layout
std::unique_ptr<Typeface> typeface(makeTypeface());
minikin::Layout layout = doLayout(text, *paint, typeface.get());
- minikin::MinikinRect bounds;
- DrawTextFunctor f(layout, &canvas, *paint, 0, 0, layout.getAdvance(), bounds);
+ DrawTextFunctor f(layout, &canvas, *paint, 0, 0, layout.getAdvance());
MinikinUtils::forFontRun(layout, paint, f);
return f;
}
diff --git a/location/java/android/location/flags/location.aconfig b/location/java/android/location/flags/location.aconfig
index a96fe47..0fa641b 100644
--- a/location/java/android/location/flags/location.aconfig
+++ b/location/java/android/location/flags/location.aconfig
@@ -1,6 +1,13 @@
package: "android.location.flags"
flag {
+ name: "location_bypass"
+ namespace: "location"
+ description: "Enable location bypass appops behavior"
+ bug: "301150056"
+}
+
+flag {
name: "fix_service_watcher"
namespace: "location"
description: "Enable null explicit services in ServiceWatcher"
diff --git a/media/java/android/media/AudioDevicePort.java b/media/java/android/media/AudioDevicePort.java
index 2de8eefc..ab5c54b 100644
--- a/media/java/android/media/AudioDevicePort.java
+++ b/media/java/android/media/AudioDevicePort.java
@@ -33,7 +33,7 @@
* device at the boundary of the audio system.
* In addition to base audio port attributes, the device descriptor contains:
* - the device type (e.g AudioManager.DEVICE_OUT_SPEAKER)
- * - the device address (e.g MAC adddress for AD2P sink).
+ * - the device address (e.g MAC address for AD2P sink).
* @see AudioPort
* @hide
*/
diff --git a/media/java/android/media/AudioHalVersionInfo.java b/media/java/android/media/AudioHalVersionInfo.java
index 4cdfc51..2b6f72e 100644
--- a/media/java/android/media/AudioHalVersionInfo.java
+++ b/media/java/android/media/AudioHalVersionInfo.java
@@ -79,6 +79,9 @@
/**
* List of all valid Audio HAL versions. This list need to be in sync with sAudioHALVersions
* defined in frameworks/av/media/libaudiohal/FactoryHal.cpp.
+ *
+ * Note: update {@link android.media.audio.cts.AudioHalVersionInfoTest} CTS accordingly if
+ * there is a change to supported versions.
*/
public static final @NonNull List<AudioHalVersionInfo> VERSIONS =
List.of(AIDL_1_0, HIDL_7_1, HIDL_7_0, HIDL_6_0, HIDL_5_0);
diff --git a/media/java/android/media/MediaCodec.java b/media/java/android/media/MediaCodec.java
index bfb4b42..4ee25c4 100644
--- a/media/java/android/media/MediaCodec.java
+++ b/media/java/android/media/MediaCodec.java
@@ -16,6 +16,10 @@
package android.media;
+import static android.media.codec.Flags.FLAG_REGION_OF_INTEREST;
+
+import static com.android.media.codec.flags.Flags.FLAG_LARGE_AUDIO_FRAME;
+
import android.Manifest;
import android.annotation.FlaggedApi;
import android.annotation.IntDef;
@@ -51,7 +55,6 @@
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@@ -62,7 +65,6 @@
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
-import static com.android.media.codec.flags.Flags.FLAG_LARGE_AUDIO_FRAME;
/**
MediaCodec class can be used to access low-level media codecs, i.e. encoder/decoder components.
It is part of the Android low-level multimedia support infrastructure (normally used together
@@ -4938,6 +4940,68 @@
public static final String PARAMETER_KEY_TUNNEL_PEEK = "tunnel-peek";
/**
+ * Set the region of interest as QpOffset-Map on the next queued input frame.
+ * <p>
+ * The associated value is a byte array containing quantization parameter (QP) offsets in
+ * raster scan order for the entire frame at 16x16 granularity. The size of the byte array
+ * shall be ((frame_width + 15) / 16) * ((frame_height + 15) / 16), where frame_width and
+ * frame_height correspond to width and height configured using {@link MediaFormat#KEY_WIDTH}
+ * and {@link MediaFormat#KEY_HEIGHT} keys respectively. During encoding, if the coding unit
+ * size is larger than 16x16, then the qpOffset information of all 16x16 blocks that
+ * encompass the coding unit is combined and used. The QP of target block will be calculated
+ * as 'frameQP + offsetQP'. If the result exceeds minQP or maxQP configured then the value
+ * may be clamped. Negative offset results in blocks encoded at lower QP than frame QP and
+ * positive offsets will result in encoding blocks at higher QP than frame QP. If the areas
+ * of negative QP and positive QP are chosen wisely, the overall viewing experience can be
+ * improved.
+ * <p>
+ * If byte array size is too small than the expected size, components may ignore the
+ * configuration silently. If the byte array exceeds the expected size, components shall use
+ * the initial portion and ignore the rest.
+ * <p>
+ * The scope of this key is throughout the encoding session until it is reconfigured during
+ * running state.
+ * <p>
+ * @see #setParameters(Bundle)
+ */
+ @FlaggedApi(FLAG_REGION_OF_INTEREST)
+ public static final String PARAMETER_KEY_QP_OFFSET_MAP = "qp-offset-map";
+
+ /**
+ * Set the region of interest as QpOffset-Rects on the next queued input frame.
+ * <p>
+ * The associated value is a String in the format "Top1,Left1-Bottom1,Right1=Offset1;Top2,
+ * Left2-Bottom2,Right2=Offset2;...". Co-ordinates (Top, Left), (Top, Right), (Bottom, Left)
+ * and (Bottom, Right) form the vertices of bounding box of region of interest in pixels.
+ * Pixel (0, 0) points to the top-left corner of the frame. Offset is the suggested
+ * quantization parameter (QP) offset of the blocks in the bounding box. The bounding box
+ * will get stretched outwards to align to LCU boundaries during encoding. The Qp Offset is
+ * integral and shall be in the range [-128, 127]. The QP of target block will be calculated
+ * as frameQP + offsetQP. If the result exceeds minQP or maxQP configured then the value may
+ * be clamped. Negative offset results in blocks encoded at lower QP than frame QP and
+ * positive offsets will result in blocks encoded at higher QP than frame QP. If the areas of
+ * negative QP and positive QP are chosen wisely, the overall viewing experience can be
+ * improved.
+ * <p>
+ * If Roi rect is not valid that is bounding box width is < 0 or bounding box height is < 0,
+ * components may ignore the configuration silently. If Roi rect extends outside frame
+ * boundaries, then rect shall be clamped to the frame boundaries.
+ * <p>
+ * The scope of this key is throughout the encoding session until it is reconfigured during
+ * running state.
+ * <p>
+ * The maximum number of contours (rectangles) that can be specified for a given input frame
+ * is device specific. Implementations will drop/ignore the rectangles that are beyond their
+ * supported limit. Hence it is preferable to place the rects in descending order of
+ * importance. Transitively, if the bounding boxes overlap, then the most preferred
+ * rectangle's qp offset (earlier rectangle qp offset) will be used to quantize the block.
+ * <p>
+ * @see #setParameters(Bundle)
+ */
+ @FlaggedApi(FLAG_REGION_OF_INTEREST)
+ public static final String PARAMETER_KEY_QP_OFFSET_RECTS = "qp-offset-rects";
+
+ /**
* Communicate additional parameter changes to the component instance.
* <b>Note:</b> Some of these parameter changes may silently fail to apply.
*
diff --git a/media/java/android/media/MediaCodecInfo.java b/media/java/android/media/MediaCodecInfo.java
index b0daea8..86f89ab 100644
--- a/media/java/android/media/MediaCodecInfo.java
+++ b/media/java/android/media/MediaCodecInfo.java
@@ -20,6 +20,7 @@
import static android.media.Utils.sortDistinctRanges;
import static android.media.codec.Flags.FLAG_DYNAMIC_COLOR_ASPECTS;
import static android.media.codec.Flags.FLAG_HLG_EDITING;
+import static android.media.codec.Flags.FLAG_REGION_OF_INTEREST;
import android.annotation.FlaggedApi;
import android.annotation.IntRange;
@@ -741,6 +742,42 @@
public static final String FEATURE_DynamicColorAspects = "dynamic-color-aspects";
/**
+ * <b>video encoder only</b>: codec supports region of interest encoding.
+ * <p>
+ * RoI encoding support means the codec accepts information that specifies the relative
+ * importance of different portions of each video frame. This allows the encoder to
+ * separate a video frame into critical and non-critical regions, and use more bits
+ * (better quality) to represent the critical regions and de-prioritize non-critical
+ * regions. In other words, the encoder chooses a negative qp bias for the critical
+ * portions and a zero or positive qp bias for the non-critical portions.
+ * <p>
+ * At a basic level, if the encoder decides to encode each frame with a uniform
+ * quantization value 'qpFrame' and a 'qpBias' is chosen/suggested for an LCU of the
+ * frame, then the actual qp of the LCU will be 'qpFrame + qpBias', although this value
+ * can be clamped basing on the min-max configured qp bounds for the current encoding
+ * session.
+ * <p>
+ * In a shot, if a group of LCUs pan out quickly they can be marked as non-critical
+ * thereby enabling the encoder to reserve fewer bits during their encoding. Contrarily,
+ * LCUs that remain in shot for a prolonged duration can be encoded at better quality in
+ * one frame thereby setting-up an excellent long-term reference for all future frames.
+ * <p>
+ * Note that by offsetting the quantization of each LCU, the overall bit allocation will
+ * differ from the originally estimated bit allocation, and the encoder will adjust the
+ * frame quantization for subsequent frames to meet the bitrate target. An effective
+ * selection of critical regions can set-up a golden reference and this can compensate
+ * for the bit burden that was introduced due to encoding RoI's at better quality.
+ * On the other hand, an ineffective choice of critical regions might increase the
+ * quality of certain parts of the image but this can hamper quality in subsequent frames.
+ * <p>
+ * @see MediaCodec#PARAMETER_KEY_QP_OFFSET_MAP
+ * @see MediaCodec#PARAMETER_KEY_QP_OFFSET_RECTS
+ */
+ @SuppressLint("AllUpper")
+ @FlaggedApi(FLAG_REGION_OF_INTEREST)
+ public static final String FEATURE_Roi = "region-of-interest";
+
+ /**
* Query codec feature capabilities.
* <p>
* These features are supported to be used by the codec. These
@@ -798,6 +835,9 @@
if (android.media.codec.Flags.hlgEditing()) {
features.add(new Feature(FEATURE_HlgEditing, (1 << 6), true));
}
+ if (android.media.codec.Flags.regionOfInterest()) {
+ features.add(new Feature(FEATURE_Roi, (1 << 7), true));
+ }
// feature to exclude codec from REGULAR codec list
features.add(new Feature(FEATURE_SpecialCodec, (1 << 30), false, true));
diff --git a/media/java/android/media/MediaRouter2.java b/media/java/android/media/MediaRouter2.java
index 7fa3ed6..144b01a 100644
--- a/media/java/android/media/MediaRouter2.java
+++ b/media/java/android/media/MediaRouter2.java
@@ -1017,7 +1017,8 @@
updateRoutesOnHandler(currentRoutes);
RoutingSessionInfo oldInfo = mSystemController.getRoutingSessionInfo();
- mSystemController.setRoutingSessionInfo(currentSystemSessionInfo);
+ mSystemController.setRoutingSessionInfo(ensureClientPackageNameForSystemSession(
+ currentSystemSessionInfo, mContext.getPackageName()));
if (!oldInfo.equals(currentSystemSessionInfo)) {
notifyControllerUpdated(mSystemController);
}
@@ -1440,6 +1441,25 @@
}
}
+ /**
+ * Sets the routing session's {@linkplain RoutingSessionInfo#getClientPackageName() client
+ * package name} to {@code packageName} if empty and returns the session.
+ *
+ * <p>This method must only be used for {@linkplain RoutingSessionInfo#isSystemSession()
+ * system routing sessions}.
+ */
+ private static RoutingSessionInfo ensureClientPackageNameForSystemSession(
+ @NonNull RoutingSessionInfo sessionInfo, @NonNull String packageName) {
+ if (!sessionInfo.isSystemSession()
+ || !TextUtils.isEmpty(sessionInfo.getClientPackageName())) {
+ return sessionInfo;
+ }
+
+ return new RoutingSessionInfo.Builder(sessionInfo)
+ .setClientPackageName(packageName)
+ .build();
+ }
+
/** Callback for receiving events about media route discovery. */
public abstract static class RouteCallback {
/**
@@ -2891,25 +2911,6 @@
}
/**
- * Sets the routing session's {@linkplain RoutingSessionInfo#getClientPackageName() client
- * package name} to {@link #mClientPackageName} if empty and returns the session.
- *
- * <p>This method must only be used for {@linkplain RoutingSessionInfo#isSystemSession()
- * system routing sessions}.
- */
- private RoutingSessionInfo ensureClientPackageNameForSystemSession(
- RoutingSessionInfo sessionInfo) {
- if (!sessionInfo.isSystemSession()
- || !TextUtils.isEmpty(sessionInfo.getClientPackageName())) {
- return sessionInfo;
- }
-
- return new RoutingSessionInfo.Builder(sessionInfo)
- .setClientPackageName(mClientPackageName)
- .build();
- }
-
- /**
* Requests the release of a {@linkplain RoutingSessionInfo routing session}. Calls {@link
* #onSessionReleasedOnHandler(RoutingSessionInfo)} on success.
*
@@ -2997,7 +2998,7 @@
RoutingController oldController;
if (oldSession.isSystemSession()) {
mSystemController.setRoutingSessionInfo(
- ensureClientPackageNameForSystemSession(oldSession));
+ ensureClientPackageNameForSystemSession(oldSession, mClientPackageName));
oldController = mSystemController;
} else {
oldController = new RoutingController(oldSession);
@@ -3006,7 +3007,7 @@
RoutingController newController;
if (newSession.isSystemSession()) {
mSystemController.setRoutingSessionInfo(
- ensureClientPackageNameForSystemSession(newSession));
+ ensureClientPackageNameForSystemSession(newSession, mClientPackageName));
newController = mSystemController;
} else {
newController = new RoutingController(newSession);
@@ -3033,7 +3034,7 @@
RoutingController controller;
if (session.isSystemSession()) {
mSystemController.setRoutingSessionInfo(
- ensureClientPackageNameForSystemSession(session));
+ ensureClientPackageNameForSystemSession(session, mClientPackageName));
controller = mSystemController;
} else {
controller = new RoutingController(session);
@@ -3303,7 +3304,8 @@
public RoutingSessionInfo getSystemSessionInfo() {
RoutingSessionInfo currentSystemSessionInfo = null;
try {
- currentSystemSessionInfo = mMediaRouterService.getSystemSessionInfo();
+ currentSystemSessionInfo = ensureClientPackageNameForSystemSession(
+ mMediaRouterService.getSystemSessionInfo(), mContext.getPackageName());
} catch (RemoteException ex) {
ex.rethrowFromSystemServer();
}
diff --git a/media/java/android/media/OWNERS b/media/java/android/media/OWNERS
index 49890c1..8cc42e0b 100644
--- a/media/java/android/media/OWNERS
+++ b/media/java/android/media/OWNERS
@@ -11,3 +11,8 @@
per-file ExifInterface.java,ExifInterfaceUtils.java,IMediaHTTPConnection.aidl,IMediaHTTPService.aidl,JetPlayer.java,MediaDataSource.java,MediaExtractor.java,MediaHTTPConnection.java,MediaHTTPService.java,MediaPlayer.java=set noparent
per-file ExifInterface.java,ExifInterfaceUtils.java,IMediaHTTPConnection.aidl,IMediaHTTPService.aidl,JetPlayer.java,MediaDataSource.java,MediaExtractor.java,MediaHTTPConnection.java,MediaHTTPService.java,MediaPlayer.java=file:platform/frameworks/av:/media/janitors/media_solutions_OWNERS
+
+# Haptics team also works on Ringtone
+per-file *Ringtone* = file:/services/core/java/com/android/server/vibrator/OWNERS
+
+per-file flags/projection.aconfig = file:projection/OWNERS
diff --git a/media/java/android/media/metrics/EditingEndedEvent.java b/media/java/android/media/metrics/EditingEndedEvent.java
index f1c5c9d..9b3477f 100644
--- a/media/java/android/media/metrics/EditingEndedEvent.java
+++ b/media/java/android/media/metrics/EditingEndedEvent.java
@@ -18,6 +18,7 @@
import static com.android.media.editing.flags.Flags.FLAG_ADD_MEDIA_METRICS_EDITING;
import android.annotation.FlaggedApi;
+import android.annotation.FloatRange;
import android.annotation.IntDef;
import android.annotation.IntRange;
import android.annotation.LongDef;
@@ -60,6 +61,8 @@
private final @FinalState int mFinalState;
+ private final float mFinalProgressPercent;
+
// The special value 0 is reserved for the field being unspecified in the proto.
/** Special value representing that no error occurred. */
@@ -155,10 +158,15 @@
/** Special value for unknown {@linkplain #getTimeSinceCreatedMillis() time since creation}. */
public static final int TIME_SINCE_CREATED_UNKNOWN = -1;
+ /** Special value for unknown {@linkplain #getFinalProgressPercent() final progress}. */
+ public static final int PROGRESS_PERCENT_UNKNOWN = -1;
+
private final @ErrorCode int mErrorCode;
@SuppressWarnings("HidingField") // Hiding field from superclass as for playback events.
private final long mTimeSinceCreatedMillis;
+ @Nullable private final String mExporterName;
+ @Nullable private final String mMuxerName;
private final ArrayList<MediaItemInfo> mInputMediaItemInfos;
@Nullable private final MediaItemInfo mOutputMediaItemInfo;
@@ -207,15 +215,21 @@
private EditingEndedEvent(
@FinalState int finalState,
+ float finalProgressPercent,
@ErrorCode int errorCode,
long timeSinceCreatedMillis,
+ @Nullable String exporterName,
+ @Nullable String muxerName,
ArrayList<MediaItemInfo> inputMediaItemInfos,
@Nullable MediaItemInfo outputMediaItemInfo,
@OperationType long operationTypes,
@NonNull Bundle extras) {
mFinalState = finalState;
+ mFinalProgressPercent = finalProgressPercent;
mErrorCode = errorCode;
mTimeSinceCreatedMillis = timeSinceCreatedMillis;
+ mExporterName = exporterName;
+ mMuxerName = muxerName;
mInputMediaItemInfos = inputMediaItemInfos;
mOutputMediaItemInfo = outputMediaItemInfo;
mOperationTypes = operationTypes;
@@ -228,6 +242,14 @@
return mFinalState;
}
+ /**
+ * Returns the progress of the editing operation in percent at the moment that it ended, or
+ * {@link #PROGRESS_PERCENT_UNKNOWN} if unknown.
+ */
+ public float getFinalProgressPercent() {
+ return mFinalProgressPercent;
+ }
+
/** Returns the error code for a {@linkplain #FINAL_STATE_ERROR failed} editing session. */
@ErrorCode
public int getErrorCode() {
@@ -249,6 +271,24 @@
return mTimeSinceCreatedMillis;
}
+ /**
+ * Returns the name of the library implementing the exporting operation, or {@code null} if
+ * unknown.
+ */
+ @Nullable
+ public String getExporterName() {
+ return mExporterName;
+ }
+
+ /**
+ * Returns the name of the library implementing the media muxing operation, or {@code null} if
+ * unknown.
+ */
+ @Nullable
+ public String getMuxerName() {
+ return mMuxerName;
+ }
+
/** Gets information about the input media items, or an empty list if unspecified. */
@NonNull
public List<MediaItemInfo> getInputMediaItemInfos() {
@@ -284,12 +324,21 @@
+ "finalState = "
+ mFinalState
+ ", "
+ + "finalProgressPercent = "
+ + mFinalProgressPercent
+ + ", "
+ "errorCode = "
+ mErrorCode
+ ", "
+ "timeSinceCreatedMillis = "
+ mTimeSinceCreatedMillis
+ ", "
+ + "exporterName = "
+ + mExporterName
+ + ", "
+ + "muxerName = "
+ + mMuxerName
+ + ", "
+ "inputMediaItemInfos = "
+ mInputMediaItemInfos
+ ", "
@@ -307,29 +356,38 @@
if (o == null || getClass() != o.getClass()) return false;
EditingEndedEvent that = (EditingEndedEvent) o;
return mFinalState == that.mFinalState
+ && mFinalProgressPercent == that.mFinalProgressPercent
&& mErrorCode == that.mErrorCode
&& Objects.equals(mInputMediaItemInfos, that.mInputMediaItemInfos)
&& Objects.equals(mOutputMediaItemInfo, that.mOutputMediaItemInfo)
&& mOperationTypes == that.mOperationTypes
- && mTimeSinceCreatedMillis == that.mTimeSinceCreatedMillis;
+ && mTimeSinceCreatedMillis == that.mTimeSinceCreatedMillis
+ && Objects.equals(mExporterName, that.mExporterName)
+ && Objects.equals(mMuxerName, that.mMuxerName);
}
@Override
public int hashCode() {
return Objects.hash(
mFinalState,
+ mFinalProgressPercent,
mErrorCode,
mInputMediaItemInfos,
mOutputMediaItemInfo,
mOperationTypes,
- mTimeSinceCreatedMillis);
+ mTimeSinceCreatedMillis,
+ mExporterName,
+ mMuxerName);
}
@Override
public void writeToParcel(@NonNull Parcel dest, int flags) {
dest.writeInt(mFinalState);
+ dest.writeFloat(mFinalProgressPercent);
dest.writeInt(mErrorCode);
dest.writeLong(mTimeSinceCreatedMillis);
+ dest.writeString(mExporterName);
+ dest.writeString(mMuxerName);
dest.writeTypedList(mInputMediaItemInfos);
dest.writeTypedObject(mOutputMediaItemInfo, /* parcelableFlags= */ 0);
dest.writeLong(mOperationTypes);
@@ -343,8 +401,11 @@
private EditingEndedEvent(@NonNull Parcel in) {
mFinalState = in.readInt();
+ mFinalProgressPercent = in.readFloat();
mErrorCode = in.readInt();
mTimeSinceCreatedMillis = in.readLong();
+ mExporterName = in.readString();
+ mMuxerName = in.readString();
mInputMediaItemInfos = new ArrayList<>();
in.readTypedList(mInputMediaItemInfos, MediaItemInfo.CREATOR);
mOutputMediaItemInfo = in.readTypedObject(MediaItemInfo.CREATOR);
@@ -370,8 +431,11 @@
public static final class Builder {
private final @FinalState int mFinalState;
private final ArrayList<MediaItemInfo> mInputMediaItemInfos;
+ private float mFinalProgressPercent;
private @ErrorCode int mErrorCode;
private long mTimeSinceCreatedMillis;
+ @Nullable private String mExporterName;
+ @Nullable private String mMuxerName;
@Nullable private MediaItemInfo mOutputMediaItemInfo;
private @OperationType long mOperationTypes;
private Bundle mMetricsBundle;
@@ -383,6 +447,7 @@
*/
public Builder(@FinalState int finalState) {
mFinalState = finalState;
+ mFinalProgressPercent = PROGRESS_PERCENT_UNKNOWN;
mErrorCode = ERROR_CODE_NONE;
mTimeSinceCreatedMillis = TIME_SINCE_CREATED_UNKNOWN;
mInputMediaItemInfos = new ArrayList<>();
@@ -390,6 +455,19 @@
}
/**
+ * Sets the progress of the editing operation in percent at the moment that it ended.
+ *
+ * @param finalProgressPercent The progress of the editing operation in percent at the
+ * moment that it ended.
+ * @see #getFinalProgressPercent()
+ */
+ public @NonNull Builder setFinalProgressPercent(
+ @FloatRange(from = 0, to = 100) float finalProgressPercent) {
+ mFinalProgressPercent = finalProgressPercent;
+ return this;
+ }
+
+ /**
* Sets the elapsed time since creating the editing session, in milliseconds.
*
* @param timeSinceCreatedMillis The elapsed time since creating the editing session, in
@@ -402,6 +480,30 @@
return this;
}
+ /**
+ * The name of the library implementing the exporting operation. For example, a Maven
+ * artifact ID like "androidx.media3.media3-transformer:1.3.0-beta01".
+ *
+ * @param exporterName The name of the library implementing the export operation.
+ * @see #getExporterName()
+ */
+ public @NonNull Builder setExporterName(@NonNull String exporterName) {
+ mExporterName = Objects.requireNonNull(exporterName);
+ return this;
+ }
+
+ /**
+ * The name of the library implementing the media muxing operation. For example, a Maven
+ * artifact ID like "androidx.media3.media3-muxer:1.3.0-beta01".
+ *
+ * @param muxerName The name of the library implementing the media muxing operation.
+ * @see #getMuxerName()
+ */
+ public @NonNull Builder setMuxerName(@NonNull String muxerName) {
+ mMuxerName = Objects.requireNonNull(muxerName);
+ return this;
+ }
+
/** Sets the error code for a {@linkplain #FINAL_STATE_ERROR failed} editing session. */
public @NonNull Builder setErrorCode(@ErrorCode int value) {
mErrorCode = value;
@@ -444,8 +546,11 @@
public @NonNull EditingEndedEvent build() {
return new EditingEndedEvent(
mFinalState,
+ mFinalProgressPercent,
mErrorCode,
mTimeSinceCreatedMillis,
+ mExporterName,
+ mMuxerName,
mInputMediaItemInfos,
mOutputMediaItemInfo,
mOperationTypes,
diff --git a/media/java/android/media/tv/BroadcastInfoRequest.java b/media/java/android/media/tv/BroadcastInfoRequest.java
index eb980a3..9035cb7 100644
--- a/media/java/android/media/tv/BroadcastInfoRequest.java
+++ b/media/java/android/media/tv/BroadcastInfoRequest.java
@@ -85,6 +85,8 @@
return CommandRequest.createFromParcelBody(source);
case TvInputManager.BROADCAST_INFO_TYPE_TIMELINE:
return TimelineRequest.createFromParcelBody(source);
+ case TvInputManager.BROADCAST_INFO_TYPE_SIGNALING_DATA:
+ return SignalingDataRequest.createFromParcelBody(source);
default:
throw new IllegalStateException(
"Unexpected broadcast info request type (value "
diff --git a/media/java/android/media/tv/BroadcastInfoResponse.java b/media/java/android/media/tv/BroadcastInfoResponse.java
index 4ba2b2c..f589244c 100644
--- a/media/java/android/media/tv/BroadcastInfoResponse.java
+++ b/media/java/android/media/tv/BroadcastInfoResponse.java
@@ -71,6 +71,8 @@
return CommandResponse.createFromParcelBody(source);
case TvInputManager.BROADCAST_INFO_TYPE_TIMELINE:
return TimelineResponse.createFromParcelBody(source);
+ case TvInputManager.BROADCAST_INFO_TYPE_SIGNALING_DATA:
+ return SignalingDataResponse.createFromParcelBody(source);
default:
throw new IllegalStateException(
"Unexpected broadcast info response type (value "
diff --git a/media/java/android/media/tv/SignalingDataInfo.java b/media/java/android/media/tv/SignalingDataInfo.java
index b29ea5c..e5231fc 100644
--- a/media/java/android/media/tv/SignalingDataInfo.java
+++ b/media/java/android/media/tv/SignalingDataInfo.java
@@ -16,11 +16,19 @@
package android.media.tv;
+import android.annotation.FlaggedApi;
import android.annotation.NonNull;
+import android.media.tv.flags.Flags;
import android.os.Parcelable;
-/** @hide */
-public class SignalingDataInfo implements Parcelable {
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/**
+ * Describes a metadata object of a {@link SignalingDataResponse}.
+ */
+@FlaggedApi(Flags.FLAG_TIAF_V_APIS)
+public final class SignalingDataInfo implements Parcelable {
public static final @NonNull Parcelable.Creator<SignalingDataInfo> CREATOR =
new Parcelable.Creator<SignalingDataInfo>() {
@Override
@@ -34,59 +42,131 @@
}
};
- private int mTableId;
- private @NonNull String mTable;
- private int mMetadataType;
- private int mVersion;
- private int mGroup;
- private @NonNull String mEncoding;
+ private final @NonNull String mTable;
+ private final @NonNull @SignalingDataRequest.SignalingMetadata String mSignalingDataType;
+ private final int mVersion;
+ private final int mGroup;
+ private final @NonNull String mEncoding;
+
+ /**
+ * This value for {@link #getGroup()} denotes that there's no group associated with this
+ * metadata.
+ */
+ public static final int LLS_NO_GROUP_ID = -1;
+
+ /**
+ * The encoding of the content is UTF-8. This is the default value.
+ */
+ public static final String CONTENT_ENCODING_UTF_8 = "UTF-8";
+
+ /**
+ * A/344:2023-5 9.2.10 compliant string for when the encoding of the content is Base64.
+ */
+ public static final String CONTENT_ENCODING_BASE64 = "Base64";
+
+ /**
+ * @hide
+ */
+ @android.annotation.StringDef(prefix = "CONTENT_ENCODING_", value = {
+ CONTENT_ENCODING_UTF_8,
+ CONTENT_ENCODING_BASE64
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface ContentEncoding {}
public SignalingDataInfo(
- int tableId,
@NonNull String table,
- int metadataType,
+ @NonNull String signalingDataType,
+ int version,
+ int group) {
+ this.mTable = table;
+ com.android.internal.util.AnnotationValidations.validate(NonNull.class, null, mTable);
+ this.mSignalingDataType = signalingDataType;
+ this.mVersion = version;
+ this.mGroup = group;
+ this.mEncoding = CONTENT_ENCODING_UTF_8;
+ }
+
+ public SignalingDataInfo(
+ @NonNull String table,
+ @NonNull String signalingDataType,
int version,
int group,
@NonNull String encoding) {
- this.mTableId = tableId;
this.mTable = table;
com.android.internal.util.AnnotationValidations.validate(NonNull.class, null, mTable);
- this.mMetadataType = metadataType;
+ this.mSignalingDataType = signalingDataType;
this.mVersion = version;
this.mGroup = group;
this.mEncoding = encoding;
com.android.internal.util.AnnotationValidations.validate(NonNull.class, null, mEncoding);
}
- public int getTableId() {
- return mTableId;
- }
-
- public @NonNull String getTable() {
+ /**
+ * The signaling table data, represented as a XML, JSON or BASE64 string.
+ *
+ * <p> For more details on how this data is formatted refer to the ATSC standard
+ * A/344:2023-5 9.2.10 - Query Signaling Data API.
+ *
+ * @return The signaling table data.
+ */
+ @NonNull
+ public String getTable() {
return mTable;
}
- public int getMetadataType() {
- return mMetadataType;
+ /**
+ * Gets the signaling data type contained in this metadata object. This may be either a
+ * LLS Metadata Object or a SLS Metadata Object name.
+ *
+ * <p>For more details on each type of metadata that can be requested, refer to the ATSC
+ * standard A/344:2023-5 9.2.10 - Query Signaling Data API.
+ *
+ * @return the type of metadata in this metadata object
+ */
+ @NonNull
+ public @SignalingDataRequest.SignalingMetadata String getSignalingDataType() {
+ return mSignalingDataType;
}
+ /**
+ * Gets the version of the signalling element. For LLS, this should be the
+ * LLS_table_version. For SLS Metadata Objects, this should be metadataEnvelope@version.
+ *
+ * For more details on where this version comes from, refer to the ATSC 3.0
+ * standard A/344:2023-5 9.2.10 - Query Signaling Data API.
+ *
+ * @return The version of the signalling element.
+ */
public int getVersion() {
return mVersion;
}
+ /**
+ * Gets the LLS group ID. Required for LLS Tables. For SLS Metadata Objects, this should be
+ * {@link #LLS_NO_GROUP_ID}.
+ *
+ * @return the LLS group ID.
+ */
public int getGroup() {
return mGroup;
}
- public @NonNull String getEncoding() {
+ /**
+ * The content encoding of the data. This value defaults to {@link #CONTENT_ENCODING_UTF_8}.
+ *
+ * <p> Can be either {@link #CONTENT_ENCODING_BASE64} or {@link #CONTENT_ENCODING_UTF_8}.
+ * @return The content encoding of the data.
+ */
+ @NonNull
+ public @ContentEncoding String getEncoding() {
return mEncoding;
}
@Override
public void writeToParcel(@NonNull android.os.Parcel dest, int flags) {
- dest.writeInt(mTableId);
dest.writeString(mTable);
- dest.writeInt(mMetadataType);
+ dest.writeString(mSignalingDataType);
dest.writeInt(mVersion);
dest.writeInt(mGroup);
dest.writeString(mEncoding);
@@ -98,17 +178,17 @@
}
SignalingDataInfo(@NonNull android.os.Parcel in) {
- int tableId = in.readInt();
String table = in.readString();
- int metadataType = in.readInt();
+ String metadataType = in.readString();
int version = in.readInt();
int group = in.readInt();
String encoding = in.readString();
- this.mTableId = tableId;
this.mTable = table;
com.android.internal.util.AnnotationValidations.validate(NonNull.class, null, mTable);
- this.mMetadataType = metadataType;
+ this.mSignalingDataType = metadataType;
+ com.android.internal.util.AnnotationValidations
+ .validate(NonNull.class, null, mSignalingDataType);
this.mVersion = version;
this.mGroup = group;
this.mEncoding = encoding;
diff --git a/media/java/android/media/tv/SignalingDataRequest.java b/media/java/android/media/tv/SignalingDataRequest.java
index dcf1d48..9874517 100644
--- a/media/java/android/media/tv/SignalingDataRequest.java
+++ b/media/java/android/media/tv/SignalingDataRequest.java
@@ -16,19 +16,27 @@
package android.media.tv;
+import android.annotation.FlaggedApi;
import android.annotation.NonNull;
+import android.media.tv.flags.Flags;
+import android.os.Parcel;
import android.os.Parcelable;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.util.List;
+
/**
* Request to retrieve the Low-level Signalling Tables (LLS) and Service-layer Signalling (SLS)
* metadata.
*
- * <p>For more details on each type of metadata that can be requested, refer to the ATSC standard
+ * <p> For more details on each type of metadata that can be requested, refer to the ATSC standard
* A/344:2023-5 9.2.10 - Query Signaling Data API.
*
- * @hide
+ * @see SignalingDataResponse
*/
-public class SignalingDataRequest extends BroadcastInfoRequest implements Parcelable {
+@FlaggedApi(Flags.FLAG_TIAF_V_APIS)
+public final class SignalingDataRequest extends BroadcastInfoRequest implements Parcelable {
private static final @TvInputManager.BroadcastInfoType int REQUEST_TYPE =
TvInputManager.BROADCAST_INFO_TYPE_SIGNALING_DATA;
@@ -45,126 +53,220 @@
}
};
- /** SLS Metadata: All metadata objects for the requested service(s) */
- public static final int SLS_METADATA_ALL = 0x7FFFFFF;
/** SLS Metadata: APD for the requested service(s) */
- public static final int SLS_METADATA_APD = 1;
+ public static final String SIGNALING_METADATA_APD = "APD";
/** SLS Metadata: USBD for the requested service(s) */
- public static final int SLS_METADATA_USBD = 1 << 1;
+ public static final String SIGNALING_METADATA_USBD = "USBD";
/** SLS Metadata: S-TSID for the requested service(s) */
- public static final int SLS_METADATA_STSID = 1 << 2;
+ public static final String SIGNALING_METADATA_STSID = "STSID";
/** SLS Metadata: DASH MPD for the requested service(s) */
- public static final int SLS_METADATA_MPD = 1 << 3;
+ public static final String SIGNALING_METADATA_MPD = "MPD";
/** SLS Metadata: User Service Description for MMTP */
- public static final int SLS_METADATA_USD = 1 << 4;
+ public static final String SIGNALING_METADATA_USD = "USD";
/** SLS Metadata: MMT Package Access Table for the requested service(s) */
- public static final int SLS_METADATA_PAT = 1 << 5;
+ public static final String SIGNALING_METADATA_PAT = "PAT";
/** SLS Metadata: MMT Package Table for the requested service(s) */
- public static final int SLS_METADATA_MPT = 1 << 6;
+ public static final String SIGNALING_METADATA_MPT = "MPT";
/** SLS Metadata: MMT Media Presentation Information Table for the requested service(s) */
- public static final int SLS_METADATA_MPIT = 1 << 7;
+ public static final String SIGNALING_METADATA_MPIT = "MPIT";
/** SLS Metadata: MMT Clock Relation Information for the requested service(s) */
- public static final int SLS_METADATA_CRIT = 1 << 8;
+ public static final String SIGNALING_METADATA_CRIT = "CRIT";
/** SLS Metadata: MMT Device Capabilities Information Table for the requested service(s) */
- public static final int SLS_METADATA_DCIT = 1 << 9;
+ public static final String SIGNALING_METADATA_DCIT = "DCIT";
/** SLS Metadata: HTML Entry Pages Location Description for the requested service(s) */
- public static final int SLS_METADATA_HELD = 1 << 10;
+ public static final String SIGNALING_METADATA_HELD = "HELD";
/** SLS Metadata: Distribution Window Desciription for the requested service(s) */
- public static final int SLS_METADATA_DWD = 1 << 11;
+ public static final String SIGNALING_METADATA_DWD = "DWD";
/** SLS Metadata: MMT Application Event Information for the requested service(s) */
- public static final int SLS_METADATA_AEI = 1 << 12;
+ public static final String SIGNALING_METADATA_AEI = "AEI";
/** SLS Metadata: Video Stream Properties Descriptor */
- public static final int SLS_METADATA_VSPD = 1 << 13;
+ public static final String SIGNALING_METADATA_VSPD = "VSPD";
/** SLS Metadata: ATSC Staggercast Descriptor */
- public static final int SLS_METADATA_ASD = 1 << 14;
+ public static final String SIGNALING_METADATA_ASD = "ASD";
/** SLS Metadata: Inband Event Descriptor */
- public static final int SLS_METADATA_IED = 1 << 15;
+ public static final String SIGNALING_METADATA_IED = "IED";
/** SLS Metadata: Caption Asset Descriptor */
- public static final int SLS_METADATA_CAD = 1 << 16;
+ public static final String SIGNALING_METADATA_CAD = "CAD";
/** SLS Metadata: Audio Stream Properties Descriptor */
- public static final int SLS_METADATA_ASPD = 1 << 17;
+ public static final String SIGNALING_METADATA_ASPD = "ASPD";
/** SLS Metadata: Security Properties Descriptor */
- public static final int SLS_METADATA_SSD = 1 << 18;
+ public static final String SIGNALING_METADATA_SSD = "SSD";
/** SLS Metadata: ROUTE/DASH Application Dynamic Event for the requested service(s) */
- public static final int SLS_METADATA_EMSG = 1 << 19;
+ public static final String SIGNALING_METADATA_EMSG = "EMSG";
/** SLS Metadata: MMT Application Dynamic Event for the requested service(s) */
- public static final int SLS_METADATA_EVTI = 1 << 20;
+ public static final String SIGNALING_METADATA_EVTI = "EVTI";
- /** Regional Service Availability Table for the requested service(s) */
- public static final int SLS_METADATA_RSAT = 1 << 21;
+ /** SLS Metadata: Regional Service Availability Table for the requested service(s) */
+ public static final String SIGNALING_METADATA_RSAT = "RSAT";
+
+ /** SLS Metadata: Recovery Data Table for the requested service(s) */
+ public static final String SIGNALING_METADATA_RDT = "RDT";
+
+ /**
+ * Service List Table for the requested service(s), LLS_table_id = 1.
+ */
+ public static final String SIGNALING_METADATA_SLT = "SLT";
+
+ /**
+ * Region Rating Table for the requested service(s), LLS_table_id = 2.
+ */
+ public static final String SIGNALING_METADATA_RRT = "RRT";
+
+ /**
+ * System Time Table for the requested service(s), LLS_table_id = 3.
+ */
+ public static final String SIGNALING_METADATA_STT = "STT";
+
+ /**
+ * Advance Emergency Information Table for the requested service(s), LLS_table_id = 4.
+ */
+ public static final String SIGNALING_METADATA_AEAT = "AEAT";
+
+ /**
+ * Onscreen Message Notifications for the requested service(s), LLS_table_id = 5.
+ */
+ public static final String SIGNALING_METADATA_OSN = "OSN";
+
+ /**
+ * Signed Multitable for the requested service(s), LLS_table_id = 0xFE (254).
+ */
+ public static final String SIGNALING_METADATA_SMT = "SMT";
+
+ /**
+ * CertificateData Tablefor the requested service(s), LLS_table_id = 6.
+ */
+ public static final String SIGNALING_METADATA_CDT = "CDT";
private final int mGroup;
- private @NonNull final int[] mLlsTableIds;
- private final int mSlsMetadataTypes;
+ private final @NonNull List<String> mSignalingDataTypes;
- SignalingDataRequest(
- int requestId,
- int option,
+ /**
+ * Denotes that theres no group associated with this request.
+ */
+ public static final int SIGNALING_DATA_NO_GROUP_ID = -1;
+
+ /**
+ * @hide
+ */
+ @android.annotation.StringDef(prefix = "SIGNALING_METADATA_", value = {
+ SIGNALING_METADATA_APD,
+ SIGNALING_METADATA_USBD,
+ SIGNALING_METADATA_STSID,
+ SIGNALING_METADATA_MPD,
+ SIGNALING_METADATA_USD,
+ SIGNALING_METADATA_PAT,
+ SIGNALING_METADATA_MPT,
+ SIGNALING_METADATA_MPIT,
+ SIGNALING_METADATA_CRIT,
+ SIGNALING_METADATA_DCIT,
+ SIGNALING_METADATA_HELD,
+ SIGNALING_METADATA_DWD,
+ SIGNALING_METADATA_AEI,
+ SIGNALING_METADATA_VSPD,
+ SIGNALING_METADATA_ASD,
+ SIGNALING_METADATA_IED,
+ SIGNALING_METADATA_CAD,
+ SIGNALING_METADATA_ASPD,
+ SIGNALING_METADATA_SSD,
+ SIGNALING_METADATA_EMSG,
+ SIGNALING_METADATA_EVTI,
+ SIGNALING_METADATA_RSAT,
+ SIGNALING_METADATA_RDT,
+ SIGNALING_METADATA_SLT,
+ SIGNALING_METADATA_RRT,
+ SIGNALING_METADATA_STT,
+ SIGNALING_METADATA_AEAT,
+ SIGNALING_METADATA_OSN,
+ SIGNALING_METADATA_SMT,
+ SIGNALING_METADATA_CDT
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface SignalingMetadata {}
+
+ public SignalingDataRequest(int requestId, @RequestOption int option,
int group,
- @NonNull int[] llsTableIds,
- int slsMetadataTypes) {
+ @NonNull List<String> signalingDataTypes) {
super(REQUEST_TYPE, requestId, option);
- mGroup = group;
- mLlsTableIds = llsTableIds;
- mSlsMetadataTypes = slsMetadataTypes;
- }
-
- SignalingDataRequest(@NonNull android.os.Parcel in) {
- super(REQUEST_TYPE, in);
-
- int group = in.readInt();
- int[] llsTableIds = in.createIntArray();
- int slsMetadataTypes = in.readInt();
-
this.mGroup = group;
- this.mLlsTableIds = llsTableIds;
- com.android.internal.util.AnnotationValidations.validate(NonNull.class, null, mLlsTableIds);
- this.mSlsMetadataTypes = slsMetadataTypes;
+ this.mSignalingDataTypes = signalingDataTypes;
+ com.android.internal.util.AnnotationValidations.validate(
+ NonNull.class, null, mSignalingDataTypes);
}
+ static SignalingDataRequest createFromParcelBody(Parcel in) {
+ return new SignalingDataRequest(in);
+ }
+
+ /**
+ * Gets the group with which any signaling returned will be associated.
+ *
+ * <p> Requested metadata objects will only be returned if they are part of the group specified.
+ *
+ * <p> If no group is specified ({@link #SIGNALING_DATA_NO_GROUP_ID}),
+ * the receiver will send all the metadata objects discovered.
+ *
+ * @return The group ID which any signaling returned will be associated.
+ */
public int getGroup() {
return mGroup;
}
- public @NonNull int[] getLlsTableIds() {
- return mLlsTableIds;
- }
-
- public int getSlsMetadataTypes() {
- return mSlsMetadataTypes;
- }
-
- @Override
- public void writeToParcel(@NonNull android.os.Parcel dest, int flags) {
- super.writeToParcel(dest, flags);
- dest.writeInt(mGroup);
- dest.writeIntArray(mLlsTableIds);
- dest.writeInt(mSlsMetadataTypes);
+ /**
+ * Gets the signaling data types for which data should be retrieved.
+ *
+ * <p> For more details on each type of metadata that can be requested, refer to the ATSC
+ * standard A/344:2023-5 9.2.10 - Query Signaling Data API.
+ *
+ * @return The signaling data types for which data should be retrieved.
+ */
+ public @NonNull List<String> getSignalingDataTypes() {
+ return mSignalingDataTypes;
}
@Override
public int describeContents() {
return 0;
}
+
+ @Override
+ public void writeToParcel(@NonNull android.os.Parcel dest, int flags) {
+ super.writeToParcel(dest, flags);
+ dest.writeInt(mGroup);
+ dest.writeStringList(mSignalingDataTypes);
+ }
+
+ SignalingDataRequest(@NonNull android.os.Parcel in) {
+ super(REQUEST_TYPE, in);
+
+ int group = in.readInt();
+ List<String> signalingDataTypes = new java.util.ArrayList<>();
+ in.readStringList(signalingDataTypes);
+
+ this.mGroup = group;
+ this.mSignalingDataTypes = signalingDataTypes;
+ com.android.internal.util.AnnotationValidations.validate(
+ NonNull.class, null, mSignalingDataTypes);
+ }
+
}
diff --git a/media/java/android/media/tv/SignalingDataResponse.java b/media/java/android/media/tv/SignalingDataResponse.java
index 3e4c790..be172ec 100644
--- a/media/java/android/media/tv/SignalingDataResponse.java
+++ b/media/java/android/media/tv/SignalingDataResponse.java
@@ -16,13 +16,24 @@
package android.media.tv;
+import android.annotation.FlaggedApi;
import android.annotation.NonNull;
+import android.media.tv.flags.Flags;
+import android.os.Parcel;
import android.os.Parcelable;
+import java.util.ArrayList;
import java.util.List;
-/** @hide */
-public class SignalingDataResponse extends BroadcastInfoResponse implements Parcelable {
+
+/**
+ * A response for the signaling data from the broadcast signal.
+ *
+ * @see SignalingDataRequest
+ * @see SignalingDataInfo
+ */
+@FlaggedApi(Flags.FLAG_TIAF_V_APIS)
+public final class SignalingDataResponse extends BroadcastInfoResponse implements Parcelable {
public static final @NonNull Parcelable.Creator<SignalingDataResponse> CREATOR =
new Parcelable.Creator<SignalingDataResponse>() {
@Override
@@ -37,34 +48,44 @@
};
private static final @TvInputManager.BroadcastInfoType int RESPONSE_TYPE =
TvInputManager.BROADCAST_INFO_TYPE_SIGNALING_DATA;
- private final @NonNull int[] mTableIds;
- private final int mMetadataTypes;
+ private final @NonNull List<String> mSignalingDataTypes;
private final @NonNull List<SignalingDataInfo> mSignalingDataInfoList;
+ static SignalingDataResponse createFromParcelBody(Parcel in) {
+ return new SignalingDataResponse(in);
+ }
+
public SignalingDataResponse(
int requestId,
int sequence,
@ResponseResult int responseResult,
- @NonNull int[] tableIds,
- int metadataTypes,
+ @NonNull List<String> signalingDataTypes,
@NonNull List<SignalingDataInfo> signalingDataInfoList) {
super(RESPONSE_TYPE, requestId, sequence, responseResult);
- this.mTableIds = tableIds;
- com.android.internal.util.AnnotationValidations.validate(NonNull.class, null, mTableIds);
- this.mMetadataTypes = metadataTypes;
+ mSignalingDataTypes = signalingDataTypes;
+ com.android.internal.util.AnnotationValidations.validate(
+ NonNull.class, null, mSignalingDataTypes);
this.mSignalingDataInfoList = signalingDataInfoList;
com.android.internal.util.AnnotationValidations.validate(
NonNull.class, null, mSignalingDataInfoList);
}
- public @NonNull int[] getTableIds() {
- return mTableIds;
+ /**
+ * Gets a list of types of metadata that are contained in this response.
+ *
+ * <p> A list of types available are defined in {@link SignalingDataRequest}.
+ * For more information about these types, see A/344:2023-5 9.2.10 - Query Signaling Data API.
+ *
+ * @return A list of types of metadata that are contained in this response.
+ */
+ public @NonNull List<String> getSignalingDataTypes() {
+ return mSignalingDataTypes;
}
- public int getMetadataTypes() {
- return mMetadataTypes;
- }
-
+ /**
+ * Gets a list of {@link SignalingDataInfo} contained in this response.
+ * @return A list of {@link SignalingDataInfo} contained in this response.
+ */
public @NonNull List<SignalingDataInfo> getSignalingDataInfoList() {
return mSignalingDataInfoList;
}
@@ -72,8 +93,7 @@
@Override
public void writeToParcel(@NonNull android.os.Parcel dest, int flags) {
super.writeToParcel(dest, flags);
- dest.writeIntArray(mTableIds);
- dest.writeInt(mMetadataTypes);
+ dest.writeStringList(mSignalingDataTypes);
dest.writeParcelableList(mSignalingDataInfoList, flags);
}
@@ -85,14 +105,14 @@
SignalingDataResponse(@NonNull android.os.Parcel in) {
super(RESPONSE_TYPE, in);
- int[] tableIds = in.createIntArray();
- int metadataTypes = in.readInt();
+ List<String> types = new ArrayList<String>();
+ in.readStringList(types);
List<SignalingDataInfo> signalingDataInfoList = new java.util.ArrayList<>();
in.readParcelableList(signalingDataInfoList, SignalingDataInfo.class.getClassLoader());
- this.mTableIds = tableIds;
- com.android.internal.util.AnnotationValidations.validate(NonNull.class, null, mTableIds);
- this.mMetadataTypes = metadataTypes;
+ this.mSignalingDataTypes = types;
+ com.android.internal.util.AnnotationValidations.validate(
+ NonNull.class, null, mSignalingDataTypes);
this.mSignalingDataInfoList = signalingDataInfoList;
com.android.internal.util.AnnotationValidations.validate(
NonNull.class, null, mSignalingDataInfoList);
diff --git a/packages/CredentialManager/src/com/android/credentialmanager/autofill/CredentialAutofillService.kt b/packages/CredentialManager/src/com/android/credentialmanager/autofill/CredentialAutofillService.kt
index 8fde5d7..121f207 100644
--- a/packages/CredentialManager/src/com/android/credentialmanager/autofill/CredentialAutofillService.kt
+++ b/packages/CredentialManager/src/com/android/credentialmanager/autofill/CredentialAutofillService.kt
@@ -19,9 +19,10 @@
import android.app.PendingIntent
import android.app.assist.AssistStructure
import android.content.Context
-import android.content.Intent
import android.credentials.CredentialManager
import android.credentials.GetCredentialRequest
+import android.credentials.GetCredentialResponse
+import android.credentials.GetCredentialException
import android.credentials.GetCandidateCredentialsResponse
import android.credentials.GetCandidateCredentialsException
import android.credentials.CredentialOption
@@ -45,6 +46,7 @@
import android.service.autofill.SaveRequest
import android.service.credentials.CredentialProviderService
import android.util.Log
+import android.content.Intent
import android.view.autofill.AutofillId
import android.view.autofill.IAutoFillManagerClient
import android.widget.RemoteViews
@@ -64,7 +66,6 @@
import org.json.JSONException
import org.json.JSONObject
-
class CredentialAutofillService : AutofillService() {
companion object {
@@ -118,10 +119,16 @@
responseClientState.putBoolean(WEBVIEW_REQUESTED_CREDENTIAL_KEY, false)
val getCredRequest: GetCredentialRequest? = getCredManRequest(structure, sessionId,
requestId, responseClientState)
+ // TODO(b/324635774): Use callback for validating. If the request is coming
+ // directly from the view, there should be a corresponding callback, otherwise
+ // we should fail fast,
+ val getCredCallback = getCredManCallback(structure)
if (getCredRequest == null) {
Log.i(TAG, "No credential manager request found")
callback.onFailure("No credential manager request found")
return
+ } else if (getCredCallback == null) {
+ Log.i(TAG, "No credential manager callback found")
}
val credentialManager: CredentialManager =
getSystemService(Context.CREDENTIAL_SERVICE) as CredentialManager
@@ -505,6 +512,42 @@
TODO("Not yet implemented")
}
+ private fun getCredManCallback(structure: AssistStructure): OutcomeReceiver<
+ GetCredentialResponse, GetCredentialException>? {
+ return traverseStructureForCallback(structure)
+ }
+
+ private fun traverseStructureForCallback(
+ structure: AssistStructure
+ ): OutcomeReceiver<GetCredentialResponse, GetCredentialException>? {
+ val windowNodes: List<AssistStructure.WindowNode> =
+ structure.run {
+ (0 until windowNodeCount).map { getWindowNodeAt(it) }
+ }
+
+ windowNodes.forEach { windowNode: AssistStructure.WindowNode ->
+ return traverseNodeForCallback(windowNode.rootViewNode)
+ }
+ return null
+ }
+
+ private fun traverseNodeForCallback(
+ viewNode: AssistStructure.ViewNode
+ ): OutcomeReceiver<GetCredentialResponse, GetCredentialException>? {
+ val children: List<AssistStructure.ViewNode> =
+ viewNode.run {
+ (0 until childCount).map { getChildAt(it) }
+ }
+
+ children.forEach { childNode: AssistStructure.ViewNode ->
+ if (childNode.isFocused() && childNode.credentialManagerCallback != null) {
+ return childNode.credentialManagerCallback
+ }
+ return traverseNodeForCallback(childNode)
+ }
+ return null
+ }
+
private fun getCredManRequest(
structure: AssistStructure,
sessionId: Int,
@@ -512,7 +555,7 @@
responseClientState: Bundle
): GetCredentialRequest? {
val credentialOptions: MutableList<CredentialOption> = mutableListOf()
- traverseStructure(structure, credentialOptions, responseClientState)
+ traverseStructureForRequest(structure, credentialOptions, responseClientState)
if (credentialOptions.isNotEmpty()) {
val dataBundle = Bundle()
@@ -525,7 +568,7 @@
return null
}
- private fun traverseStructure(
+ private fun traverseStructureForRequest(
structure: AssistStructure,
cmRequests: MutableList<CredentialOption>,
responseClientState: Bundle
@@ -536,18 +579,17 @@
}
windowNodes.forEach { windowNode: AssistStructure.WindowNode ->
- traverseNode(windowNode.rootViewNode, cmRequests, responseClientState)
+ traverseNodeForRequest(windowNode.rootViewNode, cmRequests, responseClientState)
}
}
- private fun traverseNode(
+ private fun traverseNodeForRequest(
viewNode: AssistStructure.ViewNode,
cmRequests: MutableList<CredentialOption>,
responseClientState: Bundle
) {
viewNode.autofillId?.let {
- val options = getCredentialOptionsFromViewNode(viewNode, it, responseClientState)
- cmRequests.addAll(options)
+ cmRequests.addAll(getCredentialOptionsFromViewNode(viewNode, it, responseClientState))
}
val children: List<AssistStructure.ViewNode> =
@@ -556,7 +598,7 @@
}
children.forEach { childNode: AssistStructure.ViewNode ->
- traverseNode(childNode, cmRequests, responseClientState)
+ traverseNodeForRequest(childNode, cmRequests, responseClientState)
}
}
@@ -564,8 +606,16 @@
viewNode: AssistStructure.ViewNode,
autofillId: AutofillId,
responseClientState: Bundle
- ): List<CredentialOption> {
+ ): MutableList<CredentialOption> {
+ if (viewNode.credentialManagerRequest != null &&
+ viewNode.credentialManagerCallback != null) {
+ val options = viewNode.credentialManagerRequest?.getCredentialOptions()
+ if (options != null) {
+ return options
+ }
+ }
val credentialHints: MutableList<String> = mutableListOf()
+
if (viewNode.autofillHints != null) {
for (hint in viewNode.autofillHints!!) {
if (hint.startsWith(CRED_HINT_PREFIX)) {
diff --git a/packages/CredentialManager/tests/robotests/Android.bp b/packages/CredentialManager/tests/robotests/Android.bp
new file mode 100644
index 0000000..baebfeb
--- /dev/null
+++ b/packages/CredentialManager/tests/robotests/Android.bp
@@ -0,0 +1,58 @@
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "frameworks_base_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: ["frameworks_base_license"],
+}
+
+android_app {
+ name: "CredentialManagerRobo",
+ srcs: [],
+ static_libs: [
+ "SystemUI-core",
+ "CredentialManager-handheld",
+ "ScreenshotComposeUtilsLib",
+ "androidx.test.espresso.core",
+ "androidx.compose.material3_material3",
+ "platform-screenshot-diff-core",
+ ],
+ manifest: "robo-manifest.xml",
+ dont_merge_manifests: true,
+ platform_apis: true,
+ system_ext_specific: true,
+ certificate: "platform",
+ privileged: true,
+ kotlincflags: ["-Xjvm-default=all"],
+ asset_dirs: ["customization/assets"],
+ resource_dirs: ["screenshot/customization/res"],
+ use_resource_processor: true,
+}
+
+// This is a RNG (Robolectric native graphics) test target.
+android_robolectric_test {
+ name: "CredentialManagerScreenshotTest",
+ srcs: [
+ ":CredentialManagerScreenshotTestFiles",
+ ],
+
+ // Do not add any libraries here, instead add them to the ScreenshotTestStub
+ static_libs: [
+ "androidx.compose.runtime_runtime",
+ "androidx.test.uiautomator_uiautomator",
+ "androidx.test.ext.junit",
+ "inline-mockito-robolectric-prebuilt",
+ "platform-parametric-runner-lib",
+ "uiautomator-helpers",
+ ],
+ libs: [
+ "android.test.runner",
+ "android.test.base",
+ "android.test.mock",
+ "truth",
+ ],
+ upstream: true,
+ java_resource_dirs: ["config"],
+ instrumentation_for: "CredentialManagerRobo",
+}
diff --git a/packages/CredentialManager/tests/robotests/config/robolectric.properties b/packages/CredentialManager/tests/robotests/config/robolectric.properties
new file mode 100644
index 0000000..83065ac
--- /dev/null
+++ b/packages/CredentialManager/tests/robotests/config/robolectric.properties
@@ -0,0 +1,16 @@
+# Copyright (C) 2024 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+sdk=NEWEST_SDK
+graphicsMode=NATIVE
diff --git a/packages/CredentialManager/tests/robotests/customization/assets/phone/dark_landscape_singleCredentialScreen.png b/packages/CredentialManager/tests/robotests/customization/assets/phone/dark_landscape_singleCredentialScreen.png
new file mode 100644
index 0000000..975ce9f
--- /dev/null
+++ b/packages/CredentialManager/tests/robotests/customization/assets/phone/dark_landscape_singleCredentialScreen.png
Binary files differ
diff --git a/packages/CredentialManager/tests/robotests/customization/assets/phone/dark_portrait_singleCredentialScreen.png b/packages/CredentialManager/tests/robotests/customization/assets/phone/dark_portrait_singleCredentialScreen.png
new file mode 100644
index 0000000..4b8e8a0
--- /dev/null
+++ b/packages/CredentialManager/tests/robotests/customization/assets/phone/dark_portrait_singleCredentialScreen.png
Binary files differ
diff --git a/packages/CredentialManager/tests/robotests/customization/assets/phone/light_landscape_singleCredentialScreen.png b/packages/CredentialManager/tests/robotests/customization/assets/phone/light_landscape_singleCredentialScreen.png
new file mode 100644
index 0000000..cd98581
--- /dev/null
+++ b/packages/CredentialManager/tests/robotests/customization/assets/phone/light_landscape_singleCredentialScreen.png
Binary files differ
diff --git a/packages/CredentialManager/tests/robotests/customization/assets/phone/light_portrait_singleCredentialScreen.png b/packages/CredentialManager/tests/robotests/customization/assets/phone/light_portrait_singleCredentialScreen.png
new file mode 100644
index 0000000..643b5ce
--- /dev/null
+++ b/packages/CredentialManager/tests/robotests/customization/assets/phone/light_portrait_singleCredentialScreen.png
Binary files differ
diff --git a/packages/CredentialManager/tests/robotests/customization/assets/tablet/dark_landscape_singleCredentialScreen.png b/packages/CredentialManager/tests/robotests/customization/assets/tablet/dark_landscape_singleCredentialScreen.png
new file mode 100644
index 0000000..7b05f26
--- /dev/null
+++ b/packages/CredentialManager/tests/robotests/customization/assets/tablet/dark_landscape_singleCredentialScreen.png
Binary files differ
diff --git a/packages/CredentialManager/tests/robotests/customization/assets/tablet/dark_portrait_singleCredentialScreen.png b/packages/CredentialManager/tests/robotests/customization/assets/tablet/dark_portrait_singleCredentialScreen.png
new file mode 100644
index 0000000..d575d28
--- /dev/null
+++ b/packages/CredentialManager/tests/robotests/customization/assets/tablet/dark_portrait_singleCredentialScreen.png
Binary files differ
diff --git a/packages/CredentialManager/tests/robotests/customization/assets/tablet/light_landscape_singleCredentialScreen.png b/packages/CredentialManager/tests/robotests/customization/assets/tablet/light_landscape_singleCredentialScreen.png
new file mode 100644
index 0000000..fb0da8c
--- /dev/null
+++ b/packages/CredentialManager/tests/robotests/customization/assets/tablet/light_landscape_singleCredentialScreen.png
Binary files differ
diff --git a/packages/CredentialManager/tests/robotests/customization/assets/tablet/light_portrait_singleCredentialScreen.png b/packages/CredentialManager/tests/robotests/customization/assets/tablet/light_portrait_singleCredentialScreen.png
new file mode 100644
index 0000000..136e52b
--- /dev/null
+++ b/packages/CredentialManager/tests/robotests/customization/assets/tablet/light_portrait_singleCredentialScreen.png
Binary files differ
diff --git a/packages/CredentialManager/tests/robotests/robo-manifest.xml b/packages/CredentialManager/tests/robotests/robo-manifest.xml
new file mode 100644
index 0000000..12c0250
--- /dev/null
+++ b/packages/CredentialManager/tests/robotests/robo-manifest.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2024 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ package="com.android.credentialmanager.tests.screenshot">
+ <uses-permission android:name="android.permission.LAUNCH_CREDENTIAL_SELECTOR"/>
+ <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
+ <uses-permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS"/>
+ <uses-permission android:name="android.permission.ACCESS_INSTANT_APPS" />
+
+ <application>
+ <activity
+ android:name="platform.test.screenshot.ScreenshotActivity"
+ android:exported="true"
+ android:configChanges="orientation|screenSize|screenLayout|smallestScreenSize"
+ android:theme="@style/Theme.PlatformUi.Screenshot">
+ </activity>
+ </application>
+
+</manifest>
diff --git a/packages/CredentialManager/tests/robotests/screenshot/Android.bp b/packages/CredentialManager/tests/robotests/screenshot/Android.bp
new file mode 100644
index 0000000..666ced4
--- /dev/null
+++ b/packages/CredentialManager/tests/robotests/screenshot/Android.bp
@@ -0,0 +1,15 @@
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "frameworks_base_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: ["frameworks_base_license"],
+}
+
+filegroup {
+ name: "CredentialManagerScreenshotTestFiles",
+ srcs: [
+ "src/**/*.kt",
+ ],
+}
diff --git a/packages/CredentialManager/tests/robotests/screenshot/AndroidManifest.xml b/packages/CredentialManager/tests/robotests/screenshot/AndroidManifest.xml
new file mode 100644
index 0000000..12c0250
--- /dev/null
+++ b/packages/CredentialManager/tests/robotests/screenshot/AndroidManifest.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2024 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ package="com.android.credentialmanager.tests.screenshot">
+ <uses-permission android:name="android.permission.LAUNCH_CREDENTIAL_SELECTOR"/>
+ <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
+ <uses-permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS"/>
+ <uses-permission android:name="android.permission.ACCESS_INSTANT_APPS" />
+
+ <application>
+ <activity
+ android:name="platform.test.screenshot.ScreenshotActivity"
+ android:exported="true"
+ android:configChanges="orientation|screenSize|screenLayout|smallestScreenSize"
+ android:theme="@style/Theme.PlatformUi.Screenshot">
+ </activity>
+ </application>
+
+</manifest>
diff --git a/packages/CredentialManager/tests/robotests/screenshot/customization/res/drawable/provider1.xml b/packages/CredentialManager/tests/robotests/screenshot/customization/res/drawable/provider1.xml
new file mode 100644
index 0000000..a1e1b41
--- /dev/null
+++ b/packages/CredentialManager/tests/robotests/screenshot/customization/res/drawable/provider1.xml
@@ -0,0 +1,26 @@
+<!--
+ ~ Copyright (C) 2024 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="50dp"
+ android:height="50dp"
+ android:viewportWidth="50"
+ android:viewportHeight="50">
+ <path
+ android:pathData="M32.411,8.729L41,11.95V20H9V11.95L17.592,8.728L15.486,5.115C15.423,4.924 15.417,4.734 15.47,4.544C15.524,4.353 15.635,4.205 15.805,4.099C15.995,3.993 16.202,3.972 16.425,4.036C16.648,4.099 16.812,4.226 16.918,4.417L19.105,8.161L25,5.95L30.897,8.161L33.114,4.417C33.22,4.226 33.384,4.099 33.607,4.036C33.829,3.972 34.036,3.993 34.227,4.099C34.397,4.205 34.519,4.358 34.593,4.559C34.667,4.76 34.652,4.946 34.546,5.115L32.411,8.729ZM9,22V23.85C9,28.917 10.5,33.575 13.5,37.825C16.5,42.075 20.333,44.783 25,45.95C29.667,44.783 33.5,42.075 36.5,37.825C39.5,33.575 41,28.917 41,23.85V22H9ZM19.705,15.698C19.386,16.015 19.015,16.174 18.591,16.174C18.167,16.174 17.795,16.015 17.477,15.698C17.159,15.38 17,15.01 17,14.587C17,14.164 17.159,13.793 17.477,13.476C17.795,13.159 18.167,13 18.591,13C19.015,13 19.386,13.159 19.705,13.476C20.023,13.793 20.182,14.164 20.182,14.587C20.182,15.01 20.023,15.38 19.705,15.698ZM32.432,15.698C32.114,16.015 31.742,16.174 31.318,16.174C30.894,16.174 30.523,16.015 30.205,15.698C29.886,15.38 29.727,15.01 29.727,14.587C29.727,14.164 29.886,13.793 30.205,13.476C30.523,13.159 30.894,13 31.318,13C31.742,13 32.114,13.159 32.432,13.476C32.75,13.793 32.909,14.164 32.909,14.587C32.909,15.01 32.75,15.38 32.432,15.698Z"
+ android:fillColor="#8BC34A"
+ android:fillType="evenOdd"/>
+</vector>
diff --git a/packages/CredentialManager/tests/robotests/screenshot/customization/res/drawable/provider2.xml b/packages/CredentialManager/tests/robotests/screenshot/customization/res/drawable/provider2.xml
new file mode 100644
index 0000000..cdcf83f
--- /dev/null
+++ b/packages/CredentialManager/tests/robotests/screenshot/customization/res/drawable/provider2.xml
@@ -0,0 +1,26 @@
+<!--
+ ~ Copyright (C) 2024 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="50dp"
+ android:height="50dp"
+ android:viewportWidth="50"
+ android:viewportHeight="50">
+ <path
+ android:pathData="M32.411,8.729L41,11.95V20H9V11.95L17.592,8.728L15.486,5.115C15.423,4.924 15.417,4.734 15.47,4.544C15.524,4.353 15.635,4.205 15.805,4.099C15.995,3.993 16.202,3.972 16.425,4.036C16.648,4.099 16.812,4.226 16.918,4.417L19.105,8.161L25,5.95L30.897,8.161L33.114,4.417C33.22,4.226 33.384,4.099 33.607,4.036C33.829,3.972 34.036,3.993 34.227,4.099C34.397,4.205 34.519,4.358 34.593,4.559C34.667,4.76 34.652,4.946 34.546,5.115L32.411,8.729ZM9,22V23.85C9,28.917 10.5,33.575 13.5,37.825C16.5,42.075 20.333,44.783 25,45.95C29.667,44.783 33.5,42.075 36.5,37.825C39.5,33.575 41,28.917 41,23.85V22H9ZM19.705,15.698C19.386,16.015 19.015,16.174 18.591,16.174C18.167,16.174 17.795,16.015 17.477,15.698C17.159,15.38 17,15.01 17,14.587C17,14.164 17.159,13.793 17.477,13.476C17.795,13.159 18.167,13 18.591,13C19.015,13 19.386,13.159 19.705,13.476C20.023,13.793 20.182,14.164 20.182,14.587C20.182,15.01 20.023,15.38 19.705,15.698ZM32.432,15.698C32.114,16.015 31.742,16.174 31.318,16.174C30.894,16.174 30.523,16.015 30.205,15.698C29.886,15.38 29.727,15.01 29.727,14.587C29.727,14.164 29.886,13.793 30.205,13.476C30.523,13.159 30.894,13 31.318,13C31.742,13 32.114,13.159 32.432,13.476C32.75,13.793 32.909,14.164 32.909,14.587C32.909,15.01 32.75,15.38 32.432,15.698Z"
+ android:fillColor="#8B034A"
+ android:fillType="evenOdd"/>
+</vector>
diff --git a/packages/CredentialManager/tests/robotests/screenshot/src/com/android/credentialmanager/CredentialManagerGoldenImagePathManager.kt b/packages/CredentialManager/tests/robotests/screenshot/src/com/android/credentialmanager/CredentialManagerGoldenImagePathManager.kt
new file mode 100644
index 0000000..6aef24d
--- /dev/null
+++ b/packages/CredentialManager/tests/robotests/screenshot/src/com/android/credentialmanager/CredentialManagerGoldenImagePathManager.kt
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.credentialmanager
+
+import android.os.Build
+import androidx.test.platform.app.InstrumentationRegistry
+import platform.test.screenshot.GoldenImagePathManager
+import platform.test.screenshot.PathConfig
+
+/** The assets path to be used by all CredentialManager screenshot tests. */
+private const val ASSETS_PREFIX = "frameworks/base/packages/CredentialManager"
+private const val ASSETS_PATH = "${ASSETS_PREFIX}/tests/robotests/screenshot/customization/assets"
+private const val ASSETS_PATH_ROBO =
+ "${ASSETS_PREFIX}/tests/robotests/customization/assets"
+
+private val isRobolectric = Build.FINGERPRINT.contains("robolectric")
+
+class CredentialManagerGoldenImagePathManager(
+ pathConfig: PathConfig,
+ assetsPathRelativeToBuildRoot: String = if (isRobolectric) ASSETS_PATH_ROBO else ASSETS_PATH
+) : GoldenImagePathManager(
+ appContext = InstrumentationRegistry.getInstrumentation().context,
+ assetsPathRelativeToBuildRoot = assetsPathRelativeToBuildRoot,
+ deviceLocalPath =
+ InstrumentationRegistry.getInstrumentation()
+ .targetContext
+ .filesDir
+ .absolutePath
+ .toString() + "/credman_screenshots",
+ pathConfig = pathConfig,
+) {
+ override fun toString(): String {
+ // This string is appended to all actual/expected screenshots on the device, so make sure
+ // it is a static value.
+ return "CredentialManagerGoldenImagePathManager"
+ }
+}
\ No newline at end of file
diff --git a/packages/CredentialManager/tests/robotests/screenshot/src/com/android/credentialmanager/GetCredScreenshotTest.kt b/packages/CredentialManager/tests/robotests/screenshot/src/com/android/credentialmanager/GetCredScreenshotTest.kt
new file mode 100644
index 0000000..a0e1fed
--- /dev/null
+++ b/packages/CredentialManager/tests/robotests/screenshot/src/com/android/credentialmanager/GetCredScreenshotTest.kt
@@ -0,0 +1,119 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.credentialmanager
+
+import android.content.Context
+import com.android.credentialmanager.getflow.RequestDisplayInfo
+import com.android.credentialmanager.model.CredentialType
+import com.android.credentialmanager.model.get.ProviderInfo
+import com.android.credentialmanager.model.get.CredentialEntryInfo
+import platform.test.screenshot.getEmulatedDevicePathConfig
+import platform.test.screenshot.utils.compose.ComposeScreenshotTestRule
+import com.android.credentialmanager.getflow.toProviderDisplayInfo
+import com.android.credentialmanager.getflow.toActiveEntry
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import platform.test.runner.parameterized.ParameterizedAndroidJunit4
+import platform.test.runner.parameterized.Parameters
+import platform.test.screenshot.DeviceEmulationSpec
+import platform.test.screenshot.PhoneAndTabletFull
+import androidx.test.core.app.ApplicationProvider
+import com.android.credentialmanager.common.ui.ModalBottomSheet
+import com.android.credentialmanager.getflow.PrimarySelectionCard
+import com.android.credentialmanager.tests.screenshot.R
+
+/** A screenshot test for our Get-Credential flows. */
+@RunWith(ParameterizedAndroidJunit4::class)
+class GetCredScreenshotTest(emulationSpec: DeviceEmulationSpec) {
+ companion object {
+ @Parameters(name = "{0}")
+ @JvmStatic
+ fun getTestSpecs() = DeviceEmulationSpec.PhoneAndTabletFull
+
+ val REQUEST_DISPLAY_INFO = RequestDisplayInfo(
+ appName = "Test App",
+ preferImmediatelyAvailableCredentials = false,
+ preferIdentityDocUi = false,
+ preferTopBrandingContent = null,
+ )
+ }
+
+ @get:Rule
+ val screenshotRule = ComposeScreenshotTestRule(
+ emulationSpec,
+ CredentialManagerGoldenImagePathManager(getEmulatedDevicePathConfig(emulationSpec))
+ )
+
+ @Test
+ fun singleCredentialScreen() {
+ val providerInfoList = buildProviderInfoList()
+ val providerDisplayInfo = toProviderDisplayInfo(providerInfoList)
+ val activeEntry = toActiveEntry(providerDisplayInfo)
+ screenshotRule.screenshotTest("singleCredentialScreen") {
+ ModalBottomSheet(
+ sheetContent = {
+ PrimarySelectionCard(
+ requestDisplayInfo = REQUEST_DISPLAY_INFO,
+ providerDisplayInfo = providerDisplayInfo,
+ providerInfoList = providerInfoList,
+ activeEntry = activeEntry,
+ onEntrySelected = {},
+ onConfirm = {},
+ onMoreOptionSelected = {},
+ onLog = {},
+ )
+ },
+ isInitialRender = true,
+ onDismiss = {},
+ onInitialRenderComplete = {},
+ isAutoSelectFlow = false,
+ )
+ }
+ }
+
+ private fun buildProviderInfoList(): List<ProviderInfo> {
+ val context = ApplicationProvider.getApplicationContext<Context>()
+ val provider1 = ProviderInfo(
+ id = "1",
+ icon = context.getDrawable(R.drawable.provider1)!!,
+ displayName = "Password Manager 1",
+ credentialEntryList = listOf(
+ CredentialEntryInfo(
+ providerId = "1",
+ entryKey = "key1",
+ entrySubkey = "subkey1",
+ pendingIntent = null,
+ fillInIntent = null,
+ credentialType = CredentialType.PASSWORD,
+ credentialTypeDisplayName = "Passkey",
+ providerDisplayName = "Password Manager 1",
+ userName = "username",
+ displayName = "Display Name",
+ icon = null,
+ shouldTintIcon = true,
+ lastUsedTimeMillis = null,
+ isAutoSelectable = false
+ )
+ ),
+ authenticationEntryList = emptyList(),
+ remoteEntry = null,
+ actionEntryList = emptyList(),
+ )
+ return listOf(provider1)
+ }
+}
\ No newline at end of file
diff --git a/packages/CredentialManager/wear/res/values/strings.xml b/packages/CredentialManager/wear/res/values/strings.xml
index be7e448..4e9174e 100644
--- a/packages/CredentialManager/wear/res/values/strings.xml
+++ b/packages/CredentialManager/wear/res/values/strings.xml
@@ -33,4 +33,12 @@
<string name="dialog_continue_button">Continue</string>
<!-- Content description for the sign in options button of a screen. [CHAR LIMIT=NONE] -->
<string name="dialog_sign_in_options_button">Sign-in Options</string>
+ <!-- Title for multiple credentials folded screen. [CHAR LIMIT=NONE] -->
+ <string name="sign_in_options_title">Sign-in Options</string>
+ <!-- Title for multiple credentials screen. [CHAR LIMIT=NONE] -->
+ <string name="choose_sign_in_title">Choose a sign in</string>
+ <!-- Title for multiple credentials screen with only passkeys. [CHAR LIMIT=NONE] -->
+ <string name="choose_passkey_title">Choose passkey</string>
+ <!-- Title for multiple credentials screen with only passwords. [CHAR LIMIT=NONE] -->
+ <string name="choose_password_title">Choose password</string>
</resources>
\ No newline at end of file
diff --git a/packages/CredentialManager/wear/src/com/android/credentialmanager/CredentialSelectorViewModel.kt b/packages/CredentialManager/wear/src/com/android/credentialmanager/CredentialSelectorViewModel.kt
index 59e6142..2fc98e2 100644
--- a/packages/CredentialManager/wear/src/com/android/credentialmanager/CredentialSelectorViewModel.kt
+++ b/packages/CredentialManager/wear/src/com/android/credentialmanager/CredentialSelectorViewModel.kt
@@ -60,7 +60,7 @@
sealed class CredentialSelectorUiState {
data object Idle : CredentialSelectorUiState()
- sealed class Get() : CredentialSelectorUiState() {
+ sealed class Get : CredentialSelectorUiState() {
data class SingleEntry(val entry: CredentialEntryInfo) : Get()
data class SingleEntryPerAccount(val sortedEntries: List<CredentialEntryInfo>) : Get()
data class MultipleEntry(
diff --git a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/Navigation.kt b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/Navigation.kt
index 77fb3e7..4086457 100644
--- a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/Navigation.kt
+++ b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/Navigation.kt
@@ -26,6 +26,22 @@
navigateToAsRoot(Screen.SinglePasswordScreen.route)
}
+fun NavController.navigateToSinglePasskeyScreen() {
+ navigateToAsRoot(Screen.SinglePasskeyScreen.route)
+}
+
+fun NavController.navigateToSignInWithProviderScreen() {
+ navigateToAsRoot(Screen.SignInWithProviderScreen.route)
+}
+
+fun NavController.navigateToMultipleCredentialsFoldScreen() {
+ navigateToAsRoot(Screen.MultipleCredentialsScreenFold.route)
+}
+
+fun NavController.navigateToMultipleCredentialsFlattenScreen() {
+ navigateToAsRoot(Screen.MultipleCredentialsScreenFlatten.route)
+}
+
fun NavController.navigateToAsRoot(route: String) {
popBackStack()
navigate(route)
diff --git a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/Screen.kt b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/Screen.kt
index c3919a0..680a0d2 100644
--- a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/Screen.kt
+++ b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/Screen.kt
@@ -22,4 +22,12 @@
data object Loading : Screen("loading")
data object SinglePasswordScreen : Screen("singlePasswordScreen")
+
+ data object SinglePasskeyScreen : Screen("singlePasskeyScreen")
+
+ data object SignInWithProviderScreen : Screen("signInWithProviderScreen")
+
+ data object MultipleCredentialsScreenFold : Screen("multipleCredentialsScreenFold")
+
+ data object MultipleCredentialsScreenFlatten : Screen("multipleCredentialsScreenFlatten")
}
diff --git a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/WearApp.kt b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/WearApp.kt
index f8e22ee..f7158e8 100644
--- a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/WearApp.kt
+++ b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/WearApp.kt
@@ -27,14 +27,20 @@
import androidx.wear.compose.navigation.rememberSwipeDismissableNavHostState
import com.android.credentialmanager.CredentialSelectorUiState
import com.android.credentialmanager.CredentialSelectorUiState.Get.SingleEntry
+import com.android.credentialmanager.CredentialSelectorUiState.Get.MultipleEntry
import com.android.credentialmanager.CredentialSelectorViewModel
import com.android.credentialmanager.ui.screens.LoadingScreen
+import com.android.credentialmanager.ui.screens.single.passkey.SinglePasskeyScreen
import com.android.credentialmanager.ui.screens.single.password.SinglePasswordScreen
+import com.android.credentialmanager.ui.screens.single.signInWithProvider.SignInWithProviderScreen
import com.google.android.horologist.annotations.ExperimentalHorologistApi
import com.google.android.horologist.compose.navscaffold.WearNavScaffold
import com.google.android.horologist.compose.navscaffold.composable
import com.google.android.horologist.compose.navscaffold.scrollable
+import com.android.credentialmanager.model.CredentialType
+import com.android.credentialmanager.ui.screens.multiple.MultiCredentialsFoldScreen
+@OptIn(ExperimentalHorologistApi::class)
@Composable
fun WearApp(
viewModel: CredentialSelectorViewModel,
@@ -59,10 +65,31 @@
scrollable(Screen.SinglePasswordScreen.route) {
SinglePasswordScreen(
credentialSelectorUiState = viewModel.uiState.value as SingleEntry,
- screenIcon = null,
columnState = it.columnState,
)
}
+
+ scrollable(Screen.SinglePasskeyScreen.route) {
+ SinglePasskeyScreen(
+ credentialSelectorUiState = viewModel.uiState.value as SingleEntry,
+ columnState = it.columnState,
+ )
+ }
+
+ scrollable(Screen.SignInWithProviderScreen.route) {
+ SignInWithProviderScreen(
+ credentialSelectorUiState = viewModel.uiState.value as SingleEntry,
+ columnState = it.columnState,
+ )
+ }
+
+ scrollable(Screen.MultipleCredentialsScreenFold.route) {
+ MultiCredentialsFoldScreen(
+ credentialSelectorUiState = viewModel.uiState.value as MultipleEntry,
+ screenIcon = null,
+ columnState = it.columnState,
+ )
+ }
}
when (val state = uiState) {
@@ -71,7 +98,6 @@
navController.navigateToLoading()
}
}
-
is CredentialSelectorUiState.Get -> {
handleGetNavigation(
navController = navController,
@@ -103,7 +129,21 @@
) {
when (state) {
is SingleEntry -> {
- navController.navigateToSinglePasswordScreen()
+ when (state.entry.credentialType) {
+ CredentialType.UNKNOWN -> {
+ navController.navigateToSignInWithProviderScreen()
+ }
+ CredentialType.PASSKEY -> {
+ navController.navigateToSinglePasskeyScreen()
+ }
+ CredentialType.PASSWORD -> {
+ navController.navigateToSinglePasswordScreen()
+ }
+ }
+ }
+
+ is CredentialSelectorUiState.Get.MultipleEntry -> {
+ navController.navigateToMultipleCredentialsFoldScreen()
}
else -> {
diff --git a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/components/AccountRow.kt b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/components/AccountRow.kt
index b2812d3..8b19e1b 100644
--- a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/components/AccountRow.kt
+++ b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/components/AccountRow.kt
@@ -1,5 +1,5 @@
/*
- * Copyright 2023 The Android Open Source Project
+ * Copyright 2024 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/mappers/CredentialSelectorUiStateGetMapper.kt b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/mappers/CredentialSelectorUiStateGetMapper.kt
index 44a838d..5898a40 100644
--- a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/mappers/CredentialSelectorUiStateGetMapper.kt
+++ b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/mappers/CredentialSelectorUiStateGetMapper.kt
@@ -23,17 +23,12 @@
import com.android.credentialmanager.model.get.CredentialEntryInfo
fun Request.Get.toGet(isPrimary: Boolean): CredentialSelectorUiState.Get {
- // TODO: b/301206470 returning a hard coded state for MVP
- if (true) return CredentialSelectorUiState.Get.SingleEntry(
- providerInfos
- .flatMap { it.credentialEntryList }
- .first { it.credentialType == CredentialType.PASSWORD }
- )
val accounts = providerInfos
.flatMap { it.credentialEntryList }
.groupBy { it.userName}
.entries
.toList()
+
return if (isPrimary) {
if (accounts.size == 1) {
CredentialSelectorUiState.Get.SingleEntry(
@@ -57,6 +52,5 @@
}
val comparator = compareBy<CredentialEntryInfo> { entryInfo ->
// Passkey type always go first
- entryInfo.credentialType.let{ if (it == CredentialType.PASSKEY) 0 else 1 }
-}
- .thenByDescending{ it.lastUsedTimeMillis }
+ entryInfo.credentialType.let { if (it == CredentialType.PASSKEY) 0 else 1 }
+}.thenByDescending { it.lastUsedTimeMillis ?: 0 }
diff --git a/packages/SystemUI/src/com/android/systemui/scene/shared/model/SceneModel.kt b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/UiState.kt
similarity index 60%
copy from packages/SystemUI/src/com/android/systemui/scene/shared/model/SceneModel.kt
copy to packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/UiState.kt
index f3d549f..98a9e93 100644
--- a/packages/SystemUI/src/com/android/systemui/scene/shared/model/SceneModel.kt
+++ b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/UiState.kt
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2023 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,14 +14,16 @@
* limitations under the License.
*/
-package com.android.systemui.scene.shared.model
+package com.android.credentialmanager.ui.screens
-/** Models a scene. */
-data class SceneModel(
+import androidx.activity.result.IntentSenderRequest
- /** The key of the scene. */
- val key: SceneKey,
+sealed class UiState {
+ data object CredentialScreen : UiState()
- /** An optional name for the transition that led to this scene being the current scene. */
- val transitionName: String? = null,
-)
+ data class CredentialSelected(
+ val intentSenderRequest: IntentSenderRequest?
+ ) : UiState()
+
+ data object Cancel : UiState()
+}
diff --git a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/multiple/MultiCredentialsFlattenScreen.kt b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/multiple/MultiCredentialsFlattenScreen.kt
new file mode 100644
index 0000000..11188b4
--- /dev/null
+++ b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/multiple/MultiCredentialsFlattenScreen.kt
@@ -0,0 +1,170 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.credentialmanager.ui.screens.multiple
+
+import android.graphics.drawable.Drawable
+import com.android.credentialmanager.ui.screens.UiState
+import androidx.activity.compose.rememberLauncherForActivityResult
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.foundation.layout.padding
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.SideEffect
+import androidx.compose.runtime.getValue
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.unit.dp
+import androidx.hilt.navigation.compose.hiltViewModel
+import androidx.lifecycle.compose.collectAsStateWithLifecycle
+import androidx.navigation.NavHostController
+import androidx.navigation.compose.rememberNavController
+import androidx.wear.compose.material.MaterialTheme
+import androidx.wear.compose.material.Text
+import com.android.credentialmanager.ui.components.SignInHeader
+import com.android.credentialmanager.CredentialSelectorUiState.Get.MultipleEntry
+import com.android.credentialmanager.R
+import com.android.credentialmanager.activity.StartBalIntentSenderForResultContract
+import com.android.credentialmanager.model.get.ActionEntryInfo
+import com.android.credentialmanager.model.get.CredentialEntryInfo
+import com.android.credentialmanager.ui.components.CredentialsScreenChip
+import com.google.android.horologist.annotations.ExperimentalHorologistApi
+import com.google.android.horologist.compose.layout.ScalingLazyColumn
+import com.google.android.horologist.compose.layout.ScalingLazyColumnState
+
+
+/**
+ * Screen that shows multiple credentials to select from, grouped by accounts
+ *
+ * @param credentialSelectorUiState The app bar view model.
+ * @param screenIcon The view model corresponding to the home page.
+ * @param columnState ScalingLazyColumn configuration to be be applied
+ * @param modifier styling for composable
+ * @param viewModel ViewModel that updates ui state for this screen
+ * @param navController handles navigation events from this screen
+ */
+@OptIn(ExperimentalHorologistApi::class)
+@Composable
+fun MultiCredentialsFlattenScreen(
+ credentialSelectorUiState: MultipleEntry,
+ screenIcon: Drawable?,
+ columnState: ScalingLazyColumnState,
+ modifier: Modifier = Modifier,
+ viewModel: MultiCredentialsFlattenViewModel = hiltViewModel(),
+ navController: NavHostController = rememberNavController(),
+) {
+ val uiState by viewModel.uiState.collectAsStateWithLifecycle()
+
+ when (val state = uiState) {
+ UiState.CredentialScreen -> {
+ MultiCredentialsFlattenScreen(
+ state = credentialSelectorUiState,
+ columnState = columnState,
+ screenIcon = screenIcon,
+ onActionEntryClicked = viewModel::onActionEntryClicked,
+ onCredentialClicked = viewModel::onCredentialClicked,
+ modifier = modifier,
+ )
+ }
+
+ is UiState.CredentialSelected -> {
+ val launcher = rememberLauncherForActivityResult(
+ StartBalIntentSenderForResultContract()
+ ) {
+ viewModel.onInfoRetrieved(it.resultCode, null)
+ }
+
+ SideEffect {
+ state.intentSenderRequest?.let {
+ launcher.launch(it)
+ }
+ }
+ }
+
+ UiState.Cancel -> {
+ navController.popBackStack()
+ }
+ }
+}
+
+@OptIn(ExperimentalHorologistApi::class)
+@Composable
+fun MultiCredentialsFlattenScreen(
+ state: MultipleEntry,
+ columnState: ScalingLazyColumnState,
+ screenIcon: Drawable?,
+ onActionEntryClicked: (entryInfo: ActionEntryInfo) -> Unit,
+ onCredentialClicked: (entryInfo: CredentialEntryInfo) -> Unit,
+ modifier: Modifier,
+) {
+ ScalingLazyColumn(
+ columnState = columnState,
+ modifier = modifier.fillMaxSize(),
+ ) {
+ item {
+ // make this credential specific if all credentials are same
+ SignInHeader(
+ icon = screenIcon,
+ title = stringResource(R.string.sign_in_options_title),
+ )
+ }
+
+ state.accounts.forEach { userNameEntries ->
+ item {
+ Text(
+ text = userNameEntries.userName,
+ modifier = Modifier
+ .padding(top = 6.dp)
+ .padding(horizontal = 10.dp),
+ style = MaterialTheme.typography.title3
+ )
+ }
+
+ userNameEntries.sortedCredentialEntryList.forEach { credential: CredentialEntryInfo ->
+ item {
+ CredentialsScreenChip(
+ label = credential.userName,
+ onClick = { onCredentialClicked(credential) },
+ secondaryLabel = credential.userName,
+ icon = credential.icon,
+ modifier = modifier,
+ )
+ }
+ }
+ }
+ item {
+ Text(
+ text = "Manage Sign-ins",
+ modifier = Modifier
+ .padding(top = 6.dp)
+ .padding(horizontal = 10.dp),
+ style = MaterialTheme.typography.title3
+ )
+ }
+
+ state.actionEntryList.forEach {
+ item {
+ CredentialsScreenChip(
+ label = it.title,
+ onClick = { onActionEntryClicked(it) },
+ secondaryLabel = null,
+ icon = it.icon,
+ modifier = modifier,
+ )
+ }
+ }
+ }
+}
+
+
diff --git a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/multiple/MultiCredentialsFlattenViewModel.kt b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/multiple/MultiCredentialsFlattenViewModel.kt
new file mode 100644
index 0000000..ee5f3f4
--- /dev/null
+++ b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/multiple/MultiCredentialsFlattenViewModel.kt
@@ -0,0 +1,75 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.credentialmanager.ui.screens.multiple
+
+import android.content.Intent
+import android.credentials.selection.ProviderPendingIntentResponse
+import android.credentials.selection.UserSelectionDialogResult
+import androidx.lifecycle.ViewModel
+import com.android.credentialmanager.client.CredentialManagerClient
+import com.android.credentialmanager.ktx.getIntentSenderRequest
+import com.android.credentialmanager.model.Request
+import com.android.credentialmanager.model.get.ActionEntryInfo
+import com.android.credentialmanager.model.get.CredentialEntryInfo
+import com.android.credentialmanager.ui.screens.UiState
+import dagger.hilt.android.lifecycle.HiltViewModel
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.StateFlow
+import javax.inject.Inject
+
+/** ViewModel for [MultiCredentialsFlattenScreen].*/
+@HiltViewModel
+class MultiCredentialsFlattenViewModel @Inject constructor(
+ private val credentialManagerClient: CredentialManagerClient,
+) : ViewModel() {
+
+ private lateinit var requestGet: Request.Get
+ private lateinit var entryInfo: CredentialEntryInfo
+
+ private val _uiState =
+ MutableStateFlow<UiState>(UiState.CredentialScreen)
+ val uiState: StateFlow<UiState> = _uiState
+
+ fun onCredentialClicked(entryInfo: CredentialEntryInfo) {
+ this.entryInfo = entryInfo
+ _uiState.value = UiState.CredentialSelected(
+ intentSenderRequest = entryInfo.getIntentSenderRequest()
+ )
+ }
+
+ fun onCancelClicked() {
+ _uiState.value = UiState.Cancel
+ }
+
+ fun onInfoRetrieved(
+ resultCode: Int? = null,
+ resultData: Intent? = null,
+ ) {
+ val userSelectionDialogResult = UserSelectionDialogResult(
+ requestGet.token,
+ entryInfo.providerId,
+ entryInfo.entryKey,
+ entryInfo.entrySubkey,
+ if (resultCode != null) ProviderPendingIntentResponse(resultCode, resultData) else null
+ )
+ credentialManagerClient.sendResult(userSelectionDialogResult)
+ }
+
+ fun onActionEntryClicked(actionEntryInfo: ActionEntryInfo) {
+ // TODO(b/322797032)to be filled out
+ }
+}
\ No newline at end of file
diff --git a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/multiple/MultiCredentialsFoldScreen.kt b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/multiple/MultiCredentialsFoldScreen.kt
new file mode 100644
index 0000000..a0ea4ee
--- /dev/null
+++ b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/multiple/MultiCredentialsFoldScreen.kt
@@ -0,0 +1,148 @@
+/*
+ * Copyright 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.credentialmanager.ui.screens.multiple
+
+import com.android.credentialmanager.ui.screens.UiState
+import android.graphics.drawable.Drawable
+import androidx.activity.compose.rememberLauncherForActivityResult
+import com.android.credentialmanager.R
+import androidx.compose.ui.res.stringResource
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.foundation.layout.padding
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.SideEffect
+import androidx.compose.runtime.getValue
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.unit.dp
+import androidx.hilt.navigation.compose.hiltViewModel
+import androidx.lifecycle.compose.collectAsStateWithLifecycle
+import androidx.navigation.NavHostController
+import androidx.navigation.compose.rememberNavController
+import com.android.credentialmanager.CredentialSelectorUiState
+import com.android.credentialmanager.activity.StartBalIntentSenderForResultContract
+import com.android.credentialmanager.model.get.CredentialEntryInfo
+import com.android.credentialmanager.ui.components.DismissChip
+import com.android.credentialmanager.ui.components.CredentialsScreenChip
+import com.android.credentialmanager.ui.components.SignInHeader
+import com.android.credentialmanager.ui.components.SignInOptionsChip
+import com.google.android.horologist.annotations.ExperimentalHorologistApi
+import com.google.android.horologist.compose.layout.ScalingLazyColumn
+import com.google.android.horologist.compose.layout.ScalingLazyColumnState
+import com.android.credentialmanager.model.CredentialType
+
+/**
+ * Screen that shows multiple credentials to select from.
+ *
+ * @param credentialSelectorUiState The app bar view model.
+ * @param screenIcon The view model corresponding to the home page.
+ * @param columnState ScalingLazyColumn configuration to be be applied
+ * @param modifier styling for composable
+ * @param viewModel ViewModel that updates ui state for this screen
+ * @param navController handles navigation events from this screen
+ */
+@OptIn(ExperimentalHorologistApi::class)
+@Composable
+fun MultiCredentialsFoldScreen(
+ credentialSelectorUiState: CredentialSelectorUiState.Get.MultipleEntry,
+ screenIcon: Drawable?,
+ columnState: ScalingLazyColumnState,
+ modifier: Modifier = Modifier,
+ viewModel: MultiCredentialsFoldViewModel = hiltViewModel(),
+ navController: NavHostController = rememberNavController(),
+) {
+ val uiState by viewModel.uiState.collectAsStateWithLifecycle()
+
+ when (val state = uiState) {
+ UiState.CredentialScreen -> {
+ MultiCredentialsFoldScreen(
+ state = credentialSelectorUiState,
+ onSignInOptionsClicked = viewModel::onSignInOptionsClicked,
+ onCredentialClicked = viewModel::onCredentialClicked,
+ onCancelClicked = viewModel::onCancelClicked,
+ screenIcon = screenIcon,
+ columnState = columnState,
+ modifier = modifier
+ )
+ }
+
+ is UiState.CredentialSelected -> {
+ val launcher = rememberLauncherForActivityResult(
+ StartBalIntentSenderForResultContract()
+ ) {
+ viewModel.onInfoRetrieved(it.resultCode, null)
+ }
+
+ SideEffect {
+ state.intentSenderRequest?.let {
+ launcher.launch(it)
+ }
+ }
+ }
+
+ UiState.Cancel -> {
+ navController.popBackStack()
+ }
+ }
+}
+
+@OptIn(ExperimentalHorologistApi::class)
+@Composable
+fun MultiCredentialsFoldScreen(
+ state: CredentialSelectorUiState.Get.MultipleEntry,
+ onSignInOptionsClicked: () -> Unit,
+ onCredentialClicked: (entryInfo: CredentialEntryInfo) -> Unit,
+ onCancelClicked: () -> Unit,
+ screenIcon: Drawable?,
+ columnState: ScalingLazyColumnState,
+ modifier: Modifier,
+) {
+ ScalingLazyColumn(
+ columnState = columnState,
+ modifier = modifier.fillMaxSize(),
+ ) {
+ // flatten all credentials into one
+ val credentials = state.accounts.flatMap { it.sortedCredentialEntryList }
+ item {
+ var title = stringResource(R.string.choose_sign_in_title)
+ if (credentials.all{ it.credentialType == CredentialType.PASSKEY }) {
+ title = stringResource(R.string.choose_passkey_title)
+ } else if (credentials.all { it.credentialType == CredentialType.PASSWORD }) {
+ title = stringResource(R.string.choose_password_title)
+ }
+
+ SignInHeader(
+ icon = screenIcon,
+ title = title,
+ modifier = Modifier
+ .padding(top = 6.dp),
+ )
+ }
+
+ credentials.forEach { credential: CredentialEntryInfo ->
+ item {
+ CredentialsScreenChip(
+ label = credential.userName,
+ onClick = { onCredentialClicked(credential) },
+ secondaryLabel = credential.credentialTypeDisplayName,
+ icon = credential.icon,
+ )
+ }
+ }
+ item { SignInOptionsChip(onSignInOptionsClicked) }
+ item { DismissChip(onCancelClicked) }
+ }
+}
diff --git a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/multiple/MultiCredentialsFoldViewModel.kt b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/multiple/MultiCredentialsFoldViewModel.kt
new file mode 100644
index 0000000..627a63d
--- /dev/null
+++ b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/multiple/MultiCredentialsFoldViewModel.kt
@@ -0,0 +1,75 @@
+/*
+ * Copyright 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.credentialmanager.ui.screens.multiple
+
+import android.content.Intent
+import android.credentials.selection.ProviderPendingIntentResponse
+import android.credentials.selection.UserSelectionDialogResult
+import androidx.lifecycle.ViewModel
+import com.android.credentialmanager.client.CredentialManagerClient
+import com.android.credentialmanager.ktx.getIntentSenderRequest
+import com.android.credentialmanager.model.Request
+import com.android.credentialmanager.model.get.CredentialEntryInfo
+import com.android.credentialmanager.ui.screens.UiState
+import dagger.hilt.android.lifecycle.HiltViewModel
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.StateFlow
+import javax.inject.Inject
+
+/** ViewModel for [MultiCredentialsFoldScreen].*/
+@HiltViewModel
+class MultiCredentialsFoldViewModel @Inject constructor(
+ private val credentialManagerClient: CredentialManagerClient,
+) : ViewModel() {
+
+ private lateinit var requestGet: Request.Get
+ private lateinit var entryInfo: CredentialEntryInfo
+
+ private val _uiState =
+ MutableStateFlow<UiState>(UiState.CredentialScreen)
+ val uiState: StateFlow<UiState> = _uiState
+
+ fun onCredentialClicked(entryInfo: CredentialEntryInfo) {
+ this.entryInfo = entryInfo
+ _uiState.value = UiState.CredentialSelected(
+ intentSenderRequest = entryInfo.getIntentSenderRequest()
+ )
+ }
+
+ fun onSignInOptionsClicked() {
+ // TODO(b/322797032) Implement navigation route for single credential screen to multiple
+ // credentials
+ }
+
+ fun onCancelClicked() {
+ _uiState.value = UiState.Cancel
+ }
+
+ fun onInfoRetrieved(
+ resultCode: Int? = null,
+ resultData: Intent? = null,
+ ) {
+ val userSelectionDialogResult = UserSelectionDialogResult(
+ requestGet.token,
+ entryInfo.providerId,
+ entryInfo.entryKey,
+ entryInfo.entrySubkey,
+ if (resultCode != null) ProviderPendingIntentResponse(resultCode, resultData) else null
+ )
+ credentialManagerClient.sendResult(userSelectionDialogResult)
+ }
+}
diff --git a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/single/passkey/SinglePasskeyScreen.kt b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/single/passkey/SinglePasskeyScreen.kt
index 92d8a39..b2595a1 100644
--- a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/single/passkey/SinglePasskeyScreen.kt
+++ b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/single/passkey/SinglePasskeyScreen.kt
@@ -18,7 +18,6 @@
package com.android.credentialmanager.ui.screens.single.passkey
-import android.graphics.drawable.Drawable
import androidx.compose.foundation.layout.Column
import androidx.activity.compose.rememberLauncherForActivityResult
import androidx.compose.foundation.layout.padding
@@ -42,15 +41,23 @@
import com.android.credentialmanager.ui.components.SignInHeader
import com.android.credentialmanager.ui.components.SignInOptionsChip
import com.android.credentialmanager.ui.screens.single.SingleAccountScreen
-import com.android.credentialmanager.ui.screens.single.UiState
+import com.android.credentialmanager.ui.screens.UiState
import com.google.android.horologist.annotations.ExperimentalHorologistApi
import com.google.android.horologist.compose.layout.ScalingLazyColumnState
+/**
+ * Screen that shows sign in with provider credential.
+ *
+ * @param credentialSelectorUiState The app bar view model.
+ * @param columnState ScalingLazyColumn configuration to be be applied to SingleAccountScreen
+ * @param modifier styling for composable
+ * @param viewModel ViewModel that updates ui state for this screen
+ * @param navController handles navigation events from this screen
+ */
@OptIn(ExperimentalHorologistApi::class)
@Composable
fun SinglePasskeyScreen(
credentialSelectorUiState: CredentialSelectorUiState.Get.SingleEntry,
- screenIcon: Drawable?,
columnState: ScalingLazyColumnState,
modifier: Modifier = Modifier,
viewModel: SinglePasskeyScreenViewModel = hiltViewModel(),
@@ -64,7 +71,6 @@
UiState.CredentialScreen -> {
SinglePasskeyScreen(
credentialSelectorUiState.entry,
- screenIcon,
columnState,
modifier,
viewModel
@@ -96,7 +102,6 @@
@Composable
fun SinglePasskeyScreen(
entry: CredentialEntryInfo,
- screenIcon: Drawable?,
columnState: ScalingLazyColumnState,
modifier: Modifier = Modifier,
viewModel: SinglePasskeyScreenViewModel,
@@ -104,7 +109,7 @@
SingleAccountScreen(
headerContent = {
SignInHeader(
- icon = screenIcon,
+ icon = entry.icon,
title = stringResource(R.string.use_passkey_title),
)
},
diff --git a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/single/passkey/SinglePasskeyScreenViewModel.kt b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/single/passkey/SinglePasskeyScreenViewModel.kt
index 35c39f6..37ffaca 100644
--- a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/single/passkey/SinglePasskeyScreenViewModel.kt
+++ b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/single/passkey/SinglePasskeyScreenViewModel.kt
@@ -26,7 +26,7 @@
import com.android.credentialmanager.client.CredentialManagerClient
import com.android.credentialmanager.model.get.CredentialEntryInfo
import dagger.hilt.android.lifecycle.HiltViewModel
-import com.android.credentialmanager.ui.screens.single.UiState
+import com.android.credentialmanager.ui.screens.UiState
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import javax.inject.Inject
diff --git a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/single/password/SinglePasswordScreen.kt b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/single/password/SinglePasswordScreen.kt
index a8be944..4c7f583 100644
--- a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/single/password/SinglePasswordScreen.kt
+++ b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/single/password/SinglePasswordScreen.kt
@@ -1,5 +1,5 @@
/*
- * Copyright 2023 The Android Open Source Project
+ * Copyright 2024 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -18,7 +18,6 @@
package com.android.credentialmanager.ui.screens.single.password
-import android.graphics.drawable.Drawable
import androidx.activity.compose.rememberLauncherForActivityResult
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.padding
@@ -46,11 +45,19 @@
import com.google.android.horologist.annotations.ExperimentalHorologistApi
import com.google.android.horologist.compose.layout.ScalingLazyColumnState
+/**
+ * Screen that shows sign in with provider credential.
+ *
+ * @param credentialSelectorUiState The app bar view model.
+ * @param columnState ScalingLazyColumn configuration to be be applied to SingleAccountScreen
+ * @param modifier styling for composable
+ * @param viewModel ViewModel that updates ui state for this screen
+ * @param navController handles navigation events from this screen
+ */
@OptIn(ExperimentalHorologistApi::class)
@Composable
fun SinglePasswordScreen(
credentialSelectorUiState: CredentialSelectorUiState.Get.SingleEntry,
- screenIcon: Drawable?,
columnState: ScalingLazyColumnState,
modifier: Modifier = Modifier,
viewModel: SinglePasswordScreenViewModel = hiltViewModel(),
@@ -64,7 +71,6 @@
UiState.CredentialScreen -> {
SinglePasswordScreen(
credentialSelectorUiState.entry,
- screenIcon,
columnState,
modifier,
viewModel
@@ -96,7 +102,6 @@
@Composable
private fun SinglePasswordScreen(
entry: CredentialEntryInfo,
- screenIcon: Drawable?,
columnState: ScalingLazyColumnState,
modifier: Modifier = Modifier,
viewModel: SinglePasswordScreenViewModel,
@@ -104,7 +109,7 @@
SingleAccountScreen(
headerContent = {
SignInHeader(
- icon = screenIcon,
+ icon = entry.icon,
title = stringResource(R.string.use_password_title),
)
},
diff --git a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/single/password/SinglePasswordScreenViewModel.kt b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/single/password/SinglePasswordScreenViewModel.kt
index 3f841b8..8debecb 100644
--- a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/single/password/SinglePasswordScreenViewModel.kt
+++ b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/single/password/SinglePasswordScreenViewModel.kt
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2023 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/single/signInWithProvider/SignInWithProviderScreen.kt b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/single/signInWithProvider/SignInWithProviderScreen.kt
new file mode 100644
index 0000000..b0ece0d
--- /dev/null
+++ b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/single/signInWithProvider/SignInWithProviderScreen.kt
@@ -0,0 +1,141 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.credentialmanager.ui.screens.single.signInWithProvider
+
+import androidx.activity.compose.rememberLauncherForActivityResult
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.padding
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.SideEffect
+import androidx.compose.runtime.getValue
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.unit.dp
+import androidx.hilt.navigation.compose.hiltViewModel
+import androidx.lifecycle.compose.collectAsStateWithLifecycle
+import androidx.navigation.NavHostController
+import androidx.navigation.compose.rememberNavController
+import com.android.credentialmanager.CredentialSelectorUiState
+import com.android.credentialmanager.model.get.CredentialEntryInfo
+import com.android.credentialmanager.R
+import com.android.credentialmanager.activity.StartBalIntentSenderForResultContract
+import com.android.credentialmanager.ui.components.AccountRow
+import com.android.credentialmanager.ui.components.ContinueChip
+import com.android.credentialmanager.ui.components.DismissChip
+import com.android.credentialmanager.ui.components.SignInHeader
+import com.android.credentialmanager.ui.components.SignInOptionsChip
+import com.android.credentialmanager.ui.screens.single.SingleAccountScreen
+import com.android.credentialmanager.ui.screens.UiState
+import com.google.android.horologist.annotations.ExperimentalHorologistApi
+import com.google.android.horologist.compose.layout.ScalingLazyColumnState
+
+/**
+ * Screen that shows sign in with provider credential.
+ *
+ * @param credentialSelectorUiState The app bar view model.
+ * @param columnState ScalingLazyColumn configuration to be be applied to SingleAccountScreen
+ * @param modifier styling for composable
+ * @param viewModel ViewModel that updates ui state for this screen
+ * @param navController handles navigation events from this screen
+ */
+@OptIn(ExperimentalHorologistApi::class)
+@Composable
+fun SignInWithProviderScreen(
+ credentialSelectorUiState: CredentialSelectorUiState.Get.SingleEntry,
+ columnState: ScalingLazyColumnState,
+ modifier: Modifier = Modifier,
+ viewModel: SignInWithProviderViewModel = hiltViewModel(),
+ navController: NavHostController = rememberNavController(),
+) {
+ viewModel.initialize(credentialSelectorUiState.entry)
+
+ val uiState by viewModel.uiState.collectAsStateWithLifecycle()
+
+ when (uiState) {
+ UiState.CredentialScreen -> {
+ SignInWithProviderScreen(
+ credentialSelectorUiState.entry,
+ columnState,
+ modifier,
+ viewModel
+ )
+ }
+
+ is UiState.CredentialSelected -> {
+ val launcher = rememberLauncherForActivityResult(
+ StartBalIntentSenderForResultContract()
+ ) {
+ viewModel.onInfoRetrieved(it.resultCode, null)
+ }
+
+ SideEffect {
+ (uiState as UiState.CredentialSelected).intentSenderRequest?.let {
+ launcher.launch(it)
+ }
+ }
+ }
+
+ UiState.Cancel -> {
+ // TODO(b/322797032) add valid navigation path here for going back
+ navController.popBackStack()
+ }
+ }
+}
+
+@OptIn(ExperimentalHorologistApi::class)
+@Composable
+fun SignInWithProviderScreen(
+ entry: CredentialEntryInfo,
+ columnState: ScalingLazyColumnState,
+ modifier: Modifier = Modifier,
+ viewModel: SignInWithProviderViewModel,
+) {
+ SingleAccountScreen(
+ headerContent = {
+ SignInHeader(
+ icon = entry.icon,
+ title = stringResource(R.string.use_sign_in_with_provider_title,
+ entry.providerDisplayName),
+ )
+ },
+ accountContent = {
+ val displayName = entry.displayName
+ if (displayName != null) {
+ AccountRow(
+ primaryText = displayName,
+ secondaryText = entry.userName,
+ modifier = Modifier.padding(top = 10.dp),
+ )
+ } else {
+ AccountRow(
+ primaryText = entry.userName,
+ modifier = Modifier.padding(top = 10.dp),
+ )
+ }
+ },
+ columnState = columnState,
+ modifier = modifier.padding(horizontal = 10.dp)
+ ) {
+ item {
+ Column {
+ ContinueChip(viewModel::onContinueClick)
+ SignInOptionsChip(viewModel::onSignInOptionsClick)
+ DismissChip(viewModel::onDismissClick)
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/single/signInWithProvider/SignInWithProviderViewModel.kt b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/single/signInWithProvider/SignInWithProviderViewModel.kt
new file mode 100644
index 0000000..7ba45e5
--- /dev/null
+++ b/packages/CredentialManager/wear/src/com/android/credentialmanager/ui/screens/single/signInWithProvider/SignInWithProviderViewModel.kt
@@ -0,0 +1,81 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.credentialmanager.ui.screens.single.signInWithProvider
+
+import android.content.Intent
+import android.credentials.selection.ProviderPendingIntentResponse
+import android.credentials.selection.UserSelectionDialogResult
+import androidx.annotation.MainThread
+import androidx.lifecycle.ViewModel
+import com.android.credentialmanager.ktx.getIntentSenderRequest
+import com.android.credentialmanager.model.Request
+import com.android.credentialmanager.client.CredentialManagerClient
+import com.android.credentialmanager.model.get.CredentialEntryInfo
+import dagger.hilt.android.lifecycle.HiltViewModel
+import com.android.credentialmanager.ui.screens.UiState
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.StateFlow
+import javax.inject.Inject
+
+/** ViewModel for [SignInWithProviderScreen].*/
+@HiltViewModel
+class SignInWithProviderViewModel @Inject constructor(
+ private val credentialManagerClient: CredentialManagerClient,
+) : ViewModel() {
+
+ private val _uiState =
+ MutableStateFlow<UiState>(UiState.CredentialScreen)
+ val uiState: StateFlow<UiState> = _uiState
+
+ private lateinit var requestGet: Request.Get
+ private lateinit var entryInfo: CredentialEntryInfo
+
+ @MainThread
+ fun initialize(entry: CredentialEntryInfo) {
+ this.entryInfo = entry
+ }
+
+ fun onDismissClick() {
+ _uiState.value = UiState.Cancel
+ }
+
+ fun onContinueClick() {
+ _uiState.value = UiState.CredentialSelected(
+ intentSenderRequest = entryInfo.getIntentSenderRequest()
+ )
+ }
+
+ fun onSignInOptionsClick() {
+ // TODO(b/322797032) Implement navigation route for single credential screen to multiple
+ // credentials
+ }
+
+ fun onInfoRetrieved(
+ resultCode: Int? = null,
+ resultData: Intent? = null,
+ ) {
+ val userSelectionDialogResult = UserSelectionDialogResult(
+ requestGet.token,
+ entryInfo.providerId,
+ entryInfo.entryKey,
+ entryInfo.entrySubkey,
+ if (resultCode != null) ProviderPendingIntentResponse(resultCode, resultData) else null
+ )
+ credentialManagerClient.sendResult(userSelectionDialogResult)
+ }
+}
+
diff --git a/packages/PackageInstaller/src/com/android/packageinstaller/InstallStart.java b/packages/PackageInstaller/src/com/android/packageinstaller/InstallStart.java
index dbf0b48..ef418a5 100644
--- a/packages/PackageInstaller/src/com/android/packageinstaller/InstallStart.java
+++ b/packages/PackageInstaller/src/com/android/packageinstaller/InstallStart.java
@@ -81,6 +81,12 @@
String callingPackage = getCallingPackage();
String callingAttributionTag = null;
+ // Uid of the source package, coming from ActivityManager
+ int callingUid = getLaunchedFromUid();
+ if (callingUid == Process.INVALID_UID) {
+ Log.w(TAG, "Could not determine the launching uid.");
+ }
+
final boolean isSessionInstall =
PackageInstaller.ACTION_CONFIRM_PRE_APPROVAL.equals(intent.getAction())
|| PackageInstaller.ACTION_CONFIRM_INSTALL.equals(intent.getAction());
@@ -90,24 +96,24 @@
final int sessionId = (isSessionInstall
? intent.getIntExtra(PackageInstaller.EXTRA_SESSION_ID, -1)
: -1);
+ int originatingUidFromSession = callingUid;
if (callingPackage == null && sessionId != -1) {
PackageInstaller packageInstaller = getPackageManager().getPackageInstaller();
PackageInstaller.SessionInfo sessionInfo = packageInstaller.getSessionInfo(sessionId);
- callingPackage = (sessionInfo != null) ? sessionInfo.getInstallerPackageName() : null;
- callingAttributionTag =
- (sessionInfo != null) ? sessionInfo.getInstallerAttributionTag() : null;
+ if (sessionInfo != null) {
+ callingPackage = sessionInfo.getInstallerPackageName();
+ callingAttributionTag = sessionInfo.getInstallerAttributionTag();
+ originatingUidFromSession = sessionInfo.getOriginatingUid();
+ }
}
final ApplicationInfo sourceInfo = getSourceInfo(callingPackage);
- // Uid of the source package, coming from ActivityManager
- int callingUid = getLaunchedFromUid();
- if (callingUid == Process.INVALID_UID) {
- Log.e(TAG, "Could not determine the launching uid.");
- }
+
// Uid of the source package, with a preference to uid from ApplicationInfo
final int originatingUid = sourceInfo != null ? sourceInfo.uid : callingUid;
if (callingUid == Process.INVALID_UID && sourceInfo == null) {
+ Log.e(TAG, "Cannot determine caller since UID is invalid and sourceInfo is null");
mAbortInstall = true;
}
@@ -127,7 +133,7 @@
&& originatingUid != Process.INVALID_UID) {
final int targetSdkVersion = getMaxTargetSdkVersionForUid(this, originatingUid);
if (targetSdkVersion < 0) {
- Log.w(TAG, "Cannot get target sdk version for uid " + originatingUid);
+ Log.e(TAG, "Cannot get target sdk version for uid " + originatingUid);
// Invalid originating uid supplied. Abort install.
mAbortInstall = true;
} else if (targetSdkVersion >= Build.VERSION_CODES.O && !isUidRequestingPermission(
@@ -139,6 +145,8 @@
}
if (sessionId != -1 && !isCallerSessionOwner(originatingUid, sessionId)) {
+ Log.e(TAG, "UID " + originatingUid + " is not the owner of session " +
+ sessionId);
mAbortInstall = true;
}
@@ -178,6 +186,8 @@
callingAttributionTag);
nextActivity.putExtra(PackageInstallerActivity.EXTRA_ORIGINAL_SOURCE_INFO, sourceInfo);
nextActivity.putExtra(Intent.EXTRA_ORIGINATING_UID, originatingUid);
+ nextActivity.putExtra(PackageInstallerActivity.EXTRA_ORIGINATING_UID_FROM_SESSION_INFO,
+ originatingUidFromSession);
if (isSessionInstall) {
nextActivity.setClass(this, PackageInstallerActivity.class);
diff --git a/packages/PackageInstaller/src/com/android/packageinstaller/PackageInstallerActivity.java b/packages/PackageInstaller/src/com/android/packageinstaller/PackageInstallerActivity.java
index 7dc157f..7240fb9 100644
--- a/packages/PackageInstaller/src/com/android/packageinstaller/PackageInstallerActivity.java
+++ b/packages/PackageInstaller/src/com/android/packageinstaller/PackageInstallerActivity.java
@@ -83,6 +83,8 @@
static final String EXTRA_ORIGINAL_SOURCE_INFO = "EXTRA_ORIGINAL_SOURCE_INFO";
static final String EXTRA_STAGED_SESSION_ID = "EXTRA_STAGED_SESSION_ID";
static final String EXTRA_APP_SNIPPET = "EXTRA_APP_SNIPPET";
+ static final String EXTRA_ORIGINATING_UID_FROM_SESSION_INFO =
+ "EXTRA_ORIGINATING_UID_FROM_SESSION_INFO";
private static final String ALLOW_UNKNOWN_SOURCES_KEY =
PackageInstallerActivity.class.getName() + "ALLOW_UNKNOWN_SOURCES_KEY";
@@ -91,7 +93,14 @@
private Uri mOriginatingURI;
private Uri mReferrerURI;
private int mOriginatingUid = Process.INVALID_UID;
- private String mOriginatingPackage; // The package name corresponding to #mOriginatingUid
+ /**
+ * The package name corresponding to #mOriginatingUid
+ */
+ private String mOriginatingPackage;
+ /**
+ * The package name corresponding to the app updater in the update-ownership confirmation dialog
+ */
+ private String mOriginatingPackageFromSessionInfo;
private int mActivityResultCode = Activity.RESULT_CANCELED;
private int mPendingUserActionReason = -1;
@@ -144,7 +153,8 @@
viewToEnable = mDialog.requireViewById(R.id.install_confirm_question_update);
final CharSequence existingUpdateOwnerLabel = getExistingUpdateOwnerLabel();
- final CharSequence requestedUpdateOwnerLabel = getApplicationLabel(mCallingPackage);
+ final CharSequence requestedUpdateOwnerLabel =
+ getApplicationLabel(mOriginatingPackageFromSessionInfo);
if (!TextUtils.isEmpty(existingUpdateOwnerLabel)
&& mPendingUserActionReason == PackageInstaller.REASON_REMIND_OWNERSHIP) {
String updateOwnerString =
@@ -376,6 +386,11 @@
Process.INVALID_UID);
mOriginatingPackage = (mOriginatingUid != Process.INVALID_UID)
? getPackageNameForUid(mOriginatingUid) : null;
+ int originatingUidFromSessionInfo =
+ intent.getIntExtra(EXTRA_ORIGINATING_UID_FROM_SESSION_INFO, Process.INVALID_UID);
+ mOriginatingPackageFromSessionInfo = (originatingUidFromSessionInfo != Process.INVALID_UID)
+ ? getPackageNameForUid(originatingUidFromSessionInfo) : mCallingPackage;
+
final Object packageSource;
if (PackageInstaller.ACTION_CONFIRM_INSTALL.equals(action)) {
diff --git a/packages/SettingsLib/res/values/arrays.xml b/packages/SettingsLib/res/values/arrays.xml
index 3252aad..1b29e83 100644
--- a/packages/SettingsLib/res/values/arrays.xml
+++ b/packages/SettingsLib/res/values/arrays.xml
@@ -526,7 +526,7 @@
</string-array>
<!-- USB configuration values for Developer Settings.
- These are lists of USB functions passed to the USB Manager to change USB configuraton.
+ These are lists of USB functions passed to the USB Manager to change USB configuration.
This can be overridden by devices with additional USB configurations.
Do not translate. -->
<string-array name="usb_configuration_values" translatable="false">
diff --git a/packages/SettingsLib/src/com/android/settingslib/Utils.java b/packages/SettingsLib/src/com/android/settingslib/Utils.java
index 58e0a89..1150ac1 100644
--- a/packages/SettingsLib/src/com/android/settingslib/Utils.java
+++ b/packages/SettingsLib/src/com/android/settingslib/Utils.java
@@ -50,6 +50,7 @@
import android.webkit.IWebViewUpdateService;
import android.webkit.WebViewFactory;
import android.webkit.WebViewProviderInfo;
+import android.webkit.WebViewUpdateManager;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -495,16 +496,26 @@
return sDefaultWebViewPackageName;
}
- try {
- IWebViewUpdateService service = WebViewFactory.getUpdateService();
- if (service != null) {
- WebViewProviderInfo provider = service.getDefaultWebViewPackage();
- if (provider != null) {
- sDefaultWebViewPackageName = provider.packageName;
- }
+ WebViewProviderInfo provider = null;
+
+ if (android.webkit.Flags.updateServiceIpcWrapper()) {
+ WebViewUpdateManager manager = WebViewUpdateManager.getInstance();
+ if (manager != null) {
+ provider = manager.getDefaultWebViewPackage();
}
- } catch (RemoteException e) {
- Log.e(TAG, "RemoteException when trying to fetch default WebView package Name", e);
+ } else {
+ try {
+ IWebViewUpdateService service = WebViewFactory.getUpdateService();
+ if (service != null) {
+ provider = service.getDefaultWebViewPackage();
+ }
+ } catch (RemoteException e) {
+ Log.e(TAG, "RemoteException when trying to fetch default WebView package Name", e);
+ }
+ }
+
+ if (provider != null) {
+ sDefaultWebViewPackageName = provider.packageName;
}
return sDefaultWebViewPackageName;
}
diff --git a/packages/SettingsLib/src/com/android/settingslib/statusbar/notification/data/model/ZenMode.kt b/packages/SettingsLib/src/com/android/settingslib/statusbar/notification/data/model/ZenMode.kt
new file mode 100644
index 0000000..a696f8c
--- /dev/null
+++ b/packages/SettingsLib/src/com/android/settingslib/statusbar/notification/data/model/ZenMode.kt
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settingslib.statusbar.notification.data.model
+
+import android.provider.Settings.Global
+
+/** Validating wrapper for [android.app.NotificationManager.getZenMode] values. */
+@JvmInline
+value class ZenMode(val zenMode: Int) {
+
+ init {
+ require(zenMode in supportedModes) { "Unsupported zenMode=$zenMode" }
+ }
+
+ private companion object {
+
+ val supportedModes =
+ listOf(
+ Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS,
+ Global.ZEN_MODE_NO_INTERRUPTIONS,
+ Global.ZEN_MODE_ALARMS,
+ Global.ZEN_MODE_OFF,
+ )
+ }
+}
diff --git a/packages/SettingsLib/src/com/android/settingslib/statusbar/notification/data/repository/FakeNotificationsSoundPolicyRepository.kt b/packages/SettingsLib/src/com/android/settingslib/statusbar/notification/data/repository/FakeNotificationsSoundPolicyRepository.kt
new file mode 100644
index 0000000..6098307
--- /dev/null
+++ b/packages/SettingsLib/src/com/android/settingslib/statusbar/notification/data/repository/FakeNotificationsSoundPolicyRepository.kt
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settingslib.statusbar.notification.data.repository
+
+import android.app.NotificationManager
+import com.android.settingslib.statusbar.notification.data.model.ZenMode
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.StateFlow
+import kotlinx.coroutines.flow.asStateFlow
+
+class FakeNotificationsSoundPolicyRepository : NotificationsSoundPolicyRepository {
+
+ private val mutableNotificationPolicy = MutableStateFlow<NotificationManager.Policy?>(null)
+ override val notificationPolicy: StateFlow<NotificationManager.Policy?>
+ get() = mutableNotificationPolicy.asStateFlow()
+
+ private val mutableZenMode = MutableStateFlow<ZenMode?>(null)
+ override val zenMode: StateFlow<ZenMode?>
+ get() = mutableZenMode.asStateFlow()
+
+ fun updateNotificationPolicy(policy: NotificationManager.Policy?) {
+ mutableNotificationPolicy.value = policy
+ }
+
+ fun updateZenMode(zenMode: ZenMode?) {
+ mutableZenMode.value = zenMode
+ }
+}
diff --git a/packages/SettingsLib/src/com/android/settingslib/statusbar/notification/data/repository/NotificationsSoundPolicyRepository.kt b/packages/SettingsLib/src/com/android/settingslib/statusbar/notification/data/repository/NotificationsSoundPolicyRepository.kt
new file mode 100644
index 0000000..0fb8c3f
--- /dev/null
+++ b/packages/SettingsLib/src/com/android/settingslib/statusbar/notification/data/repository/NotificationsSoundPolicyRepository.kt
@@ -0,0 +1,95 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settingslib.statusbar.notification.data.repository
+
+import android.app.NotificationManager
+import android.content.BroadcastReceiver
+import android.content.Context
+import android.content.Intent
+import android.content.IntentFilter
+import com.android.settingslib.statusbar.notification.data.model.ZenMode
+import kotlin.coroutines.CoroutineContext
+import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.channels.awaitClose
+import kotlinx.coroutines.flow.SharingStarted
+import kotlinx.coroutines.flow.StateFlow
+import kotlinx.coroutines.flow.callbackFlow
+import kotlinx.coroutines.flow.filter
+import kotlinx.coroutines.flow.flowOn
+import kotlinx.coroutines.flow.map
+import kotlinx.coroutines.flow.onStart
+import kotlinx.coroutines.flow.shareIn
+import kotlinx.coroutines.flow.stateIn
+import kotlinx.coroutines.launch
+
+/** Provides state of volume policy and restrictions imposed by notifications. */
+interface NotificationsSoundPolicyRepository {
+
+ /** @see NotificationManager.getNotificationPolicy */
+ val notificationPolicy: StateFlow<NotificationManager.Policy?>
+
+ /** @see NotificationManager.getZenMode */
+ val zenMode: StateFlow<ZenMode?>
+}
+
+class NotificationsSoundPolicyRepositoryImpl(
+ private val context: Context,
+ private val notificationManager: NotificationManager,
+ scope: CoroutineScope,
+ backgroundCoroutineContext: CoroutineContext,
+) : NotificationsSoundPolicyRepository {
+
+ private val notificationBroadcasts =
+ callbackFlow {
+ val receiver =
+ object : BroadcastReceiver() {
+ override fun onReceive(context: Context?, intent: Intent?) {
+ intent?.action?.let { action -> launch { send(action) } }
+ }
+ }
+
+ context.registerReceiver(
+ receiver,
+ IntentFilter().apply {
+ addAction(NotificationManager.ACTION_INTERRUPTION_FILTER_CHANGED)
+ addAction(NotificationManager.ACTION_NOTIFICATION_POLICY_CHANGED)
+ }
+ )
+
+ awaitClose { context.unregisterReceiver(receiver) }
+ }
+ .shareIn(
+ started = SharingStarted.WhileSubscribed(),
+ scope = scope,
+ )
+
+ override val notificationPolicy: StateFlow<NotificationManager.Policy?> =
+ notificationBroadcasts
+ .filter { NotificationManager.ACTION_NOTIFICATION_POLICY_CHANGED == it }
+ .map { notificationManager.consolidatedNotificationPolicy }
+ .onStart { emit(notificationManager.consolidatedNotificationPolicy) }
+ .flowOn(backgroundCoroutineContext)
+ .stateIn(scope, SharingStarted.WhileSubscribed(), null)
+
+ override val zenMode: StateFlow<ZenMode?> =
+ notificationBroadcasts
+ .filter { NotificationManager.ACTION_INTERRUPTION_FILTER_CHANGED == it }
+ .map { ZenMode(notificationManager.zenMode) }
+ .onStart { emit(ZenMode(notificationManager.zenMode)) }
+ .flowOn(backgroundCoroutineContext)
+ .stateIn(scope, SharingStarted.WhileSubscribed(), null)
+}
diff --git a/packages/SettingsLib/tests/integ/src/com/android/settingslib/statusbar/notification/data/repository/NotificationsSoundPolicyRepositoryTest.kt b/packages/SettingsLib/tests/integ/src/com/android/settingslib/statusbar/notification/data/repository/NotificationsSoundPolicyRepositoryTest.kt
new file mode 100644
index 0000000..dfc4c0a
--- /dev/null
+++ b/packages/SettingsLib/tests/integ/src/com/android/settingslib/statusbar/notification/data/repository/NotificationsSoundPolicyRepositoryTest.kt
@@ -0,0 +1,128 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settingslib.statusbar.notification.data.repository
+
+import android.app.NotificationManager
+import android.content.BroadcastReceiver
+import android.content.Context
+import android.content.Intent
+import android.provider.Settings.Global
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.SmallTest
+import com.android.settingslib.statusbar.notification.data.model.ZenMode
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.flow.launchIn
+import kotlinx.coroutines.flow.onEach
+import kotlinx.coroutines.test.TestScope
+import kotlinx.coroutines.test.runCurrent
+import kotlinx.coroutines.test.runTest
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.ArgumentCaptor
+import org.mockito.Captor
+import org.mockito.Mock
+import org.mockito.Mockito.any
+import org.mockito.Mockito.verify
+import org.mockito.Mockito.`when`
+import org.mockito.MockitoAnnotations
+
+@OptIn(ExperimentalCoroutinesApi::class)
+@RunWith(AndroidJUnit4::class)
+@SmallTest
+class NotificationsSoundPolicyRepositoryTest {
+
+ @Mock private lateinit var context: Context
+ @Mock private lateinit var notificationManager: NotificationManager
+ @Captor private lateinit var receiverCaptor: ArgumentCaptor<BroadcastReceiver>
+
+ private lateinit var underTest: NotificationsSoundPolicyRepository
+
+ private val testScope: TestScope = TestScope()
+
+ @Before
+ fun setup() {
+ MockitoAnnotations.initMocks(this)
+
+ underTest =
+ NotificationsSoundPolicyRepositoryImpl(
+ context,
+ notificationManager,
+ testScope.backgroundScope,
+ testScope.testScheduler,
+ )
+ }
+
+ @Test
+ fun policyChanges_repositoryEmits() {
+ testScope.runTest {
+ val values = mutableListOf<NotificationManager.Policy?>()
+ `when`(notificationManager.notificationPolicy).thenReturn(testPolicy1)
+ underTest.notificationPolicy.onEach { values.add(it) }.launchIn(backgroundScope)
+ runCurrent()
+
+ `when`(notificationManager.notificationPolicy).thenReturn(testPolicy2)
+ triggerIntent(NotificationManager.ACTION_NOTIFICATION_POLICY_CHANGED)
+ runCurrent()
+
+ assertThat(values)
+ .containsExactlyElementsIn(listOf(null, testPolicy1, testPolicy2))
+ .inOrder()
+ }
+ }
+
+ @Test
+ fun zenModeChanges_repositoryEmits() {
+ testScope.runTest {
+ val values = mutableListOf<ZenMode?>()
+ `when`(notificationManager.zenMode).thenReturn(Global.ZEN_MODE_OFF)
+ underTest.zenMode.onEach { values.add(it) }.launchIn(backgroundScope)
+ runCurrent()
+
+ `when`(notificationManager.zenMode).thenReturn(Global.ZEN_MODE_ALARMS)
+ triggerIntent(NotificationManager.ACTION_INTERRUPTION_FILTER_CHANGED)
+ runCurrent()
+
+ assertThat(values)
+ .containsExactlyElementsIn(
+ listOf(null, ZenMode(Global.ZEN_MODE_OFF), ZenMode(Global.ZEN_MODE_ALARMS))
+ )
+ .inOrder()
+ }
+ }
+
+ private fun triggerIntent(action: String) {
+ verify(context).registerReceiver(receiverCaptor.capture(), any())
+ receiverCaptor.value.onReceive(context, Intent(action))
+ }
+
+ private companion object {
+ val testPolicy1 =
+ NotificationManager.Policy(
+ /* priorityCategories = */ 1,
+ /* priorityCallSenders =*/ 1,
+ /* priorityMessageSenders = */ 1,
+ )
+ val testPolicy2 =
+ NotificationManager.Policy(
+ /* priorityCategories = */ 2,
+ /* priorityCallSenders =*/ 2,
+ /* priorityMessageSenders = */ 2,
+ )
+ }
+}
diff --git a/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java b/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java
index 4feb6e6..e424797 100644
--- a/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java
+++ b/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java
@@ -265,6 +265,7 @@
Settings.Secure.EVEN_DIMMER_ACTIVATED,
Settings.Secure.EVEN_DIMMER_MIN_NITS,
Settings.Secure.STYLUS_POINTER_ICON_ENABLED,
- Settings.Secure.CAMERA_EXTENSIONS_FALLBACK
+ Settings.Secure.CAMERA_EXTENSIONS_FALLBACK,
+ Settings.Secure.VISUAL_QUERY_ACCESSIBILITY_DETECTION_ENABLED
};
}
diff --git a/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java b/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java
index d0ed656..a32eead 100644
--- a/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java
+++ b/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java
@@ -207,6 +207,7 @@
VALIDATORS.put(Secure.ASSIST_GESTURE_WAKE_ENABLED, BOOLEAN_VALIDATOR);
VALIDATORS.put(Secure.ASSIST_TOUCH_GESTURE_ENABLED, BOOLEAN_VALIDATOR);
VALIDATORS.put(Secure.ASSIST_LONG_PRESS_HOME_ENABLED, BOOLEAN_VALIDATOR);
+ VALIDATORS.put(Secure.VISUAL_QUERY_ACCESSIBILITY_DETECTION_ENABLED, BOOLEAN_VALIDATOR);
VALIDATORS.put(Secure.SEARCH_PRESS_HOLD_NAV_HANDLE_ENABLED, BOOLEAN_VALIDATOR);
VALIDATORS.put(Secure.SEARCH_LONG_PRESS_HOME_ENABLED, BOOLEAN_VALIDATOR);
VALIDATORS.put(Secure.VR_DISPLAY_MODE, new DiscreteValueValidator(new String[] {"0", "1"}));
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java
index 612badd..d27ff17 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java
@@ -1951,6 +1951,9 @@
dumpSetting(s, p,
Settings.Secure.SEARCH_LONG_PRESS_HOME_ENABLED,
SecureSettingsProto.Assist.SEARCH_LONG_PRESS_HOME_ENABLED);
+ dumpSetting(s, p,
+ Settings.Secure.VISUAL_QUERY_ACCESSIBILITY_DETECTION_ENABLED,
+ SecureSettingsProto.Assist.VISUAL_QUERY_ACCESSIBILITY_DETECTION_ENABLED);
p.end(assistToken);
final long assistHandlesToken = p.start(SecureSettingsProto.ASSIST_HANDLES);
diff --git a/packages/Shell/AndroidManifest.xml b/packages/Shell/AndroidManifest.xml
index c086baa..4305d91 100644
--- a/packages/Shell/AndroidManifest.xml
+++ b/packages/Shell/AndroidManifest.xml
@@ -250,6 +250,8 @@
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS" />
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
+ <!-- Permission required to test LauncherApps APIs for hidden profiles -->
+ <uses-permission android:name="android.permission.ACCESS_HIDDEN_PROFILES_FULL" />
<!-- Shell only holds android.permission.NETWORK_SCAN in order to to enable CTS testing -->
<uses-permission android:name="android.permission.NETWORK_SCAN" />
<uses-permission android:name="android.permission.REGISTER_CALL_PROVIDER" />
@@ -922,6 +924,10 @@
<!-- Permission required for CTS test - CtsPackageManagerTestCases-->
<uses-permission android:name="android.permission.DOMAIN_VERIFICATION_AGENT" />
+ <!-- Permission required for Cts test - CtsInputTestCases -->
+ <uses-permission
+ android:name="android.permission.OVERRIDE_SYSTEM_KEY_BEHAVIOR_IN_FOCUSED_WINDOW" />
+
<application
android:label="@string/app_label"
android:theme="@android:style/Theme.DeviceDefault.DayNight"
diff --git a/packages/SystemUI/OWNERS b/packages/SystemUI/OWNERS
index 967a36b..78cacec 100644
--- a/packages/SystemUI/OWNERS
+++ b/packages/SystemUI/OWNERS
@@ -39,7 +39,6 @@
hyunyoungs@google.com
ikateryna@google.com
iyz@google.com
-jaggies@google.com
jamesoleary@google.com
jbolinger@google.com
jdemeulenaere@google.com
diff --git a/packages/SystemUI/aconfig/systemui.aconfig b/packages/SystemUI/aconfig/systemui.aconfig
index 56576f1..6f34f05 100644
--- a/packages/SystemUI/aconfig/systemui.aconfig
+++ b/packages/SystemUI/aconfig/systemui.aconfig
@@ -420,3 +420,33 @@
}
}
+flag {
+ name: "get_connected_device_name_unsynchronized"
+ namespace: "systemui"
+ description: "Decide whether to fetch the connected bluetooth device name outside a synchronized block."
+ bug: "323995015"
+ metadata {
+ purpose: PURPOSE_BUGFIX
+ }
+}
+
+flag {
+ name: "register_new_wallet_card_in_background"
+ namespace: "systemui"
+ description: "Decide whether the call to registerNewWalletCards method should be issued on background thread."
+ bug: "322506838"
+ metadata {
+ purpose: PURPOSE_BUGFIX
+ }
+}
+
+flag {
+ name: "update_user_switcher_background"
+ namespace: "systemui"
+ description: "Decide whether to update user switcher in background thread."
+ bug: "322745650"
+ metadata {
+ purpose: PURPOSE_BUGFIX
+ }
+}
+
diff --git a/packages/SystemUI/compose/core/src/com/android/compose/PlatformSlider.kt b/packages/SystemUI/compose/core/src/com/android/compose/PlatformSlider.kt
new file mode 100644
index 0000000..b8c4fae
--- /dev/null
+++ b/packages/SystemUI/compose/core/src/com/android/compose/PlatformSlider.kt
@@ -0,0 +1,321 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+@file:OptIn(ExperimentalMaterial3Api::class)
+
+package com.android.compose
+
+import androidx.compose.animation.core.animateDpAsState
+import androidx.compose.animation.core.animateFloatAsState
+import androidx.compose.foundation.Canvas
+import androidx.compose.foundation.interaction.DragInteraction
+import androidx.compose.foundation.interaction.MutableInteractionSource
+import androidx.compose.foundation.isSystemInDarkTheme
+import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.Row
+import androidx.compose.foundation.layout.Spacer
+import androidx.compose.foundation.layout.aspectRatio
+import androidx.compose.foundation.layout.fillMaxHeight
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.foundation.layout.height
+import androidx.compose.foundation.layout.width
+import androidx.compose.material3.ExperimentalMaterial3Api
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Slider
+import androidx.compose.material3.SliderState
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.LaunchedEffect
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.remember
+import androidx.compose.runtime.setValue
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.geometry.CornerRadius
+import androidx.compose.ui.geometry.RoundRect
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.Path
+import androidx.compose.ui.graphics.drawscope.clipPath
+import androidx.compose.ui.platform.LocalDensity
+import androidx.compose.ui.platform.LocalLayoutDirection
+import androidx.compose.ui.unit.Dp
+import androidx.compose.ui.unit.LayoutDirection
+import androidx.compose.ui.unit.dp
+import com.android.compose.modifiers.padding
+import com.android.compose.theme.LocalAndroidColorScheme
+
+/** Indicator corner radius used when the user drags the [PlatformSlider]. */
+private val DefaultPlatformSliderDraggingCornerRadius = 8.dp
+
+/**
+ * Platform slider implementation that displays a slider with an [icon] and a [label] at the start.
+ *
+ * @param onValueChangeFinished is called when the slider settles on a [value]. This callback
+ * shouldn't be used to react to value changes. Use [onValueChange] instead
+ * @param interactionSource - the [MutableInteractionSource] representing the stream of Interactions
+ * for this slider. You can create and pass in your own remembered instance to observe
+ * Interactions and customize the appearance / behavior of this slider in different states.
+ * @param colors - slider color scheme.
+ * @param draggingCornersRadius - radius of the slider indicator when the user drags it
+ * @param icon - icon at the start of the slider. Icon is limited to a square space at the start of
+ * the slider
+ * @param label - control shown next to the icon.
+ */
+@Composable
+fun PlatformSlider(
+ value: Float,
+ onValueChange: (Float) -> Unit,
+ modifier: Modifier = Modifier,
+ onValueChangeFinished: (() -> Unit)? = null,
+ valueRange: ClosedFloatingPointRange<Float> = 0f..1f,
+ enabled: Boolean = true,
+ interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },
+ colors: PlatformSliderColors =
+ if (isSystemInDarkTheme()) darkThemePlatformSliderColors()
+ else lightThemePlatformSliderColors(),
+ draggingCornersRadius: Dp = DefaultPlatformSliderDraggingCornerRadius,
+ icon: (@Composable (isDragging: Boolean) -> Unit)? = null,
+ label: (@Composable (isDragging: Boolean) -> Unit)? = null,
+) {
+ val sliderHeight: Dp = 64.dp
+ val iconWidth: Dp = sliderHeight
+ var isDragging by remember { mutableStateOf(false) }
+ LaunchedEffect(interactionSource) {
+ interactionSource.interactions.collect { interaction ->
+ when (interaction) {
+ is DragInteraction.Start -> {
+ isDragging = true
+ }
+ is DragInteraction.Cancel,
+ is DragInteraction.Stop -> {
+ isDragging = false
+ }
+ }
+ }
+ }
+ val paddingStart by
+ animateDpAsState(
+ targetValue =
+ if ((!isDragging && value == 0f) || icon == null) {
+ 16.dp
+ } else {
+ 0.dp
+ },
+ label = "LabelIconSpacingAnimation"
+ )
+
+ Box(modifier = modifier.height(sliderHeight)) {
+ Slider(
+ modifier = Modifier.fillMaxSize(),
+ value = value,
+ onValueChange = onValueChange,
+ valueRange = valueRange,
+ onValueChangeFinished = onValueChangeFinished,
+ interactionSource = interactionSource,
+ track = {
+ Track(
+ sliderState = it,
+ enabled = enabled,
+ colors = colors,
+ iconWidth = iconWidth,
+ draggingCornersRadius = draggingCornersRadius,
+ sliderHeight = sliderHeight,
+ isDragging = isDragging,
+ modifier = Modifier,
+ )
+ },
+ thumb = { Spacer(Modifier.width(iconWidth).height(sliderHeight)) },
+ )
+
+ if (icon != null || label != null) {
+ Row(modifier = Modifier.fillMaxSize()) {
+ icon?.let { iconComposable ->
+ Box(
+ modifier = Modifier.fillMaxHeight().aspectRatio(1f),
+ contentAlignment = Alignment.Center,
+ ) {
+ iconComposable(isDragging)
+ }
+ }
+
+ label?.let { labelComposable ->
+ Box(
+ modifier =
+ Modifier.fillMaxHeight()
+ .weight(1f)
+ .padding(start = { paddingStart.roundToPx() }),
+ contentAlignment = Alignment.CenterStart,
+ ) {
+ labelComposable(isDragging)
+ }
+ }
+ }
+ }
+ }
+}
+
+@Composable
+private fun Track(
+ sliderState: SliderState,
+ enabled: Boolean,
+ colors: PlatformSliderColors,
+ iconWidth: Dp,
+ draggingCornersRadius: Dp,
+ sliderHeight: Dp,
+ isDragging: Boolean,
+ modifier: Modifier = Modifier,
+) {
+ val isRtl = LocalLayoutDirection.current == LayoutDirection.Rtl
+ val iconWidthPx: Float
+ val halfIconWidthPx: Float
+ val targetIndicatorRadiusPx: Float
+ val halfSliderHeightPx: Float
+ with(LocalDensity.current) {
+ halfSliderHeightPx = sliderHeight.toPx() / 2
+ iconWidthPx = iconWidth.toPx()
+ halfIconWidthPx = iconWidthPx / 2
+ targetIndicatorRadiusPx =
+ if (isDragging) draggingCornersRadius.toPx() else halfSliderHeightPx
+ }
+
+ val indicatorRadiusPx: Float by
+ animateFloatAsState(
+ targetValue = targetIndicatorRadiusPx,
+ label = "PlatformSliderCornersAnimation",
+ )
+
+ val trackColor = colors.getTrackColor(enabled)
+ val indicatorColor = colors.getIndicatorColor(enabled)
+ val trackCornerRadius = CornerRadius(halfSliderHeightPx, halfSliderHeightPx)
+ val indicatorCornerRadius = CornerRadius(indicatorRadiusPx, indicatorRadiusPx)
+ Canvas(modifier.fillMaxSize()) {
+ val trackPath = Path()
+ trackPath.addRoundRect(
+ RoundRect(
+ left = -halfIconWidthPx,
+ top = 0f,
+ right = size.width + halfIconWidthPx,
+ bottom = size.height,
+ cornerRadius = trackCornerRadius,
+ )
+ )
+ drawPath(path = trackPath, color = trackColor)
+
+ clipPath(trackPath) {
+ val indicatorPath = Path()
+ if (isRtl) {
+ indicatorPath.addRoundRect(
+ RoundRect(
+ left =
+ size.width -
+ size.width * sliderState.coercedNormalizedValue -
+ halfIconWidthPx,
+ top = 0f,
+ right = size.width + iconWidthPx,
+ bottom = size.height,
+ topLeftCornerRadius = indicatorCornerRadius,
+ topRightCornerRadius = trackCornerRadius,
+ bottomRightCornerRadius = trackCornerRadius,
+ bottomLeftCornerRadius = indicatorCornerRadius,
+ )
+ )
+ } else {
+ indicatorPath.addRoundRect(
+ RoundRect(
+ left = -halfIconWidthPx,
+ top = 0f,
+ right = size.width * sliderState.coercedNormalizedValue + halfIconWidthPx,
+ bottom = size.height,
+ topLeftCornerRadius = trackCornerRadius,
+ topRightCornerRadius = indicatorCornerRadius,
+ bottomRightCornerRadius = indicatorCornerRadius,
+ bottomLeftCornerRadius = trackCornerRadius,
+ )
+ )
+ }
+ drawPath(path = indicatorPath, color = indicatorColor)
+ }
+ }
+}
+
+/** [SliderState.value] normalized using [SliderState.valueRange]. The result belongs to [0, 1] */
+private val SliderState.coercedNormalizedValue: Float
+ get() {
+ val dif = valueRange.endInclusive - valueRange.start
+ return if (dif == 0f) {
+ 0f
+ } else {
+ val coercedValue = value.coerceIn(valueRange.start, valueRange.endInclusive)
+ (coercedValue - valueRange.start) / dif
+ }
+ }
+
+/**
+ * [PlatformSlider] color scheme.
+ *
+ * @param trackColor fills the track of the slider. This is a "background" of the slider
+ * @param indicatorColor fills the slider from the start to the value
+ * @param iconColor is the default icon color
+ * @param labelColor is the default icon color
+ * @param disabledTrackColor is the [trackColor] when the PlatformSlider#enabled == false
+ * @param disabledIndicatorColor is the [indicatorColor] when the PlatformSlider#enabled == false
+ * @param disabledIconColor is the [iconColor] when the PlatformSlider#enabled == false
+ * @param disabledLabelColor is the [labelColor] when the PlatformSlider#enabled == false
+ */
+data class PlatformSliderColors(
+ val trackColor: Color,
+ val indicatorColor: Color,
+ val iconColor: Color,
+ val labelColor: Color,
+ val disabledTrackColor: Color,
+ val disabledIndicatorColor: Color,
+ val disabledIconColor: Color,
+ val disabledLabelColor: Color,
+)
+
+/** [PlatformSliderColors] for the light theme */
+@Composable
+private fun lightThemePlatformSliderColors() =
+ PlatformSliderColors(
+ trackColor = MaterialTheme.colorScheme.tertiaryContainer,
+ indicatorColor = LocalAndroidColorScheme.current.tertiaryFixedDim,
+ iconColor = MaterialTheme.colorScheme.onTertiaryContainer,
+ labelColor = MaterialTheme.colorScheme.onTertiaryContainer,
+ disabledTrackColor = MaterialTheme.colorScheme.surfaceContainerHighest,
+ disabledIndicatorColor = MaterialTheme.colorScheme.surfaceContainerHighest,
+ disabledIconColor = MaterialTheme.colorScheme.outline,
+ disabledLabelColor = MaterialTheme.colorScheme.onSurfaceVariant,
+ )
+
+/** [PlatformSliderColors] for the dark theme */
+@Composable
+private fun darkThemePlatformSliderColors() =
+ PlatformSliderColors(
+ trackColor = MaterialTheme.colorScheme.onTertiary,
+ indicatorColor = LocalAndroidColorScheme.current.onTertiaryFixedVariant,
+ iconColor = MaterialTheme.colorScheme.onTertiaryContainer,
+ labelColor = MaterialTheme.colorScheme.onTertiaryContainer,
+ disabledTrackColor = MaterialTheme.colorScheme.surfaceContainerHighest,
+ disabledIndicatorColor = MaterialTheme.colorScheme.surfaceContainerHighest,
+ disabledIconColor = MaterialTheme.colorScheme.outline,
+ disabledLabelColor = MaterialTheme.colorScheme.onSurfaceVariant,
+ )
+
+private fun PlatformSliderColors.getTrackColor(isEnabled: Boolean): Color =
+ if (isEnabled) trackColor else disabledTrackColor
+
+private fun PlatformSliderColors.getIndicatorColor(isEnabled: Boolean): Color =
+ if (isEnabled) indicatorColor else disabledIndicatorColor
diff --git a/packages/SystemUI/compose/facade/disabled/src/com/android/systemui/compose/ComposeFacade.kt b/packages/SystemUI/compose/facade/disabled/src/com/android/systemui/compose/ComposeFacade.kt
index 36ab46b4..374a97d 100644
--- a/packages/SystemUI/compose/facade/disabled/src/com/android/systemui/compose/ComposeFacade.kt
+++ b/packages/SystemUI/compose/facade/disabled/src/com/android/systemui/compose/ComposeFacade.kt
@@ -33,6 +33,7 @@
import com.android.systemui.people.ui.viewmodel.PeopleViewModel
import com.android.systemui.qs.footer.ui.viewmodel.FooterActionsViewModel
import com.android.systemui.scene.shared.model.Scene
+import com.android.systemui.scene.shared.model.SceneDataSourceDelegator
import com.android.systemui.scene.shared.model.SceneKey
import com.android.systemui.scene.ui.viewmodel.SceneContainerViewModel
import com.android.systemui.volume.panel.ui.viewmodel.VolumePanelViewModel
@@ -87,6 +88,7 @@
viewModel: SceneContainerViewModel,
windowInsets: StateFlow<WindowInsets?>,
sceneByKey: Map<SceneKey, Scene>,
+ dataSourceDelegator: SceneDataSourceDelegator,
): View {
throwComposeUnavailableError()
}
diff --git a/packages/SystemUI/compose/facade/enabled/src/com/android/systemui/compose/ComposeFacade.kt b/packages/SystemUI/compose/facade/enabled/src/com/android/systemui/compose/ComposeFacade.kt
index 5b6aa09..a1bbc7d 100644
--- a/packages/SystemUI/compose/facade/enabled/src/com/android/systemui/compose/ComposeFacade.kt
+++ b/packages/SystemUI/compose/facade/enabled/src/com/android/systemui/compose/ComposeFacade.kt
@@ -53,6 +53,7 @@
import com.android.systemui.qs.footer.ui.compose.FooterActions
import com.android.systemui.qs.footer.ui.viewmodel.FooterActionsViewModel
import com.android.systemui.scene.shared.model.Scene
+import com.android.systemui.scene.shared.model.SceneDataSourceDelegator
import com.android.systemui.scene.shared.model.SceneKey
import com.android.systemui.scene.ui.composable.ComposableScene
import com.android.systemui.scene.ui.composable.SceneContainer
@@ -127,6 +128,7 @@
viewModel: SceneContainerViewModel,
windowInsets: StateFlow<WindowInsets?>,
sceneByKey: Map<SceneKey, Scene>,
+ dataSourceDelegator: SceneDataSourceDelegator,
): View {
return ComposeView(context).apply {
setContent {
@@ -139,6 +141,7 @@
viewModel = viewModel,
sceneByKey =
sceneByKey.mapValues { (_, scene) -> scene as ComposableScene },
+ dataSourceDelegator = dataSourceDelegator,
)
}
}
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/bouncer/ui/composable/BouncerScene.kt b/packages/SystemUI/compose/features/src/com/android/systemui/bouncer/ui/composable/BouncerScene.kt
index 428bc39..0469cbe 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/bouncer/ui/composable/BouncerScene.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/bouncer/ui/composable/BouncerScene.kt
@@ -29,8 +29,8 @@
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.scene.shared.model.Direction
import com.android.systemui.scene.shared.model.SceneKey
-import com.android.systemui.scene.shared.model.SceneModel
import com.android.systemui.scene.shared.model.UserAction
+import com.android.systemui.scene.shared.model.UserActionResult
import com.android.systemui.scene.ui.composable.ComposableScene
import javax.inject.Inject
import kotlinx.coroutines.flow.MutableStateFlow
@@ -54,11 +54,11 @@
) : ComposableScene {
override val key = SceneKey.Bouncer
- override val destinationScenes: StateFlow<Map<UserAction, SceneModel>> =
+ override val destinationScenes: StateFlow<Map<UserAction, UserActionResult>> =
MutableStateFlow(
mapOf(
- UserAction.Back to SceneModel(SceneKey.Lockscreen),
- UserAction.Swipe(Direction.DOWN) to SceneModel(SceneKey.Lockscreen),
+ UserAction.Back to UserActionResult(SceneKey.Lockscreen),
+ UserAction.Swipe(Direction.DOWN) to UserActionResult(SceneKey.Lockscreen),
)
)
.asStateFlow()
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/communal/ui/compose/CommunalScene.kt b/packages/SystemUI/compose/features/src/com/android/systemui/communal/ui/compose/CommunalScene.kt
index f3bef7b..11a38f9 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/communal/ui/compose/CommunalScene.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/communal/ui/compose/CommunalScene.kt
@@ -23,8 +23,8 @@
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.scene.shared.model.Direction
import com.android.systemui.scene.shared.model.SceneKey
-import com.android.systemui.scene.shared.model.SceneModel
import com.android.systemui.scene.shared.model.UserAction
+import com.android.systemui.scene.shared.model.UserActionResult
import com.android.systemui.scene.ui.composable.ComposableScene
import javax.inject.Inject
import kotlinx.coroutines.flow.MutableStateFlow
@@ -40,10 +40,10 @@
) : ComposableScene {
override val key = SceneKey.Communal
- override val destinationScenes: StateFlow<Map<UserAction, SceneModel>> =
- MutableStateFlow<Map<UserAction, SceneModel>>(
+ override val destinationScenes: StateFlow<Map<UserAction, UserActionResult>> =
+ MutableStateFlow<Map<UserAction, UserActionResult>>(
mapOf(
- UserAction.Swipe(Direction.RIGHT) to SceneModel(SceneKey.Lockscreen),
+ UserAction.Swipe(Direction.RIGHT) to UserActionResult(SceneKey.Lockscreen),
)
)
.asStateFlow()
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/keyguard/ui/composable/LockscreenScene.kt b/packages/SystemUI/compose/features/src/com/android/systemui/keyguard/ui/composable/LockscreenScene.kt
index 378a1e4..7b21d09 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/keyguard/ui/composable/LockscreenScene.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/keyguard/ui/composable/LockscreenScene.kt
@@ -26,8 +26,8 @@
import com.android.systemui.scene.shared.model.Direction
import com.android.systemui.scene.shared.model.Edge
import com.android.systemui.scene.shared.model.SceneKey
-import com.android.systemui.scene.shared.model.SceneModel
import com.android.systemui.scene.shared.model.UserAction
+import com.android.systemui.scene.shared.model.UserActionResult
import com.android.systemui.scene.ui.composable.ComposableScene
import dagger.Lazy
import javax.inject.Inject
@@ -49,7 +49,7 @@
) : ComposableScene {
override val key = SceneKey.Lockscreen
- override val destinationScenes: StateFlow<Map<UserAction, SceneModel>> =
+ override val destinationScenes: StateFlow<Map<UserAction, UserActionResult>> =
combine(viewModel.upDestinationSceneKey, viewModel.leftDestinationSceneKey, ::Pair)
.map { (upKey, leftKey) -> destinationScenes(up = upKey, left = leftKey) }
.stateIn(
@@ -75,13 +75,13 @@
private fun destinationScenes(
up: SceneKey?,
left: SceneKey?,
- ): Map<UserAction, SceneModel> {
+ ): Map<UserAction, UserActionResult> {
return buildMap {
- up?.let { this[UserAction.Swipe(Direction.UP)] = SceneModel(up) }
- left?.let { this[UserAction.Swipe(Direction.LEFT)] = SceneModel(left) }
+ up?.let { this[UserAction.Swipe(Direction.UP)] = UserActionResult(up) }
+ left?.let { this[UserAction.Swipe(Direction.LEFT)] = UserActionResult(left) }
this[UserAction.Swipe(fromEdge = Edge.TOP, direction = Direction.DOWN)] =
- SceneModel(SceneKey.QuickSettings)
- this[UserAction.Swipe(direction = Direction.DOWN)] = SceneModel(SceneKey.Shade)
+ UserActionResult(SceneKey.QuickSettings)
+ this[UserAction.Swipe(direction = Direction.DOWN)] = UserActionResult(SceneKey.Shade)
}
}
}
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/qs/ui/composable/QuickSettingsScene.kt b/packages/SystemUI/compose/features/src/com/android/systemui/qs/ui/composable/QuickSettingsScene.kt
index 46554a4..d36345a3 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/qs/ui/composable/QuickSettingsScene.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/qs/ui/composable/QuickSettingsScene.kt
@@ -63,7 +63,7 @@
import com.android.systemui.qs.ui.viewmodel.QuickSettingsSceneViewModel
import com.android.systemui.scene.shared.model.SceneKey
import com.android.systemui.scene.ui.composable.ComposableScene
-import com.android.systemui.scene.ui.composable.toTransitionSceneKey
+import com.android.systemui.scene.ui.composable.asComposeAware
import com.android.systemui.shade.ui.composable.CollapsedShadeHeader
import com.android.systemui.shade.ui.composable.ExpandedShadeHeader
import com.android.systemui.shade.ui.composable.Shade
@@ -138,7 +138,7 @@
when (val state = layoutState.transitionState) {
is TransitionState.Idle -> true
is TransitionState.Transition -> {
- state.fromScene == SceneKey.QuickSettings.toTransitionSceneKey()
+ state.fromScene == SceneKey.QuickSettings.asComposeAware()
}
}
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/GoneScene.kt b/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/GoneScene.kt
index 736ee1f..f90f29d 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/GoneScene.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/GoneScene.kt
@@ -25,9 +25,8 @@
import com.android.systemui.scene.shared.model.Direction
import com.android.systemui.scene.shared.model.Edge
import com.android.systemui.scene.shared.model.SceneKey
-import com.android.systemui.scene.shared.model.SceneModel
import com.android.systemui.scene.shared.model.UserAction
-import com.android.systemui.shade.ui.composable.Shade
+import com.android.systemui.scene.shared.model.UserActionResult
import com.android.systemui.statusbar.notification.stack.ui.viewmodel.NotificationsPlaceholderViewModel
import javax.inject.Inject
import kotlinx.coroutines.flow.MutableStateFlow
@@ -46,15 +45,16 @@
) : ComposableScene {
override val key = SceneKey.Gone
- override val destinationScenes: StateFlow<Map<UserAction, SceneModel>> =
- MutableStateFlow<Map<UserAction, SceneModel>>(
+ override val destinationScenes: StateFlow<Map<UserAction, UserActionResult>> =
+ MutableStateFlow<Map<UserAction, UserActionResult>>(
mapOf(
UserAction.Swipe(
pointerCount = 2,
fromEdge = Edge.TOP,
direction = Direction.DOWN,
- ) to SceneModel(SceneKey.QuickSettings),
- UserAction.Swipe(direction = Direction.DOWN) to SceneModel(SceneKey.Shade),
+ ) to UserActionResult(SceneKey.QuickSettings),
+ UserAction.Swipe(direction = Direction.DOWN) to
+ UserActionResult(SceneKey.Shade),
)
)
.asStateFlow()
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/SceneContainer.kt b/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/SceneContainer.kt
index da1b417..5006beb 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/SceneContainer.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/SceneContainer.kt
@@ -25,6 +25,8 @@
import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
+import androidx.compose.runtime.remember
+import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.ui.Alignment
import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.Modifier
@@ -32,24 +34,14 @@
import androidx.compose.ui.input.pointer.PointerEventPass
import androidx.compose.ui.input.pointer.motionEventSpy
import androidx.compose.ui.input.pointer.pointerInput
-import com.android.compose.animation.scene.Back
-import com.android.compose.animation.scene.Edge as SceneTransitionEdge
-import com.android.compose.animation.scene.ObservableTransitionState as SceneTransitionObservableTransitionState
-import com.android.compose.animation.scene.SceneKey as SceneTransitionSceneKey
+import com.android.compose.animation.scene.MutableSceneTransitionLayoutState
import com.android.compose.animation.scene.SceneTransitionLayout
-import com.android.compose.animation.scene.Swipe
-import com.android.compose.animation.scene.SwipeDirection
-import com.android.compose.animation.scene.UserAction as SceneTransitionUserAction
-import com.android.compose.animation.scene.UserActionResult
import com.android.compose.animation.scene.observableTransitionState
-import com.android.compose.animation.scene.updateSceneTransitionLayoutState
import com.android.systemui.ribbon.ui.composable.BottomRightCornerRibbon
-import com.android.systemui.scene.shared.model.Direction
-import com.android.systemui.scene.shared.model.Edge
-import com.android.systemui.scene.shared.model.ObservableTransitionState
+import com.android.systemui.scene.shared.model.SceneDataSourceDelegator
import com.android.systemui.scene.shared.model.SceneKey
-import com.android.systemui.scene.shared.model.SceneModel
import com.android.systemui.scene.shared.model.UserAction
+import com.android.systemui.scene.shared.model.UserActionResult
import com.android.systemui.scene.ui.viewmodel.SceneContainerViewModel
import kotlinx.coroutines.flow.map
@@ -75,22 +67,31 @@
fun SceneContainer(
viewModel: SceneContainerViewModel,
sceneByKey: Map<SceneKey, ComposableScene>,
+ dataSourceDelegator: SceneDataSourceDelegator,
modifier: Modifier = Modifier,
) {
- val currentSceneModel: SceneModel by viewModel.currentScene.collectAsState()
- val currentSceneKey = currentSceneModel.key
+ val coroutineScope = rememberCoroutineScope()
+ val currentSceneKey: SceneKey by viewModel.currentScene.collectAsState()
val currentScene = checkNotNull(sceneByKey[currentSceneKey])
- val currentDestinations: Map<UserAction, SceneModel> by
+ val currentDestinations: Map<UserAction, UserActionResult> by
currentScene.destinationScenes.collectAsState()
- val state =
- updateSceneTransitionLayoutState(
- currentSceneKey.toTransitionSceneKey(),
- onChangeScene = viewModel::onSceneChanged,
+ val state: MutableSceneTransitionLayoutState = remember {
+ MutableSceneTransitionLayoutState(
+ initialScene = currentSceneKey.asComposeAware(),
transitions = SceneContainerTransitions,
)
+ }
+
+ DisposableEffect(state) {
+ val dataSource = SceneTransitionLayoutDataSource(state, coroutineScope)
+ dataSourceDelegator.setDelegate(dataSource)
+ onDispose { dataSourceDelegator.setDelegate(null) }
+ }
DisposableEffect(viewModel, state) {
- viewModel.setTransitionState(state.observableTransitionState().map { it.toModel() })
+ viewModel.setTransitionState(
+ state.observableTransitionState().map { it.asComposeUnaware() }
+ )
onDispose { viewModel.setTransitionState(null) }
}
@@ -114,22 +115,22 @@
) {
sceneByKey.forEach { (sceneKey, composableScene) ->
scene(
- key = sceneKey.toTransitionSceneKey(),
+ key = sceneKey.asComposeAware(),
userActions =
if (sceneKey == currentSceneKey) {
currentDestinations
} else {
composableScene.destinationScenes.value
}
- .map { (userAction, destinationSceneModel) ->
- toTransitionModels(userAction, destinationSceneModel)
+ .map { (userAction, userActionResult) ->
+ userAction.asComposeAware() to userActionResult.asComposeAware()
}
.toMap(),
) {
with(composableScene) {
this@scene.Content(
modifier =
- Modifier.element(sceneKey.toTransitionSceneKey().rootElementKey)
+ Modifier.element(sceneKey.asComposeAware().rootElementKey)
.fillMaxSize(),
)
}
@@ -148,62 +149,3 @@
)
}
}
-
-// TODO(b/293899074): remove this once we can use the one from SceneTransitionLayout.
-private fun SceneTransitionObservableTransitionState.toModel(): ObservableTransitionState {
- return when (this) {
- is SceneTransitionObservableTransitionState.Idle ->
- ObservableTransitionState.Idle(scene.toModel().key)
- is SceneTransitionObservableTransitionState.Transition ->
- ObservableTransitionState.Transition(
- fromScene = fromScene.toModel().key,
- toScene = toScene.toModel().key,
- progress = progress,
- isInitiatedByUserInput = isInitiatedByUserInput,
- isUserInputOngoing = isUserInputOngoing,
- )
- }
-}
-
-// TODO(b/293899074): remove this once we can use the one from SceneTransitionLayout.
-private fun toTransitionModels(
- userAction: UserAction,
- sceneModel: SceneModel,
-): Pair<SceneTransitionUserAction, UserActionResult> {
- return userAction.toTransitionUserAction() to sceneModel.key.toTransitionSceneKey()
-}
-
-// TODO(b/293899074): remove this once we can use the one from SceneTransitionLayout.
-private fun SceneTransitionSceneKey.toModel(): SceneModel {
- return SceneModel(key = identity as SceneKey)
-}
-
-// TODO(b/293899074): remove this once we can use the one from SceneTransitionLayout.
-private fun UserAction.toTransitionUserAction(): SceneTransitionUserAction {
- return when (this) {
- is UserAction.Swipe ->
- Swipe(
- pointerCount = pointerCount,
- fromSource =
- when (this.fromEdge) {
- null -> null
- Edge.LEFT -> SceneTransitionEdge.Left
- Edge.TOP -> SceneTransitionEdge.Top
- Edge.RIGHT -> SceneTransitionEdge.Right
- Edge.BOTTOM -> SceneTransitionEdge.Bottom
- },
- direction =
- when (this.direction) {
- Direction.LEFT -> SwipeDirection.Left
- Direction.UP -> SwipeDirection.Up
- Direction.RIGHT -> SwipeDirection.Right
- Direction.DOWN -> SwipeDirection.Down
- }
- )
- is UserAction.Back -> Back
- }
-}
-
-private fun SceneContainerViewModel.onSceneChanged(sceneKey: SceneTransitionSceneKey) {
- onSceneChanged(sceneKey.toModel())
-}
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/SceneContainerTransitions.kt b/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/SceneContainerTransitions.kt
index 2848245..61f8120 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/SceneContainerTransitions.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/SceneContainerTransitions.kt
@@ -1,6 +1,8 @@
package com.android.systemui.scene.ui.composable
import com.android.compose.animation.scene.transitions
+import com.android.systemui.scene.shared.model.TransitionKeys.CollapseShadeInstantly
+import com.android.systemui.scene.shared.model.TransitionKeys.SlightlyFasterShadeCollapse
import com.android.systemui.scene.ui.composable.transitions.bouncerToGoneTransition
import com.android.systemui.scene.ui.composable.transitions.goneToQuickSettingsTransition
import com.android.systemui.scene.ui.composable.transitions.goneToShadeTransition
@@ -26,10 +28,38 @@
val SceneContainerTransitions = transitions {
from(Bouncer, to = Gone) { bouncerToGoneTransition() }
from(Gone, to = Shade) { goneToShadeTransition() }
+ from(
+ Gone,
+ to = Shade,
+ key = CollapseShadeInstantly.asComposeAware(),
+ ) {
+ goneToShadeTransition(durationScale = 0.0)
+ }
+ from(
+ Gone,
+ to = Shade,
+ key = SlightlyFasterShadeCollapse.asComposeAware(),
+ ) {
+ goneToShadeTransition(durationScale = 0.9)
+ }
from(Gone, to = QuickSettings) { goneToQuickSettingsTransition() }
from(Lockscreen, to = Bouncer) { lockscreenToBouncerTransition() }
from(Lockscreen, to = Communal) { lockscreenToCommunalTransition() }
from(Lockscreen, to = Shade) { lockscreenToShadeTransition() }
+ from(
+ Lockscreen,
+ to = Shade,
+ key = CollapseShadeInstantly.asComposeAware(),
+ ) {
+ lockscreenToShadeTransition(durationScale = 0.0)
+ }
+ from(
+ Lockscreen,
+ to = Shade,
+ key = SlightlyFasterShadeCollapse.asComposeAware(),
+ ) {
+ lockscreenToShadeTransition(durationScale = 0.9)
+ }
from(Lockscreen, to = QuickSettings) { lockscreenToQuickSettingsTransition() }
from(Lockscreen, to = Gone) { lockscreenToGoneTransition() }
from(Shade, to = QuickSettings) { shadeToQuickSettingsTransition() }
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/TransitionSceneKeys.kt b/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/TransitionSceneKeys.kt
index 0c66701..5a9add1 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/TransitionSceneKeys.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/TransitionSceneKeys.kt
@@ -1,16 +1,10 @@
package com.android.systemui.scene.ui.composable
-import com.android.compose.animation.scene.SceneKey as SceneTransitionSceneKey
import com.android.systemui.scene.shared.model.SceneKey
-val Lockscreen = SceneKey.Lockscreen.toTransitionSceneKey()
-val Bouncer = SceneKey.Bouncer.toTransitionSceneKey()
-val Shade = SceneKey.Shade.toTransitionSceneKey()
-val QuickSettings = SceneKey.QuickSettings.toTransitionSceneKey()
-val Gone = SceneKey.Gone.toTransitionSceneKey()
-val Communal = SceneKey.Communal.toTransitionSceneKey()
-
-// TODO(b/293899074): Remove this file once we can use the scene keys from SceneTransitionLayout.
-fun SceneKey.toTransitionSceneKey(): SceneTransitionSceneKey {
- return SceneTransitionSceneKey(debugName = toString(), identity = this)
-}
+val Lockscreen = SceneKey.Lockscreen.asComposeAware()
+val Bouncer = SceneKey.Bouncer.asComposeAware()
+val Shade = SceneKey.Shade.asComposeAware()
+val QuickSettings = SceneKey.QuickSettings.asComposeAware()
+val Gone = SceneKey.Gone.asComposeAware()
+val Communal = SceneKey.Communal.asComposeAware()
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/transitions/FromGoneToShadeTransition.kt b/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/transitions/FromGoneToShadeTransition.kt
index 1223ace..6f115d8 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/transitions/FromGoneToShadeTransition.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/transitions/FromGoneToShadeTransition.kt
@@ -6,11 +6,16 @@
import com.android.systemui.notifications.ui.composable.Notifications
import com.android.systemui.qs.ui.composable.QuickSettings
import com.android.systemui.shade.ui.composable.ShadeHeader
+import kotlin.time.Duration.Companion.milliseconds
-fun TransitionBuilder.goneToShadeTransition() {
- spec = tween(durationMillis = 500)
+fun TransitionBuilder.goneToShadeTransition(
+ durationScale: Double = 1.0,
+) {
+ spec = tween(durationMillis = DefaultDuration.times(durationScale).inWholeMilliseconds.toInt())
fractionRange(start = .58f) { fade(ShadeHeader.Elements.CollapsedContent) }
translate(QuickSettings.Elements.Content, y = -ShadeHeader.Dimensions.CollapsedHeight * .66f)
translate(Notifications.Elements.NotificationScrim, Edge.Top, false)
}
+
+private val DefaultDuration = 500.milliseconds
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/transitions/FromLockscreenToShadeTransition.kt b/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/transitions/FromLockscreenToShadeTransition.kt
index 2d5cf5c..e71f996 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/transitions/FromLockscreenToShadeTransition.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/transitions/FromLockscreenToShadeTransition.kt
@@ -6,9 +6,12 @@
import com.android.systemui.notifications.ui.composable.Notifications
import com.android.systemui.qs.ui.composable.QuickSettings
import com.android.systemui.shade.ui.composable.Shade
+import kotlin.time.Duration.Companion.milliseconds
-fun TransitionBuilder.lockscreenToShadeTransition() {
- spec = tween(durationMillis = 500)
+fun TransitionBuilder.lockscreenToShadeTransition(
+ durationScale: Double = 1.0,
+) {
+ spec = tween(durationMillis = DefaultDuration.times(durationScale).inWholeMilliseconds.toInt())
fractionRange(end = 0.5f) {
fade(Shade.Elements.BackgroundScrim)
@@ -20,3 +23,5 @@
}
fractionRange(start = 0.5f) { fade(Notifications.Elements.NotificationScrim) }
}
+
+private val DefaultDuration = 500.milliseconds
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/shade/ui/composable/ShadeScene.kt b/packages/SystemUI/compose/features/src/com/android/systemui/shade/ui/composable/ShadeScene.kt
index cac35cb..25df3e4 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/shade/ui/composable/ShadeScene.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/shade/ui/composable/ShadeScene.kt
@@ -54,8 +54,8 @@
import com.android.systemui.res.R
import com.android.systemui.scene.shared.model.Direction
import com.android.systemui.scene.shared.model.SceneKey
-import com.android.systemui.scene.shared.model.SceneModel
import com.android.systemui.scene.shared.model.UserAction
+import com.android.systemui.scene.shared.model.UserActionResult
import com.android.systemui.scene.ui.composable.ComposableScene
import com.android.systemui.shade.ui.viewmodel.ShadeSceneViewModel
import com.android.systemui.statusbar.phone.StatusBarIconController
@@ -108,7 +108,7 @@
) : ComposableScene {
override val key = SceneKey.Shade
- override val destinationScenes: StateFlow<Map<UserAction, SceneModel>> =
+ override val destinationScenes: StateFlow<Map<UserAction, UserActionResult>> =
viewModel.upDestinationSceneKey
.map { sceneKey -> destinationScenes(up = sceneKey) }
.stateIn(
@@ -139,10 +139,10 @@
private fun destinationScenes(
up: SceneKey,
- ): Map<UserAction, SceneModel> {
+ ): Map<UserAction, UserActionResult> {
return mapOf(
- UserAction.Swipe(Direction.UP) to SceneModel(up),
- UserAction.Swipe(Direction.DOWN) to SceneModel(SceneKey.QuickSettings),
+ UserAction.Swipe(Direction.UP) to UserActionResult(up),
+ UserAction.Swipe(Direction.DOWN) to UserActionResult(SceneKey.QuickSettings),
)
}
}
diff --git a/packages/SystemUI/customization/src/com/android/systemui/util/ThreadAssert.kt b/packages/SystemUI/customization/src/com/android/systemui/util/ThreadAssert.kt
new file mode 100644
index 0000000..ccbf4ef
--- /dev/null
+++ b/packages/SystemUI/customization/src/com/android/systemui/util/ThreadAssert.kt
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.systemui.util
+
+/** Injectable helper providing thread assertions. */
+class ThreadAssert() {
+ fun isMainThread() = Assert.isMainThread()
+ fun isNotMainThread() = Assert.isNotMainThread()
+}
diff --git a/packages/SystemUI/multivalentTests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.kt b/packages/SystemUI/multivalentTests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.kt
index e8a43ac..38dc24e 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.kt
@@ -64,9 +64,10 @@
import com.android.systemui.scene.domain.interactor.SceneInteractor
import com.android.systemui.scene.domain.interactor.sceneInteractor
import com.android.systemui.scene.shared.flag.fakeSceneContainerFlags
+import com.android.systemui.scene.shared.model.FakeSceneDataSource
import com.android.systemui.scene.shared.model.ObservableTransitionState
import com.android.systemui.scene.shared.model.SceneKey
-import com.android.systemui.scene.shared.model.SceneModel
+import com.android.systemui.scene.shared.model.fakeSceneDataSource
import com.android.systemui.shared.Flags.FLAG_SIDEFPS_CONTROLLER_REFACTOR
import com.android.systemui.statusbar.policy.ConfigurationController
import com.android.systemui.statusbar.policy.DevicePostureController
@@ -170,6 +171,7 @@
private lateinit var deviceEntryInteractor: DeviceEntryInteractor
@Mock private lateinit var primaryBouncerInteractor: Lazy<PrimaryBouncerInteractor>
private lateinit var sceneTransitionStateFlow: MutableStateFlow<ObservableTransitionState>
+ private lateinit var fakeSceneDataSource: FakeSceneDataSource
private lateinit var underTest: KeyguardSecurityContainerController
@@ -246,6 +248,8 @@
sceneInteractor.setTransitionState(sceneTransitionStateFlow)
deviceEntryInteractor = kosmos.deviceEntryInteractor
+ fakeSceneDataSource = kosmos.fakeSceneDataSource
+
underTest =
KeyguardSecurityContainerController(
view,
@@ -810,7 +814,8 @@
// is
// not enough to trigger a dismissal of the keyguard.
underTest.onViewAttached()
- sceneInteractor.changeScene(SceneModel(SceneKey.Bouncer, null), "reason")
+ fakeSceneDataSource.pause()
+ sceneInteractor.changeScene(SceneKey.Bouncer, "reason")
sceneTransitionStateFlow.value =
ObservableTransitionState.Transition(
SceneKey.Lockscreen,
@@ -820,7 +825,7 @@
isUserInputOngoing = flowOf(false),
)
runCurrent()
- sceneInteractor.onSceneChanged(SceneModel(SceneKey.Bouncer, null), "reason")
+ fakeSceneDataSource.unpause(expectedScene = SceneKey.Bouncer)
sceneTransitionStateFlow.value = ObservableTransitionState.Idle(SceneKey.Bouncer)
runCurrent()
verify(viewMediatorCallback, never()).keyguardDone(anyInt())
@@ -829,7 +834,8 @@
// keyguard.
kosmos.fakeDeviceEntryRepository.setUnlocked(true)
runCurrent()
- sceneInteractor.changeScene(SceneModel(SceneKey.Gone, null), "reason")
+ fakeSceneDataSource.pause()
+ sceneInteractor.changeScene(SceneKey.Gone, "reason")
sceneTransitionStateFlow.value =
ObservableTransitionState.Transition(
SceneKey.Bouncer,
@@ -839,7 +845,7 @@
isUserInputOngoing = flowOf(false),
)
runCurrent()
- sceneInteractor.onSceneChanged(SceneModel(SceneKey.Gone, null), "reason")
+ fakeSceneDataSource.unpause(expectedScene = SceneKey.Gone)
sceneTransitionStateFlow.value = ObservableTransitionState.Idle(SceneKey.Gone)
runCurrent()
verify(viewMediatorCallback).keyguardDone(anyInt())
@@ -847,7 +853,8 @@
// While listening, moving back to the bouncer scene does not dismiss the keyguard
// again.
clearInvocations(viewMediatorCallback)
- sceneInteractor.changeScene(SceneModel(SceneKey.Bouncer, null), "reason")
+ fakeSceneDataSource.pause()
+ sceneInteractor.changeScene(SceneKey.Bouncer, "reason")
sceneTransitionStateFlow.value =
ObservableTransitionState.Transition(
SceneKey.Gone,
@@ -857,7 +864,7 @@
isUserInputOngoing = flowOf(false),
)
runCurrent()
- sceneInteractor.onSceneChanged(SceneModel(SceneKey.Bouncer, null), "reason")
+ fakeSceneDataSource.unpause(expectedScene = SceneKey.Bouncer)
sceneTransitionStateFlow.value = ObservableTransitionState.Idle(SceneKey.Bouncer)
runCurrent()
verify(viewMediatorCallback, never()).keyguardDone(anyInt())
@@ -866,7 +873,8 @@
// scene
// does not dismiss the keyguard while we're not listening.
underTest.onViewDetached()
- sceneInteractor.changeScene(SceneModel(SceneKey.Gone, null), "reason")
+ fakeSceneDataSource.pause()
+ sceneInteractor.changeScene(SceneKey.Gone, "reason")
sceneTransitionStateFlow.value =
ObservableTransitionState.Transition(
SceneKey.Bouncer,
@@ -876,13 +884,14 @@
isUserInputOngoing = flowOf(false),
)
runCurrent()
- sceneInteractor.onSceneChanged(SceneModel(SceneKey.Gone, null), "reason")
+ fakeSceneDataSource.unpause(expectedScene = SceneKey.Gone)
sceneTransitionStateFlow.value = ObservableTransitionState.Idle(SceneKey.Gone)
runCurrent()
verify(viewMediatorCallback, never()).keyguardDone(anyInt())
// While not listening, moving to the lockscreen does not dismiss the keyguard.
- sceneInteractor.changeScene(SceneModel(SceneKey.Lockscreen, null), "reason")
+ fakeSceneDataSource.pause()
+ sceneInteractor.changeScene(SceneKey.Lockscreen, "reason")
sceneTransitionStateFlow.value =
ObservableTransitionState.Transition(
SceneKey.Gone,
@@ -892,7 +901,7 @@
isUserInputOngoing = flowOf(false),
)
runCurrent()
- sceneInteractor.onSceneChanged(SceneModel(SceneKey.Lockscreen, null), "reason")
+ fakeSceneDataSource.unpause(expectedScene = SceneKey.Lockscreen)
sceneTransitionStateFlow.value = ObservableTransitionState.Idle(SceneKey.Lockscreen)
runCurrent()
verify(viewMediatorCallback, never()).keyguardDone(anyInt())
@@ -900,7 +909,8 @@
// Reattaching the view starts listening again so moving from the bouncer scene to the
// gone scene now does dismiss the keyguard again, this time from lockscreen.
underTest.onViewAttached()
- sceneInteractor.changeScene(SceneModel(SceneKey.Gone, null), "reason")
+ fakeSceneDataSource.pause()
+ sceneInteractor.changeScene(SceneKey.Gone, "reason")
sceneTransitionStateFlow.value =
ObservableTransitionState.Transition(
SceneKey.Lockscreen,
@@ -910,7 +920,7 @@
isUserInputOngoing = flowOf(false),
)
runCurrent()
- sceneInteractor.onSceneChanged(SceneModel(SceneKey.Gone, null), "reason")
+ fakeSceneDataSource.unpause(expectedScene = SceneKey.Gone)
sceneTransitionStateFlow.value = ObservableTransitionState.Idle(SceneKey.Gone)
runCurrent()
verify(viewMediatorCallback).keyguardDone(anyInt())
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/accessibility/data/repository/AccessibilityQsShortcutsRepositoryImplTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/accessibility/data/repository/AccessibilityQsShortcutsRepositoryImplTest.kt
index c2f0c6f..40ea0a0 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/accessibility/data/repository/AccessibilityQsShortcutsRepositoryImplTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/accessibility/data/repository/AccessibilityQsShortcutsRepositoryImplTest.kt
@@ -17,6 +17,7 @@
package com.android.systemui.accessibility.data.repository
import android.provider.Settings
+import android.view.accessibility.AccessibilityManager
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase
@@ -26,13 +27,22 @@
import kotlinx.coroutines.test.StandardTestDispatcher
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.runTest
+import org.junit.Before
+import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
+import org.mockito.Mock
+import org.mockito.junit.MockitoJUnit
+import org.mockito.junit.MockitoRule
@SmallTest
@RunWith(AndroidJUnit4::class)
@android.platform.test.annotations.EnabledOnRavenwood
class AccessibilityQsShortcutsRepositoryImplTest : SysuiTestCase() {
+ @Rule @JvmField val mockitoRule: MockitoRule = MockitoJUnit.rule()
+
+ // mocks
+ @Mock private lateinit var a11yManager: AccessibilityManager
private val testDispatcher = StandardTestDispatcher()
private val testScope = TestScope(testDispatcher)
private val secureSettings = FakeSettings()
@@ -49,8 +59,17 @@
}
}
- private val underTest =
- AccessibilityQsShortcutsRepositoryImpl(userA11yQsShortcutsRepositoryFactory)
+ private lateinit var underTest: AccessibilityQsShortcutsRepositoryImpl
+
+ @Before
+ fun setUp() {
+ underTest =
+ AccessibilityQsShortcutsRepositoryImpl(
+ a11yManager,
+ userA11yQsShortcutsRepositoryFactory,
+ testDispatcher
+ )
+ }
@Test
fun a11yQsShortcutTargetsForCorrectUsers() =
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/PasswordBouncerViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/PasswordBouncerViewModelTest.kt
index fbb5415..ad29e68 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/PasswordBouncerViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/PasswordBouncerViewModelTest.kt
@@ -34,7 +34,6 @@
import com.android.systemui.res.R
import com.android.systemui.scene.domain.interactor.sceneInteractor
import com.android.systemui.scene.shared.model.SceneKey
-import com.android.systemui.scene.shared.model.SceneModel
import com.android.systemui.testKosmos
import com.android.systemui.user.data.model.SelectedUserModel
import com.android.systemui.user.data.model.SelectionStatus
@@ -87,14 +86,14 @@
@Test
fun onShown() =
testScope.runTest {
- val currentScene by collectLastValue(sceneInteractor.desiredScene)
+ val currentScene by collectLastValue(sceneInteractor.currentScene)
val message by collectLastValue(bouncerViewModel.message)
val password by collectLastValue(underTest.password)
lockDeviceAndOpenPasswordBouncer()
assertThat(message?.text).isEqualTo(ENTER_YOUR_PASSWORD)
assertThat(password).isEmpty()
- assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Bouncer))
+ assertThat(currentScene).isEqualTo(SceneKey.Bouncer)
assertThat(underTest.authenticationMethod).isEqualTo(AuthenticationMethodModel.Password)
}
@@ -117,7 +116,7 @@
@Test
fun onPasswordInputChanged() =
testScope.runTest {
- val currentScene by collectLastValue(sceneInteractor.desiredScene)
+ val currentScene by collectLastValue(sceneInteractor.currentScene)
val message by collectLastValue(bouncerViewModel.message)
val password by collectLastValue(underTest.password)
lockDeviceAndOpenPasswordBouncer()
@@ -126,7 +125,7 @@
assertThat(message?.text).isEmpty()
assertThat(password).isEqualTo("password")
- assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Bouncer))
+ assertThat(currentScene).isEqualTo(SceneKey.Bouncer)
}
@Test
@@ -201,7 +200,7 @@
@Test
fun onShown_againAfterSceneChange_resetsPassword() =
testScope.runTest {
- val currentScene by collectLastValue(sceneInteractor.desiredScene)
+ val currentScene by collectLastValue(sceneInteractor.currentScene)
val password by collectLastValue(underTest.password)
lockDeviceAndOpenPasswordBouncer()
@@ -217,7 +216,7 @@
// Ensure the previously-entered password is not shown.
assertThat(password).isEmpty()
- assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Bouncer))
+ assertThat(currentScene).isEqualTo(SceneKey.Bouncer)
}
@Test
@@ -330,16 +329,15 @@
}
private fun TestScope.switchToScene(toScene: SceneKey) {
- val currentScene by collectLastValue(sceneInteractor.desiredScene)
- val bouncerShown = currentScene?.key != SceneKey.Bouncer && toScene == SceneKey.Bouncer
- val bouncerHidden = currentScene?.key == SceneKey.Bouncer && toScene != SceneKey.Bouncer
- sceneInteractor.changeScene(SceneModel(toScene), "reason")
- sceneInteractor.onSceneChanged(SceneModel(toScene), "reason")
+ val currentScene by collectLastValue(sceneInteractor.currentScene)
+ val bouncerShown = currentScene != SceneKey.Bouncer && toScene == SceneKey.Bouncer
+ val bouncerHidden = currentScene == SceneKey.Bouncer && toScene != SceneKey.Bouncer
+ sceneInteractor.changeScene(toScene, "reason")
if (bouncerShown) underTest.onShown()
if (bouncerHidden) underTest.onHidden()
runCurrent()
- assertThat(currentScene).isEqualTo(SceneModel(toScene))
+ assertThat(currentScene).isEqualTo(toScene)
}
private fun TestScope.lockDeviceAndOpenPasswordBouncer() {
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/PatternBouncerViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/PatternBouncerViewModelTest.kt
index 725bdbd..32de1f2 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/PatternBouncerViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/PatternBouncerViewModelTest.kt
@@ -32,7 +32,6 @@
import com.android.systemui.res.R
import com.android.systemui.scene.domain.interactor.sceneInteractor
import com.android.systemui.scene.shared.model.SceneKey
-import com.android.systemui.scene.shared.model.SceneModel
import com.android.systemui.testKosmos
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
@@ -78,7 +77,7 @@
@Test
fun onShown() =
testScope.runTest {
- val currentScene by collectLastValue(sceneInteractor.desiredScene)
+ val currentScene by collectLastValue(sceneInteractor.currentScene)
val message by collectLastValue(bouncerViewModel.message)
val selectedDots by collectLastValue(underTest.selectedDots)
val currentDot by collectLastValue(underTest.currentDot)
@@ -87,14 +86,14 @@
assertThat(message?.text).isEqualTo(ENTER_YOUR_PATTERN)
assertThat(selectedDots).isEmpty()
assertThat(currentDot).isNull()
- assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Bouncer))
+ assertThat(currentScene).isEqualTo(SceneKey.Bouncer)
assertThat(underTest.authenticationMethod).isEqualTo(AuthenticationMethodModel.Pattern)
}
@Test
fun onDragStart() =
testScope.runTest {
- val currentScene by collectLastValue(sceneInteractor.desiredScene)
+ val currentScene by collectLastValue(sceneInteractor.currentScene)
val message by collectLastValue(bouncerViewModel.message)
val selectedDots by collectLastValue(underTest.selectedDots)
val currentDot by collectLastValue(underTest.currentDot)
@@ -105,7 +104,7 @@
assertThat(message?.text).isEmpty()
assertThat(selectedDots).isEmpty()
assertThat(currentDot).isNull()
- assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Bouncer))
+ assertThat(currentScene).isEqualTo(SceneKey.Bouncer)
}
@Test
@@ -147,7 +146,7 @@
@Test
fun onDragEnd_whenWrong() =
testScope.runTest {
- val currentScene by collectLastValue(sceneInteractor.desiredScene)
+ val currentScene by collectLastValue(sceneInteractor.currentScene)
val message by collectLastValue(bouncerViewModel.message)
val selectedDots by collectLastValue(underTest.selectedDots)
val currentDot by collectLastValue(underTest.currentDot)
@@ -160,7 +159,7 @@
assertThat(selectedDots).isEmpty()
assertThat(currentDot).isNull()
assertThat(message?.text).isEqualTo(WRONG_PATTERN)
- assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Bouncer))
+ assertThat(currentScene).isEqualTo(SceneKey.Bouncer)
}
@Test
@@ -369,16 +368,15 @@
}
private fun TestScope.switchToScene(toScene: SceneKey) {
- val currentScene by collectLastValue(sceneInteractor.desiredScene)
- val bouncerShown = currentScene?.key != SceneKey.Bouncer && toScene == SceneKey.Bouncer
- val bouncerHidden = currentScene?.key == SceneKey.Bouncer && toScene != SceneKey.Bouncer
- sceneInteractor.changeScene(SceneModel(toScene), "reason")
- sceneInteractor.onSceneChanged(SceneModel(toScene), "reason")
+ val currentScene by collectLastValue(sceneInteractor.currentScene)
+ val bouncerShown = currentScene != SceneKey.Bouncer && toScene == SceneKey.Bouncer
+ val bouncerHidden = currentScene == SceneKey.Bouncer && toScene != SceneKey.Bouncer
+ sceneInteractor.changeScene(toScene, "reason")
if (bouncerShown) underTest.onShown()
if (bouncerHidden) underTest.onHidden()
runCurrent()
- assertThat(currentScene).isEqualTo(SceneModel(toScene))
+ assertThat(currentScene).isEqualTo(toScene)
}
private fun TestScope.lockDeviceAndOpenPatternBouncer() {
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/PinBouncerViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/PinBouncerViewModelTest.kt
index 06e1258..ccf7094 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/PinBouncerViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/PinBouncerViewModelTest.kt
@@ -32,7 +32,6 @@
import com.android.systemui.res.R
import com.android.systemui.scene.domain.interactor.sceneInteractor
import com.android.systemui.scene.shared.model.SceneKey
-import com.android.systemui.scene.shared.model.SceneModel
import com.android.systemui.testKosmos
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -63,12 +62,12 @@
fun setUp() {
underTest =
PinBouncerViewModel(
- applicationContext = context,
- viewModelScope = testScope.backgroundScope,
- interactor = bouncerInteractor,
- isInputEnabled = MutableStateFlow(true).asStateFlow(),
- simBouncerInteractor = kosmos.simBouncerInteractor,
- authenticationMethod = AuthenticationMethodModel.Pin,
+ applicationContext = context,
+ viewModelScope = testScope.backgroundScope,
+ interactor = bouncerInteractor,
+ isInputEnabled = MutableStateFlow(true).asStateFlow(),
+ simBouncerInteractor = kosmos.simBouncerInteractor,
+ authenticationMethod = AuthenticationMethodModel.Pin,
)
overrideResource(R.string.keyguard_enter_your_pin, ENTER_YOUR_PIN)
@@ -182,7 +181,7 @@
@Test
fun onBackspaceButtonLongPressed() =
testScope.runTest {
- val currentScene by collectLastValue(sceneInteractor.desiredScene)
+ val currentScene by collectLastValue(sceneInteractor.currentScene)
val message by collectLastValue(bouncerViewModel.message)
val pin by collectLastValue(underTest.pinInput.map { it.getPin() })
lockDeviceAndOpenPinBouncer()
@@ -197,7 +196,7 @@
assertThat(message?.text).isEmpty()
assertThat(pin).isEmpty()
- assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Bouncer))
+ assertThat(currentScene).isEqualTo(SceneKey.Bouncer)
}
@Test
@@ -216,7 +215,7 @@
@Test
fun onAuthenticateButtonClicked_whenWrong() =
testScope.runTest {
- val currentScene by collectLastValue(sceneInteractor.desiredScene)
+ val currentScene by collectLastValue(sceneInteractor.currentScene)
val message by collectLastValue(bouncerViewModel.message)
val pin by collectLastValue(underTest.pinInput.map { it.getPin() })
lockDeviceAndOpenPinBouncer()
@@ -231,7 +230,7 @@
assertThat(pin).isEmpty()
assertThat(message?.text).ignoringCase().isEqualTo(WRONG_PIN)
- assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Bouncer))
+ assertThat(currentScene).isEqualTo(SceneKey.Bouncer)
}
@Test
@@ -276,7 +275,7 @@
@Test
fun onAutoConfirm_whenWrong() =
testScope.runTest {
- val currentScene by collectLastValue(sceneInteractor.desiredScene)
+ val currentScene by collectLastValue(sceneInteractor.currentScene)
val message by collectLastValue(bouncerViewModel.message)
val pin by collectLastValue(underTest.pinInput.map { it.getPin() })
kosmos.fakeAuthenticationRepository.setAutoConfirmFeatureEnabled(true)
@@ -291,7 +290,7 @@
assertThat(pin).isEmpty()
assertThat(message?.text).ignoringCase().isEqualTo(WRONG_PIN)
- assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Bouncer))
+ assertThat(currentScene).isEqualTo(SceneKey.Bouncer)
}
@Test
@@ -389,16 +388,15 @@
}
private fun TestScope.switchToScene(toScene: SceneKey) {
- val currentScene by collectLastValue(sceneInteractor.desiredScene)
- val bouncerShown = currentScene?.key != SceneKey.Bouncer && toScene == SceneKey.Bouncer
- val bouncerHidden = currentScene?.key == SceneKey.Bouncer && toScene != SceneKey.Bouncer
- sceneInteractor.changeScene(SceneModel(toScene), "reason")
- sceneInteractor.onSceneChanged(SceneModel(toScene), "reason")
+ val currentScene by collectLastValue(sceneInteractor.currentScene)
+ val bouncerShown = currentScene != SceneKey.Bouncer && toScene == SceneKey.Bouncer
+ val bouncerHidden = currentScene == SceneKey.Bouncer && toScene != SceneKey.Bouncer
+ sceneInteractor.changeScene(toScene, "reason")
if (bouncerShown) underTest.onShown()
if (bouncerHidden) underTest.onHidden()
runCurrent()
- assertThat(currentScene).isEqualTo(SceneModel(toScene))
+ assertThat(currentScene).isEqualTo(toScene)
}
private fun TestScope.lockDeviceAndOpenPinBouncer() {
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/communal/data/repository/CommunalRepositoryImplTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/communal/data/repository/CommunalRepositoryImplTest.kt
index b4e2eab..5b20ae5 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/communal/data/repository/CommunalRepositoryImplTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/communal/data/repository/CommunalRepositoryImplTest.kt
@@ -26,7 +26,6 @@
import com.android.systemui.scene.data.repository.sceneContainerRepository
import com.android.systemui.scene.shared.flag.fakeSceneContainerFlags
import com.android.systemui.scene.shared.model.SceneKey
-import com.android.systemui.scene.shared.model.SceneModel
import com.android.systemui.testKosmos
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.flow.flowOf
@@ -80,7 +79,7 @@
testScope.runTest {
underTest = createRepositoryImpl(true)
- sceneContainerRepository.setDesiredScene(SceneModel(key = SceneKey.Communal))
+ sceneContainerRepository.changeScene(SceneKey.Communal)
val isCommunalHubShowing by collectLastValue(underTest.isCommunalHubShowing)
assertThat(isCommunalHubShowing).isTrue()
@@ -91,7 +90,7 @@
testScope.runTest {
underTest = createRepositoryImpl(true)
- sceneContainerRepository.setDesiredScene(SceneModel(key = SceneKey.Lockscreen))
+ sceneContainerRepository.changeScene(SceneKey.Lockscreen)
val isCommunalHubShowing by collectLastValue(underTest.isCommunalHubShowing)
assertThat(isCommunalHubShowing).isFalse()
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryBiometricSettingsInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryBiometricSettingsInteractorTest.kt
new file mode 100644
index 0000000..2e9ee5c
--- /dev/null
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryBiometricSettingsInteractorTest.kt
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.deviceentry.domain.interactor
+
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.SmallTest
+import com.android.systemui.SysuiTestCase
+import com.android.systemui.coroutines.collectLastValue
+import com.android.systemui.keyguard.data.repository.biometricSettingsRepository
+import com.android.systemui.testKosmos
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.test.runTest
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@OptIn(ExperimentalCoroutinesApi::class)
+@SmallTest
+@RunWith(AndroidJUnit4::class)
+class DeviceEntryBiometricSettingsInteractorTest : SysuiTestCase() {
+ private val kosmos = testKosmos()
+ private val biometricSettingsRepository = kosmos.biometricSettingsRepository
+ private val underTest = kosmos.deviceEntryBiometricSettingsInteractor
+
+ @Test
+ fun isCoex_true() = runTest {
+ val isCoex by collectLastValue(underTest.fingerprintAndFaceEnrolledAndEnabled)
+ biometricSettingsRepository.setIsFaceAuthEnrolledAndEnabled(true)
+ biometricSettingsRepository.setIsFingerprintAuthEnrolledAndEnabled(true)
+ assertThat(isCoex).isTrue()
+ }
+
+ @Test
+ fun isCoex_faceOnly() = runTest {
+ val isCoex by collectLastValue(underTest.fingerprintAndFaceEnrolledAndEnabled)
+ biometricSettingsRepository.setIsFaceAuthEnrolledAndEnabled(true)
+ biometricSettingsRepository.setIsFingerprintAuthEnrolledAndEnabled(false)
+ assertThat(isCoex).isFalse()
+ }
+
+ @Test
+ fun isCoex_fingerprintOnly() = runTest {
+ val isCoex by collectLastValue(underTest.fingerprintAndFaceEnrolledAndEnabled)
+ biometricSettingsRepository.setIsFaceAuthEnrolledAndEnabled(false)
+ biometricSettingsRepository.setIsFingerprintAuthEnrolledAndEnabled(true)
+ assertThat(isCoex).isFalse()
+ }
+}
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryInteractorTest.kt
index 05b5891..98719dd3 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryInteractorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryInteractorTest.kt
@@ -32,7 +32,6 @@
import com.android.systemui.scene.domain.interactor.sceneInteractor
import com.android.systemui.scene.shared.flag.fakeSceneContainerFlags
import com.android.systemui.scene.shared.model.SceneKey
-import com.android.systemui.scene.shared.model.SceneModel
import com.android.systemui.testKosmos
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -311,9 +310,9 @@
@Test
fun showOrUnlockDevice_notLocked_switchesToGoneScene() =
testScope.runTest {
- val currentScene by collectLastValue(sceneInteractor.desiredScene)
+ val currentScene by collectLastValue(sceneInteractor.currentScene)
switchToScene(SceneKey.Lockscreen)
- assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Lockscreen))
+ assertThat(currentScene).isEqualTo(SceneKey.Lockscreen)
kosmos.fakeAuthenticationRepository.setAuthenticationMethod(
AuthenticationMethodModel.Pin
@@ -323,15 +322,15 @@
underTest.attemptDeviceEntry()
- assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Gone))
+ assertThat(currentScene).isEqualTo(SceneKey.Gone)
}
@Test
fun showOrUnlockDevice_authMethodNotSecure_switchesToGoneScene() =
testScope.runTest {
- val currentScene by collectLastValue(sceneInteractor.desiredScene)
+ val currentScene by collectLastValue(sceneInteractor.currentScene)
switchToScene(SceneKey.Lockscreen)
- assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Lockscreen))
+ assertThat(currentScene).isEqualTo(SceneKey.Lockscreen)
kosmos.fakeAuthenticationRepository.setAuthenticationMethod(
AuthenticationMethodModel.None
@@ -340,15 +339,15 @@
underTest.attemptDeviceEntry()
- assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Gone))
+ assertThat(currentScene).isEqualTo(SceneKey.Gone)
}
@Test
fun showOrUnlockDevice_authMethodSwipe_switchesToGoneScene() =
testScope.runTest {
- val currentScene by collectLastValue(sceneInteractor.desiredScene)
+ val currentScene by collectLastValue(sceneInteractor.currentScene)
switchToScene(SceneKey.Lockscreen)
- assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Lockscreen))
+ assertThat(currentScene).isEqualTo(SceneKey.Lockscreen)
kosmos.fakeDeviceEntryRepository.setLockscreenEnabled(true)
kosmos.fakeAuthenticationRepository.setAuthenticationMethod(
@@ -358,7 +357,7 @@
underTest.attemptDeviceEntry()
- assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Gone))
+ assertThat(currentScene).isEqualTo(SceneKey.Gone)
}
@Test
@@ -384,6 +383,6 @@
}
private fun switchToScene(sceneKey: SceneKey) {
- sceneInteractor.changeScene(SceneModel(sceneKey), "reason")
+ sceneInteractor.changeScene(sceneKey, "reason")
}
}
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/DreamingToLockscreenTransitionViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/DreamingToLockscreenTransitionViewModelTest.kt
index 89e29cf..9da34da 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/DreamingToLockscreenTransitionViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/DreamingToLockscreenTransitionViewModelTest.kt
@@ -19,13 +19,13 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase
-import com.android.systemui.biometrics.data.repository.fingerprintPropertyRepository
import com.android.systemui.biometrics.data.repository.FakeFingerprintPropertyRepository
+import com.android.systemui.biometrics.data.repository.fingerprintPropertyRepository
import com.android.systemui.biometrics.shared.model.FingerprintSensorType
import com.android.systemui.biometrics.shared.model.SensorStrength
import com.android.systemui.coroutines.collectValues
-import com.android.systemui.keyguard.data.repository.fakeKeyguardTransitionRepository
import com.android.systemui.keyguard.data.repository.FakeKeyguardTransitionRepository
+import com.android.systemui.keyguard.data.repository.fakeKeyguardTransitionRepository
import com.android.systemui.keyguard.shared.model.KeyguardState.AOD
import com.android.systemui.keyguard.shared.model.KeyguardState.DOZING
import com.android.systemui.keyguard.shared.model.KeyguardState.DREAMING
@@ -198,33 +198,6 @@
values.forEach { assertThat(it).isEqualTo(1f) }
}
-
- @Test
- fun deviceEntryBackground_noUdfps_noUpdates() =
- testScope.runTest {
- fingerprintPropertyRepository.setProperties(
- sensorId = 0,
- strength = SensorStrength.STRONG,
- sensorType = FingerprintSensorType.REAR,
- sensorLocations = emptyMap(),
- )
- val values by collectValues(underTest.deviceEntryBackgroundViewAlpha)
-
- keyguardTransitionRepository.sendTransitionSteps(
- listOf(
- step(0f, TransitionState.STARTED),
- step(0f),
- step(0.1f),
- step(0.2f),
- step(0.3f),
- step(1f),
- ),
- testScope,
- )
-
- assertThat(values.size).isEqualTo(0) // no updates
- }
-
@Test
fun lockscreenTranslationY() =
testScope.runTest {
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenSceneViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenSceneViewModelTest.kt
index 7261723..3455050 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenSceneViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenSceneViewModelTest.kt
@@ -36,7 +36,6 @@
import com.android.systemui.kosmos.testScope
import com.android.systemui.scene.domain.interactor.sceneInteractor
import com.android.systemui.scene.shared.model.SceneKey
-import com.android.systemui.scene.shared.model.SceneModel
import com.android.systemui.statusbar.notification.stack.ui.viewmodel.notificationsPlaceholderViewModel
import com.android.systemui.testKosmos
import com.android.systemui.user.data.repository.fakeUserRepository
@@ -66,7 +65,7 @@
)
kosmos.fakeDeviceEntryRepository.setLockscreenEnabled(true)
kosmos.fakeDeviceEntryRepository.setUnlocked(true)
- sceneInteractor.changeScene(SceneModel(SceneKey.Lockscreen), "reason")
+ sceneInteractor.changeScene(SceneKey.Lockscreen, "reason")
assertThat(upTransitionSceneKey).isEqualTo(SceneKey.Gone)
}
@@ -79,7 +78,7 @@
AuthenticationMethodModel.Pin
)
kosmos.fakeDeviceEntryRepository.setUnlocked(false)
- sceneInteractor.changeScene(SceneModel(SceneKey.Lockscreen), "reason")
+ sceneInteractor.changeScene(SceneKey.Lockscreen, "reason")
assertThat(upTransitionSceneKey).isEqualTo(SceneKey.Bouncer)
}
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToGoneTransitionViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToGoneTransitionViewModelTest.kt
index 6fc5be1..15cf83c 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToGoneTransitionViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToGoneTransitionViewModelTest.kt
@@ -53,7 +53,7 @@
val keyguardTransitionRepository = kosmos.fakeKeyguardTransitionRepository
val primaryBouncerInteractor = kosmos.mockPrimaryBouncerInteractor
- val sysuiStatusBarStateController = kosmos.sysuiStatusBarStateController
+ private val sysuiStatusBarStateController = kosmos.sysuiStatusBarStateController
val underTest by lazy { kosmos.primaryBouncerToGoneTransitionViewModel }
@Before
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/pipeline/domain/interactor/AccessibilityTilesInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/pipeline/domain/interactor/AccessibilityTilesInteractorTest.kt
new file mode 100644
index 0000000..61e4774
--- /dev/null
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/pipeline/domain/interactor/AccessibilityTilesInteractorTest.kt
@@ -0,0 +1,169 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.qs.pipeline.domain.interactor
+
+import android.content.Context
+import android.content.pm.UserInfo
+import android.os.UserHandle
+import android.platform.test.annotations.DisableFlags
+import android.platform.test.annotations.EnableFlags
+import android.view.accessibility.Flags
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.SmallTest
+import com.android.systemui.SysuiTestCase
+import com.android.systemui.accessibility.data.repository.FakeAccessibilityQsShortcutsRepository
+import com.android.systemui.qs.FakeQSFactory
+import com.android.systemui.qs.pipeline.domain.model.TileModel
+import com.android.systemui.qs.pipeline.shared.TileSpec
+import com.android.systemui.qs.tiles.ColorCorrectionTile
+import com.android.systemui.qs.tiles.ColorInversionTile
+import com.android.systemui.util.mockito.mock
+import com.android.systemui.util.mockito.whenever
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.test.StandardTestDispatcher
+import kotlinx.coroutines.test.TestScope
+import kotlinx.coroutines.test.runCurrent
+import kotlinx.coroutines.test.runTest
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.Mockito.mock
+
+@SmallTest
+@RunWith(AndroidJUnit4::class)
+@OptIn(ExperimentalCoroutinesApi::class)
+class AccessibilityTilesInteractorTest : SysuiTestCase() {
+ private val USER_0_INFO =
+ UserInfo(
+ 0,
+ "zero",
+ "",
+ UserInfo.FLAG_ADMIN or UserInfo.FLAG_FULL,
+ )
+
+ private val USER_1_INFO =
+ UserInfo(
+ 1,
+ "one",
+ "",
+ UserInfo.FLAG_ADMIN or UserInfo.FLAG_FULL,
+ )
+
+ private val USER_0_TILES = listOf(TileSpec.create(ColorInversionTile.TILE_SPEC))
+ private val USER_1_TILES = listOf(TileSpec.create(ColorCorrectionTile.TILE_SPEC))
+ private lateinit var currentTilesInteractor: CurrentTilesInteractor
+ private lateinit var a11yQsShortcutsRepository: FakeAccessibilityQsShortcutsRepository
+ private lateinit var underTest: AccessibilityTilesInteractor
+ private lateinit var currentTiles: MutableStateFlow<List<TileModel>>
+ private lateinit var userContext: MutableStateFlow<Context>
+ private lateinit var qsFactory: FakeQSFactory
+ private val testDispatcher = StandardTestDispatcher()
+ private val testScope = TestScope(testDispatcher)
+
+ @Before
+ fun setUp() {
+ a11yQsShortcutsRepository = FakeAccessibilityQsShortcutsRepository()
+
+ qsFactory = FakeQSFactory { spec: String ->
+ FakeQSTile(userContext.value.userId).also { it.setTileSpec(spec) }
+ }
+ currentTiles = MutableStateFlow(emptyList())
+ userContext = MutableStateFlow(mock(Context::class.java))
+ setUser(USER_0_INFO)
+
+ currentTilesInteractor = mock()
+ whenever(currentTilesInteractor.currentTiles).thenReturn(currentTiles)
+ whenever(currentTilesInteractor.userContext).thenReturn(userContext)
+ }
+
+ @Test
+ @DisableFlags(Flags.FLAG_A11Y_QS_SHORTCUT)
+ fun currentTilesChanged_a11yQsShortcutFlagOff_nothingHappen() =
+ testScope.runTest {
+ underTest = createInteractor()
+
+ setTiles(USER_0_TILES)
+ runCurrent()
+
+ assertThat(a11yQsShortcutsRepository.notifyA11yManagerTilesChangedRequests).isEmpty()
+ }
+
+ @Test
+ @EnableFlags(Flags.FLAG_A11Y_QS_SHORTCUT)
+ fun currentTilesChanged_a11yQsShortcutFlagOn_notifyAccessibilityRepository() =
+ testScope.runTest {
+ underTest = createInteractor()
+
+ setTiles(USER_0_TILES)
+ runCurrent()
+
+ val requests = a11yQsShortcutsRepository.notifyA11yManagerTilesChangedRequests
+ assertThat(requests).hasSize(1)
+ with(requests[0]) {
+ assertThat(this.userContext.userId).isEqualTo(USER_0_INFO.id)
+ assertThat(this.tiles).isEqualTo(USER_0_TILES)
+ }
+ }
+
+ @Test
+ @EnableFlags(Flags.FLAG_A11Y_QS_SHORTCUT)
+ fun userChanged_a11yQsShortcutFlagOn_notifyAccessibilityRepositoryWithCorrectTilesAndUser() =
+ testScope.runTest {
+ underTest = createInteractor()
+ setTiles(USER_0_TILES)
+ runCurrent()
+
+ // Change User and updates corresponding tiles
+ setUser(USER_1_INFO)
+ runCurrent()
+ setTiles(USER_1_TILES)
+ runCurrent()
+
+ val requestsForUser1 =
+ a11yQsShortcutsRepository.notifyA11yManagerTilesChangedRequests.filter {
+ it.userContext.userId == USER_1_INFO.id
+ }
+ assertThat(requestsForUser1).hasSize(1)
+ assertThat(requestsForUser1[0].tiles).isEqualTo(USER_1_TILES)
+ }
+
+ private fun setTiles(tiles: List<TileSpec>) {
+ currentTiles.tryEmit(
+ tiles.mapNotNull { qsFactory.createTile(it.spec)?.let { it1 -> TileModel(it, it1) } }
+ )
+ }
+
+ private fun setUser(userInfo: UserInfo) {
+ userContext.tryEmit(
+ mock(Context::class.java).also {
+ whenever(it.userId).thenReturn(userInfo.id)
+ whenever(it.user).thenReturn(UserHandle.of(userInfo.id))
+ }
+ )
+ }
+
+ private fun createInteractor(): AccessibilityTilesInteractor {
+ return AccessibilityTilesInteractor(
+ a11yQsShortcutsRepository,
+ testDispatcher,
+ testScope.backgroundScope
+ )
+ .apply { init(currentTilesInteractor) }
+ }
+}
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsSceneViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsSceneViewModelTest.kt
index 51f8b11..d47da3e 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsSceneViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsSceneViewModelTest.kt
@@ -29,8 +29,8 @@
import com.android.systemui.scene.domain.interactor.sceneInteractor
import com.android.systemui.scene.shared.model.Direction
import com.android.systemui.scene.shared.model.SceneKey
-import com.android.systemui.scene.shared.model.SceneModel
import com.android.systemui.scene.shared.model.UserAction
+import com.android.systemui.scene.shared.model.UserActionResult
import com.android.systemui.shade.ui.viewmodel.ShadeHeaderViewModel
import com.android.systemui.statusbar.notification.stack.ui.viewmodel.notificationsPlaceholderViewModel
import com.android.systemui.statusbar.pipeline.airplane.data.repository.FakeAirplaneModeRepository
@@ -120,8 +120,8 @@
assertThat(destinations)
.isEqualTo(
mapOf(
- UserAction.Back to SceneModel(SceneKey.Shade),
- UserAction.Swipe(Direction.UP) to SceneModel(SceneKey.Shade),
+ UserAction.Back to UserActionResult(SceneKey.Shade),
+ UserAction.Swipe(Direction.UP) to UserActionResult(SceneKey.Shade),
)
)
}
@@ -135,7 +135,7 @@
assertThat(destinations)
.isEqualTo(
mapOf(
- UserAction.Back to SceneModel(SceneKey.QuickSettings),
+ UserAction.Back to UserActionResult(SceneKey.QuickSettings),
)
)
}
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/SceneFrameworkIntegrationTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/SceneFrameworkIntegrationTest.kt
index 006f429..7c30c7e 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/SceneFrameworkIntegrationTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/SceneFrameworkIntegrationTest.kt
@@ -62,7 +62,7 @@
import com.android.systemui.scene.shared.flag.fakeSceneContainerFlags
import com.android.systemui.scene.shared.model.ObservableTransitionState
import com.android.systemui.scene.shared.model.SceneKey
-import com.android.systemui.scene.shared.model.SceneModel
+import com.android.systemui.scene.shared.model.fakeSceneDataSource
import com.android.systemui.scene.ui.viewmodel.SceneContainerViewModel
import com.android.systemui.settings.FakeDisplayTracker
import com.android.systemui.shade.ui.viewmodel.ShadeHeaderViewModel
@@ -196,6 +196,7 @@
private lateinit var emergencyAffordanceManager: EmergencyAffordanceManager
private lateinit var telecomManager: TelecomManager
+ private val fakeSceneDataSource = kosmos.fakeSceneDataSource
@Before
fun setUp() {
@@ -270,7 +271,7 @@
startable.start()
assertWithMessage("Initial scene key mismatch!")
- .that(sceneContainerViewModel.currentScene.value.key)
+ .that(sceneContainerViewModel.currentScene.value)
.isEqualTo(sceneContainerConfig.initialSceneKey)
assertWithMessage("Initial scene container visibility mismatch!")
.that(sceneContainerViewModel.isVisible.value)
@@ -285,11 +286,12 @@
testScope.runTest {
emulateUserDrivenTransition(SceneKey.Bouncer)
+ fakeSceneDataSource.pause()
enterPin()
- assertCurrentScene(SceneKey.Gone)
- emulateUiSceneTransition(
+ emulatePendingTransitionProgress(
expectedVisible = false,
)
+ assertCurrentScene(SceneKey.Gone)
}
@Test
@@ -302,11 +304,12 @@
to = upDestinationSceneKey,
)
+ fakeSceneDataSource.pause()
enterPin()
- assertCurrentScene(SceneKey.Gone)
- emulateUiSceneTransition(
+ emulatePendingTransitionProgress(
expectedVisible = false,
)
+ assertCurrentScene(SceneKey.Gone)
}
@Test
@@ -451,10 +454,11 @@
to = upDestinationSceneKey,
)
+ fakeSceneDataSource.pause()
dismissIme()
+ emulatePendingTransitionProgress()
assertCurrentScene(SceneKey.Lockscreen)
- emulateUiSceneTransition()
}
@Test
@@ -507,8 +511,9 @@
@Test
fun goesToGone_whenSimUnlocked_whileDeviceUnlocked() =
testScope.runTest {
+ fakeSceneDataSource.pause()
introduceLockedSim()
- emulateUiSceneTransition(expectedVisible = true)
+ emulatePendingTransitionProgress(expectedVisible = true)
enterSimPin(authMethodAfterSimUnlock = AuthenticationMethodModel.None)
assertCurrentScene(SceneKey.Gone)
}
@@ -516,8 +521,9 @@
@Test
fun showLockscreen_whenSimUnlocked_whileDeviceLocked() =
testScope.runTest {
+ fakeSceneDataSource.pause()
introduceLockedSim()
- emulateUiSceneTransition(expectedVisible = true)
+ emulatePendingTransitionProgress(expectedVisible = true)
enterSimPin(authMethodAfterSimUnlock = AuthenticationMethodModel.Pin)
assertCurrentScene(SceneKey.Lockscreen)
}
@@ -545,7 +551,7 @@
private fun TestScope.assertCurrentScene(expected: SceneKey) {
runCurrent()
assertWithMessage("Current scene mismatch!")
- .that(sceneContainerViewModel.currentScene.value.key)
+ .that(sceneContainerViewModel.currentScene.value)
.isEqualTo(expected)
}
@@ -592,35 +598,32 @@
}
/**
- * Emulates a complete transition in the UI from whatever the current scene is in the UI to
- * whatever the current scene should be, based on the value in
- * [SceneContainerViewModel.onSceneChanged].
+ * Emulates a gradual transition to the currently pending scene that's sitting in the
+ * [fakeSceneDataSource]. This emits a series of progress updates to the [transitionState] and
+ * finishes by committing the pending scene as the current scene.
*
- * This should post a series of values into [transitionState] to emulate a gradual scene
- * transition and culminate with a call to [SceneContainerViewModel.onSceneChanged].
- *
- * The method asserts that a transition is actually required. E.g. it will fail if the current
- * scene in [transitionState] is already caught up with the scene in
- * [SceneContainerViewModel.currentScene].
- *
- * @param expectedVisible Whether [SceneContainerViewModel.isVisible] should be set at the end
- * of the UI transition.
+ * In order to use this, the [fakeSceneDataSource] must be paused before this method is called.
*/
- private fun TestScope.emulateUiSceneTransition(
+ private fun TestScope.emulatePendingTransitionProgress(
expectedVisible: Boolean = true,
) {
- val to = sceneContainerViewModel.currentScene.value
+ assertWithMessage("The FakeSceneDataSource has to be paused for this to do anything.")
+ .that(fakeSceneDataSource.isPaused)
+ .isTrue()
+
+ val to = fakeSceneDataSource.pendingScene ?: return
val from = getCurrentSceneInUi()
- assertWithMessage("Cannot transition to ${to.key} as the UI is already on that scene!")
- .that(to.key)
- .isNotEqualTo(from)
+
+ if (to == from) {
+ return
+ }
// Begin to transition.
val progressFlow = MutableStateFlow(0f)
transitionState.value =
ObservableTransitionState.Transition(
fromScene = getCurrentSceneInUi(),
- toScene = to.key,
+ toScene = to,
progress = progressFlow,
isInitiatedByUserInput = false,
isUserInputOngoing = flowOf(false),
@@ -634,17 +637,18 @@
}
// End the transition and report the change.
- transitionState.value = ObservableTransitionState.Idle(to.key)
+ transitionState.value = ObservableTransitionState.Idle(to)
- sceneContainerViewModel.onSceneChanged(to)
+ fakeSceneDataSource.unpause(force = true)
runCurrent()
- assertWithMessage("Visibility mismatch after scene transition from $from to ${to.key}!")
+ assertWithMessage("Visibility mismatch after scene transition from $from to $to!")
.that(sceneContainerViewModel.isVisible.value)
.isEqualTo(expectedVisible)
+ assertThat(sceneContainerViewModel.currentScene.value).isEqualTo(to)
bouncerSceneJob =
- if (to.key == SceneKey.Bouncer) {
+ if (to == SceneKey.Bouncer) {
testScope.backgroundScope.launch {
bouncerViewModel.authMethodViewModel.collect {
// Do nothing. Need this to turn this otherwise cold flow, hot.
@@ -662,7 +666,7 @@
* causes a scene change to the [to] scene.
*
* This also includes the emulation of the resulting UI transition that culminates with the UI
- * catching up with the requested scene change (see [emulateUiSceneTransition]).
+ * catching up with the requested scene change (see [emulatePendingTransitionProgress]).
*
* @param to The scene to transition to.
*/
@@ -671,10 +675,10 @@
) {
checkNotNull(to)
- sceneInteractor.changeScene(SceneModel(to), "reason")
- assertThat(sceneContainerViewModel.currentScene.value.key).isEqualTo(to)
+ fakeSceneDataSource.pause()
+ sceneInteractor.changeScene(to, "reason")
- emulateUiSceneTransition(
+ emulatePendingTransitionProgress(
expectedVisible = to != SceneKey.Gone,
)
}
@@ -703,11 +707,12 @@
.isFalse()
emulateUserDrivenTransition(SceneKey.Bouncer)
+ fakeSceneDataSource.pause()
enterPin()
// This repository state is not changed by the AuthInteractor, it relies on
// KeyguardStateController.
kosmos.fakeDeviceEntryRepository.setUnlocked(true)
- emulateUiSceneTransition(
+ emulatePendingTransitionProgress(
expectedVisible = false,
)
}
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/data/repository/SceneContainerRepositoryTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/data/repository/SceneContainerRepositoryTest.kt
index 2ad872c..1da3bc1 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/data/repository/SceneContainerRepositoryTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/data/repository/SceneContainerRepositoryTest.kt
@@ -28,7 +28,6 @@
import com.android.systemui.scene.shared.flag.fakeSceneContainerFlags
import com.android.systemui.scene.shared.model.ObservableTransitionState
import com.android.systemui.scene.shared.model.SceneKey
-import com.android.systemui.scene.shared.model.SceneModel
import com.android.systemui.testKosmos
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -63,21 +62,21 @@
}
@Test
- fun desiredScene() =
+ fun currentScene() =
testScope.runTest {
val underTest = kosmos.sceneContainerRepository
- val currentScene by collectLastValue(underTest.desiredScene)
- assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Lockscreen))
+ val currentScene by collectLastValue(underTest.currentScene)
+ assertThat(currentScene).isEqualTo(SceneKey.Lockscreen)
- underTest.setDesiredScene(SceneModel(SceneKey.Shade))
- assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Shade))
+ underTest.changeScene(SceneKey.Shade)
+ assertThat(currentScene).isEqualTo(SceneKey.Shade)
}
@Test(expected = IllegalStateException::class)
- fun setDesiredScene_noSuchSceneInContainer_throws() {
+ fun changeScene_noSuchSceneInContainer_throws() {
kosmos.sceneKeys = listOf(SceneKey.QuickSettings, SceneKey.Lockscreen)
val underTest = kosmos.sceneContainerRepository
- underTest.setDesiredScene(SceneModel(SceneKey.Shade))
+ underTest.changeScene(SceneKey.Shade)
}
@Test
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/interactor/SceneInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/interactor/SceneInteractorTest.kt
index 942fbc2..4b9ebdc 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/interactor/SceneInteractorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/interactor/SceneInteractorTest.kt
@@ -29,7 +29,7 @@
import com.android.systemui.scene.shared.flag.fakeSceneContainerFlags
import com.android.systemui.scene.shared.model.ObservableTransitionState
import com.android.systemui.scene.shared.model.SceneKey
-import com.android.systemui.scene.shared.model.SceneModel
+import com.android.systemui.scene.shared.model.fakeSceneDataSource
import com.android.systemui.testKosmos
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.flow.MutableStateFlow
@@ -46,6 +46,7 @@
private val kosmos = testKosmos()
private val testScope = kosmos.testScope
+ private val fakeSceneDataSource = kosmos.fakeSceneDataSource
private lateinit var underTest: SceneInteractor
@@ -63,24 +64,24 @@
@Test
fun changeScene() =
testScope.runTest {
- val desiredScene by collectLastValue(underTest.desiredScene)
- assertThat(desiredScene).isEqualTo(SceneModel(SceneKey.Lockscreen))
+ val currentScene by collectLastValue(underTest.currentScene)
+ assertThat(currentScene).isEqualTo(SceneKey.Lockscreen)
- underTest.changeScene(SceneModel(SceneKey.Shade), "reason")
- assertThat(desiredScene).isEqualTo(SceneModel(SceneKey.Shade))
+ underTest.changeScene(SceneKey.Shade, "reason")
+ assertThat(currentScene).isEqualTo(SceneKey.Shade)
}
@Test
fun changeScene_toGoneWhenUnl_doesNotThrow() =
testScope.runTest {
- val desiredScene by collectLastValue(underTest.desiredScene)
- assertThat(desiredScene).isEqualTo(SceneModel(SceneKey.Lockscreen))
+ val currentScene by collectLastValue(underTest.currentScene)
+ assertThat(currentScene).isEqualTo(SceneKey.Lockscreen)
kosmos.fakeDeviceEntryRepository.setUnlocked(true)
runCurrent()
- underTest.changeScene(SceneModel(SceneKey.Gone), "reason")
- assertThat(desiredScene).isEqualTo(SceneModel(SceneKey.Gone))
+ underTest.changeScene(SceneKey.Gone, "reason")
+ assertThat(currentScene).isEqualTo(SceneKey.Gone)
}
@Test(expected = IllegalStateException::class)
@@ -88,17 +89,18 @@
testScope.runTest {
kosmos.fakeDeviceEntryRepository.setUnlocked(false)
- underTest.changeScene(SceneModel(SceneKey.Gone), "reason")
+ underTest.changeScene(SceneKey.Gone, "reason")
}
@Test
- fun onSceneChanged() =
+ fun sceneChanged_inDataSource() =
testScope.runTest {
- val desiredScene by collectLastValue(underTest.desiredScene)
- assertThat(desiredScene).isEqualTo(SceneModel(SceneKey.Lockscreen))
+ val currentScene by collectLastValue(underTest.currentScene)
+ assertThat(currentScene).isEqualTo(SceneKey.Lockscreen)
- underTest.onSceneChanged(SceneModel(SceneKey.Shade), "reason")
- assertThat(desiredScene).isEqualTo(SceneModel(SceneKey.Shade))
+ fakeSceneDataSource.changeScene(SceneKey.Shade)
+
+ assertThat(currentScene).isEqualTo(SceneKey.Shade)
}
@Test
@@ -142,20 +144,20 @@
testScope.runTest {
val transitionState =
MutableStateFlow<ObservableTransitionState>(
- ObservableTransitionState.Idle(underTest.desiredScene.value.key)
+ ObservableTransitionState.Idle(underTest.currentScene.value)
)
underTest.setTransitionState(transitionState)
val transitionTo by collectLastValue(underTest.transitioningTo)
assertThat(transitionTo).isNull()
- underTest.changeScene(SceneModel(SceneKey.Shade), "reason")
+ underTest.changeScene(SceneKey.Shade, "reason")
assertThat(transitionTo).isNull()
val progress = MutableStateFlow(0f)
transitionState.value =
ObservableTransitionState.Transition(
- fromScene = underTest.desiredScene.value.key,
+ fromScene = underTest.currentScene.value,
toScene = SceneKey.Shade,
progress = progress,
isInitiatedByUserInput = false,
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/startable/SceneContainerStartableTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/startable/SceneContainerStartableTest.kt
index 34c5173..ffea84b 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/startable/SceneContainerStartableTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/startable/SceneContainerStartableTest.kt
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-@file:OptIn(ExperimentalCoroutinesApi::class)
+@file:OptIn(ExperimentalCoroutinesApi::class, ExperimentalCoroutinesApi::class)
package com.android.systemui.scene.domain.startable
@@ -47,7 +47,7 @@
import com.android.systemui.scene.shared.flag.fakeSceneContainerFlags
import com.android.systemui.scene.shared.model.ObservableTransitionState
import com.android.systemui.scene.shared.model.SceneKey
-import com.android.systemui.scene.shared.model.SceneModel
+import com.android.systemui.scene.shared.model.fakeSceneDataSource
import com.android.systemui.statusbar.NotificationShadeWindowController
import com.android.systemui.statusbar.phone.CentralSurfaces
import com.android.systemui.statusbar.pipeline.mobile.data.repository.fakeMobileConnectionsRepository
@@ -59,7 +59,6 @@
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.flowOf
-import kotlinx.coroutines.flow.map
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.runCurrent
import kotlinx.coroutines.test.runTest
@@ -95,6 +94,7 @@
private val sysUiState: SysUiState = mock()
private val falsingCollector: FalsingCollector = mock()
private val powerInteractor = PowerInteractorFactory.create().powerInteractor
+ private val fakeSceneDataSource = kosmos.fakeSceneDataSource
private lateinit var underTest: SceneContainerStartable
@@ -115,8 +115,8 @@
falsingCollector = falsingCollector,
powerInteractor = powerInteractor,
bouncerInteractor = bouncerInteractor,
- simBouncerInteractor = dagger.Lazy { kosmos.simBouncerInteractor },
- authenticationInteractor = dagger.Lazy { authenticationInteractor },
+ simBouncerInteractor = { kosmos.simBouncerInteractor },
+ authenticationInteractor = { authenticationInteractor },
windowController = windowController,
deviceProvisioningInteractor = kosmos.deviceProvisioningInteractor,
centralSurfaces = centralSurfaces,
@@ -126,8 +126,7 @@
@Test
fun hydrateVisibility() =
testScope.runTest {
- val currentDesiredSceneKey by
- collectLastValue(sceneInteractor.desiredScene.map { it.key })
+ val currentDesiredSceneKey by collectLastValue(sceneInteractor.currentScene)
val isVisible by collectLastValue(sceneInteractor.isVisible)
val transitionStateFlow =
prepareState(
@@ -140,7 +139,8 @@
underTest.start()
assertThat(isVisible).isFalse()
- sceneInteractor.changeScene(SceneModel(SceneKey.Shade), "reason")
+ fakeSceneDataSource.pause()
+ sceneInteractor.changeScene(SceneKey.Shade, "reason")
transitionStateFlow.value =
ObservableTransitionState.Transition(
fromScene = SceneKey.Gone,
@@ -150,11 +150,12 @@
isUserInputOngoing = flowOf(false),
)
assertThat(isVisible).isTrue()
- sceneInteractor.onSceneChanged(SceneModel(SceneKey.Shade), "reason")
+ fakeSceneDataSource.unpause(expectedScene = SceneKey.Shade)
transitionStateFlow.value = ObservableTransitionState.Idle(SceneKey.Shade)
assertThat(isVisible).isTrue()
- sceneInteractor.changeScene(SceneModel(SceneKey.Gone), "reason")
+ fakeSceneDataSource.pause()
+ sceneInteractor.changeScene(SceneKey.Gone, "reason")
transitionStateFlow.value =
ObservableTransitionState.Transition(
fromScene = SceneKey.Shade,
@@ -164,7 +165,7 @@
isUserInputOngoing = flowOf(false),
)
assertThat(isVisible).isTrue()
- sceneInteractor.onSceneChanged(SceneModel(SceneKey.Gone), "reason")
+ fakeSceneDataSource.unpause(expectedScene = SceneKey.Gone)
transitionStateFlow.value = ObservableTransitionState.Idle(SceneKey.Gone)
assertThat(isVisible).isFalse()
}
@@ -196,7 +197,7 @@
@Test
fun startsInLockscreenScene() =
testScope.runTest {
- val currentSceneKey by collectLastValue(sceneInteractor.desiredScene.map { it.key })
+ val currentSceneKey by collectLastValue(sceneInteractor.currentScene)
prepareState()
underTest.start()
@@ -208,7 +209,7 @@
@Test
fun switchToLockscreenWhenDeviceLocks() =
testScope.runTest {
- val currentSceneKey by collectLastValue(sceneInteractor.desiredScene.map { it.key })
+ val currentSceneKey by collectLastValue(sceneInteractor.currentScene)
prepareState(
isDeviceUnlocked = true,
initialSceneKey = SceneKey.Gone,
@@ -224,7 +225,7 @@
@Test
fun switchFromBouncerToGoneWhenDeviceUnlocked() =
testScope.runTest {
- val currentSceneKey by collectLastValue(sceneInteractor.desiredScene.map { it.key })
+ val currentSceneKey by collectLastValue(sceneInteractor.currentScene)
prepareState(
isDeviceUnlocked = false,
initialSceneKey = SceneKey.Bouncer,
@@ -240,7 +241,7 @@
@Test
fun switchFromLockscreenToGoneWhenDeviceUnlocksWithBypassOn() =
testScope.runTest {
- val currentSceneKey by collectLastValue(sceneInteractor.desiredScene.map { it.key })
+ val currentSceneKey by collectLastValue(sceneInteractor.currentScene)
prepareState(
isBypassEnabled = true,
initialSceneKey = SceneKey.Lockscreen,
@@ -256,7 +257,7 @@
@Test
fun stayOnLockscreenWhenDeviceUnlocksWithBypassOff() =
testScope.runTest {
- val currentSceneKey by collectLastValue(sceneInteractor.desiredScene.map { it.key })
+ val currentSceneKey by collectLastValue(sceneInteractor.currentScene)
prepareState(
isBypassEnabled = false,
initialSceneKey = SceneKey.Lockscreen,
@@ -274,7 +275,7 @@
@Test
fun stayOnCurrentSceneWhenDeviceIsUnlockedAndUserIsNotOnLockscreen() =
testScope.runTest {
- val currentSceneKey by collectLastValue(sceneInteractor.desiredScene.map { it.key })
+ val currentSceneKey by collectLastValue(sceneInteractor.currentScene)
val transitionStateFlowValue =
prepareState(
isBypassEnabled = true,
@@ -284,7 +285,7 @@
underTest.start()
runCurrent()
- sceneInteractor.changeScene(SceneModel(SceneKey.Shade), "switch to shade")
+ sceneInteractor.changeScene(SceneKey.Shade, "switch to shade")
transitionStateFlowValue.value = ObservableTransitionState.Idle(SceneKey.Shade)
assertThat(currentSceneKey).isEqualTo(SceneKey.Shade)
@@ -297,7 +298,7 @@
@Test
fun switchToGoneWhenDeviceIsUnlockedAndUserIsOnBouncerWithBypassDisabled() =
testScope.runTest {
- val currentSceneKey by collectLastValue(sceneInteractor.desiredScene.map { it.key })
+ val currentSceneKey by collectLastValue(sceneInteractor.currentScene)
prepareState(
isBypassEnabled = false,
initialSceneKey = SceneKey.Bouncer,
@@ -315,7 +316,7 @@
@Test
fun switchToLockscreenWhenDeviceSleepsLocked() =
testScope.runTest {
- val currentSceneKey by collectLastValue(sceneInteractor.desiredScene.map { it.key })
+ val currentSceneKey by collectLastValue(sceneInteractor.currentScene)
prepareState(
isDeviceUnlocked = false,
initialSceneKey = SceneKey.Shade,
@@ -347,11 +348,12 @@
kosmos.fakeDeviceEntryRepository.setUnlocked(true)
runCurrent()
}
- sceneInteractor.changeScene(SceneModel(sceneKey), "reason")
+ fakeSceneDataSource.pause()
+ sceneInteractor.changeScene(sceneKey, "reason")
runCurrent()
verify(sysUiState, times(index)).commitUpdate(Display.DEFAULT_DISPLAY)
- sceneInteractor.onSceneChanged(SceneModel(sceneKey), "reason")
+ fakeSceneDataSource.unpause(expectedScene = sceneKey)
runCurrent()
verify(sysUiState, times(index)).commitUpdate(Display.DEFAULT_DISPLAY)
@@ -364,7 +366,7 @@
@Test
fun switchToGoneWhenDeviceStartsToWakeUp_authMethodNone() =
testScope.runTest {
- val currentSceneKey by collectLastValue(sceneInteractor.desiredScene.map { it.key })
+ val currentSceneKey by collectLastValue(sceneInteractor.currentScene)
prepareState(
initialSceneKey = SceneKey.Lockscreen,
authenticationMethod = AuthenticationMethodModel.None,
@@ -380,7 +382,7 @@
@Test
fun stayOnLockscreenWhenDeviceStartsToWakeUp_authMethodSwipe() =
testScope.runTest {
- val currentSceneKey by collectLastValue(sceneInteractor.desiredScene.map { it.key })
+ val currentSceneKey by collectLastValue(sceneInteractor.currentScene)
prepareState(
initialSceneKey = SceneKey.Lockscreen,
authenticationMethod = AuthenticationMethodModel.None,
@@ -396,7 +398,7 @@
@Test
fun doesNotSwitchToGoneWhenDeviceStartsToWakeUp_authMethodSecure() =
testScope.runTest {
- val currentSceneKey by collectLastValue(sceneInteractor.desiredScene.map { it.key })
+ val currentSceneKey by collectLastValue(sceneInteractor.currentScene)
prepareState(
initialSceneKey = SceneKey.Lockscreen,
authenticationMethod = AuthenticationMethodModel.Pin,
@@ -411,7 +413,7 @@
@Test
fun switchToGoneWhenDeviceStartsToWakeUp_authMethodSecure_deviceUnlocked() =
testScope.runTest {
- val currentSceneKey by collectLastValue(sceneInteractor.desiredScene.map { it.key })
+ val currentSceneKey by collectLastValue(sceneInteractor.currentScene)
prepareState(
initialSceneKey = SceneKey.Lockscreen,
authenticationMethod = AuthenticationMethodModel.Pin,
@@ -450,7 +452,7 @@
SceneKey.Bouncer,
)
.forEach { sceneKey ->
- sceneInteractor.changeScene(SceneModel(sceneKey), "reason")
+ sceneInteractor.changeScene(sceneKey, "reason")
runCurrent()
verify(falsingCollector, never()).onSuccessfulUnlock()
}
@@ -458,7 +460,7 @@
// Changing to the Gone scene should report a successful unlock.
kosmos.fakeDeviceEntryRepository.setUnlocked(true)
runCurrent()
- sceneInteractor.changeScene(SceneModel(SceneKey.Gone), "reason")
+ sceneInteractor.changeScene(SceneKey.Gone, "reason")
runCurrent()
verify(falsingCollector).onSuccessfulUnlock()
@@ -471,13 +473,13 @@
SceneKey.Gone,
)
.forEach { sceneKey ->
- sceneInteractor.changeScene(SceneModel(sceneKey), "reason")
+ sceneInteractor.changeScene(sceneKey, "reason")
runCurrent()
verify(falsingCollector, times(1)).onSuccessfulUnlock()
}
// Changing to the Lockscreen scene shouldn't report a successful unlock.
- sceneInteractor.changeScene(SceneModel(SceneKey.Lockscreen), "reason")
+ sceneInteractor.changeScene(SceneKey.Lockscreen, "reason")
runCurrent()
verify(falsingCollector, times(1)).onSuccessfulUnlock()
@@ -490,13 +492,13 @@
SceneKey.Bouncer,
)
.forEach { sceneKey ->
- sceneInteractor.changeScene(SceneModel(sceneKey), "reason")
+ sceneInteractor.changeScene(sceneKey, "reason")
runCurrent()
verify(falsingCollector, times(1)).onSuccessfulUnlock()
}
// Changing to the Gone scene should report a second successful unlock.
- sceneInteractor.changeScene(SceneModel(SceneKey.Gone), "reason")
+ sceneInteractor.changeScene(SceneKey.Gone, "reason")
runCurrent()
verify(falsingCollector, times(2)).onSuccessfulUnlock()
}
@@ -525,7 +527,7 @@
@Test
fun bouncerImeHidden_shouldTransitionBackToLockscreen() =
testScope.runTest {
- val currentSceneKey by collectLastValue(sceneInteractor.desiredScene.map { it.key })
+ val currentSceneKey by collectLastValue(sceneInteractor.currentScene)
prepareState(
initialSceneKey = SceneKey.Lockscreen,
authenticationMethod = AuthenticationMethodModel.Password,
@@ -647,13 +649,13 @@
runCurrent()
verify(falsingCollector).onBouncerHidden()
- sceneInteractor.changeScene(SceneModel(SceneKey.Bouncer), "reason")
+ sceneInteractor.changeScene(SceneKey.Bouncer, "reason")
runCurrent()
verify(falsingCollector).onBouncerShown()
kosmos.fakeDeviceEntryRepository.setUnlocked(true)
runCurrent()
- sceneInteractor.changeScene(SceneModel(SceneKey.Gone), "reason")
+ sceneInteractor.changeScene(SceneKey.Gone, "reason")
runCurrent()
verify(falsingCollector, times(2)).onBouncerHidden()
}
@@ -661,7 +663,7 @@
@Test
fun switchesToBouncer_whenSimBecomesLocked() =
testScope.runTest {
- val currentSceneKey by collectLastValue(sceneInteractor.desiredScene.map { it.key })
+ val currentSceneKey by collectLastValue(sceneInteractor.currentScene)
prepareState(
initialSceneKey = SceneKey.Lockscreen,
@@ -681,7 +683,7 @@
fun switchesToLockscreen_whenSimBecomesUnlocked() =
testScope.runTest {
kosmos.fakeMobileConnectionsRepository.isAnySimSecure.value = true
- val currentSceneKey by collectLastValue(sceneInteractor.desiredScene.map { it.key })
+ val currentSceneKey by collectLastValue(sceneInteractor.currentScene)
prepareState(
initialSceneKey = SceneKey.Bouncer,
@@ -700,7 +702,7 @@
fun switchesToGone_whenSimBecomesUnlocked_ifDeviceUnlockedAndLockscreenDisabled() =
testScope.runTest {
kosmos.fakeMobileConnectionsRepository.isAnySimSecure.value = true
- val currentSceneKey by collectLastValue(sceneInteractor.desiredScene.map { it.key })
+ val currentSceneKey by collectLastValue(sceneInteractor.currentScene)
prepareState(
initialSceneKey = SceneKey.Lockscreen,
@@ -719,8 +721,7 @@
@Test
fun hydrateWindowFocus() =
testScope.runTest {
- val currentDesiredSceneKey by
- collectLastValue(sceneInteractor.desiredScene.map { it.key })
+ val currentDesiredSceneKey by collectLastValue(sceneInteractor.currentScene)
val transitionStateFlow =
prepareState(
isDeviceUnlocked = true,
@@ -733,7 +734,8 @@
runCurrent()
verify(windowController, times(1)).setNotificationShadeFocusable(false)
- sceneInteractor.changeScene(SceneModel(SceneKey.Shade), "reason")
+ fakeSceneDataSource.pause()
+ sceneInteractor.changeScene(SceneKey.Shade, "reason")
transitionStateFlow.value =
ObservableTransitionState.Transition(
fromScene = SceneKey.Gone,
@@ -745,12 +747,13 @@
runCurrent()
verify(windowController, times(1)).setNotificationShadeFocusable(false)
- sceneInteractor.onSceneChanged(SceneModel(SceneKey.Shade), "reason")
+ fakeSceneDataSource.unpause(expectedScene = SceneKey.Shade)
transitionStateFlow.value = ObservableTransitionState.Idle(SceneKey.Shade)
runCurrent()
verify(windowController, times(1)).setNotificationShadeFocusable(true)
- sceneInteractor.changeScene(SceneModel(SceneKey.Gone), "reason")
+ fakeSceneDataSource.pause()
+ sceneInteractor.changeScene(SceneKey.Gone, "reason")
transitionStateFlow.value =
ObservableTransitionState.Transition(
fromScene = SceneKey.Shade,
@@ -762,7 +765,7 @@
runCurrent()
verify(windowController, times(1)).setNotificationShadeFocusable(true)
- sceneInteractor.onSceneChanged(SceneModel(SceneKey.Gone), "reason")
+ fakeSceneDataSource.unpause(expectedScene = SceneKey.Gone)
transitionStateFlow.value = ObservableTransitionState.Idle(SceneKey.Gone)
runCurrent()
verify(windowController, times(2)).setNotificationShadeFocusable(false)
@@ -965,8 +968,8 @@
verifyDuringTransition: (() -> Unit)? = null,
verifyAfterTransition: (() -> Unit)? = null,
) {
- val fromScene = sceneInteractor.desiredScene.value.key
- sceneInteractor.changeScene(SceneModel(toScene), "reason")
+ val fromScene = sceneInteractor.currentScene.value
+ sceneInteractor.changeScene(toScene, "reason")
runCurrent()
verifyBeforeTransition?.invoke()
@@ -1020,8 +1023,7 @@
sceneInteractor.setTransitionState(transitionStateFlow)
initialSceneKey?.let {
transitionStateFlow.value = ObservableTransitionState.Idle(it)
- sceneInteractor.changeScene(SceneModel(it), "reason")
- sceneInteractor.onSceneChanged(SceneModel(it), "reason")
+ sceneInteractor.changeScene(it, "reason")
}
authenticationMethod?.let {
kosmos.fakeAuthenticationRepository.setAuthenticationMethod(authenticationMethod)
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/ui/viewmodel/SceneContainerViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/ui/viewmodel/SceneContainerViewModelTest.kt
index a16ce43..6c78317 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/ui/viewmodel/SceneContainerViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/ui/viewmodel/SceneContainerViewModelTest.kt
@@ -23,11 +23,12 @@
import com.android.systemui.SysuiTestCase
import com.android.systemui.classifier.domain.interactor.falsingInteractor
import com.android.systemui.coroutines.collectLastValue
+import com.android.systemui.kosmos.testScope
import com.android.systemui.scene.domain.interactor.sceneInteractor
import com.android.systemui.scene.sceneKeys
import com.android.systemui.scene.shared.flag.fakeSceneContainerFlags
import com.android.systemui.scene.shared.model.SceneKey
-import com.android.systemui.scene.shared.model.SceneModel
+import com.android.systemui.scene.shared.model.fakeSceneDataSource
import com.android.systemui.testKosmos
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -41,7 +42,10 @@
class SceneContainerViewModelTest : SysuiTestCase() {
private val kosmos = testKosmos()
+ private val testScope by lazy { kosmos.testScope }
private val interactor by lazy { kosmos.sceneInteractor }
+ private val fakeSceneDataSource = kosmos.fakeSceneDataSource
+
private lateinit var underTest: SceneContainerViewModel
@Before
@@ -55,16 +59,17 @@
}
@Test
- fun isVisible() = runTest {
- val isVisible by collectLastValue(underTest.isVisible)
- assertThat(isVisible).isTrue()
+ fun isVisible() =
+ testScope.runTest {
+ val isVisible by collectLastValue(underTest.isVisible)
+ assertThat(isVisible).isTrue()
- interactor.setVisible(false, "reason")
- assertThat(isVisible).isFalse()
+ interactor.setVisible(false, "reason")
+ assertThat(isVisible).isFalse()
- interactor.setVisible(true, "reason")
- assertThat(isVisible).isTrue()
- }
+ interactor.setVisible(true, "reason")
+ assertThat(isVisible).isTrue()
+ }
@Test
fun allSceneKeys() {
@@ -72,12 +77,13 @@
}
@Test
- fun sceneTransition() = runTest {
- val currentScene by collectLastValue(underTest.currentScene)
- assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Lockscreen))
+ fun sceneTransition() =
+ testScope.runTest {
+ val currentScene by collectLastValue(underTest.currentScene)
+ assertThat(currentScene).isEqualTo(SceneKey.Lockscreen)
- underTest.onSceneChanged(SceneModel(SceneKey.Shade))
+ fakeSceneDataSource.changeScene(SceneKey.Shade)
- assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Shade))
- }
+ assertThat(currentScene).isEqualTo(SceneKey.Shade)
+ }
}
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/ShadeControllerSceneImplTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/ShadeControllerSceneImplTest.kt
index 51b8342..ec424b0 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/ShadeControllerSceneImplTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/ShadeControllerSceneImplTest.kt
@@ -30,7 +30,6 @@
import com.android.systemui.scene.shared.flag.fakeSceneContainerFlags
import com.android.systemui.scene.shared.model.ObservableTransitionState
import com.android.systemui.scene.shared.model.SceneKey
-import com.android.systemui.scene.shared.model.SceneModel
import com.android.systemui.shade.domain.interactor.ShadeInteractor
import com.android.systemui.shade.domain.interactor.shadeInteractor
import com.android.systemui.statusbar.CommandQueue
@@ -88,7 +87,7 @@
runCurrent()
// THEN the shade remains collapsed and the post-collapse action ran
- assertThat(sceneInteractor.desiredScene.value.key).isEqualTo(SceneKey.Gone)
+ assertThat(sceneInteractor.currentScene.value).isEqualTo(SceneKey.Gone)
verify(testRunnable, times(1)).run()
}
@@ -106,7 +105,7 @@
runCurrent()
// THEN the shade remains expanded and the post-collapse action did not run
- assertThat(sceneInteractor.desiredScene.value.key).isEqualTo(SceneKey.Shade)
+ assertThat(sceneInteractor.currentScene.value).isEqualTo(SceneKey.Shade)
assertThat(shadeInteractor.isAnyFullyExpanded.value).isTrue()
verify(testRunnable, never()).run()
}
@@ -123,7 +122,7 @@
runCurrent()
// THEN the shade collapses back to lockscreen and the post-collapse action ran
- assertThat(sceneInteractor.desiredScene.value.key).isEqualTo(SceneKey.Lockscreen)
+ assertThat(sceneInteractor.currentScene.value).isEqualTo(SceneKey.Lockscreen)
}
@Test
@@ -138,7 +137,7 @@
runCurrent()
// THEN the shade collapses back to lockscreen and the post-collapse action ran
- assertThat(sceneInteractor.desiredScene.value.key).isEqualTo(SceneKey.Gone)
+ assertThat(sceneInteractor.currentScene.value).isEqualTo(SceneKey.Gone)
}
@Test
@@ -172,7 +171,7 @@
}
private fun setScene(key: SceneKey) {
- sceneInteractor.changeScene(SceneModel(key), "test")
+ sceneInteractor.changeScene(key, "test")
sceneInteractor.setTransitionState(
MutableStateFlow<ObservableTransitionState>(ObservableTransitionState.Idle(key))
)
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/domain/interactor/ShadeBackActionInteractorImplTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/domain/interactor/ShadeBackActionInteractorImplTest.kt
index d3c6598..ec4da04 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/domain/interactor/ShadeBackActionInteractorImplTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/domain/interactor/ShadeBackActionInteractorImplTest.kt
@@ -26,7 +26,6 @@
import com.android.systemui.scene.shared.flag.fakeSceneContainerFlags
import com.android.systemui.scene.shared.model.ObservableTransitionState
import com.android.systemui.scene.shared.model.SceneKey
-import com.android.systemui.scene.shared.model.SceneModel
import com.android.systemui.shared.recents.utilities.Utilities
import com.android.systemui.testKosmos
import com.google.common.truth.Truth.assertThat
@@ -60,7 +59,7 @@
setScene(SceneKey.Shade)
underTest.animateCollapseQs(true)
runCurrent()
- assertThat(sceneInteractor.desiredScene.value.key).isEqualTo(SceneKey.Shade)
+ assertThat(sceneInteractor.currentScene.value).isEqualTo(SceneKey.Shade)
}
@Test
@@ -70,7 +69,7 @@
setScene(SceneKey.QuickSettings)
underTest.animateCollapseQs(true)
runCurrent()
- assertThat(sceneInteractor.desiredScene.value.key).isEqualTo(SceneKey.Gone)
+ assertThat(sceneInteractor.currentScene.value).isEqualTo(SceneKey.Gone)
}
@Test
@@ -80,7 +79,7 @@
setScene(SceneKey.QuickSettings)
underTest.animateCollapseQs(true)
runCurrent()
- assertThat(sceneInteractor.desiredScene.value.key).isEqualTo(SceneKey.Lockscreen)
+ assertThat(sceneInteractor.currentScene.value).isEqualTo(SceneKey.Lockscreen)
}
@Test
@@ -89,7 +88,7 @@
setScene(SceneKey.QuickSettings)
underTest.animateCollapseQs(false)
runCurrent()
- assertThat(sceneInteractor.desiredScene.value.key).isEqualTo(SceneKey.Shade)
+ assertThat(sceneInteractor.currentScene.value).isEqualTo(SceneKey.Shade)
}
private fun enterDevice() {
@@ -99,7 +98,7 @@
}
private fun setScene(key: SceneKey) {
- sceneInteractor.changeScene(SceneModel(key), "test")
+ sceneInteractor.changeScene(key, "test")
sceneInteractor.setTransitionState(
MutableStateFlow<ObservableTransitionState>(ObservableTransitionState.Idle(key))
)
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/ui/viewmodel/ShadeSceneViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/ui/viewmodel/ShadeSceneViewModelTest.kt
index f1f5dc3..799e8f0 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/ui/viewmodel/ShadeSceneViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/ui/viewmodel/ShadeSceneViewModelTest.kt
@@ -31,7 +31,6 @@
import com.android.systemui.qs.ui.adapter.FakeQSSceneAdapter
import com.android.systemui.scene.domain.interactor.sceneInteractor
import com.android.systemui.scene.shared.model.SceneKey
-import com.android.systemui.scene.shared.model.SceneModel
import com.android.systemui.statusbar.notification.stack.ui.viewmodel.notificationsPlaceholderViewModel
import com.android.systemui.statusbar.pipeline.airplane.data.repository.FakeAirplaneModeRepository
import com.android.systemui.statusbar.pipeline.airplane.domain.interactor.AirplaneModeInteractor
@@ -146,8 +145,7 @@
kosmos.fakeAuthenticationRepository.setAuthenticationMethod(
AuthenticationMethodModel.None
)
- sceneInteractor.changeScene(SceneModel(SceneKey.Lockscreen), "reason")
- sceneInteractor.onSceneChanged(SceneModel(SceneKey.Lockscreen), "reason")
+ sceneInteractor.changeScene(SceneKey.Lockscreen, "reason")
assertThat(upTransitionSceneKey).isEqualTo(SceneKey.Lockscreen)
}
@@ -162,8 +160,7 @@
AuthenticationMethodModel.None
)
runCurrent()
- sceneInteractor.changeScene(SceneModel(SceneKey.Gone), "reason")
- sceneInteractor.onSceneChanged(SceneModel(SceneKey.Gone), "reason")
+ sceneInteractor.changeScene(SceneKey.Gone, "reason")
assertThat(upTransitionSceneKey).isEqualTo(SceneKey.Gone)
}
@@ -171,7 +168,7 @@
@Test
fun onContentClicked_deviceUnlocked_switchesToGone() =
testScope.runTest {
- val currentScene by collectLastValue(sceneInteractor.desiredScene)
+ val currentScene by collectLastValue(sceneInteractor.currentScene)
kosmos.fakeAuthenticationRepository.setAuthenticationMethod(
AuthenticationMethodModel.Pin
)
@@ -180,13 +177,13 @@
underTest.onContentClicked()
- assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Gone))
+ assertThat(currentScene).isEqualTo(SceneKey.Gone)
}
@Test
fun onContentClicked_deviceLockedSecurely_switchesToBouncer() =
testScope.runTest {
- val currentScene by collectLastValue(sceneInteractor.desiredScene)
+ val currentScene by collectLastValue(sceneInteractor.currentScene)
kosmos.fakeAuthenticationRepository.setAuthenticationMethod(
AuthenticationMethodModel.Pin
)
@@ -195,7 +192,7 @@
underTest.onContentClicked()
- assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Bouncer))
+ assertThat(currentScene).isEqualTo(SceneKey.Bouncer)
}
@Test
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/NotificationStackAppearanceIntegrationTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/NotificationStackAppearanceIntegrationTest.kt
index 4d7d5d3..efd8f00 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/NotificationStackAppearanceIntegrationTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/NotificationStackAppearanceIntegrationTest.kt
@@ -30,7 +30,7 @@
import com.android.systemui.scene.shared.flag.fakeSceneContainerFlags
import com.android.systemui.scene.shared.model.ObservableTransitionState
import com.android.systemui.scene.shared.model.SceneKey
-import com.android.systemui.scene.shared.model.SceneModel
+import com.android.systemui.scene.shared.model.fakeSceneDataSource
import com.android.systemui.statusbar.notification.stack.ui.viewmodel.notificationStackAppearanceViewModel
import com.android.systemui.statusbar.notification.stack.ui.viewmodel.notificationsPlaceholderViewModel
import com.android.systemui.testKosmos
@@ -59,6 +59,7 @@
private val placeholderViewModel by lazy { kosmos.notificationsPlaceholderViewModel }
private val appearanceViewModel by lazy { kosmos.notificationStackAppearanceViewModel }
private val sceneInteractor by lazy { kosmos.sceneInteractor }
+ private val fakeSceneDataSource by lazy { kosmos.fakeSceneDataSource }
@Test
fun updateBounds() =
@@ -97,7 +98,8 @@
val expandFraction by collectLastValue(appearanceViewModel.expandFraction)
assertThat(expandFraction).isEqualTo(0f)
- sceneInteractor.changeScene(SceneModel(SceneKey.Shade), "reason")
+ fakeSceneDataSource.pause()
+ sceneInteractor.changeScene(SceneKey.Shade, "reason")
val transitionProgress = MutableStateFlow(0f)
transitionState.value =
ObservableTransitionState.Transition(
@@ -115,7 +117,7 @@
assertThat(expandFraction).isWithin(0.01f).of(progress)
}
- sceneInteractor.onSceneChanged(SceneModel(SceneKey.Shade), "reason")
+ fakeSceneDataSource.unpause(expectedScene = SceneKey.Shade)
assertThat(expandFraction).isWithin(0.01f).of(1f)
}
@@ -142,7 +144,8 @@
val expandFraction by collectLastValue(appearanceViewModel.expandFraction)
assertThat(expandFraction).isEqualTo(1f)
- sceneInteractor.changeScene(SceneModel(SceneKey.QuickSettings), "reason")
+ fakeSceneDataSource.pause()
+ sceneInteractor.changeScene(SceneKey.QuickSettings, "reason")
val transitionProgress = MutableStateFlow(0f)
transitionState.value =
ObservableTransitionState.Transition(
@@ -160,7 +163,7 @@
assertThat(expandFraction).isEqualTo(1f)
}
- sceneInteractor.onSceneChanged(SceneModel(SceneKey.QuickSettings), "reason")
+ fakeSceneDataSource.unpause(expectedScene = SceneKey.QuickSettings)
assertThat(expandFraction).isEqualTo(1f)
}
}
diff --git a/packages/SystemUI/res-keyguard/layout/alternate_bouncer.xml b/packages/SystemUI/res-keyguard/layout/alternate_bouncer.xml
index 50d5607..41fb57a 100644
--- a/packages/SystemUI/res-keyguard/layout/alternate_bouncer.xml
+++ b/packages/SystemUI/res-keyguard/layout/alternate_bouncer.xml
@@ -32,4 +32,24 @@
android:importantForAccessibility="no"
sysui:ignoreRightInset="true"
/>
+ <!-- Keyguard messages -->
+ <LinearLayout
+ android:id="@+id/alternate_bouncer_message_area_container"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ android:layout_marginTop="@dimen/status_bar_height"
+ android:layout_gravity="top|center_horizontal"
+ android:gravity="center_horizontal">
+ <com.android.keyguard.AuthKeyguardMessageArea
+ android:id="@+id/alternate_bouncer_message_area"
+ style="@style/Keyguard.TextView"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="@dimen/keyguard_lock_padding"
+ android:gravity="center"
+ android:singleLine="true"
+ android:ellipsize="marquee"
+ android:focusable="true"/>
+ </LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/packages/SystemUI/res/values/ids.xml b/packages/SystemUI/res/values/ids.xml
index 2ab0813..71ae0d7 100644
--- a/packages/SystemUI/res/values/ids.xml
+++ b/packages/SystemUI/res/values/ids.xml
@@ -228,6 +228,7 @@
<item type="id" name="ambient_indication_container" />
<item type="id" name="status_view_media_container" />
<item type="id" name="smart_space_barrier_bottom" />
+ <item type="id" name="small_clock_guideline_top" />
<item type="id" name="weather_clock_date_and_icons_barrier_bottom" />
<!-- Privacy dialog -->
diff --git a/packages/SystemUI/src/com/android/systemui/accessibility/data/repository/AccessibilityQsShortcutsRepository.kt b/packages/SystemUI/src/com/android/systemui/accessibility/data/repository/AccessibilityQsShortcutsRepository.kt
index 401ac0f..4069cec 100644
--- a/packages/SystemUI/src/com/android/systemui/accessibility/data/repository/AccessibilityQsShortcutsRepository.kt
+++ b/packages/SystemUI/src/com/android/systemui/accessibility/data/repository/AccessibilityQsShortcutsRepository.kt
@@ -16,11 +16,29 @@
package com.android.systemui.accessibility.data.repository
+import android.annotation.SuppressLint
+import android.content.ComponentName
+import android.content.Context
+import android.text.TextUtils
import android.util.SparseArray
+import android.view.accessibility.AccessibilityManager
import androidx.annotation.GuardedBy
+import com.android.internal.accessibility.AccessibilityShortcutController
import com.android.systemui.dagger.SysUISingleton
+import com.android.systemui.dagger.qualifiers.Background
+import com.android.systemui.qs.pipeline.shared.TileSpec
+import com.android.systemui.qs.tiles.ColorCorrectionTile
+import com.android.systemui.qs.tiles.ColorInversionTile
+import com.android.systemui.qs.tiles.FontScalingTile
+import com.android.systemui.qs.tiles.OneHandedModeTile
+import com.android.systemui.qs.tiles.ReduceBrightColorsTile
import javax.inject.Inject
+import kotlinx.coroutines.CoroutineDispatcher
+import kotlinx.coroutines.Deferred
+import kotlinx.coroutines.async
+import kotlinx.coroutines.coroutineScope
import kotlinx.coroutines.flow.SharedFlow
+import kotlinx.coroutines.withContext
/** Provides data related to accessibility quick setting shortcut option. */
interface AccessibilityQsShortcutsRepository {
@@ -29,14 +47,35 @@
* setting option.
*/
fun a11yQsShortcutTargets(userId: Int): SharedFlow<Set<String>>
+
+ /** Notify accessibility manager that there are changes to the accessibility tiles */
+ suspend fun notifyAccessibilityManagerTilesChanged(userContext: Context, tiles: List<TileSpec>)
}
@SysUISingleton
class AccessibilityQsShortcutsRepositoryImpl
@Inject
constructor(
+ private val manager: AccessibilityManager,
private val userA11yQsShortcutsRepositoryFactory: UserA11yQsShortcutsRepository.Factory,
+ @Background private val backgroundDispatcher: CoroutineDispatcher,
) : AccessibilityQsShortcutsRepository {
+ companion object {
+ val TILE_SPEC_TO_COMPONENT_MAPPING =
+ mapOf(
+ ColorCorrectionTile.TILE_SPEC to
+ AccessibilityShortcutController.DALTONIZER_TILE_COMPONENT_NAME,
+ ColorInversionTile.TILE_SPEC to
+ AccessibilityShortcutController.COLOR_INVERSION_TILE_COMPONENT_NAME,
+ OneHandedModeTile.TILE_SPEC to
+ AccessibilityShortcutController.ONE_HANDED_TILE_COMPONENT_NAME,
+ ReduceBrightColorsTile.TILE_SPEC to
+ AccessibilityShortcutController
+ .REDUCE_BRIGHT_COLORS_TILE_SERVICE_COMPONENT_NAME,
+ FontScalingTile.TILE_SPEC to
+ AccessibilityShortcutController.FONT_SIZE_TILE_COMPONENT_NAME,
+ )
+ }
@GuardedBy("userA11yQsShortcutsRepositories")
private val userA11yQsShortcutsRepositories = SparseArray<UserA11yQsShortcutsRepository>()
@@ -51,4 +90,72 @@
userA11yQsShortcutsRepositories.get(userId).targets
}
}
+
+ @SuppressLint("MissingPermission") // android.permission.STATUS_BAR_SERVICE
+ override suspend fun notifyAccessibilityManagerTilesChanged(
+ userContext: Context,
+ tiles: List<TileSpec>
+ ) {
+ val newTiles = mutableListOf<ComponentName>()
+ val accessibilityTileServices = getAccessibilityTileServices(userContext)
+ tiles.forEach { tileSpec ->
+ when (tileSpec) {
+ is TileSpec.CustomTileSpec -> {
+ if (accessibilityTileServices.contains(tileSpec.componentName)) {
+ newTiles.add(tileSpec.componentName)
+ }
+ }
+ is TileSpec.PlatformTileSpec -> {
+ if (TILE_SPEC_TO_COMPONENT_MAPPING.containsKey(tileSpec.spec)) {
+ newTiles.add(TILE_SPEC_TO_COMPONENT_MAPPING[tileSpec.spec]!!)
+ }
+ }
+ TileSpec.Invalid -> {
+ // do nothing
+ }
+ }
+ }
+
+ withContext(backgroundDispatcher) {
+ manager.notifyQuickSettingsTilesChanged(userContext.userId, newTiles)
+ }
+ }
+
+ private suspend fun getAccessibilityTileServices(context: Context): Set<ComponentName> =
+ coroutineScope {
+ val a11yServiceTileServices: Deferred<Set<ComponentName>> =
+ async(backgroundDispatcher) {
+ manager.installedAccessibilityServiceList
+ .mapNotNull {
+ val packageName = it.resolveInfo.serviceInfo.packageName
+ val tileServiceClass = it.tileServiceName
+
+ if (!TextUtils.isEmpty(tileServiceClass)) {
+ ComponentName(packageName, tileServiceClass!!)
+ } else {
+ null
+ }
+ }
+ .toSet()
+ }
+
+ val a11yShortcutInfoTileServices: Deferred<Set<ComponentName>> =
+ async(backgroundDispatcher) {
+ manager
+ .getInstalledAccessibilityShortcutListAsUser(context, context.userId)
+ .mapNotNull {
+ val packageName = it.componentName.packageName
+ val tileServiceClass = it.tileServiceName
+
+ if (!TextUtils.isEmpty(tileServiceClass)) {
+ ComponentName(packageName, tileServiceClass!!)
+ } else {
+ null
+ }
+ }
+ .toSet()
+ }
+
+ a11yServiceTileServices.await() + a11yShortcutInfoTileServices.await()
+ }
}
diff --git a/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuItemAccessibilityDelegate.java b/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuItemAccessibilityDelegate.java
index 975a602..ad6609a 100644
--- a/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuItemAccessibilityDelegate.java
+++ b/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuItemAccessibilityDelegate.java
@@ -100,7 +100,7 @@
new AccessibilityNodeInfoCompat.AccessibilityActionCompat(
R.id.action_edit,
res.getString(
- R.string.accessibility_floating_button_action_remove_menu));
+ R.string.accessibility_floating_button_action_edit));
info.addAction(edit);
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuView.java b/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuView.java
index 035ccbd..27f9106fd 100644
--- a/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuView.java
+++ b/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuView.java
@@ -41,6 +41,8 @@
import androidx.recyclerview.widget.RecyclerView;
import com.android.internal.accessibility.dialog.AccessibilityTarget;
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.modules.expresslog.Counter;
import com.android.systemui.Flags;
import com.android.systemui.util.settings.SecureSettings;
@@ -436,6 +438,20 @@
mContext.startActivity(getIntentForEditScreen());
}
+ void incrementTexMetricForAllTargets(String metric) {
+ if (!Flags.floatingMenuDragToEdit()) {
+ return;
+ }
+ for (AccessibilityTarget target : mTargetFeatures) {
+ incrementTexMetric(metric, target.getUid());
+ }
+ }
+
+ @VisibleForTesting
+ void incrementTexMetric(String metric, int uid) {
+ Counter.logIncrementWithUid(metric, uid);
+ }
+
Intent getIntentForEditScreen() {
List<String> targets = new SettingsStringUtil.ColonDelimitedSet.OfStrings(
mSecureSettings.getStringForUser(
diff --git a/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuViewLayer.java b/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuViewLayer.java
index a883c00..6d4baf4 100644
--- a/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuViewLayer.java
+++ b/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuViewLayer.java
@@ -92,6 +92,20 @@
MenuView.OnMoveToTuckedListener {
private static final int SHOW_MESSAGE_DELAY_MS = 3000;
+ /**
+ * Counter indicating the FAB was dragged to the Dismiss action button.
+ *
+ * <p>Defined in frameworks/proto_logging/stats/express/catalog/accessibility.cfg.
+ */
+ static final String TEX_METRIC_DISMISS = "accessibility.value_fab_shortcut_action_dismiss";
+
+ /**
+ * Counter indicating the FAB was dragged to the Edit action button.
+ *
+ * <p>Defined in frameworks/proto_logging/stats/express/catalog/accessibility.cfg.
+ */
+ static final String TEX_METRIC_EDIT = "accessibility.value_fab_shortcut_action_edit";
+
private final WindowManager mWindowManager;
private final MenuView mMenuView;
private final MenuListViewTouchHandler mMenuListViewTouchHandler;
@@ -229,20 +243,23 @@
}
mDragToInteractAnimationController.setMagnetListener(new MagnetizedObject.MagnetListener() {
@Override
- public void onStuckToTarget(@NonNull MagnetizedObject.MagneticTarget target) {
+ public void onStuckToTarget(@NonNull MagnetizedObject.MagneticTarget target,
+ @NonNull MagnetizedObject<?> draggedObject) {
mDragToInteractAnimationController.animateInteractMenu(
target.getTargetView().getId(), /* scaleUp= */ true);
}
@Override
public void onUnstuckFromTarget(@NonNull MagnetizedObject.MagneticTarget target,
+ @NonNull MagnetizedObject<?> draggedObject,
float velocityX, float velocityY, boolean wasFlungOut) {
mDragToInteractAnimationController.animateInteractMenu(
target.getTargetView().getId(), /* scaleUp= */ false);
}
@Override
- public void onReleasedInTarget(@NonNull MagnetizedObject.MagneticTarget target) {
+ public void onReleasedInTarget(@NonNull MagnetizedObject.MagneticTarget target,
+ @NonNull MagnetizedObject<?> draggedObject) {
dispatchAccessibilityAction(target.getTargetView().getId());
}
});
@@ -457,9 +474,11 @@
} else {
hideMenuAndShowMessage();
}
+ mMenuView.incrementTexMetricForAllTargets(TEX_METRIC_DISMISS);
} else if (id == R.id.action_edit
&& Flags.floatingMenuDragToEdit()) {
mMenuView.gotoEditScreen();
+ mMenuView.incrementTexMetricForAllTargets(TEX_METRIC_EDIT);
}
mDismissView.hide();
mDragToInteractView.hide();
diff --git a/packages/SystemUI/src/com/android/systemui/assist/AssistManager.java b/packages/SystemUI/src/com/android/systemui/assist/AssistManager.java
index 685ea81..74ea58c 100644
--- a/packages/SystemUI/src/com/android/systemui/assist/AssistManager.java
+++ b/packages/SystemUI/src/com/android/systemui/assist/AssistManager.java
@@ -21,6 +21,7 @@
import android.os.SystemClock;
import android.os.UserHandle;
import android.provider.Settings;
+import android.service.voice.VisualQueryAttentionResult;
import android.service.voice.VoiceInteractionSession;
import android.util.Log;
@@ -157,12 +158,14 @@
private final IVisualQueryDetectionAttentionListener mVisualQueryDetectionAttentionListener =
new IVisualQueryDetectionAttentionListener.Stub() {
@Override
- public void onAttentionGained() {
+ public void onAttentionGained(VisualQueryAttentionResult attentionResult) {
+ // TODO (b/319132184): Implemented this with different types.
handleVisualAttentionChanged(true);
}
@Override
- public void onAttentionLost() {
+ public void onAttentionLost(int interactionIntention) {
+ //TODO (b/319132184): Implemented this with different types.
handleVisualAttentionChanged(false);
}
};
@@ -472,6 +475,7 @@
});
}
+ // TODO (b/319132184): Implemented this with different types.
private void handleVisualAttentionChanged(boolean attentionGained) {
final StatusBarManager statusBarManager = mContext.getSystemService(StatusBarManager.class);
if (statusBarManager != null) {
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/FaceHelpMessageDeferral.kt b/packages/SystemUI/src/com/android/systemui/biometrics/FaceHelpMessageDeferral.kt
index b015f70..8c68eac 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/FaceHelpMessageDeferral.kt
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/FaceHelpMessageDeferral.kt
@@ -20,23 +20,37 @@
import com.android.keyguard.logging.BiometricMessageDeferralLogger
import com.android.keyguard.logging.FaceMessageDeferralLogger
import com.android.systemui.Dumpable
-import com.android.systemui.res.R
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.dump.DumpManager
+import com.android.systemui.res.R
import java.io.PrintWriter
import java.util.Objects
import javax.inject.Inject
+@SysUISingleton
+class FaceHelpMessageDeferralFactory
+@Inject
+constructor(
+ @Main private val resources: Resources,
+ private val logBuffer: FaceMessageDeferralLogger,
+ private val dumpManager: DumpManager
+) {
+ fun create(): FaceHelpMessageDeferral {
+ return FaceHelpMessageDeferral(
+ resources = resources,
+ logBuffer = logBuffer,
+ dumpManager = dumpManager,
+ )
+ }
+}
+
/**
* Provides whether a face acquired help message should be shown immediately when its received or
* should be shown when face auth times out. See [updateMessage] and [getDeferredMessage].
*/
-@SysUISingleton
-class FaceHelpMessageDeferral
-@Inject
-constructor(
- @Main resources: Resources,
+class FaceHelpMessageDeferral(
+ resources: Resources,
logBuffer: FaceMessageDeferralLogger,
dumpManager: DumpManager
) :
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/domain/interactor/FingerprintPropertyInteractor.kt b/packages/SystemUI/src/com/android/systemui/biometrics/domain/interactor/FingerprintPropertyInteractor.kt
index e6939f0..ff9cdbd 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/domain/interactor/FingerprintPropertyInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/domain/interactor/FingerprintPropertyInteractor.kt
@@ -39,6 +39,8 @@
configurationInteractor: ConfigurationInteractor,
displayStateInteractor: DisplayStateInteractor,
) {
+ val isUdfps: Flow<Boolean> = repository.sensorType.map { it.isUdfps() }
+
/**
* Devices with multiple physical displays use unique display ids to determine which sensor is
* on the active physical display. This value represents a unique physical display id.
diff --git a/packages/SystemUI/src/com/android/systemui/bouncer/domain/interactor/BouncerMessageInteractor.kt b/packages/SystemUI/src/com/android/systemui/bouncer/domain/interactor/BouncerMessageInteractor.kt
index ef4554c..8197145 100644
--- a/packages/SystemUI/src/com/android/systemui/bouncer/domain/interactor/BouncerMessageInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/bouncer/domain/interactor/BouncerMessageInteractor.kt
@@ -92,6 +92,7 @@
private const val REBOOT_MAINLINE_UPDATE = "reboot,mainline_update"
private const val TAG = "BouncerMessageInteractor"
+/** Handles business logic for the primary bouncer message area. */
@SysUISingleton
class BouncerMessageInteractor
@Inject
diff --git a/packages/SystemUI/src/com/android/systemui/communal/data/repository/CommunalRepository.kt b/packages/SystemUI/src/com/android/systemui/communal/data/repository/CommunalRepository.kt
index 4a06585f5..9e68ff8 100644
--- a/packages/SystemUI/src/com/android/systemui/communal/data/repository/CommunalRepository.kt
+++ b/packages/SystemUI/src/com/android/systemui/communal/data/repository/CommunalRepository.kt
@@ -102,7 +102,7 @@
override val isCommunalHubShowing: Flow<Boolean> =
if (sceneContainerFlags.isEnabled()) {
- sceneContainerRepository.desiredScene.map { scene -> scene.key == SceneKey.Communal }
+ sceneContainerRepository.currentScene.map { sceneKey -> sceneKey == SceneKey.Communal }
} else {
desiredScene.map { sceneKey -> sceneKey == CommunalSceneKey.Communal }
}
diff --git a/packages/SystemUI/src/com/android/systemui/compose/BaseComposeFacade.kt b/packages/SystemUI/src/com/android/systemui/compose/BaseComposeFacade.kt
index 4e23ecd9..8178ade 100644
--- a/packages/SystemUI/src/com/android/systemui/compose/BaseComposeFacade.kt
+++ b/packages/SystemUI/src/com/android/systemui/compose/BaseComposeFacade.kt
@@ -33,6 +33,7 @@
import com.android.systemui.people.ui.viewmodel.PeopleViewModel
import com.android.systemui.qs.footer.ui.viewmodel.FooterActionsViewModel
import com.android.systemui.scene.shared.model.Scene
+import com.android.systemui.scene.shared.model.SceneDataSourceDelegator
import com.android.systemui.scene.shared.model.SceneKey
import com.android.systemui.scene.ui.viewmodel.SceneContainerViewModel
import com.android.systemui.volume.panel.ui.viewmodel.VolumePanelViewModel
@@ -95,6 +96,7 @@
viewModel: SceneContainerViewModel,
windowInsets: StateFlow<WindowInsets?>,
sceneByKey: Map<SceneKey, Scene>,
+ dataSourceDelegator: SceneDataSourceDelegator,
): View
/** Creates sticky key indicator content presenting provided [viewModel] */
diff --git a/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java b/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java
index 1720de8..e893177 100644
--- a/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java
+++ b/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java
@@ -88,6 +88,8 @@
import com.android.systemui.recents.Recents;
import com.android.systemui.recordissue.RecordIssueModule;
import com.android.systemui.retail.dagger.RetailModeModule;
+import com.android.systemui.scene.shared.model.SceneDataSource;
+import com.android.systemui.scene.shared.model.SceneDataSourceDelegator;
import com.android.systemui.scene.ui.view.WindowRootViewComponent;
import com.android.systemui.screenrecord.ScreenRecordModule;
import com.android.systemui.screenshot.dagger.ScreenshotModule;
@@ -393,4 +395,7 @@
@IntoMap
@ClassKey(SystemUISecondaryUserService.class)
abstract Service bindsSystemUISecondaryUserService(SystemUISecondaryUserService service);
+
+ @Binds
+ abstract SceneDataSource bindSceneDataSource(SceneDataSourceDelegator delegator);
}
diff --git a/packages/SystemUI/src/com/android/systemui/deviceentry/domain/interactor/BiometricMessageInteractor.kt b/packages/SystemUI/src/com/android/systemui/deviceentry/domain/interactor/BiometricMessageInteractor.kt
new file mode 100644
index 0000000..55d2bfc
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/deviceentry/domain/interactor/BiometricMessageInteractor.kt
@@ -0,0 +1,174 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.deviceentry.domain.interactor
+
+import android.content.res.Resources
+import com.android.systemui.biometrics.domain.interactor.FingerprintPropertyInteractor
+import com.android.systemui.dagger.SysUISingleton
+import com.android.systemui.dagger.qualifiers.Main
+import com.android.systemui.deviceentry.shared.model.ErrorFaceAuthenticationStatus
+import com.android.systemui.deviceentry.shared.model.FaceMessage
+import com.android.systemui.deviceentry.shared.model.FaceTimeoutMessage
+import com.android.systemui.deviceentry.shared.model.FailedFaceAuthenticationStatus
+import com.android.systemui.deviceentry.shared.model.FingerprintLockoutMessage
+import com.android.systemui.deviceentry.shared.model.FingerprintMessage
+import com.android.systemui.deviceentry.shared.model.HelpFaceAuthenticationStatus
+import com.android.systemui.keyguard.shared.model.ErrorFingerprintAuthenticationStatus
+import com.android.systemui.res.R
+import com.android.systemui.util.kotlin.sample
+import javax.inject.Inject
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.filter
+import kotlinx.coroutines.flow.filterIsInstance
+import kotlinx.coroutines.flow.filterNot
+import kotlinx.coroutines.flow.flatMapLatest
+import kotlinx.coroutines.flow.map
+import kotlinx.coroutines.flow.merge
+
+/**
+ * BiometricMessage business logic. Filters biometric error/acquired/fail/success events for
+ * authentication events that should never surface a message to the user at the current device
+ * state.
+ */
+@ExperimentalCoroutinesApi
+@SysUISingleton
+class BiometricMessageInteractor
+@Inject
+constructor(
+ @Main private val resources: Resources,
+ fingerprintAuthInteractor: DeviceEntryFingerprintAuthInteractor,
+ fingerprintPropertyInteractor: FingerprintPropertyInteractor,
+ faceAuthInteractor: DeviceEntryFaceAuthInteractor,
+ biometricSettingsInteractor: DeviceEntryBiometricSettingsInteractor,
+) {
+ private val faceHelp: Flow<HelpFaceAuthenticationStatus> =
+ faceAuthInteractor.authenticationStatus.filterIsInstance<HelpFaceAuthenticationStatus>()
+ private val faceError: Flow<ErrorFaceAuthenticationStatus> =
+ faceAuthInteractor.authenticationStatus.filterIsInstance<ErrorFaceAuthenticationStatus>()
+ private val faceFailure: Flow<FailedFaceAuthenticationStatus> =
+ faceAuthInteractor.authenticationStatus.filterIsInstance<FailedFaceAuthenticationStatus>()
+
+ /**
+ * The acquisition message ids to show message when both fingerprint and face are enrolled and
+ * enabled for device entry.
+ */
+ private val coExFaceAcquisitionMsgIdsToShow: Set<Int> =
+ resources.getIntArray(R.array.config_face_help_msgs_when_fingerprint_enrolled).toSet()
+
+ private fun ErrorFingerprintAuthenticationStatus.shouldSuppressError(): Boolean {
+ return isCancellationError() || isPowerPressedError()
+ }
+
+ private fun ErrorFaceAuthenticationStatus.shouldSuppressError(): Boolean {
+ return isCancellationError() || isUnableToProcessError()
+ }
+
+ private val fingerprintErrorMessage: Flow<FingerprintMessage> =
+ fingerprintAuthInteractor.fingerprintError
+ .filterNot { it.shouldSuppressError() }
+ .sample(biometricSettingsInteractor.fingerprintAuthCurrentlyAllowed, ::Pair)
+ .filter { (errorStatus, fingerprintAuthAllowed) ->
+ fingerprintAuthAllowed || errorStatus.isLockoutError()
+ }
+ .map { (errorStatus, _) ->
+ when {
+ errorStatus.isLockoutError() -> FingerprintLockoutMessage(errorStatus.msg)
+ else -> FingerprintMessage(errorStatus.msg)
+ }
+ }
+
+ private val fingerprintHelpMessage: Flow<FingerprintMessage> =
+ fingerprintAuthInteractor.fingerprintHelp
+ .sample(biometricSettingsInteractor.fingerprintAuthCurrentlyAllowed, ::Pair)
+ .filter { (_, fingerprintAuthAllowed) -> fingerprintAuthAllowed }
+ .map { (helpStatus, _) ->
+ FingerprintMessage(
+ helpStatus.msg,
+ )
+ }
+
+ private val fingerprintFailMessage: Flow<FingerprintMessage> =
+ fingerprintPropertyInteractor.isUdfps.flatMapLatest { isUdfps ->
+ fingerprintAuthInteractor.fingerprintFailure
+ .sample(biometricSettingsInteractor.fingerprintAuthCurrentlyAllowed)
+ .filter { fingerprintAuthAllowed -> fingerprintAuthAllowed }
+ .map {
+ FingerprintMessage(
+ if (isUdfps) {
+ resources.getString(
+ com.android.internal.R.string.fingerprint_udfps_error_not_match
+ )
+ } else {
+ resources.getString(
+ com.android.internal.R.string.fingerprint_error_not_match
+ )
+ },
+ )
+ }
+ }
+
+ val fingerprintMessage: Flow<FingerprintMessage> =
+ merge(
+ fingerprintErrorMessage,
+ fingerprintFailMessage,
+ fingerprintHelpMessage,
+ )
+
+ private val faceHelpMessage: Flow<FaceMessage> =
+ biometricSettingsInteractor.fingerprintAndFaceEnrolledAndEnabled
+ .flatMapLatest { fingerprintAndFaceEnrolledAndEnabled ->
+ if (fingerprintAndFaceEnrolledAndEnabled) {
+ faceHelp.filter { faceAuthHelpStatus ->
+ coExFaceAcquisitionMsgIdsToShow.contains(faceAuthHelpStatus.msgId)
+ }
+ } else {
+ faceHelp
+ }
+ }
+ .sample(biometricSettingsInteractor.faceAuthCurrentlyAllowed, ::Pair)
+ .filter { (_, faceAuthCurrentlyAllowed) -> faceAuthCurrentlyAllowed }
+ .map { (status, _) -> FaceMessage(status.msg) }
+
+ private val faceFailureMessage: Flow<FaceMessage> =
+ faceFailure
+ .sample(biometricSettingsInteractor.faceAuthCurrentlyAllowed)
+ .filter { faceAuthCurrentlyAllowed -> faceAuthCurrentlyAllowed }
+ .map { FaceMessage(resources.getString(R.string.keyguard_face_failed)) }
+
+ private val faceErrorMessage: Flow<FaceMessage> =
+ faceError
+ .filterNot { it.shouldSuppressError() }
+ .sample(biometricSettingsInteractor.faceAuthCurrentlyAllowed, ::Pair)
+ .filter { (errorStatus, faceAuthCurrentlyAllowed) ->
+ faceAuthCurrentlyAllowed || errorStatus.isLockoutError()
+ }
+ .map { (status, _) ->
+ when {
+ status.isTimeoutError() -> FaceTimeoutMessage(status.msg)
+ else -> FaceMessage(status.msg)
+ }
+ }
+
+ // TODO(b/317215391): support showing face acquired messages on timeout + face lockout errors
+ val faceMessage: Flow<FaceMessage> =
+ merge(
+ faceHelpMessage,
+ faceFailureMessage,
+ faceErrorMessage,
+ )
+}
diff --git a/packages/SystemUI/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryBiometricSettingsInteractor.kt b/packages/SystemUI/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryBiometricSettingsInteractor.kt
new file mode 100644
index 0000000..4515fcb
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryBiometricSettingsInteractor.kt
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.deviceentry.domain.interactor
+
+import com.android.systemui.dagger.SysUISingleton
+import com.android.systemui.keyguard.data.repository.BiometricSettingsRepository
+import javax.inject.Inject
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.combine
+
+/** Encapsulates business logic for device entry biometric settings. */
+@ExperimentalCoroutinesApi
+@SysUISingleton
+class DeviceEntryBiometricSettingsInteractor
+@Inject
+constructor(
+ repository: BiometricSettingsRepository,
+) {
+ val fingerprintAuthCurrentlyAllowed: Flow<Boolean> =
+ repository.isFingerprintAuthCurrentlyAllowed
+ val faceAuthCurrentlyAllowed: Flow<Boolean> = repository.isFaceAuthCurrentlyAllowed
+
+ /** Whether both fingerprint and face are enrolled and enabled for device entry. */
+ val fingerprintAndFaceEnrolledAndEnabled: Flow<Boolean> =
+ combine(
+ repository.isFingerprintEnrolledAndEnabled,
+ repository.isFaceAuthEnrolledAndEnabled,
+ ) { fpEnabled, faceEnabled ->
+ fpEnabled && faceEnabled
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryFingerprintAuthInteractor.kt b/packages/SystemUI/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryFingerprintAuthInteractor.kt
index 2461c26..a5f6f7c 100644
--- a/packages/SystemUI/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryFingerprintAuthInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryFingerprintAuthInteractor.kt
@@ -18,8 +18,10 @@
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.keyguard.data.repository.DeviceEntryFingerprintAuthRepository
+import com.android.systemui.keyguard.shared.model.ErrorFingerprintAuthenticationStatus
import com.android.systemui.keyguard.shared.model.FailFingerprintAuthenticationStatus
import com.android.systemui.keyguard.shared.model.FingerprintAuthenticationStatus
+import com.android.systemui.keyguard.shared.model.HelpFingerprintAuthenticationStatus
import javax.inject.Inject
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.filterIsInstance
@@ -30,9 +32,6 @@
constructor(
repository: DeviceEntryFingerprintAuthRepository,
) {
- val fingerprintFailure: Flow<FailFingerprintAuthenticationStatus> =
- repository.authenticationStatus.filterIsInstance<FailFingerprintAuthenticationStatus>()
-
/** Whether fingerprint authentication is currently running or not */
val isRunning: Flow<Boolean> = repository.isRunning
@@ -41,4 +40,11 @@
repository.authenticationStatus
val isLockedOut: Flow<Boolean> = repository.isLockedOut
+
+ val fingerprintFailure: Flow<FailFingerprintAuthenticationStatus> =
+ repository.authenticationStatus.filterIsInstance<FailFingerprintAuthenticationStatus>()
+ val fingerprintError: Flow<ErrorFingerprintAuthenticationStatus> =
+ repository.authenticationStatus.filterIsInstance<ErrorFingerprintAuthenticationStatus>()
+ val fingerprintHelp: Flow<HelpFingerprintAuthenticationStatus> =
+ repository.authenticationStatus.filterIsInstance<HelpFingerprintAuthenticationStatus>()
}
diff --git a/packages/SystemUI/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryInteractor.kt b/packages/SystemUI/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryInteractor.kt
index 73389cb..21fd87c 100644
--- a/packages/SystemUI/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryInteractor.kt
@@ -26,7 +26,6 @@
import com.android.systemui.scene.domain.interactor.SceneInteractor
import com.android.systemui.scene.shared.flag.SceneContainerFlags
import com.android.systemui.scene.shared.model.SceneKey
-import com.android.systemui.scene.shared.model.SceneModel
import javax.inject.Inject
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -80,8 +79,7 @@
* Note: This does not imply that the lockscreen is visible or not.
*/
val isDeviceEntered: StateFlow<Boolean> =
- sceneInteractor.desiredScene
- .map { it.key }
+ sceneInteractor.currentScene
.filter { currentScene ->
currentScene == SceneKey.Gone || currentScene == SceneKey.Lockscreen
}
@@ -150,12 +148,12 @@
applicationScope.launch {
if (isAuthenticationRequired()) {
sceneInteractor.changeScene(
- scene = SceneModel(SceneKey.Bouncer),
+ toScene = SceneKey.Bouncer,
loggingReason = "request to unlock device while authentication required",
)
} else {
sceneInteractor.changeScene(
- scene = SceneModel(SceneKey.Gone),
+ toScene = SceneKey.Gone,
loggingReason = "request to unlock device while authentication isn't required",
)
}
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/OccludingAppDeviceEntryInteractor.kt b/packages/SystemUI/src/com/android/systemui/deviceentry/domain/interactor/OccludingAppDeviceEntryInteractor.kt
similarity index 88%
rename from packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/OccludingAppDeviceEntryInteractor.kt
rename to packages/SystemUI/src/com/android/systemui/deviceentry/domain/interactor/OccludingAppDeviceEntryInteractor.kt
index 6382338..79455eb 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/OccludingAppDeviceEntryInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/deviceentry/domain/interactor/OccludingAppDeviceEntryInteractor.kt
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2023 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -11,10 +11,10 @@
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
- * limitations under the License
+ * limitations under the License.
*/
-package com.android.systemui.keyguard.domain.interactor
+package com.android.systemui.deviceentry.domain.interactor
import android.content.Context
import android.content.Intent
@@ -22,7 +22,10 @@
import com.android.systemui.bouncer.domain.interactor.PrimaryBouncerInteractor
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Application
+import com.android.systemui.deviceentry.shared.model.BiometricMessage
+import com.android.systemui.deviceentry.shared.model.FingerprintLockoutMessage
import com.android.systemui.keyguard.data.repository.DeviceEntryFingerprintAuthRepository
+import com.android.systemui.keyguard.domain.interactor.KeyguardInteractor
import com.android.systemui.keyguard.shared.model.ErrorFingerprintAuthenticationStatus
import com.android.systemui.keyguard.shared.model.SuccessFingerprintAuthenticationStatus
import com.android.systemui.plugins.ActivityStarter
@@ -40,7 +43,6 @@
import kotlinx.coroutines.flow.flatMapLatest
import kotlinx.coroutines.flow.flowOf
import kotlinx.coroutines.flow.map
-import kotlinx.coroutines.flow.merge
import kotlinx.coroutines.launch
/** Business logic for handling authentication events when an app is occluding the lockscreen. */
@@ -77,16 +79,15 @@
private val fingerprintLockoutEvents: Flow<Unit> =
fingerprintAuthRepository.authenticationStatus
.ifKeyguardOccludedByApp()
- .filter { it is ErrorFingerprintAuthenticationStatus && it.isLockoutMessage() }
+ .filter { it is ErrorFingerprintAuthenticationStatus && it.isLockoutError() }
.map {} // maps FingerprintAuthenticationStatus => Unit
val message: Flow<BiometricMessage?> =
- merge(
- biometricMessageInteractor.fingerprintErrorMessage.filterNot {
- it.isFingerprintLockoutMessage()
- },
- biometricMessageInteractor.fingerprintFailMessage,
- biometricMessageInteractor.fingerprintHelpMessage,
- )
+ biometricMessageInteractor.fingerprintMessage
+ .filterNot { fingerprintMessage ->
+ // On lockout, the device will show the bouncer. Let's not show the message
+ // before the transition or else it'll look flickery.
+ fingerprintMessage is FingerprintLockoutMessage
+ }
.ifKeyguardOccludedByApp(/* elseFlow */ flowOf(null))
init {
diff --git a/packages/SystemUI/src/com/android/systemui/deviceentry/shared/model/BiometricMessageModels.kt b/packages/SystemUI/src/com/android/systemui/deviceentry/shared/model/BiometricMessageModels.kt
new file mode 100644
index 0000000..118215c
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/deviceentry/shared/model/BiometricMessageModels.kt
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.deviceentry.shared.model
+
+/**
+ * BiometricMessage provided by
+ * [com.android.systemui.deviceentry.domain.interactor.BiometricMessageInteractor]
+ */
+sealed class BiometricMessage(
+ val message: String?,
+)
+
+/** Face biometric message */
+open class FaceMessage(faceMessage: String?) : BiometricMessage(faceMessage)
+
+data class FaceTimeoutMessage(
+ private val faceTimeoutMessage: String?,
+) : FaceMessage(faceTimeoutMessage)
+
+/** Fingerprint biometric message */
+open class FingerprintMessage(fingerprintMessage: String?) : BiometricMessage(fingerprintMessage)
+
+data class FingerprintLockoutMessage(
+ private val fingerprintLockoutMessage: String?,
+) : FingerprintMessage(fingerprintLockoutMessage)
diff --git a/packages/SystemUI/src/com/android/systemui/deviceentry/shared/model/FaceAuthenticationModels.kt b/packages/SystemUI/src/com/android/systemui/deviceentry/shared/model/FaceAuthenticationModels.kt
index f006b34..5f1667a 100644
--- a/packages/SystemUI/src/com/android/systemui/deviceentry/shared/model/FaceAuthenticationModels.kt
+++ b/packages/SystemUI/src/com/android/systemui/deviceentry/shared/model/FaceAuthenticationModels.kt
@@ -71,11 +71,16 @@
*/
fun isCancellationError() = msgId == FaceManager.FACE_ERROR_CANCELED
+ fun isUnableToProcessError() = msgId == FaceManager.FACE_ERROR_UNABLE_TO_PROCESS
+
/** Method that checks if [msgId] is a hardware error. */
fun isHardwareError() =
msgId == FaceManager.FACE_ERROR_HW_UNAVAILABLE ||
msgId == FaceManager.FACE_ERROR_UNABLE_TO_PROCESS
+ /** Method that checks if [msgId] is a timeout error. */
+ fun isTimeoutError() = msgId == FaceManager.FACE_ERROR_TIMEOUT
+
companion object {
/**
* Error message that is created when cancel confirmation is not received from FaceManager
diff --git a/packages/SystemUI/src/com/android/systemui/flags/FlagDependencies.kt b/packages/SystemUI/src/com/android/systemui/flags/FlagDependencies.kt
index 83b2ee2..41ce3fd 100644
--- a/packages/SystemUI/src/com/android/systemui/flags/FlagDependencies.kt
+++ b/packages/SystemUI/src/com/android/systemui/flags/FlagDependencies.kt
@@ -22,10 +22,8 @@
import com.android.server.notification.Flags.crossAppPoliteNotifications
import com.android.server.notification.Flags.politeNotifications
import com.android.server.notification.Flags.vibrateWhileUnlocked
-import com.android.systemui.Flags.FLAG_COMMUNAL_HUB
import com.android.systemui.Flags.FLAG_KEYGUARD_BOTTOM_AREA_REFACTOR
import com.android.systemui.Flags.FLAG_MIGRATE_CLOCKS_TO_BLUEPRINT
-import com.android.systemui.Flags.communalHub
import com.android.systemui.Flags.keyguardBottomAreaRefactor
import com.android.systemui.Flags.migrateClocksToBlueprint
import com.android.systemui.dagger.SysUISingleton
@@ -65,9 +63,6 @@
ComposeLockscreen.token dependsOn KeyguardShadeMigrationNssl.token
ComposeLockscreen.token dependsOn keyguardBottomAreaRefactor
ComposeLockscreen.token dependsOn migrateClocksToBlueprint
-
- // CommunalHub dependencies
- communalHub dependsOn KeyguardShadeMigrationNssl.token
}
private inline val politeNotifications
@@ -80,6 +75,4 @@
get() = FlagToken(FLAG_KEYGUARD_BOTTOM_AREA_REFACTOR, keyguardBottomAreaRefactor())
private inline val migrateClocksToBlueprint
get() = FlagToken(FLAG_MIGRATE_CLOCKS_TO_BLUEPRINT, migrateClocksToBlueprint())
- private inline val communalHub
- get() = FlagToken(FLAG_COMMUNAL_HUB, communalHub())
}
diff --git a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialogLite.java b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialogLite.java
index 2cff947e..afcb03d 100644
--- a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialogLite.java
+++ b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialogLite.java
@@ -2689,10 +2689,12 @@
protected final void setRotationSuggestionsEnabled(boolean enabled) {
try {
final int userId = Binder.getCallingUserHandle().getIdentifier();
- final int what = enabled
- ? StatusBarManager.DISABLE2_NONE
- : StatusBarManager.DISABLE2_ROTATE_SUGGESTIONS;
- mStatusBarService.disable2ForUser(what, mToken, mContext.getPackageName(), userId);
+ StatusBarManager.DisableInfo info = new StatusBarManager.DisableInfo();
+ if (enabled) {
+ info.setRotationSuggestionDisabled(true);
+ }
+ mStatusBarService.disableForUser(info, mToken, mContext.getPackageName(), userId,
+ "setRotationSuggestionsEnabled");
} catch (RemoteException ex) {
throw ex.rethrowFromSystemServer();
}
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewConfigurator.kt b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewConfigurator.kt
index abe49ee..86b99ec 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewConfigurator.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewConfigurator.kt
@@ -100,6 +100,7 @@
private val keyguardClockViewModel: KeyguardClockViewModel,
private val lockscreenContentViewModel: LockscreenContentViewModel,
private val lockscreenSceneBlueprintsLazy: Lazy<Set<LockscreenSceneBlueprint>>,
+ private val keyguardBlueprintViewBinder: KeyguardBlueprintViewBinder,
) : CoreStartable {
private var rootViewHandle: DisposableHandle? = null
@@ -143,7 +144,7 @@
cs.connect(composeView.id, BOTTOM, PARENT_ID, BOTTOM)
keyguardRootView.addView(composeView)
} else {
- KeyguardBlueprintViewBinder.bind(
+ keyguardBlueprintViewBinder.bind(
keyguardRootView,
keyguardBlueprintViewModel,
keyguardClockViewModel,
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
index 0ee924d..b5ca79e7 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
@@ -16,6 +16,7 @@
package com.android.systemui.keyguard;
+import static android.app.StatusBarManager.DISABLE2_NONE;
import static android.app.StatusBarManager.SESSION_KEYGUARD;
import static android.provider.Settings.Secure.LOCK_SCREEN_LOCK_AFTER_TIMEOUT;
import static android.provider.Settings.System.LOCKSCREEN_SOUNDS_ENABLED;
@@ -3403,9 +3404,12 @@
// unless disable is called to show un-hide it once first
if (forceClearFlags) {
try {
- mStatusBarService.disableForUser(flags, mStatusBarDisableToken,
+ StatusBarManager.DisableInfo info = new StatusBarManager.DisableInfo(flags,
+ DISABLE2_NONE);
+ mStatusBarService.disableForUser(info, mStatusBarDisableToken,
mContext.getPackageName(),
- mSelectedUserInteractor.getSelectedUserId(true));
+ mSelectedUserInteractor.getSelectedUserId(true),
+ "adjustStatusBarLocked - force clear flags");
} catch (RemoteException e) {
Log.d(TAG, "Failed to force clear flags", e);
}
@@ -3431,9 +3435,11 @@
}
try {
- mStatusBarService.disableForUser(flags, mStatusBarDisableToken,
- mContext.getPackageName(),
- mSelectedUserInteractor.getSelectedUserId(true));
+ StatusBarManager.DisableInfo info = new StatusBarManager.DisableInfo(flags,
+ DISABLE2_NONE);
+ mStatusBarService.disableForUser(info, mStatusBarDisableToken,
+ mContext.getPackageName(), mSelectedUserInteractor.getSelectedUserId(true),
+ "adjustStatusBarLocked - set disable flags");
} catch (RemoteException e) {
Log.d(TAG, "Failed to set disable flags: " + flags, e);
}
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/dagger/KeyguardModule.java b/packages/SystemUI/src/com/android/systemui/keyguard/dagger/KeyguardModule.java
index 0b227fa..968c3e3 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/dagger/KeyguardModule.java
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/dagger/KeyguardModule.java
@@ -73,6 +73,7 @@
import com.android.systemui.statusbar.policy.UserSwitcherController;
import com.android.systemui.user.domain.interactor.SelectedUserInteractor;
import com.android.systemui.util.DeviceConfigProxy;
+import com.android.systemui.util.ThreadAssert;
import com.android.systemui.util.kotlin.JavaAdapter;
import com.android.systemui.util.settings.SecureSettings;
import com.android.systemui.util.settings.SystemSettings;
@@ -223,6 +224,13 @@
return new KeyguardQuickAffordancesMetricsLoggerImpl();
}
+ /** */
+ @Provides
+ @SysUISingleton
+ static ThreadAssert providesThreadAssert() {
+ return new ThreadAssert();
+ }
+
/** Binds {@link KeyguardUpdateMonitor} as a {@link CoreStartable}. */
@Binds
@IntoMap
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/data/repository/KeyguardBlueprintRepository.kt b/packages/SystemUI/src/com/android/systemui/keyguard/data/repository/KeyguardBlueprintRepository.kt
index 9381830..0659c7c 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/data/repository/KeyguardBlueprintRepository.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/data/repository/KeyguardBlueprintRepository.kt
@@ -17,14 +17,16 @@
package com.android.systemui.keyguard.data.repository
+import android.os.Handler
import android.util.Log
import com.android.systemui.common.ui.data.repository.ConfigurationRepository
import com.android.systemui.dagger.SysUISingleton
+import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.keyguard.shared.model.KeyguardBlueprint
import com.android.systemui.keyguard.ui.view.layout.blueprints.DefaultKeyguardBlueprint.Companion.DEFAULT
import com.android.systemui.keyguard.ui.view.layout.blueprints.KeyguardBlueprintModule
-import com.android.systemui.keyguard.ui.view.layout.blueprints.transitions.IntraBlueprintTransitionType
-import com.android.systemui.keyguard.ui.view.layout.blueprints.transitions.IntraBlueprintTransitionType.DefaultTransition
+import com.android.systemui.keyguard.ui.view.layout.blueprints.transitions.IntraBlueprintTransition.Config
+import com.android.systemui.util.ThreadAssert
import java.io.PrintWriter
import java.util.TreeMap
import javax.inject.Inject
@@ -49,16 +51,17 @@
constructor(
configurationRepository: ConfigurationRepository,
blueprints: Set<@JvmSuppressWildcards KeyguardBlueprint>,
+ @Main val handler: Handler,
+ val assert: ThreadAssert,
) {
// This is TreeMap so that we can order the blueprints and assign numerical values to the
// blueprints in the adb tool.
private val blueprintIdMap: TreeMap<String, KeyguardBlueprint> =
TreeMap<String, KeyguardBlueprint>().apply { putAll(blueprints.associateBy { it.id }) }
val blueprint: MutableStateFlow<KeyguardBlueprint> = MutableStateFlow(blueprintIdMap[DEFAULT]!!)
- val refreshBluePrint: MutableSharedFlow<Unit> = MutableSharedFlow(extraBufferCapacity = 1)
- val refreshBlueprintTransition: MutableSharedFlow<IntraBlueprintTransitionType> =
- MutableSharedFlow(extraBufferCapacity = 1)
+ val refreshTransition = MutableSharedFlow<Config>(extraBufferCapacity = 1)
val configurationChange: Flow<Unit> = configurationRepository.onAnyConfigurationChange
+ private var targetTransitionConfig: Config? = null
/**
* Emits the blueprint value to the collectors.
@@ -105,14 +108,32 @@
blueprint?.let { this.blueprint.value = it }
}
- /** Re-emits the last emitted blueprint value if possible. */
- fun refreshBlueprint() {
- refreshBlueprintWithTransition(DefaultTransition)
- }
+ /**
+ * Re-emits the last emitted blueprint value if possible. This is delayed until next frame to
+ * dedupe requests and determine the correct transition to execute.
+ */
+ fun refreshBlueprint(config: Config = Config.DEFAULT) {
+ fun scheduleCallback() {
+ // We use a handler here instead of a CoroutineDipsatcher because the one provided by
+ // @Main CoroutineDispatcher is currently Dispatchers.Main.immediate, which doesn't
+ // delay the callback, and instead runs it imemdiately.
+ handler.post {
+ assert.isMainThread()
+ targetTransitionConfig?.let {
+ val success = refreshTransition.tryEmit(it)
+ if (!success) {
+ Log.e(TAG, "refreshBlueprint: Failed to emit blueprint refresh: $it")
+ }
+ }
+ targetTransitionConfig = null
+ }
+ }
- fun refreshBlueprintWithTransition(type: IntraBlueprintTransitionType = DefaultTransition) {
- refreshBluePrint.tryEmit(Unit)
- refreshBlueprintTransition.tryEmit(type)
+ assert.isMainThread()
+ if ((targetTransitionConfig?.type?.priority ?: Int.MIN_VALUE) < config.type.priority) {
+ if (targetTransitionConfig == null) scheduleCallback()
+ targetTransitionConfig = config
+ }
}
/** Prints all available blueprints to the PrintWriter. */
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/BiometricMessageInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/BiometricMessageInteractor.kt
deleted file mode 100644
index 508f71a..0000000
--- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/BiometricMessageInteractor.kt
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package com.android.systemui.keyguard.domain.interactor
-
-import android.content.res.Resources
-import android.hardware.biometrics.BiometricSourceType
-import android.hardware.biometrics.BiometricSourceType.FINGERPRINT
-import android.hardware.fingerprint.FingerprintManager
-import com.android.keyguard.KeyguardUpdateMonitor
-import com.android.keyguard.KeyguardUpdateMonitor.BIOMETRIC_HELP_FINGERPRINT_NOT_RECOGNIZED
-import com.android.systemui.biometrics.data.repository.FingerprintPropertyRepository
-import com.android.systemui.biometrics.shared.model.FingerprintSensorType
-import com.android.systemui.dagger.SysUISingleton
-import com.android.systemui.dagger.qualifiers.Main
-import com.android.systemui.keyguard.data.repository.DeviceEntryFingerprintAuthRepository
-import com.android.systemui.keyguard.shared.model.ErrorFingerprintAuthenticationStatus
-import com.android.systemui.keyguard.shared.model.FailFingerprintAuthenticationStatus
-import com.android.systemui.keyguard.shared.model.HelpFingerprintAuthenticationStatus
-import com.android.systemui.keyguard.util.IndicationHelper
-import javax.inject.Inject
-import kotlinx.coroutines.ExperimentalCoroutinesApi
-import kotlinx.coroutines.flow.Flow
-import kotlinx.coroutines.flow.filter
-import kotlinx.coroutines.flow.filterNot
-import kotlinx.coroutines.flow.flatMapLatest
-import kotlinx.coroutines.flow.map
-
-/**
- * BiometricMessage business logic. Filters biometric error/acquired/fail/success events for
- * authentication events that should never surface a message to the user at the current device
- * state.
- */
-@ExperimentalCoroutinesApi
-@SysUISingleton
-class BiometricMessageInteractor
-@Inject
-constructor(
- @Main private val resources: Resources,
- private val fingerprintAuthRepository: DeviceEntryFingerprintAuthRepository,
- private val fingerprintPropertyRepository: FingerprintPropertyRepository,
- private val indicationHelper: IndicationHelper,
- private val keyguardUpdateMonitor: KeyguardUpdateMonitor,
-) {
- val fingerprintErrorMessage: Flow<BiometricMessage> =
- fingerprintAuthRepository.authenticationStatus
- .filter {
- it is ErrorFingerprintAuthenticationStatus &&
- !indicationHelper.shouldSuppressErrorMsg(FINGERPRINT, it.msgId)
- }
- .map {
- val errorStatus = it as ErrorFingerprintAuthenticationStatus
- BiometricMessage(
- FINGERPRINT,
- BiometricMessageType.ERROR,
- errorStatus.msgId,
- errorStatus.msg,
- )
- }
-
- val fingerprintHelpMessage: Flow<BiometricMessage> =
- fingerprintAuthRepository.authenticationStatus
- .filter { it is HelpFingerprintAuthenticationStatus }
- .filterNot { isPrimaryAuthRequired() }
- .map {
- val helpStatus = it as HelpFingerprintAuthenticationStatus
- BiometricMessage(
- FINGERPRINT,
- BiometricMessageType.HELP,
- helpStatus.msgId,
- helpStatus.msg,
- )
- }
-
- val fingerprintFailMessage: Flow<BiometricMessage> =
- isUdfps().flatMapLatest { isUdfps ->
- fingerprintAuthRepository.authenticationStatus
- .filter { it is FailFingerprintAuthenticationStatus }
- .filterNot { isPrimaryAuthRequired() }
- .map {
- BiometricMessage(
- FINGERPRINT,
- BiometricMessageType.FAIL,
- BIOMETRIC_HELP_FINGERPRINT_NOT_RECOGNIZED,
- if (isUdfps) {
- resources.getString(
- com.android.internal.R.string.fingerprint_udfps_error_not_match
- )
- } else {
- resources.getString(
- com.android.internal.R.string.fingerprint_error_not_match
- )
- },
- )
- }
- }
-
- private fun isUdfps() =
- fingerprintPropertyRepository.sensorType.map {
- it == FingerprintSensorType.UDFPS_OPTICAL ||
- it == FingerprintSensorType.UDFPS_ULTRASONIC
- }
-
- private fun isPrimaryAuthRequired(): Boolean {
- // Only checking if unlocking with Biometric is allowed (no matter strong or non-strong
- // as long as primary auth, i.e. PIN/pattern/password, is required), so it's ok to
- // pass true for isStrongBiometric to isUnlockingWithBiometricAllowed() to bypass the
- // check of whether non-strong biometric is allowed since strong biometrics can still be
- // used.
- return !keyguardUpdateMonitor.isUnlockingWithBiometricAllowed(true /* isStrongBiometric */)
- }
-}
-
-data class BiometricMessage(
- val source: BiometricSourceType,
- val type: BiometricMessageType,
- val id: Int,
- val message: String?,
-) {
- fun isFingerprintLockoutMessage(): Boolean {
- return source == FINGERPRINT &&
- type == BiometricMessageType.ERROR &&
- (id == FingerprintManager.FINGERPRINT_ERROR_LOCKOUT ||
- id == FingerprintManager.FINGERPRINT_ERROR_LOCKOUT_PERMANENT)
- }
-}
-
-enum class BiometricMessageType {
- HELP,
- ERROR,
- FAIL,
-}
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardBlueprintInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardBlueprintInteractor.kt
index 566e006..56d64a2 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardBlueprintInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardBlueprintInteractor.kt
@@ -24,13 +24,12 @@
import com.android.systemui.keyguard.shared.model.KeyguardBlueprint
import com.android.systemui.keyguard.ui.view.layout.blueprints.DefaultKeyguardBlueprint
import com.android.systemui.keyguard.ui.view.layout.blueprints.SplitShadeKeyguardBlueprint
-import com.android.systemui.keyguard.ui.view.layout.blueprints.transitions.IntraBlueprintTransitionType
-import com.android.systemui.keyguard.ui.view.layout.blueprints.transitions.IntraBlueprintTransitionType.DefaultTransition
+import com.android.systemui.keyguard.ui.view.layout.blueprints.transitions.IntraBlueprintTransition.Config
+import com.android.systemui.keyguard.ui.view.layout.blueprints.transitions.IntraBlueprintTransition.Type
import com.android.systemui.statusbar.policy.SplitShadeStateController
import javax.inject.Inject
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.flow.Flow
-import kotlinx.coroutines.flow.combine
import kotlinx.coroutines.flow.onStart
import kotlinx.coroutines.launch
@@ -44,20 +43,14 @@
private val splitShadeStateController: SplitShadeStateController,
) {
- /**
- * The current blueprint for the lockscreen.
- *
- * This flow can also emit the same blueprint value if refreshBlueprint is emitted.
- */
+ /** The current blueprint for the lockscreen. */
val blueprint: Flow<KeyguardBlueprint> = keyguardBlueprintRepository.blueprint
- val blueprintWithTransition =
- combine(
- keyguardBlueprintRepository.refreshBluePrint,
- keyguardBlueprintRepository.refreshBlueprintTransition
- ) { _, source ->
- source
- }
+ /**
+ * Triggered when the blueprint isn't changed, but the ConstraintSet should be rebuilt and
+ * optionally a transition should be fired to move to the rebuilt ConstraintSet.
+ */
+ val refreshTransition = keyguardBlueprintRepository.refreshTransition
init {
applicationScope.launch {
@@ -105,14 +98,11 @@
return keyguardBlueprintRepository.applyBlueprint(blueprintId)
}
- /** Re-emits the blueprint value to the collectors. */
- fun refreshBlueprint() {
- keyguardBlueprintRepository.refreshBlueprint()
- }
+ /** Emits a value to refresh the blueprint with the appropriate transition. */
+ fun refreshBlueprint(type: Type = Type.NoTransition) = refreshBlueprint(Config(type))
- fun refreshBlueprintWithTransition(type: IntraBlueprintTransitionType = DefaultTransition) {
- keyguardBlueprintRepository.refreshBlueprintWithTransition(type)
- }
+ /** Emits a value to refresh the blueprint with the appropriate transition. */
+ fun refreshBlueprint(config: Config) = keyguardBlueprintRepository.refreshBlueprint(config)
fun getCurrentBlueprint(): KeyguardBlueprint {
return keyguardBlueprintRepository.blueprint.value
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/shared/model/FingerprintAuthenticationModels.kt b/packages/SystemUI/src/com/android/systemui/keyguard/shared/model/FingerprintAuthenticationModels.kt
index 474de77..d8b7b4a 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/shared/model/FingerprintAuthenticationModels.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/shared/model/FingerprintAuthenticationModels.kt
@@ -16,6 +16,7 @@
package com.android.systemui.keyguard.shared.model
+import android.hardware.biometrics.BiometricFingerprintConstants
import android.hardware.biometrics.BiometricFingerprintConstants.FINGERPRINT_ACQUIRED_GOOD
import android.hardware.biometrics.BiometricFingerprintConstants.FINGERPRINT_ACQUIRED_START
import android.hardware.fingerprint.FingerprintManager
@@ -61,8 +62,14 @@
// present to break equality check if the same error occurs repeatedly.
val createdAt: Long = elapsedRealtime(),
) : FingerprintAuthenticationStatus() {
- fun isLockoutMessage(): Boolean {
- return msgId == FingerprintManager.FINGERPRINT_ERROR_LOCKOUT ||
+ fun isCancellationError(): Boolean =
+ msgId == BiometricFingerprintConstants.FINGERPRINT_ERROR_CANCELED ||
+ msgId == BiometricFingerprintConstants.FINGERPRINT_ERROR_USER_CANCELED
+
+ fun isPowerPressedError(): Boolean =
+ msgId == BiometricFingerprintConstants.BIOMETRIC_ERROR_POWER_PRESSED
+
+ fun isLockoutError(): Boolean =
+ msgId == FingerprintManager.FINGERPRINT_ERROR_LOCKOUT ||
msgId == FingerprintManager.FINGERPRINT_ERROR_LOCKOUT_PERMANENT
- }
}
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/AlternateBouncerMessageAreaViewBinder.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/AlternateBouncerMessageAreaViewBinder.kt
new file mode 100644
index 0000000..9186dde
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/AlternateBouncerMessageAreaViewBinder.kt
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.keyguard.ui.binder
+
+import androidx.lifecycle.Lifecycle
+import androidx.lifecycle.repeatOnLifecycle
+import com.android.keyguard.AuthKeyguardMessageArea
+import com.android.systemui.keyguard.ui.viewmodel.AlternateBouncerMessageAreaViewModel
+import com.android.systemui.lifecycle.repeatWhenAttached
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+
+/** Binds the alternate bouncer message view to its view-model. */
+@ExperimentalCoroutinesApi
+object AlternateBouncerMessageAreaViewBinder {
+
+ /** Binds the view to the view-model, continuing to update the former based on the latter. */
+ @JvmStatic
+ fun bind(
+ view: AuthKeyguardMessageArea,
+ viewModel: AlternateBouncerMessageAreaViewModel,
+ ) {
+ view.setIsVisible(true)
+ view.repeatWhenAttached {
+ repeatOnLifecycle(Lifecycle.State.STARTED) {
+ viewModel.message.collect { biometricMsg ->
+ if (biometricMsg == null) {
+ view.setMessage("", true)
+ } else {
+ view.setMessage(biometricMsg.message, true)
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/AlternateBouncerViewBinder.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/AlternateBouncerViewBinder.kt
index b2a3549..d400210 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/AlternateBouncerViewBinder.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/AlternateBouncerViewBinder.kt
@@ -62,6 +62,11 @@
alternateBouncerDependencies.udfpsAccessibilityOverlayViewModel,
)
+ AlternateBouncerMessageAreaViewBinder.bind(
+ view = view.requireViewById(R.id.alternate_bouncer_message_area),
+ viewModel = alternateBouncerDependencies.messageAreaViewModel,
+ )
+
val scrim = view.requireViewById(R.id.alternate_bouncer_scrim) as ScrimView
val viewModel = alternateBouncerDependencies.viewModel
val swipeUpAnywhereGestureHandler =
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardBlueprintViewBinder.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardBlueprintViewBinder.kt
index 404046b..6e70368 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardBlueprintViewBinder.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardBlueprintViewBinder.kt
@@ -17,7 +17,9 @@
package com.android.systemui.keyguard.ui.binder
+import android.os.Handler
import android.os.Trace
+import android.transition.Transition
import android.transition.TransitionManager
import android.util.Log
import androidx.constraintlayout.widget.ConstraintLayout
@@ -25,98 +27,168 @@
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.repeatOnLifecycle
import com.android.systemui.Flags.keyguardBottomAreaRefactor
+import com.android.systemui.dagger.SysUISingleton
+import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.keyguard.ui.view.layout.blueprints.transitions.BaseBlueprintTransition
import com.android.systemui.keyguard.ui.view.layout.blueprints.transitions.IntraBlueprintTransition
-import com.android.systemui.keyguard.ui.view.layout.blueprints.transitions.IntraBlueprintTransitionType
+import com.android.systemui.keyguard.ui.view.layout.blueprints.transitions.IntraBlueprintTransition.Config
import com.android.systemui.keyguard.ui.viewmodel.KeyguardBlueprintViewModel
import com.android.systemui.keyguard.ui.viewmodel.KeyguardClockViewModel
import com.android.systemui.lifecycle.repeatWhenAttached
+import javax.inject.Inject
+import kotlin.math.max
import kotlinx.coroutines.launch
-class KeyguardBlueprintViewBinder {
- companion object {
- private const val TAG = "KeyguardBlueprintViewBinder"
+private const val TAG = "KeyguardBlueprintViewBinder"
+private const val DEBUG = true
- fun bind(
- constraintLayout: ConstraintLayout,
- viewModel: KeyguardBlueprintViewModel,
- clockViewModel: KeyguardClockViewModel
- ) {
- constraintLayout.repeatWhenAttached {
- repeatOnLifecycle(Lifecycle.State.CREATED) {
- launch {
- viewModel.blueprint.collect { blueprint ->
- val prevBluePrint = viewModel.currentBluePrint
- Trace.beginSection("KeyguardBlueprint#applyBlueprint")
- Log.d(TAG, "applying blueprint: $blueprint")
- TransitionManager.endTransitions(constraintLayout)
+@SysUISingleton
+class KeyguardBlueprintViewBinder
+@Inject
+constructor(
+ @Main private val handler: Handler,
+) {
+ private var runningPriority = -1
+ private val runningTransitions = mutableSetOf<Transition>()
+ private val isTransitionRunning: Boolean
+ get() = runningTransitions.size > 0
+ private val transitionListener =
+ object : Transition.TransitionListener {
+ override fun onTransitionCancel(transition: Transition) {
+ if (DEBUG) Log.e(TAG, "onTransitionCancel: ${transition::class.simpleName}")
+ runningTransitions.remove(transition)
+ }
- val cs =
- ConstraintSet().apply {
- clone(constraintLayout)
- val emptyLayout = ConstraintSet.Layout()
- knownIds.forEach {
- getConstraint(it).layout.copyFrom(emptyLayout)
- }
- blueprint.applyConstraints(this)
- }
+ override fun onTransitionEnd(transition: Transition) {
+ if (DEBUG) Log.e(TAG, "onTransitionEnd: ${transition::class.simpleName}")
+ runningTransitions.remove(transition)
+ }
- // Apply transition.
+ override fun onTransitionPause(transition: Transition) {
+ if (DEBUG) Log.i(TAG, "onTransitionPause: ${transition::class.simpleName}")
+ runningTransitions.remove(transition)
+ }
+
+ override fun onTransitionResume(transition: Transition) {
+ if (DEBUG) Log.i(TAG, "onTransitionResume: ${transition::class.simpleName}")
+ runningTransitions.add(transition)
+ }
+
+ override fun onTransitionStart(transition: Transition) {
+ if (DEBUG) Log.i(TAG, "onTransitionStart: ${transition::class.simpleName}")
+ runningTransitions.add(transition)
+ }
+ }
+
+ fun bind(
+ constraintLayout: ConstraintLayout,
+ viewModel: KeyguardBlueprintViewModel,
+ clockViewModel: KeyguardClockViewModel,
+ ) {
+ constraintLayout.repeatWhenAttached {
+ repeatOnLifecycle(Lifecycle.State.CREATED) {
+ launch {
+ viewModel.blueprint.collect { blueprint ->
+ Trace.beginSection("KeyguardBlueprintViewBinder#applyBlueprint")
+ val prevBluePrint = viewModel.currentBluePrint
+
+ val cs =
+ ConstraintSet().apply {
+ clone(constraintLayout)
+ val emptyLayout = ConstraintSet.Layout()
+ knownIds.forEach { getConstraint(it).layout.copyFrom(emptyLayout) }
+ blueprint.applyConstraints(this)
+ }
+
+ var transition =
if (
!keyguardBottomAreaRefactor() &&
prevBluePrint != null &&
prevBluePrint != blueprint
) {
- TransitionManager.beginDelayedTransition(
- constraintLayout,
- BaseBlueprintTransition(clockViewModel)
- .addTransition(
- IntraBlueprintTransition(
- IntraBlueprintTransitionType.NoTransition,
- clockViewModel
- )
- )
- )
- } else {
- TransitionManager.beginDelayedTransition(
- constraintLayout,
- IntraBlueprintTransition(
- IntraBlueprintTransitionType.NoTransition,
- clockViewModel
+ BaseBlueprintTransition(clockViewModel)
+ .addTransition(
+ IntraBlueprintTransition(Config.DEFAULT, clockViewModel)
)
- )
+ } else {
+ IntraBlueprintTransition(Config.DEFAULT, clockViewModel)
}
- // Add and remove views of sections that are not contained by the
- // other.
+ runTransition(constraintLayout, transition, Config.DEFAULT) {
+ // Add and remove views of sections that are not contained by the other.
blueprint.replaceViews(prevBluePrint, constraintLayout)
cs.applyTo(constraintLayout)
-
- viewModel.currentBluePrint = blueprint
- Trace.endSection()
}
+
+ viewModel.currentBluePrint = blueprint
+ Trace.endSection()
}
+ }
- launch {
- viewModel.blueprintWithTransition.collect { source ->
- TransitionManager.endTransitions(constraintLayout)
+ launch {
+ viewModel.refreshTransition.collect { transition ->
+ Trace.beginSection("KeyguardBlueprintViewBinder#refreshTransition")
+ val cs =
+ ConstraintSet().apply {
+ clone(constraintLayout)
+ viewModel.currentBluePrint?.applyConstraints(this)
+ }
- val cs =
- ConstraintSet().apply {
- clone(constraintLayout)
- viewModel.currentBluePrint?.applyConstraints(this)
- }
-
- TransitionManager.beginDelayedTransition(
- constraintLayout,
- IntraBlueprintTransition(source, clockViewModel)
- )
+ runTransition(
+ constraintLayout,
+ IntraBlueprintTransition(transition, clockViewModel),
+ transition,
+ ) {
cs.applyTo(constraintLayout)
- Trace.endSection()
}
+ Trace.endSection()
}
}
}
}
}
+
+ private fun runTransition(
+ constraintLayout: ConstraintLayout,
+ transition: Transition,
+ config: Config,
+ apply: () -> Unit,
+ ) {
+ val currentPriority = if (isTransitionRunning) runningPriority else -1
+ if (config.checkPriority && config.type.priority < currentPriority) {
+ if (DEBUG) {
+ Log.w(
+ TAG,
+ "runTransition: skipping ${transition::class.simpleName}: " +
+ "currentPriority=$currentPriority; config=$config"
+ )
+ }
+ apply()
+ return
+ }
+
+ if (DEBUG) {
+ Log.i(
+ TAG,
+ "runTransition: running ${transition::class.simpleName}: " +
+ "currentPriority=$currentPriority; config=$config"
+ )
+ }
+
+ // beginDelayedTransition makes a copy, so we temporarially add the uncopied transition to
+ // the running set until the copy is started by the handler.
+ runningTransitions.add(transition)
+ transition.addListener(transitionListener)
+ runningPriority = max(currentPriority, config.type.priority)
+
+ handler.post {
+ if (config.terminatePrevious) {
+ TransitionManager.endTransitions(constraintLayout)
+ }
+
+ TransitionManager.beginDelayedTransition(constraintLayout, transition)
+ runningTransitions.remove(transition)
+ apply()
+ }
+ }
}
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardClockViewBinder.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardClockViewBinder.kt
index 62a6e8b..01596ed 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardClockViewBinder.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardClockViewBinder.kt
@@ -30,7 +30,7 @@
import com.android.systemui.Flags.migrateClocksToBlueprint
import com.android.systemui.keyguard.domain.interactor.KeyguardBlueprintInteractor
import com.android.systemui.keyguard.domain.interactor.KeyguardClockInteractor
-import com.android.systemui.keyguard.ui.view.layout.blueprints.transitions.IntraBlueprintTransitionType
+import com.android.systemui.keyguard.ui.view.layout.blueprints.transitions.IntraBlueprintTransition.Type
import com.android.systemui.keyguard.ui.view.layout.sections.ClockSection
import com.android.systemui.keyguard.ui.viewmodel.KeyguardClockViewModel
import com.android.systemui.lifecycle.repeatWhenAttached
@@ -39,6 +39,8 @@
import kotlinx.coroutines.launch
object KeyguardClockViewBinder {
+ private val TAG = KeyguardClockViewBinder::class.simpleName!!
+
@JvmStatic
fun bind(
clockSection: ClockSection,
@@ -68,9 +70,7 @@
if (!migrateClocksToBlueprint()) return@launch
viewModel.clockSize.collect {
updateBurnInLayer(keyguardRootView, viewModel)
- blueprintInteractor.refreshBlueprintWithTransition(
- IntraBlueprintTransitionType.ClockSize
- )
+ blueprintInteractor.refreshBlueprint(Type.ClockSize)
}
}
launch {
@@ -83,13 +83,9 @@
it.largeClock.config.hasCustomPositionUpdatedAnimation &&
it.config.id == DEFAULT_CLOCK_ID
) {
- blueprintInteractor.refreshBlueprintWithTransition(
- IntraBlueprintTransitionType.DefaultClockStepping
- )
+ blueprintInteractor.refreshBlueprint(Type.DefaultClockStepping)
} else {
- blueprintInteractor.refreshBlueprintWithTransition(
- IntraBlueprintTransitionType.DefaultTransition
- )
+ blueprintInteractor.refreshBlueprint(Type.DefaultTransition)
}
}
}
@@ -102,9 +98,7 @@
if (
viewModel.useLargeClock && it.config.id == "DIGITAL_CLOCK_WEATHER"
) {
- blueprintInteractor.refreshBlueprintWithTransition(
- IntraBlueprintTransitionType.DefaultTransition
- )
+ blueprintInteractor.refreshBlueprint(Type.DefaultTransition)
}
}
}
@@ -112,6 +106,7 @@
}
}
}
+
@VisibleForTesting
fun updateBurnInLayer(
keyguardRootView: ConstraintLayout,
@@ -171,6 +166,7 @@
}
}
}
+
fun applyConstraints(
clockSection: ClockSection,
rootView: ConstraintLayout,
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardSmartspaceViewBinder.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardSmartspaceViewBinder.kt
index 08a2b9c..b77f0c5 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardSmartspaceViewBinder.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardSmartspaceViewBinder.kt
@@ -23,6 +23,8 @@
import androidx.lifecycle.repeatOnLifecycle
import com.android.systemui.Flags.migrateClocksToBlueprint
import com.android.systemui.keyguard.domain.interactor.KeyguardBlueprintInteractor
+import com.android.systemui.keyguard.ui.view.layout.blueprints.transitions.IntraBlueprintTransition.Config
+import com.android.systemui.keyguard.ui.view.layout.blueprints.transitions.IntraBlueprintTransition.Type
import com.android.systemui.keyguard.ui.viewmodel.KeyguardClockViewModel
import com.android.systemui.keyguard.ui.viewmodel.KeyguardSmartspaceViewModel
import com.android.systemui.lifecycle.repeatWhenAttached
@@ -49,7 +51,13 @@
clockViewModel,
smartspaceViewModel
)
- blueprintInteractor.refreshBlueprintWithTransition()
+ blueprintInteractor.refreshBlueprint(
+ Config(
+ Type.SmartspaceVisibility,
+ checkPriority = false,
+ terminatePrevious = false,
+ )
+ )
}
}
@@ -57,7 +65,13 @@
if (!migrateClocksToBlueprint()) return@launch
smartspaceViewModel.bcSmartspaceVisibility.collect {
updateBCSmartspaceInBurnInLayer(keyguardRootView, clockViewModel)
- blueprintInteractor.refreshBlueprintWithTransition()
+ blueprintInteractor.refreshBlueprint(
+ Config(
+ Type.SmartspaceVisibility,
+ checkPriority = false,
+ terminatePrevious = false,
+ )
+ )
}
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/transitions/DeviceEntryIconTransitionModule.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/transitions/DeviceEntryIconTransitionModule.kt
index fab60e8..951df5a 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/transitions/DeviceEntryIconTransitionModule.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/transitions/DeviceEntryIconTransitionModule.kt
@@ -23,6 +23,7 @@
import com.android.systemui.keyguard.ui.viewmodel.DozingToLockscreenTransitionViewModel
import com.android.systemui.keyguard.ui.viewmodel.DreamingToLockscreenTransitionViewModel
import com.android.systemui.keyguard.ui.viewmodel.GoneToAodTransitionViewModel
+import com.android.systemui.keyguard.ui.viewmodel.GoneToLockscreenTransitionViewModel
import com.android.systemui.keyguard.ui.viewmodel.LockscreenToAodTransitionViewModel
import com.android.systemui.keyguard.ui.viewmodel.LockscreenToDreamingTransitionViewModel
import com.android.systemui.keyguard.ui.viewmodel.LockscreenToGoneTransitionViewModel
@@ -116,6 +117,12 @@
@Binds
@IntoSet
+ abstract fun goneToLockscreen(
+ impl: GoneToLockscreenTransitionViewModel
+ ): DeviceEntryIconTransition
+
+ @Binds
+ @IntoSet
abstract fun occludedToAod(impl: OccludedToAodTransitionViewModel): DeviceEntryIconTransition
@Binds
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/blueprints/transitions/IntraBlueprintTransition.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/blueprints/transitions/IntraBlueprintTransition.kt
index 524aa1a..a7075d9 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/blueprints/transitions/IntraBlueprintTransition.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/blueprints/transitions/IntraBlueprintTransition.kt
@@ -21,25 +21,42 @@
import com.android.systemui.keyguard.ui.view.layout.sections.transitions.DefaultClockSteppingTransition
import com.android.systemui.keyguard.ui.viewmodel.KeyguardClockViewModel
-enum class IntraBlueprintTransitionType {
- ClockSize,
- ClockCenter,
- DefaultClockStepping,
- DefaultTransition,
- AodNotifIconsTransition,
- // When transition between blueprint, we don't need any duration or interpolator but we need
- // all elements go to correct state
- NoTransition,
-}
-
class IntraBlueprintTransition(
- type: IntraBlueprintTransitionType,
- clockViewModel: KeyguardClockViewModel
+ config: IntraBlueprintTransition.Config,
+ clockViewModel: KeyguardClockViewModel,
) : TransitionSet() {
+
+ enum class Type(
+ val priority: Int,
+ ) {
+ ClockSize(100),
+ ClockCenter(99),
+ DefaultClockStepping(98),
+ AodNotifIconsTransition(97),
+ SmartspaceVisibility(2),
+ DefaultTransition(1),
+ // When transition between blueprint, we don't need any duration or interpolator but we need
+ // all elements go to correct state
+ NoTransition(0),
+ }
+
+ data class Config(
+ val type: Type,
+ val checkPriority: Boolean = true,
+ val terminatePrevious: Boolean = true,
+ ) {
+ companion object {
+ val DEFAULT = Config(Type.NoTransition)
+ }
+ }
+
init {
ordering = ORDERING_TOGETHER
- if (type == IntraBlueprintTransitionType.DefaultClockStepping)
- addTransition(clockViewModel.clock?.let { DefaultClockSteppingTransition(it) })
- addTransition(ClockSizeTransition(type, clockViewModel))
+ when (config.type) {
+ Type.NoTransition -> {}
+ Type.DefaultClockStepping ->
+ addTransition(clockViewModel.clock?.let { DefaultClockSteppingTransition(it) })
+ else -> addTransition(ClockSizeTransition(config, clockViewModel))
+ }
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/ClockSection.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/ClockSection.kt
index 631b342..54a7ca4 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/ClockSection.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/ClockSection.kt
@@ -24,7 +24,7 @@
import androidx.constraintlayout.widget.ConstraintSet
import androidx.constraintlayout.widget.ConstraintSet.BOTTOM
import androidx.constraintlayout.widget.ConstraintSet.END
-import androidx.constraintlayout.widget.ConstraintSet.INVISIBLE
+import androidx.constraintlayout.widget.ConstraintSet.GONE
import androidx.constraintlayout.widget.ConstraintSet.PARENT_ID
import androidx.constraintlayout.widget.ConstraintSet.START
import androidx.constraintlayout.widget.ConstraintSet.TOP
@@ -52,11 +52,6 @@
visibility: Int,
) = views.forEach { view -> this.setVisibility(view.id, visibility) }
-internal fun ConstraintSet.setAlpha(
- views: Iterable<View>,
- alpha: Float,
-) = views.forEach { view -> this.setAlpha(view.id, alpha) }
-
open class ClockSection
@Inject
constructor(
@@ -105,7 +100,7 @@
// Add constraint between elements in clock and clock container
return constraintSet.apply {
setVisibility(getTargetClockFace(clock).views, VISIBLE)
- setVisibility(getNonTargetClockFace(clock).views, INVISIBLE)
+ setVisibility(getNonTargetClockFace(clock).views, GONE)
if (!keyguardClockViewModel.useLargeClock) {
connect(sharedR.id.bc_smartspace_view, TOP, sharedR.id.date_smartspace_view, BOTTOM)
}
@@ -150,6 +145,7 @@
}
}
}
+
open fun applyDefaultConstraints(constraints: ConstraintSet) {
val guideline =
if (keyguardClockViewModel.clockShouldBeCentered.value) PARENT_ID
@@ -168,8 +164,8 @@
largeClockTopMargin += getDimen(ENHANCED_SMARTSPACE_HEIGHT)
connect(R.id.lockscreen_clock_view_large, TOP, PARENT_ID, TOP, largeClockTopMargin)
- constrainHeight(R.id.lockscreen_clock_view_large, WRAP_CONTENT)
constrainWidth(R.id.lockscreen_clock_view_large, WRAP_CONTENT)
+ constrainHeight(R.id.lockscreen_clock_view_large, WRAP_CONTENT)
constrainWidth(R.id.lockscreen_clock_view, WRAP_CONTENT)
constrainHeight(
R.id.lockscreen_clock_view,
@@ -190,11 +186,10 @@
context.resources.getDimensionPixelSize(R.dimen.keyguard_clock_top_margin) +
Utils.getStatusBarHeaderHeightKeyguard(context)
}
- if (keyguardClockViewModel.useLargeClock) {
- smallClockTopMargin -=
- context.resources.getDimensionPixelSize(customizationR.dimen.small_clock_height)
- }
- connect(R.id.lockscreen_clock_view, TOP, PARENT_ID, TOP, smallClockTopMargin)
+
+ create(R.id.small_clock_guideline_top, ConstraintSet.HORIZONTAL_GUIDELINE)
+ setGuidelineBegin(R.id.small_clock_guideline_top, smallClockTopMargin)
+ connect(R.id.lockscreen_clock_view, TOP, R.id.small_clock_guideline_top, BOTTOM)
}
constrainWeatherClockDateIconsBarrier(constraints)
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/SmartspaceSection.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/SmartspaceSection.kt
index 2f99719..8255bcc 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/SmartspaceSection.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/SmartspaceSection.kt
@@ -53,14 +53,14 @@
private var dateView: View? = null
private var smartspaceVisibilityListener: OnGlobalLayoutListener? = null
+ private var pastVisibility: Int = -1
override fun addViews(constraintLayout: ConstraintLayout) {
- if (!migrateClocksToBlueprint()) {
- return
- }
+ if (!migrateClocksToBlueprint()) return
smartspaceView = smartspaceController.buildAndConnectView(constraintLayout)
weatherView = smartspaceController.buildAndConnectWeatherView(constraintLayout)
dateView = smartspaceController.buildAndConnectDateView(constraintLayout)
+ pastVisibility = smartspaceView?.visibility ?: View.GONE
if (keyguardSmartspaceViewModel.isSmartspaceEnabled) {
constraintLayout.addView(smartspaceView)
if (keyguardSmartspaceViewModel.isDateWeatherDecoupled) {
@@ -69,26 +69,20 @@
}
}
keyguardUnlockAnimationController.lockscreenSmartspace = smartspaceView
- smartspaceVisibilityListener =
- object : OnGlobalLayoutListener {
- var pastVisibility = GONE
- override fun onGlobalLayout() {
- smartspaceView?.let {
- val newVisibility = it.visibility
- if (pastVisibility != newVisibility) {
- keyguardSmartspaceInteractor.setBcSmartspaceVisibility(newVisibility)
- pastVisibility = newVisibility
- }
- }
+ smartspaceVisibilityListener = OnGlobalLayoutListener {
+ smartspaceView?.let {
+ val newVisibility = it.visibility
+ if (pastVisibility != newVisibility) {
+ keyguardSmartspaceInteractor.setBcSmartspaceVisibility(newVisibility)
+ pastVisibility = newVisibility
}
}
+ }
smartspaceView?.viewTreeObserver?.addOnGlobalLayoutListener(smartspaceVisibilityListener)
}
override fun bindData(constraintLayout: ConstraintLayout) {
- if (!migrateClocksToBlueprint()) {
- return
- }
+ if (!migrateClocksToBlueprint()) return
KeyguardSmartspaceViewBinder.bind(
constraintLayout,
keyguardClockViewModel,
@@ -98,9 +92,7 @@
}
override fun applyConstraints(constraintSet: ConstraintSet) {
- if (!migrateClocksToBlueprint()) {
- return
- }
+ if (!migrateClocksToBlueprint()) return
val horizontalPaddingStart =
context.resources.getDimensionPixelSize(R.dimen.below_clock_padding_start) +
context.resources.getDimensionPixelSize(R.dimen.status_view_margin_horizontal)
@@ -196,9 +188,7 @@
}
override fun removeViews(constraintLayout: ConstraintLayout) {
- if (!migrateClocksToBlueprint()) {
- return
- }
+ if (!migrateClocksToBlueprint()) return
listOf(smartspaceView, dateView, weatherView).forEach {
it?.let {
if (it.parent == constraintLayout) {
@@ -211,6 +201,9 @@
}
private fun updateVisibility(constraintSet: ConstraintSet) {
+ // This may update the visibility of the smartspace views
+ smartspaceController.requestSmartspaceUpdate()
+
constraintSet.apply {
setVisibility(
sharedR.id.weather_smartspace_view,
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/transitions/ClockSizeTransition.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/transitions/ClockSizeTransition.kt
index 99565b1..64cbb32 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/transitions/ClockSizeTransition.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/transitions/ClockSizeTransition.kt
@@ -17,175 +17,308 @@
package com.android.systemui.keyguard.ui.view.layout.sections.transitions
import android.animation.Animator
-import android.animation.ObjectAnimator
-import android.transition.ChangeBounds
+import android.animation.AnimatorListenerAdapter
+import android.animation.ValueAnimator
+import android.graphics.Rect
+import android.transition.Transition
import android.transition.TransitionSet
import android.transition.TransitionValues
-import android.transition.Visibility
+import android.util.Log
import android.view.View
import android.view.ViewGroup
+import android.view.ViewTreeObserver.OnPreDrawListener
import com.android.app.animation.Interpolators
-import com.android.systemui.keyguard.ui.view.layout.blueprints.transitions.IntraBlueprintTransitionType
+import com.android.systemui.keyguard.ui.view.layout.blueprints.transitions.IntraBlueprintTransition
+import com.android.systemui.keyguard.ui.view.layout.blueprints.transitions.IntraBlueprintTransition.Type
import com.android.systemui.keyguard.ui.viewmodel.KeyguardClockViewModel
import com.android.systemui.res.R
import com.android.systemui.shared.R as sharedR
+import kotlin.math.abs
-const val CLOCK_OUT_MILLIS = 133L
-const val CLOCK_IN_MILLIS = 167L
-val CLOCK_IN_INTERPOLATOR = Interpolators.LINEAR_OUT_SLOW_IN
-const val CLOCK_IN_START_DELAY_MILLIS = 133L
-val CLOCK_OUT_INTERPOLATOR = Interpolators.LINEAR
+internal fun View.setRect(rect: Rect) =
+ this.setLeftTopRightBottom(rect.left, rect.top, rect.right, rect.bottom)
class ClockSizeTransition(
- val type: IntraBlueprintTransitionType,
- clockViewModel: KeyguardClockViewModel
+ config: IntraBlueprintTransition.Config,
+ clockViewModel: KeyguardClockViewModel,
) : TransitionSet() {
init {
ordering = ORDERING_TOGETHER
- addTransition(ClockOutTransition(clockViewModel, type))
- addTransition(ClockInTransition(clockViewModel, type))
- addTransition(SmartspaceChangeBounds(clockViewModel, type))
- addTransition(ClockInChangeBounds(clockViewModel, type))
- addTransition(ClockOutChangeBounds(clockViewModel, type))
+ if (config.type != Type.SmartspaceVisibility) {
+ addTransition(ClockFaceOutTransition(config, clockViewModel))
+ addTransition(ClockFaceInTransition(config, clockViewModel))
+ }
+ addTransition(SmartspaceMoveTransition(config, clockViewModel))
}
- class ClockInTransition(viewModel: KeyguardClockViewModel, type: IntraBlueprintTransitionType) :
- Visibility() {
- init {
- mode = MODE_IN
- if (type != IntraBlueprintTransitionType.NoTransition) {
- duration = CLOCK_IN_MILLIS
- startDelay = CLOCK_IN_START_DELAY_MILLIS
- interpolator = Interpolators.LINEAR_OUT_SLOW_IN
- } else {
- duration = 0
- startDelay = 0
- }
+ open class VisibilityBoundsTransition() : Transition() {
+ var captureSmartspace: Boolean = false
- addTarget(sharedR.id.bc_smartspace_view)
- addTarget(sharedR.id.date_smartspace_view)
- addTarget(sharedR.id.weather_smartspace_view)
- if (viewModel.useLargeClock) {
- viewModel.clock?.let { it.largeClock.layout.views.forEach { addTarget(it) } }
- } else {
- addTarget(R.id.lockscreen_clock_view)
- }
+ override fun captureEndValues(transition: TransitionValues) = captureValues(transition)
+ override fun captureStartValues(transition: TransitionValues) = captureValues(transition)
+ override fun getTransitionProperties(): Array<String> = TRANSITION_PROPERTIES
+ open fun mutateBounds(
+ view: View,
+ fromVis: Int,
+ toVis: Int,
+ fromBounds: Rect,
+ toBounds: Rect,
+ fromSSBounds: Rect?,
+ toSSBounds: Rect?
+ ) {}
+
+ private fun captureValues(transition: TransitionValues) {
+ val view = transition.view
+ transition.values[PROP_VISIBILITY] = view.visibility
+ transition.values[PROP_ALPHA] = view.alpha
+ transition.values[PROP_BOUNDS] = Rect(view.left, view.top, view.right, view.bottom)
+
+ if (!captureSmartspace) return
+ val ss = (view.parent as View).findViewById<View>(sharedR.id.bc_smartspace_view)
+ if (ss == null) return
+ transition.values[SMARTSPACE_BOUNDS] = Rect(ss.left, ss.top, ss.right, ss.bottom)
}
- override fun onAppear(
- sceneRoot: ViewGroup?,
- view: View,
+ override fun createAnimator(
+ sceenRoot: ViewGroup,
startValues: TransitionValues?,
endValues: TransitionValues?
- ): Animator {
- return ObjectAnimator.ofFloat(view, "alpha", 1f).also {
- it.duration = duration
- it.startDelay = startDelay
- it.interpolator = interpolator
- it.addUpdateListener { view.alpha = it.animatedValue as Float }
- it.start()
- }
- }
- }
+ ): Animator? {
+ if (startValues == null || endValues == null) return null
- class ClockOutTransition(
- viewModel: KeyguardClockViewModel,
- type: IntraBlueprintTransitionType
- ) : Visibility() {
- init {
- mode = MODE_OUT
- if (type != IntraBlueprintTransitionType.NoTransition) {
- duration = CLOCK_OUT_MILLIS
- interpolator = CLOCK_OUT_INTERPOLATOR
- } else {
- duration = 0
+ val fromView = startValues.view
+ var fromVis = startValues.values[PROP_VISIBILITY] as Int
+ var fromIsVis = fromVis == View.VISIBLE
+ var fromAlpha = startValues.values[PROP_ALPHA] as Float
+ val fromBounds = startValues.values[PROP_BOUNDS] as Rect
+ val fromSSBounds =
+ if (captureSmartspace) startValues.values[SMARTSPACE_BOUNDS] as Rect else null
+
+ val toView = endValues.view
+ val toVis = endValues.values[PROP_VISIBILITY] as Int
+ val toBounds = endValues.values[PROP_BOUNDS] as Rect
+ val toSSBounds =
+ if (captureSmartspace) endValues.values[SMARTSPACE_BOUNDS] as Rect else null
+ val toIsVis = toVis == View.VISIBLE
+ val toAlpha = if (toIsVis) 1f else 0f
+
+ // Align starting visibility and alpha
+ if (!fromIsVis) fromAlpha = 0f
+ else if (fromAlpha <= 0f) {
+ fromIsVis = false
+ fromVis = View.INVISIBLE
}
- addTarget(sharedR.id.bc_smartspace_view)
- addTarget(sharedR.id.date_smartspace_view)
- addTarget(sharedR.id.weather_smartspace_view)
- if (viewModel.useLargeClock) {
- addTarget(R.id.lockscreen_clock_view)
- } else {
- viewModel.clock?.let { it.largeClock.layout.views.forEach { addTarget(it) } }
- }
- }
-
- override fun onDisappear(
- sceneRoot: ViewGroup?,
- view: View,
- startValues: TransitionValues?,
- endValues: TransitionValues?
- ): Animator {
- return ObjectAnimator.ofFloat(view, "alpha", 0f).also {
- it.duration = duration
- it.interpolator = interpolator
- it.addUpdateListener { view.alpha = it.animatedValue as Float }
- it.start()
- }
- }
- }
-
- class ClockInChangeBounds(
- viewModel: KeyguardClockViewModel,
- type: IntraBlueprintTransitionType
- ) : ChangeBounds() {
- init {
- if (type != IntraBlueprintTransitionType.NoTransition) {
- duration = CLOCK_IN_MILLIS
- startDelay = CLOCK_IN_START_DELAY_MILLIS
- interpolator = CLOCK_IN_INTERPOLATOR
- } else {
- duration = 0
- startDelay = 0
+ mutateBounds(toView, fromVis, toVis, fromBounds, toBounds, fromSSBounds, toSSBounds)
+ if (fromIsVis == toIsVis && fromBounds.equals(toBounds)) {
+ if (DEBUG) {
+ Log.w(
+ TAG,
+ "Skipping no-op transition: $toView; " +
+ "vis: $fromVis -> $toVis; " +
+ "alpha: $fromAlpha -> $toAlpha; " +
+ "bounds: $fromBounds -> $toBounds; "
+ )
+ }
+ return null
}
- if (viewModel.useLargeClock) {
- viewModel.clock?.let { it.largeClock.layout.views.forEach { addTarget(it) } }
- } else {
- addTarget(R.id.lockscreen_clock_view)
- }
- }
- }
+ val sendToBack = fromIsVis && !toIsVis
+ fun lerp(start: Int, end: Int, fract: Float): Int =
+ (start * (1f - fract) + end * fract).toInt()
+ fun computeBounds(fract: Float): Rect =
+ Rect(
+ lerp(fromBounds.left, toBounds.left, fract),
+ lerp(fromBounds.top, toBounds.top, fract),
+ lerp(fromBounds.right, toBounds.right, fract),
+ lerp(fromBounds.bottom, toBounds.bottom, fract)
+ )
- class ClockOutChangeBounds(
- viewModel: KeyguardClockViewModel,
- type: IntraBlueprintTransitionType
- ) : ChangeBounds() {
- init {
- if (type != IntraBlueprintTransitionType.NoTransition) {
- duration = CLOCK_OUT_MILLIS
- interpolator = CLOCK_OUT_INTERPOLATOR
- } else {
- duration = 0
+ fun assignAnimValues(src: String, alpha: Float, fract: Float, vis: Int? = null) {
+ val bounds = computeBounds(fract)
+ if (DEBUG) Log.i(TAG, "$src: $toView; alpha=$alpha; vis=$vis; bounds=$bounds;")
+ toView.setVisibility(vis ?: View.VISIBLE)
+ toView.setAlpha(alpha)
+ toView.setRect(bounds)
}
- if (viewModel.useLargeClock) {
- addTarget(R.id.lockscreen_clock_view)
- } else {
- viewModel.clock?.let { it.largeClock.layout.views.forEach { addTarget(it) } }
- }
- }
- }
- class SmartspaceChangeBounds(
- viewModel: KeyguardClockViewModel,
- val type: IntraBlueprintTransitionType = IntraBlueprintTransitionType.DefaultTransition
- ) : ChangeBounds() {
- init {
- if (type != IntraBlueprintTransitionType.NoTransition) {
- duration =
- if (viewModel.useLargeClock) {
- STATUS_AREA_MOVE_UP_MILLIS
- } else {
- STATUS_AREA_MOVE_DOWN_MILLIS
+ if (DEBUG) {
+ Log.i(
+ TAG,
+ "transitioning: $toView; " +
+ "vis: $fromVis -> $toVis; " +
+ "alpha: $fromAlpha -> $toAlpha; " +
+ "bounds: $fromBounds -> $toBounds; "
+ )
+ }
+
+ return ValueAnimator.ofFloat(fromAlpha, toAlpha).also { anim ->
+ // We enforce the animation parameters on the target view every frame using a
+ // predraw listener. This is suboptimal but prevents issues with layout passes
+ // overwriting the animation for individual frames.
+ val predrawCallback = OnPreDrawListener {
+ assignAnimValues("predraw", anim.animatedValue as Float, anim.animatedFraction)
+ return@OnPreDrawListener true
+ }
+
+ anim.duration = duration
+ anim.startDelay = startDelay
+ anim.interpolator = interpolator
+ anim.addListener(
+ object : AnimatorListenerAdapter() {
+ override fun onAnimationStart(anim: Animator) {
+ assignAnimValues("start", fromAlpha, 0f)
+ }
+
+ override fun onAnimationEnd(anim: Animator) {
+ assignAnimValues("end", toAlpha, 1f, toVis)
+ if (sendToBack) toView.translationZ = 0f
+ toView.viewTreeObserver.removeOnPreDrawListener(predrawCallback)
+ }
}
- interpolator = Interpolators.EMPHASIZED
- } else {
- duration = 0
+ )
+ toView.viewTreeObserver.addOnPreDrawListener(predrawCallback)
}
+ }
+
+ companion object {
+ private const val PROP_VISIBILITY = "ClockSizeTransition:Visibility"
+ private const val PROP_ALPHA = "ClockSizeTransition:Alpha"
+ private const val PROP_BOUNDS = "ClockSizeTransition:Bounds"
+ private const val SMARTSPACE_BOUNDS = "ClockSizeTransition:SSBounds"
+ private val TRANSITION_PROPERTIES =
+ arrayOf(PROP_VISIBILITY, PROP_ALPHA, PROP_BOUNDS, SMARTSPACE_BOUNDS)
+
+ private val DEBUG = true
+ private val TAG = ClockFaceInTransition::class.simpleName!!
+ }
+ }
+
+ class ClockFaceInTransition(
+ config: IntraBlueprintTransition.Config,
+ val viewModel: KeyguardClockViewModel,
+ ) : VisibilityBoundsTransition() {
+ init {
+ duration = CLOCK_IN_MILLIS
+ startDelay = CLOCK_IN_START_DELAY_MILLIS
+ interpolator = CLOCK_IN_INTERPOLATOR
+ captureSmartspace = !viewModel.useLargeClock
+
+ if (viewModel.useLargeClock) {
+ viewModel.clock?.let { it.largeClock.layout.views.forEach { addTarget(it) } }
+ } else {
+ addTarget(R.id.lockscreen_clock_view)
+ }
+ }
+
+ override fun mutateBounds(
+ view: View,
+ fromVis: Int,
+ toVis: Int,
+ fromBounds: Rect,
+ toBounds: Rect,
+ fromSSBounds: Rect?,
+ toSSBounds: Rect?
+ ) {
+ fromBounds.left = toBounds.left
+ fromBounds.right = toBounds.right
+ if (viewModel.useLargeClock) {
+ // Large clock shouldn't move
+ fromBounds.top = toBounds.top
+ fromBounds.bottom = toBounds.bottom
+ } else if (toSSBounds != null && fromSSBounds != null) {
+ // Instead of moving the small clock the full distance, we compute the distance
+ // smartspace will move. We then scale this to match the duration of this animation
+ // so that the small clock moves at the same speed as smartspace.
+ val ssTranslation =
+ abs((toSSBounds.top - fromSSBounds.top) * SMALL_CLOCK_IN_MOVE_SCALE).toInt()
+ fromBounds.top = toBounds.top - ssTranslation
+ fromBounds.bottom = toBounds.bottom - ssTranslation
+ } else {
+ Log.e(TAG, "mutateBounds: smallClock received no smartspace bounds")
+ }
+ }
+
+ companion object {
+ const val CLOCK_IN_MILLIS = 167L
+ const val CLOCK_IN_START_DELAY_MILLIS = 133L
+ val CLOCK_IN_INTERPOLATOR = Interpolators.LINEAR_OUT_SLOW_IN
+ const val SMALL_CLOCK_IN_MOVE_SCALE =
+ CLOCK_IN_MILLIS / SmartspaceMoveTransition.STATUS_AREA_MOVE_DOWN_MILLIS.toFloat()
+ private val TAG = ClockFaceInTransition::class.simpleName!!
+ }
+ }
+
+ class ClockFaceOutTransition(
+ config: IntraBlueprintTransition.Config,
+ val viewModel: KeyguardClockViewModel,
+ ) : VisibilityBoundsTransition() {
+ init {
+ duration = CLOCK_OUT_MILLIS
+ interpolator = CLOCK_OUT_INTERPOLATOR
+ captureSmartspace = viewModel.useLargeClock
+
+ if (viewModel.useLargeClock) {
+ addTarget(R.id.lockscreen_clock_view)
+ } else {
+ viewModel.clock?.let { it.largeClock.layout.views.forEach { addTarget(it) } }
+ }
+ }
+
+ override fun mutateBounds(
+ view: View,
+ fromVis: Int,
+ toVis: Int,
+ fromBounds: Rect,
+ toBounds: Rect,
+ fromSSBounds: Rect?,
+ toSSBounds: Rect?
+ ) {
+ toBounds.left = fromBounds.left
+ toBounds.right = fromBounds.right
+ if (!viewModel.useLargeClock) {
+ // Large clock shouldn't move
+ toBounds.top = fromBounds.top
+ toBounds.bottom = fromBounds.bottom
+ } else if (toSSBounds != null && fromSSBounds != null) {
+ // Instead of moving the small clock the full distance, we compute the distance
+ // smartspace will move. We then scale this to match the duration of this animation
+ // so that the small clock moves at the same speed as smartspace.
+ val ssTranslation =
+ abs((toSSBounds.top - fromSSBounds.top) * SMALL_CLOCK_OUT_MOVE_SCALE).toInt()
+ toBounds.top = fromBounds.top - ssTranslation
+ toBounds.bottom = fromBounds.bottom - ssTranslation
+ } else {
+ Log.w(TAG, "mutateBounds: smallClock received no smartspace bounds")
+ }
+ }
+
+ companion object {
+ const val CLOCK_OUT_MILLIS = 133L
+ val CLOCK_OUT_INTERPOLATOR = Interpolators.LINEAR
+ const val SMALL_CLOCK_OUT_MOVE_SCALE =
+ CLOCK_OUT_MILLIS / SmartspaceMoveTransition.STATUS_AREA_MOVE_UP_MILLIS.toFloat()
+ private val TAG = ClockFaceOutTransition::class.simpleName!!
+ }
+ }
+
+ // TODO: Might need a mechanism to update this one while in-progress
+ class SmartspaceMoveTransition(
+ val config: IntraBlueprintTransition.Config,
+ viewModel: KeyguardClockViewModel,
+ ) : VisibilityBoundsTransition() {
+ init {
+ duration =
+ if (viewModel.useLargeClock) STATUS_AREA_MOVE_UP_MILLIS
+ else STATUS_AREA_MOVE_DOWN_MILLIS
+ interpolator = Interpolators.EMPHASIZED
addTarget(sharedR.id.date_smartspace_view)
addTarget(sharedR.id.weather_smartspace_view)
addTarget(sharedR.id.bc_smartspace_view)
+
+ // Notifications normally and media on split shade needs to be moved
+ addTarget(R.id.aod_notification_icon_container)
+ addTarget(R.id.status_view_media_container)
}
companion object {
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/transitions/DefaultClockSteppingTransition.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/transitions/DefaultClockSteppingTransition.kt
index c35dad7..60ab40c 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/transitions/DefaultClockSteppingTransition.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/transitions/DefaultClockSteppingTransition.kt
@@ -24,12 +24,15 @@
import com.android.app.animation.Interpolators
import com.android.systemui.plugins.clocks.ClockController
-class DefaultClockSteppingTransition(private val clock: ClockController) : Transition() {
+class DefaultClockSteppingTransition(
+ private val clock: ClockController,
+) : Transition() {
init {
interpolator = Interpolators.LINEAR
duration = KEYGUARD_STATUS_VIEW_CUSTOM_CLOCK_MOVE_DURATION_MS
addTarget(clock.largeClock.view)
}
+
private fun captureValues(transitionValues: TransitionValues) {
transitionValues.values[PROP_BOUNDS_LEFT] = transitionValues.view.left
val locationInWindowTmp = IntArray(2)
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/AlternateBouncerDependencies.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/AlternateBouncerDependencies.kt
index 6846886..065c20a 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/AlternateBouncerDependencies.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/AlternateBouncerDependencies.kt
@@ -36,4 +36,5 @@
val udfpsIconViewModel: AlternateBouncerUdfpsIconViewModel,
val udfpsAccessibilityOverlayViewModel:
Lazy<AlternateBouncerUdfpsAccessibilityOverlayViewModel>,
+ val messageAreaViewModel: AlternateBouncerMessageAreaViewModel,
)
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/AlternateBouncerMessageAreaViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/AlternateBouncerMessageAreaViewModel.kt
new file mode 100644
index 0000000..49c64bd
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/AlternateBouncerMessageAreaViewModel.kt
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.keyguard.ui.viewmodel
+
+import com.android.systemui.bouncer.domain.interactor.AlternateBouncerInteractor
+import com.android.systemui.deviceentry.domain.interactor.BiometricMessageInteractor
+import com.android.systemui.deviceentry.shared.model.BiometricMessage
+import com.android.systemui.deviceentry.shared.model.FaceMessage
+import com.android.systemui.deviceentry.shared.model.FaceTimeoutMessage
+import com.android.systemui.deviceentry.shared.model.FingerprintLockoutMessage
+import com.android.systemui.deviceentry.shared.model.FingerprintMessage
+import javax.inject.Inject
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.filterNot
+import kotlinx.coroutines.flow.flatMapLatest
+import kotlinx.coroutines.flow.flowOf
+import kotlinx.coroutines.flow.merge
+
+/** View model for the alternate bouncer message area. */
+@ExperimentalCoroutinesApi
+class AlternateBouncerMessageAreaViewModel
+@Inject
+constructor(
+ biometricMessageInteractor: BiometricMessageInteractor,
+ alternateBouncerInteractor: AlternateBouncerInteractor,
+) {
+
+ private val faceHelp: Flow<FaceMessage> =
+ biometricMessageInteractor.faceMessage.filterNot { faceMessage ->
+ faceMessage !is FaceTimeoutMessage
+ }
+ private val fingerprintMessages: Flow<FingerprintMessage> =
+ biometricMessageInteractor.fingerprintMessage.filterNot { fingerprintMessage ->
+ // On lockout, the device will show the bouncer. Let's not show the message
+ // before the transition or else it'll look flickery.
+ fingerprintMessage is FingerprintLockoutMessage
+ }
+
+ val message: Flow<BiometricMessage?> =
+ alternateBouncerInteractor.isVisible.flatMapLatest { isVisible ->
+ if (isVisible) {
+ merge(
+ faceHelp,
+ fingerprintMessages,
+ )
+ } else {
+ flowOf(null)
+ }
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/AodToLockscreenTransitionViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/AodToLockscreenTransitionViewModel.kt
index d37cb5a..a3888c3 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/AodToLockscreenTransitionViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/AodToLockscreenTransitionViewModel.kt
@@ -29,8 +29,6 @@
import kotlin.time.Duration.Companion.milliseconds
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.Flow
-import kotlinx.coroutines.flow.emptyFlow
-import kotlinx.coroutines.flow.flatMapLatest
/**
* Breaks down AOD->LOCKSCREEN transition into discrete steps for corresponding views to consume.
@@ -95,19 +93,11 @@
)
val deviceEntryBackgroundViewAlpha: Flow<Float> =
- deviceEntryUdfpsInteractor.isUdfpsSupported.flatMapLatest { isUdfps ->
- if (isUdfps) {
- // fade in
- transitionAnimation.sharedFlow(
- duration = 250.milliseconds,
- onStep = { it },
- onFinish = { 1f },
- )
- } else {
- // background view isn't visible, so return an empty flow
- emptyFlow()
- }
- }
+ transitionAnimation.sharedFlow(
+ duration = 250.milliseconds,
+ onStep = { it },
+ onFinish = { 1f },
+ )
override val deviceEntryParentViewAlpha: Flow<Float> =
transitionAnimation.sharedFlow(
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/DeviceEntryBackgroundViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/DeviceEntryBackgroundViewModel.kt
index be9ae1d..302ba72 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/DeviceEntryBackgroundViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/DeviceEntryBackgroundViewModel.kt
@@ -23,6 +23,8 @@
import javax.inject.Inject
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.flatMapLatest
+import kotlinx.coroutines.flow.flowOf
import kotlinx.coroutines.flow.map
import kotlinx.coroutines.flow.merge
import kotlinx.coroutines.flow.onStart
@@ -33,6 +35,7 @@
@Inject
constructor(
val context: Context,
+ val deviceEntryIconViewModel: DeviceEntryIconViewModel,
configurationInteractor: ConfigurationInteractor,
lockscreenToAodTransitionViewModel: LockscreenToAodTransitionViewModel,
aodToLockscreenTransitionViewModel: AodToLockscreenTransitionViewModel,
@@ -42,30 +45,47 @@
occludedToLockscreenTransitionViewModel: OccludedToLockscreenTransitionViewModel,
dreamingToLockscreenTransitionViewModel: DreamingToLockscreenTransitionViewModel,
alternateBouncerToAodTransitionViewModel: AlternateBouncerToAodTransitionViewModel,
+ goneToLockscreenTransitionViewModel: GoneToLockscreenTransitionViewModel,
) {
val color: Flow<Int> =
- configurationInteractor.onAnyConfigurationChange
- .map {
- Utils.getColorAttrDefaultColor(context, com.android.internal.R.attr.colorSurface)
+ deviceEntryIconViewModel.useBackgroundProtection.flatMapLatest { useBackground ->
+ if (useBackground) {
+ configurationInteractor.onAnyConfigurationChange
+ .map {
+ Utils.getColorAttrDefaultColor(
+ context,
+ com.android.internal.R.attr.colorSurface
+ )
+ }
+ .onStart {
+ emit(
+ Utils.getColorAttrDefaultColor(
+ context,
+ com.android.internal.R.attr.colorSurface
+ )
+ )
+ }
+ } else {
+ flowOf(0)
}
- .onStart {
- emit(
- Utils.getColorAttrDefaultColor(
- context,
- com.android.internal.R.attr.colorSurface
- )
- )
- }
+ }
val alpha: Flow<Float> =
- setOf(
- lockscreenToAodTransitionViewModel.deviceEntryBackgroundViewAlpha,
- aodToLockscreenTransitionViewModel.deviceEntryBackgroundViewAlpha,
- goneToAodTransitionViewModel.deviceEntryBackgroundViewAlpha,
- primaryBouncerToAodTransitionViewModel.deviceEntryBackgroundViewAlpha,
- occludedToAodTransitionViewModel.deviceEntryBackgroundViewAlpha,
- occludedToLockscreenTransitionViewModel.deviceEntryBackgroundViewAlpha,
- dreamingToLockscreenTransitionViewModel.deviceEntryBackgroundViewAlpha,
- alternateBouncerToAodTransitionViewModel.deviceEntryBackgroundViewAlpha,
- )
- .merge()
+ deviceEntryIconViewModel.useBackgroundProtection.flatMapLatest { useBackground ->
+ if (useBackground) {
+ setOf(
+ lockscreenToAodTransitionViewModel.deviceEntryBackgroundViewAlpha,
+ aodToLockscreenTransitionViewModel.deviceEntryBackgroundViewAlpha,
+ goneToAodTransitionViewModel.deviceEntryBackgroundViewAlpha,
+ primaryBouncerToAodTransitionViewModel.deviceEntryBackgroundViewAlpha,
+ occludedToAodTransitionViewModel.deviceEntryBackgroundViewAlpha,
+ occludedToLockscreenTransitionViewModel.deviceEntryBackgroundViewAlpha,
+ dreamingToLockscreenTransitionViewModel.deviceEntryBackgroundViewAlpha,
+ alternateBouncerToAodTransitionViewModel.deviceEntryBackgroundViewAlpha,
+ goneToLockscreenTransitionViewModel.deviceEntryBackgroundViewAlpha,
+ )
+ .merge()
+ } else {
+ flowOf(0f)
+ }
+ }
}
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/DeviceEntryIconViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/DeviceEntryIconViewModel.kt
index a3d5453..c9cf0c3 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/DeviceEntryIconViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/DeviceEntryIconViewModel.kt
@@ -34,9 +34,11 @@
import dagger.Lazy
import javax.inject.Inject
import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.combine
import kotlinx.coroutines.flow.flatMapLatest
+import kotlinx.coroutines.flow.flow
import kotlinx.coroutines.flow.flowOf
import kotlinx.coroutines.flow.map
import kotlinx.coroutines.flow.merge
@@ -175,19 +177,33 @@
flowOf(BurnInOffsets(x = 0, y = 0, progress = 0f))
}
}
+
+ private val isUnlocked: Flow<Boolean> =
+ deviceEntryInteractor.isUnlocked.flatMapLatest { isUnlocked ->
+ if (!isUnlocked) {
+ flowOf(false)
+ } else {
+ flow {
+ // delay in case device ends up transitioning away from the lock screen;
+ // we don't want to animate to the unlocked icon and just let the
+ // icon fade with the transition to GONE
+ delay(UNLOCKED_DELAY_MS)
+ emit(true)
+ }
+ }
+ }
+
val iconType: Flow<DeviceEntryIconView.IconType> =
combine(
deviceEntryUdfpsInteractor.isListeningForUdfps,
- deviceEntryInteractor.isUnlocked,
+ keyguardInteractor.isKeyguardDismissible,
) { isListeningForUdfps, isUnlocked ->
- if (isUnlocked) {
+ if (isListeningForUdfps) {
+ DeviceEntryIconView.IconType.FINGERPRINT
+ } else if (isUnlocked) {
DeviceEntryIconView.IconType.UNLOCK
} else {
- if (isListeningForUdfps) {
- DeviceEntryIconView.IconType.FINGERPRINT
- } else {
- DeviceEntryIconView.IconType.LOCK
- }
+ DeviceEntryIconView.IconType.LOCK
}
}
val isLongPressEnabled: Flow<Boolean> =
@@ -229,6 +245,10 @@
DeviceEntryIconView.AccessibilityHintType.NONE
}
}
+
+ companion object {
+ const val UNLOCKED_DELAY_MS = 50L
+ }
}
data class BurnInOffsets(
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/DreamingToLockscreenTransitionViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/DreamingToLockscreenTransitionViewModel.kt
index ead2d48..3802d5d 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/DreamingToLockscreenTransitionViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/DreamingToLockscreenTransitionViewModel.kt
@@ -30,9 +30,7 @@
import kotlin.time.Duration.Companion.milliseconds
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.Flow
-import kotlinx.coroutines.flow.emptyFlow
import kotlinx.coroutines.flow.filter
-import kotlinx.coroutines.flow.flatMapLatest
/**
* Breaks down DREAMING->LOCKSCREEN transition into discrete steps for corresponding views to
@@ -107,14 +105,6 @@
onCancel = { 0f },
)
- val deviceEntryBackgroundViewAlpha =
- deviceEntryUdfpsInteractor.isUdfpsSupported.flatMapLatest { isUdfps ->
- if (isUdfps) {
- // immediately show; will fade in with deviceEntryParentViewAlpha
- transitionAnimation.immediatelyTransitionTo(1f)
- } else {
- emptyFlow()
- }
- }
+ val deviceEntryBackgroundViewAlpha = transitionAnimation.immediatelyTransitionTo(1f)
override val deviceEntryParentViewAlpha = lockscreenAlpha
}
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/GoneToLockscreenTransitionViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/GoneToLockscreenTransitionViewModel.kt
index 793abb4..e0b1c50 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/GoneToLockscreenTransitionViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/GoneToLockscreenTransitionViewModel.kt
@@ -20,6 +20,7 @@
import com.android.systemui.keyguard.domain.interactor.FromGoneTransitionInteractor.Companion.TO_LOCKSCREEN_DURATION
import com.android.systemui.keyguard.shared.model.KeyguardState
import com.android.systemui.keyguard.ui.KeyguardTransitionAnimationFlow
+import com.android.systemui.keyguard.ui.transitions.DeviceEntryIconTransition
import javax.inject.Inject
import kotlin.time.Duration.Companion.milliseconds
import kotlinx.coroutines.flow.Flow
@@ -29,7 +30,7 @@
@Inject
constructor(
animationFlow: KeyguardTransitionAnimationFlow,
-) {
+) : DeviceEntryIconTransition {
private val transitionAnimation =
animationFlow.setup(
@@ -44,4 +45,10 @@
onStep = { it },
onCancel = { 0f },
)
+
+ val deviceEntryBackgroundViewAlpha: Flow<Float> =
+ transitionAnimation.immediatelyTransitionTo(1f)
+
+ override val deviceEntryParentViewAlpha: Flow<Float> =
+ transitionAnimation.immediatelyTransitionTo(1f)
}
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardBlueprintViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardBlueprintViewModel.kt
index d22856b..edd3318 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardBlueprintViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardBlueprintViewModel.kt
@@ -23,8 +23,10 @@
class KeyguardBlueprintViewModel
@Inject
-constructor(keyguardBlueprintInteractor: KeyguardBlueprintInteractor) {
+constructor(
+ keyguardBlueprintInteractor: KeyguardBlueprintInteractor,
+) {
var currentBluePrint: KeyguardBlueprint? = null
val blueprint = keyguardBlueprintInteractor.blueprint
- val blueprintWithTransition = keyguardBlueprintInteractor.blueprintWithTransition
+ val refreshTransition = keyguardBlueprintInteractor.refreshTransition
}
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/OccludedToLockscreenTransitionViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/OccludedToLockscreenTransitionViewModel.kt
index 90195bd..19c11a9 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/OccludedToLockscreenTransitionViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/OccludedToLockscreenTransitionViewModel.kt
@@ -29,7 +29,6 @@
import kotlin.time.Duration.Companion.milliseconds
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.Flow
-import kotlinx.coroutines.flow.emptyFlow
import kotlinx.coroutines.flow.flatMapLatest
/**
@@ -84,14 +83,7 @@
)
val deviceEntryBackgroundViewAlpha: Flow<Float> =
- deviceEntryUdfpsInteractor.isUdfpsEnrolledAndEnabled.flatMapLatest {
- isUdfpsEnrolledAndEnabled ->
- if (isUdfpsEnrolledAndEnabled) {
- transitionAnimation.immediatelyTransitionTo(1f)
- } else {
- emptyFlow()
- }
- }
+ transitionAnimation.immediatelyTransitionTo(1f)
override val deviceEntryParentViewAlpha: Flow<Float> = lockscreenAlpha
}
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/OccludingAppDeviceEntryMessageViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/OccludingAppDeviceEntryMessageViewModel.kt
index 3a162d7..846bcbf 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/OccludingAppDeviceEntryMessageViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/OccludingAppDeviceEntryMessageViewModel.kt
@@ -18,8 +18,8 @@
package com.android.systemui.keyguard.ui.viewmodel
import com.android.systemui.dagger.SysUISingleton
-import com.android.systemui.keyguard.domain.interactor.BiometricMessage
-import com.android.systemui.keyguard.domain.interactor.OccludingAppDeviceEntryInteractor
+import com.android.systemui.deviceentry.domain.interactor.OccludingAppDeviceEntryInteractor
+import com.android.systemui.deviceentry.shared.model.BiometricMessage
import javax.inject.Inject
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.Flow
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToAodTransitionViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToAodTransitionViewModel.kt
index 40089d4..942903b 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToAodTransitionViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToAodTransitionViewModel.kt
@@ -49,13 +49,7 @@
)
val deviceEntryBackgroundViewAlpha: Flow<Float> =
- deviceEntryUdfpsInteractor.isUdfpsSupported.flatMapLatest { isUdfpsEnrolledAndEnabled ->
- if (isUdfpsEnrolledAndEnabled) {
- transitionAnimation.immediatelyTransitionTo(0f)
- } else {
- emptyFlow()
- }
- }
+ transitionAnimation.immediatelyTransitionTo(0f)
val lockscreenAlpha: Flow<Float> =
transitionAnimation.sharedFlow(
diff --git a/packages/SystemUI/src/com/android/systemui/qs/pipeline/domain/interactor/AccessibilityTilesInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/pipeline/domain/interactor/AccessibilityTilesInteractor.kt
new file mode 100644
index 0000000..88784bf7
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/qs/pipeline/domain/interactor/AccessibilityTilesInteractor.kt
@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.qs.pipeline.domain.interactor
+
+import android.content.Context
+import android.view.accessibility.Flags
+import com.android.systemui.accessibility.data.repository.AccessibilityQsShortcutsRepository
+import com.android.systemui.dagger.SysUISingleton
+import com.android.systemui.dagger.qualifiers.Application
+import com.android.systemui.dagger.qualifiers.Background
+import com.android.systemui.qs.pipeline.domain.model.TileModel
+import com.android.systemui.qs.pipeline.shared.TileSpec
+import com.android.systemui.util.kotlin.sample
+import java.util.concurrent.atomic.AtomicBoolean
+import javax.inject.Inject
+import kotlinx.coroutines.CoroutineDispatcher
+import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.flow.collectLatest
+import kotlinx.coroutines.launch
+
+/** Observe the tiles in the QS Panel and perform accessibility related actions */
+@SysUISingleton
+class AccessibilityTilesInteractor
+@Inject
+constructor(
+ private val a11yQsShortcutsRepository: AccessibilityQsShortcutsRepository,
+ @Background private val backgroundDispatcher: CoroutineDispatcher,
+ @Application private val scope: CoroutineScope,
+) {
+ private val initialized = AtomicBoolean(false)
+
+ /** Start collection of signals following the user from [currentTilesInteractor]. */
+ fun init(currentTilesInteractor: CurrentTilesInteractor) {
+ if (!initialized.compareAndSet(/* expectedValue= */ false, /* newValue= */ true)) {
+ return
+ }
+
+ if (Flags.a11yQsShortcut()) {
+ startObservingTiles(currentTilesInteractor)
+ }
+ }
+
+ private fun startObservingTiles(currentTilesInteractor: CurrentTilesInteractor) {
+ scope.launch(backgroundDispatcher) {
+ currentTilesInteractor.currentTiles
+ .sample(currentTilesInteractor.userContext) { currentTiles, userContext ->
+ Data(currentTiles.map(TileModel::spec), userContext)
+ }
+ .collectLatest {
+ a11yQsShortcutsRepository.notifyAccessibilityManagerTilesChanged(
+ it.userContext,
+ it.currentTileSpecs
+ )
+ }
+ }
+ }
+
+ private data class Data(
+ val currentTileSpecs: List<TileSpec>,
+ val userContext: Context,
+ )
+}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/pipeline/domain/startable/QSPipelineCoreStartable.kt b/packages/SystemUI/src/com/android/systemui/qs/pipeline/domain/startable/QSPipelineCoreStartable.kt
index 2930acd..af1d195 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/pipeline/domain/startable/QSPipelineCoreStartable.kt
+++ b/packages/SystemUI/src/com/android/systemui/qs/pipeline/domain/startable/QSPipelineCoreStartable.kt
@@ -18,6 +18,7 @@
import com.android.systemui.CoreStartable
import com.android.systemui.dagger.SysUISingleton
+import com.android.systemui.qs.pipeline.domain.interactor.AccessibilityTilesInteractor
import com.android.systemui.qs.pipeline.domain.interactor.AutoAddInteractor
import com.android.systemui.qs.pipeline.domain.interactor.CurrentTilesInteractor
import com.android.systemui.qs.pipeline.domain.interactor.RestoreReconciliationInteractor
@@ -29,6 +30,7 @@
@Inject
constructor(
private val currentTilesInteractor: CurrentTilesInteractor,
+ private val accessibilityTilesInteractor: AccessibilityTilesInteractor,
private val autoAddInteractor: AutoAddInteractor,
private val featureFlags: QSPipelineFlagsRepository,
private val restoreReconciliationInteractor: RestoreReconciliationInteractor,
@@ -36,6 +38,7 @@
override fun start() {
if (featureFlags.pipelineEnabled) {
+ accessibilityTilesInteractor.init(currentTilesInteractor)
autoAddInteractor.init(currentTilesInteractor)
restoreReconciliationInteractor.start()
}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsSceneViewModel.kt b/packages/SystemUI/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsSceneViewModel.kt
index 8a900ece..17454a9 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsSceneViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsSceneViewModel.kt
@@ -23,8 +23,8 @@
import com.android.systemui.qs.ui.adapter.QSSceneAdapter
import com.android.systemui.scene.shared.model.Direction
import com.android.systemui.scene.shared.model.SceneKey
-import com.android.systemui.scene.shared.model.SceneModel
import com.android.systemui.scene.shared.model.UserAction
+import com.android.systemui.scene.shared.model.UserActionResult
import com.android.systemui.shade.ui.viewmodel.ShadeHeaderViewModel
import com.android.systemui.statusbar.notification.stack.ui.viewmodel.NotificationsPlaceholderViewModel
import java.util.concurrent.atomic.AtomicBoolean
@@ -45,11 +45,13 @@
val destinationScenes =
qsSceneAdapter.isCustomizing.map { customizing ->
if (customizing) {
- mapOf<UserAction, SceneModel>(UserAction.Back to SceneModel(SceneKey.QuickSettings))
+ mapOf<UserAction, UserActionResult>(
+ UserAction.Back to UserActionResult(SceneKey.QuickSettings)
+ )
} else {
mapOf(
- UserAction.Back to SceneModel(SceneKey.Shade),
- UserAction.Swipe(Direction.UP) to SceneModel(SceneKey.Shade),
+ UserAction.Back to UserActionResult(SceneKey.Shade),
+ UserAction.Swipe(Direction.UP) to UserActionResult(SceneKey.Shade),
)
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/scene/data/repository/SceneContainerRepository.kt b/packages/SystemUI/src/com/android/systemui/scene/data/repository/SceneContainerRepository.kt
index 350fa38..a302194 100644
--- a/packages/SystemUI/src/com/android/systemui/scene/data/repository/SceneContainerRepository.kt
+++ b/packages/SystemUI/src/com/android/systemui/scene/data/repository/SceneContainerRepository.kt
@@ -21,8 +21,9 @@
import com.android.systemui.dagger.qualifiers.Application
import com.android.systemui.scene.shared.model.ObservableTransitionState
import com.android.systemui.scene.shared.model.SceneContainerConfig
+import com.android.systemui.scene.shared.model.SceneDataSource
import com.android.systemui.scene.shared.model.SceneKey
-import com.android.systemui.scene.shared.model.SceneModel
+import com.android.systemui.scene.shared.model.TransitionKey
import javax.inject.Inject
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -41,9 +42,9 @@
constructor(
@Application applicationScope: CoroutineScope,
private val config: SceneContainerConfig,
+ private val dataSource: SceneDataSource,
) {
- private val _desiredScene = MutableStateFlow(SceneModel(config.initialSceneKey))
- val desiredScene: StateFlow<SceneModel> = _desiredScene.asStateFlow()
+ val currentScene: StateFlow<SceneKey> = dataSource.currentScene
private val _isVisible = MutableStateFlow(true)
val isVisible: StateFlow<Boolean> = _isVisible.asStateFlow()
@@ -69,16 +70,22 @@
return config.sceneKeys
}
- fun setDesiredScene(scene: SceneModel) {
- check(allSceneKeys().contains(scene.key)) {
+ fun changeScene(
+ toScene: SceneKey,
+ transitionKey: TransitionKey? = null,
+ ) {
+ check(allSceneKeys().contains(toScene)) {
"""
- Cannot set the desired scene key to "${scene.key}". The configuration does not
+ Cannot set the desired scene key to "$toScene". The configuration does not
contain a scene with that key.
"""
.trimIndent()
}
- _desiredScene.value = scene
+ dataSource.changeScene(
+ toScene = toScene,
+ transitionKey = transitionKey,
+ )
}
/** Sets whether the container is visible. */
diff --git a/packages/SystemUI/src/com/android/systemui/scene/domain/interactor/SceneInteractor.kt b/packages/SystemUI/src/com/android/systemui/scene/domain/interactor/SceneInteractor.kt
index b9e9fe7..494c86c 100644
--- a/packages/SystemUI/src/com/android/systemui/scene/domain/interactor/SceneInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/scene/domain/interactor/SceneInteractor.kt
@@ -24,7 +24,8 @@
import com.android.systemui.scene.shared.logger.SceneLogger
import com.android.systemui.scene.shared.model.ObservableTransitionState
import com.android.systemui.scene.shared.model.SceneKey
-import com.android.systemui.scene.shared.model.SceneModel
+import com.android.systemui.scene.shared.model.TransitionKey
+import com.android.systemui.util.kotlin.pairwiseBy
import javax.inject.Inject
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -55,34 +56,25 @@
) {
/**
- * The currently *desired* scene.
+ * The current scene.
*
- * **Important:** this value will _commonly be different_ from what is being rendered in the UI,
- * by design.
- *
- * There are two intended sources for this value:
- * 1. Programmatic requests to transition to another scene (calls to [changeScene]).
- * 2. Reports from the UI about completing a transition to another scene (calls to
- * [onSceneChanged]).
- *
- * Both the sources above cause the value of this flow to change; however, they cause mismatches
- * in different ways.
- *
- * **Updates from programmatic transitions**
- *
- * When an external bit of code asks the framework to switch to another scene, the value here
- * will update immediately. Downstream, the UI will detect this change and initiate the
- * transition animation. As the transition animation progresses, a threshold will be reached, at
- * which point the UI and the state here will match each other.
- *
- * **Updates from the UI**
- *
- * When the user interacts with the UI, the UI runs a transition animation that tracks the user
- * pointer (for example, the user's finger). During this time, the state value here and what the
- * UI shows will likely not match. Once/if a threshold is met, the UI reports it and commits the
- * change, making the value here match the UI again.
+ * Note that during a transition between scenes, more than one scene might be rendered but only
+ * one is considered the committed/current scene.
*/
- val desiredScene: StateFlow<SceneModel> = repository.desiredScene
+ val currentScene: StateFlow<SceneKey> =
+ repository.currentScene
+ .pairwiseBy(initialValue = repository.currentScene.value) { from, to ->
+ logger.logSceneChangeCommitted(
+ from = from,
+ to = to,
+ )
+ to
+ }
+ .stateIn(
+ scope = applicationScope,
+ started = SharingStarted.WhileSubscribed(),
+ initialValue = repository.currentScene.value,
+ )
/**
* The current state of the transition.
@@ -146,14 +138,32 @@
/**
* Requests a scene change to the given scene.
*
- * The change is animated. Therefore, while the value in [desiredScene] will update immediately,
- * it will be some time before the UI will switch to the desired scene. The scene change
- * requested is remembered here but served by the UI layer, which will start a transition
- * animation. Once enough of the transition has occurred, the system will come into agreement
- * between the [desiredScene] and the UI.
+ * The change is animated. Therefore, it will be some time before the UI will switch to the
+ * desired scene. Once enough of the transition has occurred, the [currentScene] will become
+ * [toScene] (unless the transition is canceled by user action or another call to this method).
*/
- fun changeScene(scene: SceneModel, loggingReason: String) {
- updateDesiredScene(scene, loggingReason, logger::logSceneChangeRequested)
+ fun changeScene(
+ toScene: SceneKey,
+ loggingReason: String,
+ transitionKey: TransitionKey? = null,
+ ) {
+ check(toScene != SceneKey.Gone || deviceUnlockedInteractor.isDeviceUnlocked.value) {
+ "Cannot change to the Gone scene while the device is locked. Logging reason for scene" +
+ " change was: $loggingReason"
+ }
+
+ val currentSceneKey = currentScene.value
+ if (currentSceneKey == toScene) {
+ return
+ }
+
+ logger.logSceneChangeRequested(
+ from = currentSceneKey,
+ to = toScene,
+ reason = loggingReason,
+ )
+
+ repository.changeScene(toScene, transitionKey)
}
/** Sets the visibility of the container. */
@@ -184,39 +194,4 @@
fun onUserInput() {
powerInteractor.onUserTouch()
}
-
- /**
- * Notifies that the UI has transitioned sufficiently to the given scene.
- *
- * *Not intended for external use!*
- *
- * Once a transition between one scene and another passes a threshold, the UI invokes this
- * method to report it, updating the value in [desiredScene] to match what the UI shows.
- */
- fun onSceneChanged(scene: SceneModel, loggingReason: String) {
- updateDesiredScene(scene, loggingReason, logger::logSceneChangeCommitted)
- }
-
- private fun updateDesiredScene(
- scene: SceneModel,
- loggingReason: String,
- log: (from: SceneKey, to: SceneKey, loggingReason: String) -> Unit,
- ) {
- check(scene.key != SceneKey.Gone || deviceUnlockedInteractor.isDeviceUnlocked.value) {
- "Cannot change to the Gone scene while the device is locked. Logging reason for scene" +
- " change was: $loggingReason"
- }
-
- val currentSceneKey = desiredScene.value.key
- if (currentSceneKey == scene.key) {
- return
- }
-
- log(
- /* from= */ currentSceneKey,
- /* to= */ scene.key,
- /* loggingReason= */ loggingReason,
- )
- repository.setDesiredScene(scene)
- }
}
diff --git a/packages/SystemUI/src/com/android/systemui/scene/domain/startable/SceneContainerStartable.kt b/packages/SystemUI/src/com/android/systemui/scene/domain/startable/SceneContainerStartable.kt
index dcd87c0..605a5d9 100644
--- a/packages/SystemUI/src/com/android/systemui/scene/domain/startable/SceneContainerStartable.kt
+++ b/packages/SystemUI/src/com/android/systemui/scene/domain/startable/SceneContainerStartable.kt
@@ -40,7 +40,6 @@
import com.android.systemui.scene.shared.logger.SceneLogger
import com.android.systemui.scene.shared.model.ObservableTransitionState
import com.android.systemui.scene.shared.model.SceneKey
-import com.android.systemui.scene.shared.model.SceneModel
import com.android.systemui.statusbar.NotificationShadeWindowController
import com.android.systemui.statusbar.notification.stack.shared.flexiNotifsEnabled
import com.android.systemui.statusbar.phone.CentralSurfaces
@@ -164,9 +163,9 @@
applicationScope.launch {
// TODO (b/308001302): Move this to a bouncer specific interactor.
bouncerInteractor.onImeHiddenByUser.collectLatest {
- if (sceneInteractor.desiredScene.value.key == SceneKey.Bouncer) {
+ if (sceneInteractor.currentScene.value == SceneKey.Bouncer) {
sceneInteractor.changeScene(
- scene = SceneModel(SceneKey.Lockscreen),
+ toScene = SceneKey.Lockscreen,
loggingReason = "IME hidden",
)
}
@@ -353,8 +352,8 @@
}
applicationScope.launch {
- sceneInteractor.desiredScene
- .map { it.key == SceneKey.Bouncer }
+ sceneInteractor.currentScene
+ .map { it == SceneKey.Bouncer }
.distinctUntilChanged()
.collect { switchedToBouncerScene ->
if (switchedToBouncerScene) {
@@ -422,7 +421,7 @@
private fun switchToScene(targetSceneKey: SceneKey, loggingReason: String) {
sceneInteractor.changeScene(
- scene = SceneModel(targetSceneKey),
+ toScene = targetSceneKey,
loggingReason = loggingReason,
)
}
diff --git a/packages/SystemUI/src/com/android/systemui/scene/shared/logger/SceneLogger.kt b/packages/SystemUI/src/com/android/systemui/scene/shared/logger/SceneLogger.kt
index c2c2e04..d59fcff 100644
--- a/packages/SystemUI/src/com/android/systemui/scene/shared/logger/SceneLogger.kt
+++ b/packages/SystemUI/src/com/android/systemui/scene/shared/logger/SceneLogger.kt
@@ -62,7 +62,6 @@
fun logSceneChangeCommitted(
from: SceneKey,
to: SceneKey,
- reason: String,
) {
logBuffer.log(
tag = TAG,
@@ -70,9 +69,8 @@
messageInitializer = {
str1 = from.toString()
str2 = to.toString()
- str3 = reason
},
- messagePrinter = { "Scene change committed: $str1 → $str2, reason: $str3" },
+ messagePrinter = { "Scene change committed: $str1 → $str2" },
)
}
diff --git a/packages/SystemUI/src/com/android/systemui/scene/shared/model/Scene.kt b/packages/SystemUI/src/com/android/systemui/scene/shared/model/Scene.kt
index 2e45353..05056c1 100644
--- a/packages/SystemUI/src/com/android/systemui/scene/shared/model/Scene.kt
+++ b/packages/SystemUI/src/com/android/systemui/scene/shared/model/Scene.kt
@@ -32,7 +32,7 @@
val key: SceneKey
/**
- * The mapping between [UserAction] and destination [SceneModel]s.
+ * The mapping between [UserAction] and destination [UserActionResult]s.
*
* When the scene framework detects a user action, if the current scene has a map entry for that
* user action, the framework starts a transition to the scene in the map.
@@ -40,7 +40,7 @@
* Once the [Scene] becomes the current one, the scene framework will read this property and set
* up a collector to watch for new mapping values. If every map entry provided by the scene, the
* framework will set up user input handling for its [UserAction] and, if such a user action is
- * detected, initiate a transition to the specified [SceneModel].
+ * detected, initiate a transition to the specified [UserActionResult].
*
* Note that reading from this method does _not_ mean that any user action has occurred.
* Instead, the property is read before any user action/gesture is detected so that the
@@ -51,7 +51,7 @@
* type is not currently active in the scene and should be ignored by the framework, while the
* current scene is this one.
*/
- val destinationScenes: StateFlow<Map<UserAction, SceneModel>>
+ val destinationScenes: StateFlow<Map<UserAction, UserActionResult>>
}
/** Enumerates all scene framework supported user actions. */
diff --git a/packages/SystemUI/src/com/android/systemui/scene/shared/model/TransitionKeys.kt b/packages/SystemUI/src/com/android/systemui/scene/shared/model/TransitionKeys.kt
new file mode 100644
index 0000000..926878c
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/scene/shared/model/TransitionKeys.kt
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.scene.shared.model
+
+/**
+ * Defines all known named transitions.
+ *
+ * These are the subset of transitions that can be referenced by key when asking for a scene change.
+ */
+object TransitionKeys {
+
+ /** Reference to a scene transition that can collapse the shade scene instantly. */
+ val CollapseShadeInstantly = TransitionKey("CollapseShadeInstantly")
+
+ /**
+ * Reference to a scene transition that can collapse the shade scene slightly faster than a
+ * normal collapse would.
+ */
+ val SlightlyFasterShadeCollapse = TransitionKey("SlightlyFasterShadeCollapse")
+}
diff --git a/packages/SystemUI/src/com/android/systemui/scene/ui/view/SceneWindowRootView.kt b/packages/SystemUI/src/com/android/systemui/scene/ui/view/SceneWindowRootView.kt
index c88a04c..67dc0cc 100644
--- a/packages/SystemUI/src/com/android/systemui/scene/ui/view/SceneWindowRootView.kt
+++ b/packages/SystemUI/src/com/android/systemui/scene/ui/view/SceneWindowRootView.kt
@@ -7,6 +7,7 @@
import com.android.systemui.scene.shared.flag.SceneContainerFlags
import com.android.systemui.scene.shared.model.Scene
import com.android.systemui.scene.shared.model.SceneContainerConfig
+import com.android.systemui.scene.shared.model.SceneDataSourceDelegator
import com.android.systemui.scene.ui.viewmodel.SceneContainerViewModel
import com.android.systemui.statusbar.notification.stack.ui.view.SharedNotificationContainer
import kotlinx.coroutines.flow.MutableStateFlow
@@ -33,6 +34,7 @@
flags: SceneContainerFlags,
scenes: Set<Scene>,
layoutInsetController: LayoutInsetsController,
+ sceneDataSourceDelegator: SceneDataSourceDelegator,
) {
this.viewModel = viewModel
setLayoutInsetsController(layoutInsetController)
@@ -46,7 +48,8 @@
scenes = scenes,
onVisibilityChangedInternal = { isVisible ->
super.setVisibility(if (isVisible) View.VISIBLE else View.INVISIBLE)
- }
+ },
+ dataSourceDelegator = sceneDataSourceDelegator,
)
}
diff --git a/packages/SystemUI/src/com/android/systemui/scene/ui/view/SceneWindowRootViewBinder.kt b/packages/SystemUI/src/com/android/systemui/scene/ui/view/SceneWindowRootViewBinder.kt
index 2b978b2..45b6f65 100644
--- a/packages/SystemUI/src/com/android/systemui/scene/ui/view/SceneWindowRootViewBinder.kt
+++ b/packages/SystemUI/src/com/android/systemui/scene/ui/view/SceneWindowRootViewBinder.kt
@@ -34,6 +34,7 @@
import com.android.systemui.scene.shared.flag.SceneContainerFlags
import com.android.systemui.scene.shared.model.Scene
import com.android.systemui.scene.shared.model.SceneContainerConfig
+import com.android.systemui.scene.shared.model.SceneDataSourceDelegator
import com.android.systemui.scene.shared.model.SceneKey
import com.android.systemui.scene.ui.viewmodel.SceneContainerViewModel
import com.android.systemui.statusbar.notification.stack.shared.flexiNotifsEnabled
@@ -54,6 +55,7 @@
flags: SceneContainerFlags,
scenes: Set<Scene>,
onVisibilityChangedInternal: (isVisible: Boolean) -> Unit,
+ dataSourceDelegator: SceneDataSourceDelegator,
) {
val unsortedSceneByKey: Map<SceneKey, Scene> = scenes.associateBy { scene -> scene.key }
val sortedSceneByKey: Map<SceneKey, Scene> = buildMap {
@@ -90,6 +92,7 @@
viewModel = viewModel,
windowInsets = windowInsets,
sceneByKey = sortedSceneByKey,
+ dataSourceDelegator = dataSourceDelegator,
)
.also { it.id = R.id.scene_container_root_composable }
)
diff --git a/packages/SystemUI/src/com/android/systemui/scene/ui/viewmodel/SceneContainerViewModel.kt b/packages/SystemUI/src/com/android/systemui/scene/ui/viewmodel/SceneContainerViewModel.kt
index 2431660..5d290ce 100644
--- a/packages/SystemUI/src/com/android/systemui/scene/ui/viewmodel/SceneContainerViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/scene/ui/viewmodel/SceneContainerViewModel.kt
@@ -22,7 +22,6 @@
import com.android.systemui.scene.domain.interactor.SceneInteractor
import com.android.systemui.scene.shared.model.ObservableTransitionState
import com.android.systemui.scene.shared.model.SceneKey
-import com.android.systemui.scene.shared.model.SceneModel
import javax.inject.Inject
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.StateFlow
@@ -44,19 +43,11 @@
val allSceneKeys: List<SceneKey> = sceneInteractor.allSceneKeys()
/** The scene that should be rendered. */
- val currentScene: StateFlow<SceneModel> = sceneInteractor.desiredScene
+ val currentScene: StateFlow<SceneKey> = sceneInteractor.currentScene
/** Whether the container is visible. */
val isVisible: StateFlow<Boolean> = sceneInteractor.isVisible
- /** Notifies that the UI has transitioned sufficiently to the given scene. */
- fun onSceneChanged(scene: SceneModel) {
- sceneInteractor.onSceneChanged(
- scene = scene,
- loggingReason = SCENE_TRANSITION_LOGGING_REASON,
- )
- }
-
/**
* Binds the given flow so the system remembers it.
*
diff --git a/packages/SystemUI/src/com/android/systemui/shade/ShadeControllerSceneImpl.kt b/packages/SystemUI/src/com/android/systemui/shade/ShadeControllerSceneImpl.kt
index 4e8b403..7cb3be7 100644
--- a/packages/SystemUI/src/com/android/systemui/shade/ShadeControllerSceneImpl.kt
+++ b/packages/SystemUI/src/com/android/systemui/shade/ShadeControllerSceneImpl.kt
@@ -26,7 +26,8 @@
import com.android.systemui.log.dagger.ShadeTouchLog
import com.android.systemui.scene.domain.interactor.SceneInteractor
import com.android.systemui.scene.shared.model.SceneKey
-import com.android.systemui.scene.shared.model.SceneModel
+import com.android.systemui.scene.shared.model.TransitionKeys.CollapseShadeInstantly
+import com.android.systemui.scene.shared.model.TransitionKeys.SlightlyFasterShadeCollapse
import com.android.systemui.shade.ShadeController.ShadeVisibilityListener
import com.android.systemui.shade.domain.interactor.ShadeInteractor
import com.android.systemui.statusbar.CommandQueue
@@ -97,8 +98,9 @@
override fun instantCollapseShade() {
// TODO(b/315921512) add support for instant transition
sceneInteractor.changeScene(
- SceneModel(getCollapseDestinationScene(), "instant"),
- "hide shade"
+ getCollapseDestinationScene(),
+ "hide shade",
+ CollapseShadeInstantly,
)
}
@@ -119,10 +121,7 @@
// release focus immediately to kick off focus change transition
notificationShadeWindowController.setNotificationShadeFocusable(false)
notificationStackScrollLayout.cancelExpandHelper()
- sceneInteractor.changeScene(
- SceneModel(SceneKey.Shade, null),
- "ShadeController.animateExpandShade"
- )
+ sceneInteractor.changeScene(SceneKey.Shade, "ShadeController.animateExpandShade")
if (delayed) {
scope.launch {
delay(125)
@@ -136,8 +135,9 @@
private fun animateCollapseShadeInternal() {
sceneInteractor.changeScene(
- SceneModel(getCollapseDestinationScene(), "ShadeController.animateCollapseShade"),
- "ShadeController.animateCollapseShade"
+ getCollapseDestinationScene(),
+ "ShadeController.animateCollapseShade",
+ SlightlyFasterShadeCollapse,
)
}
@@ -183,17 +183,11 @@
}
override fun expandToNotifications() {
- sceneInteractor.changeScene(
- SceneModel(SceneKey.Shade, null),
- "ShadeController.animateExpandShade"
- )
+ sceneInteractor.changeScene(SceneKey.Shade, "ShadeController.animateExpandShade")
}
override fun expandToQs() {
- sceneInteractor.changeScene(
- SceneModel(SceneKey.QuickSettings, null),
- "ShadeController.animateExpandQs"
- )
+ sceneInteractor.changeScene(SceneKey.QuickSettings, "ShadeController.animateExpandQs")
}
override fun setVisibilityListener(listener: ShadeVisibilityListener) {
@@ -243,7 +237,7 @@
}
override fun isExpandedVisible(): Boolean {
- return sceneInteractor.desiredScene.value.key != SceneKey.Gone
+ return sceneInteractor.currentScene.value != SceneKey.Gone
}
override fun onStatusBarTouch(event: MotionEvent) {
diff --git a/packages/SystemUI/src/com/android/systemui/shade/ShadeViewProviderModule.kt b/packages/SystemUI/src/com/android/systemui/shade/ShadeViewProviderModule.kt
index f40be4b..2cb9f9a 100644
--- a/packages/SystemUI/src/com/android/systemui/shade/ShadeViewProviderModule.kt
+++ b/packages/SystemUI/src/com/android/systemui/shade/ShadeViewProviderModule.kt
@@ -35,6 +35,7 @@
import com.android.systemui.scene.shared.flag.SceneContainerFlags
import com.android.systemui.scene.shared.model.Scene
import com.android.systemui.scene.shared.model.SceneContainerConfig
+import com.android.systemui.scene.shared.model.SceneDataSourceDelegator
import com.android.systemui.scene.ui.view.SceneWindowRootView
import com.android.systemui.scene.ui.view.WindowRootView
import com.android.systemui.scene.ui.viewmodel.SceneContainerViewModel
@@ -72,6 +73,7 @@
flagsProvider: Provider<SceneContainerFlags>,
scenesProvider: Provider<Set<@JvmSuppressWildcards Scene>>,
layoutInsetController: NotificationInsetsController,
+ sceneDataSourceDelegator: Provider<SceneDataSourceDelegator>,
): WindowRootView {
return if (sceneContainerFlags.isEnabled()) {
val sceneWindowRootView =
@@ -84,6 +86,7 @@
flags = flagsProvider.get(),
scenes = scenesProvider.get(),
layoutInsetController = layoutInsetController,
+ sceneDataSourceDelegator = sceneDataSourceDelegator.get(),
)
sceneWindowRootView
} else {
diff --git a/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeBackActionInteractorImpl.kt b/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeBackActionInteractorImpl.kt
index 9bbe1bd..a2e2598 100644
--- a/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeBackActionInteractorImpl.kt
+++ b/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeBackActionInteractorImpl.kt
@@ -19,7 +19,6 @@
import com.android.systemui.deviceentry.domain.interactor.DeviceEntryInteractor
import com.android.systemui.scene.domain.interactor.SceneInteractor
import com.android.systemui.scene.shared.model.SceneKey
-import com.android.systemui.scene.shared.model.SceneModel
import javax.inject.Inject
import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -44,7 +43,7 @@
} else {
SceneKey.Shade
}
- sceneInteractor.changeScene(SceneModel(key), "animateCollapseQs")
+ sceneInteractor.changeScene(key, "animateCollapseQs")
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/smartspace/data/repository/SmartspaceRepository.kt b/packages/SystemUI/src/com/android/systemui/smartspace/data/repository/SmartspaceRepository.kt
index 095d30e..52a1c15 100644
--- a/packages/SystemUI/src/com/android/systemui/smartspace/data/repository/SmartspaceRepository.kt
+++ b/packages/SystemUI/src/com/android/systemui/smartspace/data/repository/SmartspaceRepository.kt
@@ -21,7 +21,9 @@
import android.widget.RemoteViews
import com.android.systemui.communal.smartspace.CommunalSmartspaceController
import com.android.systemui.dagger.SysUISingleton
+import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.plugins.BcSmartspaceDataPlugin
+import java.util.concurrent.Executor
import javax.inject.Inject
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.MutableStateFlow
@@ -41,6 +43,7 @@
@Inject
constructor(
private val communalSmartspaceController: CommunalSmartspaceController,
+ @Main private val uiExecutor: Executor,
) : SmartspaceRepository, BcSmartspaceDataPlugin.SmartspaceTargetListener {
override val isSmartspaceRemoteViewsEnabled: Boolean
@@ -51,12 +54,18 @@
override val communalSmartspaceTargets: Flow<List<SmartspaceTarget>> =
_communalSmartspaceTargets
.onStart {
- communalSmartspaceController.addListener(listener = this@SmartspaceRepositoryImpl)
+ uiExecutor.execute {
+ communalSmartspaceController.addListener(
+ listener = this@SmartspaceRepositoryImpl
+ )
+ }
}
.onCompletion {
- communalSmartspaceController.removeListener(
- listener = this@SmartspaceRepositoryImpl
- )
+ uiExecutor.execute {
+ communalSmartspaceController.removeListener(
+ listener = this@SmartspaceRepositoryImpl
+ )
+ }
}
override fun onSmartspaceTargetsUpdated(targetsNullable: MutableList<out Parcelable>?) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
index 04d9b0c..14230ba 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
@@ -87,6 +87,7 @@
import com.android.settingslib.fuelgauge.BatteryStatus;
import com.android.systemui.biometrics.AuthController;
import com.android.systemui.biometrics.FaceHelpMessageDeferral;
+import com.android.systemui.biometrics.FaceHelpMessageDeferralFactory;
import com.android.systemui.bouncer.domain.interactor.AlternateBouncerInteractor;
import com.android.systemui.bouncer.domain.interactor.BouncerMessageInteractor;
import com.android.systemui.broadcast.BroadcastDispatcher;
@@ -270,7 +271,7 @@
ScreenLifecycle screenLifecycle,
KeyguardBypassController keyguardBypassController,
AccessibilityManager accessibilityManager,
- FaceHelpMessageDeferral faceHelpMessageDeferral,
+ FaceHelpMessageDeferralFactory faceHelpMessageDeferral,
KeyguardLogger keyguardLogger,
AlternateBouncerInteractor alternateBouncerInteractor,
AlarmManager alarmManager,
@@ -308,7 +309,7 @@
mIndicationHelper = indicationHelper;
mKeyguardInteractor = keyguardInteractor;
- mFaceAcquiredMessageDeferral = faceHelpMessageDeferral;
+ mFaceAcquiredMessageDeferral = faceHelpMessageDeferral.create();
mCoExFaceAcquisitionMsgIdsToShow = new HashSet<>();
int[] msgIds = context.getResources().getIntArray(
com.android.systemui.res.R.array.config_face_help_msgs_when_fingerprint_enrolled);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShelf.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShelf.java
index 4d37335..0e0f152 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShelf.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShelf.java
@@ -766,7 +766,6 @@
}
} else if (viewEnd >= shelfClipStart
- && view.isInShelf()
&& (mAmbientState.isShadeExpanded()
|| (!view.isPinned() && !view.isHeadsUpAnimatingAway()))) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationContentDescription.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationContentDescription.kt
index e7012ea51..17fc5c6 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationContentDescription.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationContentDescription.kt
@@ -20,35 +20,14 @@
import android.app.Notification
import android.content.Context
-import android.content.pm.ApplicationInfo
import android.text.TextUtils
-import android.util.Log
import androidx.annotation.MainThread
import com.android.systemui.res.R
-/**
- * Returns accessibility content description for a given notification.
- *
- * NOTE: This is a relatively slow call.
- */
+/** Returns accessibility content description for a given notification. */
@MainThread
fun contentDescForNotification(c: Context, n: Notification?): CharSequence {
- var appName = ""
- try {
- val builder = Notification.Builder.recoverBuilder(c, n)
- appName = builder.loadHeaderAppName()
- } catch (e: RuntimeException) {
- Log.e("ContentDescription", "Unable to recover builder", e)
- // Trying to get the app name from the app info instead.
- val appInfo =
- n?.extras?.getParcelable(
- Notification.EXTRA_BUILDER_APPLICATION_INFO,
- ApplicationInfo::class.java
- )
- if (appInfo != null) {
- appName = appInfo.loadLabel(c.packageManager).toString()
- }
- }
+ val appName = n?.loadHeaderAppName(c) ?: ""
val title = n?.extras?.getCharSequence(Notification.EXTRA_TITLE)
val text = n?.extras?.getCharSequence(Notification.EXTRA_TEXT)
val ticker = n?.tickerText
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/logging/NotificationMemoryLogger.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/logging/NotificationMemoryLogger.kt
index f096dd6..6e4b327 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/logging/NotificationMemoryLogger.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/logging/NotificationMemoryLogger.kt
@@ -142,7 +142,7 @@
private fun getAllNotificationsOnMainThread() =
runBlocking(mainDispatcher) {
- traceSection("NML#getNotifications") { notificationPipeline.allNotifs }
+ traceSection("NML#getNotifications") { notificationPipeline.allNotifs.toList() }
}
}
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 c4d266e..ec8e5d7 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
@@ -720,6 +720,9 @@
mInShelf = inShelf;
}
+ /**
+ * @return true if the view is currently fully in the notification shelf.
+ */
public boolean isInShelf() {
return mInShelf;
}
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 15fde0e..634de7a 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
@@ -826,16 +826,11 @@
}
}
if (row.isPinned()) {
- if (NotificationsImprovedHunAnimation.isEnabled()) {
- // Make sure row yTranslation is at the HUN yTranslation,
- // which accounts for AmbientState.stackTopMargin in split-shade.
- childState.setYTranslation(headsUpTranslation);
- } else {
- // Make sure row yTranslation is at maximum the HUN yTranslation,
- // which accounts for AmbientState.stackTopMargin in split-shade.
- childState.setYTranslation(
- Math.max(childState.getYTranslation(), headsUpTranslation));
- }
+ // Make sure row yTranslation is at at least the HUN yTranslation,
+ // which accounts for AmbientState.stackTopMargin in split-shade.
+ // Once we start opening the shade, we keep the previously calculated translation.
+ childState.setYTranslation(
+ Math.max(childState.getYTranslation(), headsUpTranslation));
childState.height = Math.max(row.getIntrinsicHeight(), childState.height);
childState.hidden = false;
ExpandableViewState topState =
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackStateAnimator.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackStateAnimator.java
index 433e5c7..ab62ed6 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackStateAnimator.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackStateAnimator.java
@@ -470,15 +470,8 @@
mHeadsUpAppearChildren.add(changingView);
mTmpState.copyFrom(changingView.getViewState());
- if (event.headsUpFromBottom) {
- // start from the bottom of the screen
- mTmpState.setYTranslation(
- mHeadsUpAppearHeightBottom + mHeadsUpAppearStartAboveScreen);
- } else {
- // start from the top of the screen
- mTmpState.setYTranslation(
- -mStackTopMargin - mHeadsUpAppearStartAboveScreen);
- }
+ // translate the HUN in from the top, or the bottom of the screen
+ mTmpState.setYTranslation(getHeadsUpYTranslationStart(event.headsUpFromBottom));
// set the height and the initial position
mTmpState.applyToView(changingView);
mAnimationProperties.setCustomInterpolator(View.TRANSLATION_Y,
@@ -522,12 +515,20 @@
|| event.animationType == ANIMATION_TYPE_HEADS_UP_DISAPPEAR_CLICK) {
mHeadsUpDisappearChildren.add(changingView);
Runnable endRunnable = null;
+ mTmpState.copyFrom(changingView.getViewState());
if (changingView.getParent() == null) {
// This notification was actually removed, so we need to add it
// transiently
mHostLayout.addTransientView(changingView, 0);
changingView.setTransientContainer(mHostLayout);
- mTmpState.initFrom(changingView);
+ if (NotificationsImprovedHunAnimation.isEnabled()) {
+ // StackScrollAlgorithm cannot find this view because it has been removed
+ // from the NSSL. To correctly translate the view to the top or bottom of
+ // the screen (where it animated from), we need to update its translation.
+ mTmpState.setYTranslation(
+ getHeadsUpYTranslationStart(event.headsUpFromBottom)
+ );
+ }
endRunnable = changingView::removeFromTransientContainer;
}
@@ -575,16 +576,19 @@
changingView.setInRemovalAnimation(true);
};
}
- if (NotificationsImprovedHunAnimation.isEnabled()) {
- mAnimationProperties.setCustomInterpolator(View.TRANSLATION_Y,
- Interpolators.FAST_OUT_SLOW_IN_REVERSE);
- }
long removeAnimationDelay = changingView.performRemoveAnimation(
ANIMATION_DURATION_HEADS_UP_DISAPPEAR,
0, 0.0f, true /* isHeadsUpAppear */,
startAnimation, postAnimation,
getGlobalAnimationFinishedListener());
mAnimationProperties.delay += removeAnimationDelay;
+ if (NotificationsImprovedHunAnimation.isEnabled()) {
+ mAnimationProperties.duration = ANIMATION_DURATION_HEADS_UP_DISAPPEAR;
+ mAnimationProperties.setCustomInterpolator(View.TRANSLATION_Y,
+ Interpolators.FAST_OUT_SLOW_IN_REVERSE);
+ mAnimationProperties.getAnimationFilter().animateY = true;
+ mTmpState.animateTo(changingView, mAnimationProperties);
+ }
} else if (endRunnable != null) {
endRunnable.run();
}
@@ -595,6 +599,15 @@
return needsCustomAnimation;
}
+ private float getHeadsUpYTranslationStart(boolean headsUpFromBottom) {
+ if (headsUpFromBottom) {
+ // start from the bottom of the screen
+ return mHeadsUpAppearHeightBottom + mHeadsUpAppearStartAboveScreen;
+ }
+ // start from the top of the screen
+ return -mStackTopMargin - mHeadsUpAppearStartAboveScreen;
+ }
+
public void animateOverScrollToAmount(float targetAmount, final boolean onTop,
final boolean isRubberbanded) {
final float startOverScrollAmount = mHostLayout.getCurrentOverScrollAmount(onTop);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java
index 4a54111..a135802 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java
@@ -16,7 +16,6 @@
package com.android.systemui.statusbar.phone;
-import static android.app.StatusBarManager.DISABLE_HOME;
import static android.app.StatusBarManager.WINDOW_STATE_HIDDEN;
import static android.app.StatusBarManager.WINDOW_STATE_SHOWING;
import static android.app.StatusBarManager.WindowVisibleState;
@@ -1006,8 +1005,14 @@
// this handling this post-init task. We force an update in this case, and use a new
// token to not conflict with any other disabled flags already requested by SysUI
Binder token = new Binder();
- mBarService.disable(DISABLE_HOME, token, mContext.getPackageName());
- mBarService.disable(0, token, mContext.getPackageName());
+ int userId = mContext.getUserId();
+ StatusBarManager.DisableInfo info = new StatusBarManager.DisableInfo();
+ info.setNavigationHomeDisabled(true);
+ mBarService.disableForUser(info, token, mContext.getPackageName(),
+ userId, "set the initial view visibility");
+
+ mBarService.disableForUser(new StatusBarManager.DisableInfo(), token,
+ mContext.getPackageName(), userId, "set the initial view visibility");
} catch (RemoteException ex) {
ex.rethrowFromSystemServer();
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarViewController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarViewController.java
index 2206be5..38b3718 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarViewController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarViewController.java
@@ -20,6 +20,7 @@
import static android.app.StatusBarManager.DISABLE_SYSTEM_INFO;
import static com.android.systemui.statusbar.StatusBarState.KEYGUARD;
+import static com.android.systemui.Flags.updateUserSwitcherBackground;
import android.content.res.Configuration;
import android.content.res.Resources;
@@ -43,6 +44,7 @@
import com.android.keyguard.KeyguardUpdateMonitorCallback;
import com.android.keyguard.logging.KeyguardLogger;
import com.android.systemui.battery.BatteryMeterViewController;
+import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.flags.Flags;
@@ -122,6 +124,7 @@
private final SecureSettings mSecureSettings;
private final CommandQueue mCommandQueue;
private final Executor mMainExecutor;
+ private final Executor mBackgroundExecutor;
private final Object mLock = new Object();
private final KeyguardLogger mLogger;
@@ -296,6 +299,7 @@
SecureSettings secureSettings,
CommandQueue commandQueue,
@Main Executor mainExecutor,
+ @Background Executor backgroundExecutor,
KeyguardLogger logger,
NotificationMediaManager notificationMediaManager,
StatusOverlayHoverListenerFactory statusOverlayHoverListenerFactory
@@ -323,6 +327,7 @@
mSecureSettings = secureSettings;
mCommandQueue = commandQueue;
mMainExecutor = mainExecutor;
+ mBackgroundExecutor = backgroundExecutor;
mLogger = logger;
mFirstBypassAttempt = mKeyguardBypassController.getBypassEnabled();
@@ -607,8 +612,18 @@
* Updates visibility of the user switcher button based on {@link android.os.UserManager} state.
*/
private void updateUserSwitcher() {
- mView.setUserSwitcherEnabled(mUserManager.isUserSwitcherEnabled(getResources().getBoolean(
- R.bool.qs_show_user_switcher_for_single_user)));
+ if (updateUserSwitcherBackground()) {
+ mBackgroundExecutor.execute(() -> {
+ final boolean isUserSwitcherEnabled = mUserManager.isUserSwitcherEnabled(
+ getResources().getBoolean(R.bool.qs_show_user_switcher_for_single_user));
+ mMainExecutor.execute(() -> {
+ mView.setUserSwitcherEnabled(isUserSwitcherEnabled);
+ });
+ });
+ } else {
+ mView.setUserSwitcherEnabled(mUserManager.isUserSwitcherEnabled(
+ getResources().getBoolean(R.bool.qs_show_user_switcher_for_single_user)));
+ }
}
@VisibleForTesting
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
index 7f7eb04..9d70f42 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
@@ -439,8 +439,11 @@
}
mBypassController = bypassController;
mNotificationContainer = notificationContainer;
- mKeyguardMessageAreaController = mKeyguardMessageAreaFactory.create(
- centralSurfaces.getKeyguardMessageArea());
+ if (!DeviceEntryUdfpsRefactor.isEnabled()) {
+ mKeyguardMessageAreaController = mKeyguardMessageAreaFactory.create(
+ centralSurfaces.getKeyguardMessageArea());
+ }
+
mCentralSurfacesRegistered = true;
registerListeners();
@@ -863,6 +866,7 @@
final boolean isShowingAlternateBouncer = mAlternateBouncerInteractor.isVisibleState();
if (mKeyguardMessageAreaController != null) {
+ DeviceEntryUdfpsRefactor.assertInLegacyMode();
mKeyguardMessageAreaController.setIsVisible(isShowingAlternateBouncer);
mKeyguardMessageAreaController.setMessage("");
}
@@ -1447,6 +1451,7 @@
public void setKeyguardMessage(String message, ColorStateList colorState) {
if (mAlternateBouncerInteractor.isVisibleState()) {
if (mKeyguardMessageAreaController != null) {
+ DeviceEntryUdfpsRefactor.assertInLegacyMode();
mKeyguardMessageAreaController.setMessage(message);
}
} else {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothControllerImpl.java
index fc2f6e9..c089092 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothControllerImpl.java
@@ -35,6 +35,7 @@
import com.android.settingslib.bluetooth.LocalBluetoothManager;
import com.android.settingslib.bluetooth.LocalBluetoothProfile;
import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
+import com.android.systemui.Flags;
import com.android.systemui.bluetooth.BluetoothLogger;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.qualifiers.Background;
@@ -240,9 +241,21 @@
@WorkerThread
@Override
public String getConnectedDeviceName() {
- synchronized (mConnectedDevices) {
- if (mConnectedDevices.size() == 1) {
- return mConnectedDevices.get(0).getName();
+ if (Flags.getConnectedDeviceNameUnsynchronized()) {
+ CachedBluetoothDevice connectedDevice = null;
+ // Calling the getName() API for CachedBluetoothDevice outside the synchronized block
+ // so that the main thread is not blocked.
+ synchronized (mConnectedDevices) {
+ if (mConnectedDevices.size() == 1) {
+ connectedDevice = mConnectedDevices.get(0);
+ }
+ }
+ return connectedDevice != null ? connectedDevice.getName() : null;
+ } else {
+ synchronized (mConnectedDevices) {
+ if (mConnectedDevices.size() == 1) {
+ return mConnectedDevices.get(0).getName();
+ }
}
}
return null;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/tv/OWNERS b/packages/SystemUI/src/com/android/systemui/statusbar/tv/OWNERS
new file mode 100644
index 0000000..43450c4
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/tv/OWNERS
@@ -0,0 +1,5 @@
+# Android TV Core Framework
+rgl@google.com
+valiiftime@google.com
+galinap@google.com
+robhor@google.com
\ No newline at end of file
diff --git a/packages/SystemUI/src/com/android/systemui/volume/dagger/AudioModule.kt b/packages/SystemUI/src/com/android/systemui/volume/dagger/AudioModule.kt
index 1af5c46..67d6a7f 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/dagger/AudioModule.kt
+++ b/packages/SystemUI/src/com/android/systemui/volume/dagger/AudioModule.kt
@@ -16,11 +16,14 @@
package com.android.systemui.volume.dagger
+import android.app.NotificationManager
import android.content.Context
import android.media.AudioManager
import com.android.settingslib.media.data.repository.SpatializerRepository
import com.android.settingslib.media.data.repository.SpatializerRepositoryImpl
import com.android.settingslib.media.domain.interactor.SpatializerInteractor
+import com.android.settingslib.statusbar.notification.data.repository.NotificationsSoundPolicyRepository
+import com.android.settingslib.statusbar.notification.data.repository.NotificationsSoundPolicyRepositoryImpl
import com.android.settingslib.volume.data.repository.AudioRepository
import com.android.settingslib.volume.data.repository.AudioRepositoryImpl
import com.android.settingslib.volume.domain.interactor.AudioModeInteractor
@@ -68,5 +71,19 @@
@Provides
fun provideSpatializerInetractor(repository: SpatializerRepository): SpatializerInteractor =
SpatializerInteractor(repository)
+
+ @Provides
+ fun provideNotificationsSoundPolicyRepository(
+ context: Context,
+ notificationManager: NotificationManager,
+ @Background coroutineContext: CoroutineContext,
+ @Application coroutineScope: CoroutineScope,
+ ): NotificationsSoundPolicyRepository =
+ NotificationsSoundPolicyRepositoryImpl(
+ context,
+ notificationManager,
+ coroutineScope,
+ coroutineContext,
+ )
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/wallet/controller/WalletContextualLocationsService.kt b/packages/SystemUI/src/com/android/systemui/wallet/controller/WalletContextualLocationsService.kt
index 1c17fc3..3c50c7b 100644
--- a/packages/SystemUI/src/com/android/systemui/wallet/controller/WalletContextualLocationsService.kt
+++ b/packages/SystemUI/src/com/android/systemui/wallet/controller/WalletContextualLocationsService.kt
@@ -6,9 +6,12 @@
import androidx.annotation.VisibleForTesting
import androidx.lifecycle.LifecycleService
import androidx.lifecycle.lifecycleScope
+import com.android.systemui.Flags.registerNewWalletCardInBackground
+import com.android.systemui.dagger.qualifiers.Background
import com.android.systemui.flags.FeatureFlags
import com.android.systemui.flags.Flags
import javax.inject.Inject
+import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.launch
@@ -21,6 +24,7 @@
class WalletContextualLocationsService
@Inject
constructor(
+ @Background private val backgroundDispatcher: CoroutineDispatcher,
private val controller: WalletContextualSuggestionsController,
private val featureFlags: FeatureFlags,
) : LifecycleService() {
@@ -29,20 +33,30 @@
@VisibleForTesting
constructor(
+ dispatcher: CoroutineDispatcher,
controller: WalletContextualSuggestionsController,
featureFlags: FeatureFlags,
scope: CoroutineScope,
- ) : this(controller, featureFlags) {
+ ) : this(dispatcher, controller, featureFlags) {
this.scope = scope
}
-
override fun onBind(intent: Intent): IBinder {
super.onBind(intent)
- scope.launch {
- controller.allWalletCards.collect { cards ->
- val cardsSize = cards.size
- Log.i(TAG, "Number of cards registered $cardsSize")
- listener?.registerNewWalletCards(cards)
+ if (registerNewWalletCardInBackground()) {
+ scope.launch(backgroundDispatcher) {
+ controller.allWalletCards.collect { cards ->
+ val cardsSize = cards.size
+ Log.i(TAG, "Number of cards registered $cardsSize")
+ listener?.registerNewWalletCards(cards)
+ }
+ }
+ } else {
+ scope.launch {
+ controller.allWalletCards.collect { cards ->
+ val cardsSize = cards.size
+ Log.i(TAG, "Number of cards registered $cardsSize")
+ listener?.registerNewWalletCards(cards)
+ }
}
}
return binder
@@ -77,17 +91,17 @@
controller.setSuggestionCardIds(storeLocations.toSet())
}
- private val binder: IWalletContextualLocationsService.Stub
- = object : IWalletContextualLocationsService.Stub() {
- override fun addWalletCardsUpdatedListener(listener: IWalletCardsUpdatedListener) {
- addWalletCardsUpdatedListenerInternal(listener)
+ private val binder: IWalletContextualLocationsService.Stub =
+ object : IWalletContextualLocationsService.Stub() {
+ override fun addWalletCardsUpdatedListener(listener: IWalletCardsUpdatedListener) {
+ addWalletCardsUpdatedListenerInternal(listener)
+ }
+ override fun onWalletContextualLocationsStateUpdated(storeLocations: List<String>) {
+ onWalletContextualLocationsStateUpdatedInternal(storeLocations)
+ }
}
- override fun onWalletContextualLocationsStateUpdated(storeLocations: List<String>) {
- onWalletContextualLocationsStateUpdatedInternal(storeLocations)
- }
- }
companion object {
private const val TAG = "WalletContextualLocationsService"
}
-}
\ No newline at end of file
+}
diff --git a/packages/SystemUI/tests/AndroidManifest.xml b/packages/SystemUI/tests/AndroidManifest.xml
index 03fde9f..5882b56 100644
--- a/packages/SystemUI/tests/AndroidManifest.xml
+++ b/packages/SystemUI/tests/AndroidManifest.xml
@@ -207,6 +207,19 @@
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
+
+ <activity
+ android:name="com.android.systemui.accessibility.EmptyAccessibilityShortcutTargetActivity"
+ android:exported="false">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.ACCESSIBILITY_SHORTCUT_TARGET" />
+ </intent-filter>
+
+ <meta-data
+ android:name="android.accessibilityshortcut.target"
+ android:resource="@xml/accessibility_shortcut_test_activity" />
+ </activity>
</application>
<instrumentation android:name="android.testing.TestableInstrumentation"
diff --git a/packages/SystemUI/tests/res/values/strings.xml b/packages/SystemUI/tests/res/values/strings.xml
index b9f24c8..8019d18 100644
--- a/packages/SystemUI/tests/res/values/strings.xml
+++ b/packages/SystemUI/tests/res/values/strings.xml
@@ -17,5 +17,7 @@
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="test_content">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ultrices condimentum ultricies. Sed elementum at massa id sagittis. Nullam dictum massa lorem, nec ornare nunc pharetra vitae. Duis ultrices, felis eu condimentum congue, erat orci efficitur purus, ac rutrum odio lacus sed sapien. Suspendisse erat augue, eleifend eget auctor sagittis, porta eget nibh. Mauris pulvinar urna non justo condimentum, ut vehicula sapien finibus. Aliquam nibh magna, tincidunt ut viverra sed, placerat et turpis. Nam placerat, dui sed tincidunt consectetur, ante velit posuere mauris, tincidunt finibus velit lectus ac tortor. Cras eget lectus feugiat, porttitor velit nec, malesuada massa.</string>
-
+ <string name="test_a11y_shortcut_target_description">Test a11y shortcut target activity description</string>
+ <string name="test_a11y_shortcut_target_summary">Test a11y shortcut target activity summary</string>
+ <string name="test_a11y_shortcut_target_intro">Test a11y shortcut target activity intro</string>
</resources>
diff --git a/packages/SystemUI/tests/res/xml/accessibility_shortcut_test_activity.xml b/packages/SystemUI/tests/res/xml/accessibility_shortcut_test_activity.xml
new file mode 100644
index 0000000..ad58453
--- /dev/null
+++ b/packages/SystemUI/tests/res/xml/accessibility_shortcut_test_activity.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+ ~ Copyright (C) 2024 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<accessibility-shortcut-target xmlns:android="http://schemas.android.com/apk/res/android"
+ android:description="@string/test_a11y_shortcut_target_description"
+ android:summary="@string/test_a11y_shortcut_target_summary"
+ android:animatedImageDrawable="@null"
+ android:htmlDescription="@null"
+ android:settingsActivity="com.android.systemui.accessibility.SettingsActivity"
+ android:tileService="com.android.systemui.accessibility.TileService"
+ android:intro="@string/test_a11y_shortcut_target_intro" />
diff --git a/packages/SystemUI/tests/src/com/android/systemui/accessibility/data/repository/AccessibilityQsShortcutsRepositoryImplForDeviceTest.kt b/packages/SystemUI/tests/src/com/android/systemui/accessibility/data/repository/AccessibilityQsShortcutsRepositoryImplForDeviceTest.kt
new file mode 100644
index 0000000..bd446b9
--- /dev/null
+++ b/packages/SystemUI/tests/src/com/android/systemui/accessibility/data/repository/AccessibilityQsShortcutsRepositoryImplForDeviceTest.kt
@@ -0,0 +1,228 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.accessibility.data.repository
+
+import android.accessibilityservice.AccessibilityServiceInfo
+import android.content.ComponentName
+import android.content.pm.ResolveInfo
+import android.content.pm.ServiceInfo
+import android.view.accessibility.AccessibilityManager
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.SmallTest
+import com.android.internal.accessibility.AccessibilityShortcutController
+import com.android.systemui.SysuiTestCase
+import com.android.systemui.qs.pipeline.shared.TileSpec
+import com.android.systemui.qs.tiles.ColorCorrectionTile
+import com.android.systemui.qs.tiles.ColorInversionTile
+import com.android.systemui.qs.tiles.FontScalingTile
+import com.android.systemui.qs.tiles.OneHandedModeTile
+import com.android.systemui.qs.tiles.ReduceBrightColorsTile
+import com.android.systemui.util.mockito.whenever
+import com.android.systemui.util.settings.FakeSettings
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.test.StandardTestDispatcher
+import kotlinx.coroutines.test.TestScope
+import kotlinx.coroutines.test.runCurrent
+import kotlinx.coroutines.test.runTest
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.Mock
+import org.mockito.Mockito
+import org.mockito.internal.util.reflection.FieldSetter
+import org.mockito.junit.MockitoJUnit
+import org.mockito.junit.MockitoRule
+
+/**
+ * Unit tests for AccessibilityQsShortcutsRepositoryImpl that requires a device. For example, we
+ * can't mock the AccessibilityShortcutInfo for test. MultiValentTest doesn't compile when using
+ * newly introduced methods and constants.
+ */
+@OptIn(ExperimentalCoroutinesApi::class)
+@SmallTest
+@RunWith(AndroidJUnit4::class)
+class AccessibilityQsShortcutsRepositoryImplForDeviceTest : SysuiTestCase() {
+ @Rule @JvmField val mockitoRule: MockitoRule = MockitoJUnit.rule()
+
+ // mocks
+ @Mock private lateinit var a11yManager: AccessibilityManager
+ private val testDispatcher = StandardTestDispatcher()
+ private val testScope = TestScope(testDispatcher)
+ private val secureSettings = FakeSettings()
+
+ private val userA11yQsShortcutsRepositoryFactory =
+ object : UserA11yQsShortcutsRepository.Factory {
+ override fun create(userId: Int): UserA11yQsShortcutsRepository {
+ return UserA11yQsShortcutsRepository(
+ userId,
+ secureSettings,
+ testScope.backgroundScope,
+ testDispatcher,
+ )
+ }
+ }
+
+ private lateinit var underTest: AccessibilityQsShortcutsRepositoryImpl
+
+ @Before
+ fun setUp() {
+ underTest =
+ AccessibilityQsShortcutsRepositoryImpl(
+ a11yManager,
+ userA11yQsShortcutsRepositoryFactory,
+ testDispatcher
+ )
+ }
+
+ @Test
+ fun testTileSpecToComponentMappingContent() {
+ val mapping = AccessibilityQsShortcutsRepositoryImpl.TILE_SPEC_TO_COMPONENT_MAPPING
+
+ assertThat(mapping.size).isEqualTo(5)
+ assertThat(mapping[ColorCorrectionTile.TILE_SPEC])
+ .isEqualTo(AccessibilityShortcutController.DALTONIZER_TILE_COMPONENT_NAME)
+ assertThat(mapping[ColorInversionTile.TILE_SPEC])
+ .isEqualTo(AccessibilityShortcutController.COLOR_INVERSION_TILE_COMPONENT_NAME)
+ assertThat(mapping[OneHandedModeTile.TILE_SPEC])
+ .isEqualTo(AccessibilityShortcutController.ONE_HANDED_TILE_COMPONENT_NAME)
+ assertThat(mapping[ReduceBrightColorsTile.TILE_SPEC])
+ .isEqualTo(
+ AccessibilityShortcutController.REDUCE_BRIGHT_COLORS_TILE_SERVICE_COMPONENT_NAME
+ )
+ assertThat(mapping[FontScalingTile.TILE_SPEC])
+ .isEqualTo(AccessibilityShortcutController.FONT_SIZE_TILE_COMPONENT_NAME)
+ }
+
+ @Test
+ fun notifyAccessibilityManagerTilesChanged_customTiles_onlyNotifyA11yTileServices() =
+ testScope.runTest {
+ val a11yServiceTileService = ComponentName("a11yPackageName", "TileServiceClassName")
+ setupInstalledAccessibilityServices(a11yServiceTileService)
+ // TileService should match accessibility_shortcut_test_activity.xml,
+ // because this test uses the real installed activity list
+ val a11yShortcutTileService =
+ ComponentName(
+ mContext.packageName,
+ "com.android.systemui.accessibility.TileService"
+ )
+ setupInstalledAccessibilityShortcutTargets()
+ // Other custom tile service that isn't linked to an accessibility feature
+ val nonA11yTileService = ComponentName("C", "c")
+
+ val changedTiles =
+ listOf(
+ TileSpec.create(a11yServiceTileService),
+ TileSpec.create(a11yShortcutTileService),
+ TileSpec.create(nonA11yTileService)
+ )
+
+ underTest.notifyAccessibilityManagerTilesChanged(context, changedTiles)
+ runCurrent()
+
+ Mockito.verify(a11yManager, Mockito.times(1))
+ .notifyQuickSettingsTilesChanged(
+ context.userId,
+ listOf(a11yServiceTileService, a11yShortcutTileService)
+ )
+ }
+
+ @Test
+ fun notifyAccessibilityManagerTilesChanged_noMatchingA11yFrameworkTiles() =
+ testScope.runTest {
+ val changedTiles = listOf(TileSpec.create("a"))
+
+ underTest.notifyAccessibilityManagerTilesChanged(context, changedTiles)
+ runCurrent()
+
+ Mockito.verify(a11yManager, Mockito.times(1))
+ .notifyQuickSettingsTilesChanged(context.userId, emptyList())
+ }
+
+ @Test
+ fun notifyAccessibilityManagerTilesChanged_convertA11yTilesSpecToComponentName() =
+ testScope.runTest {
+ val changedTiles =
+ listOf(
+ TileSpec.create(ColorCorrectionTile.TILE_SPEC),
+ TileSpec.create(ColorInversionTile.TILE_SPEC),
+ TileSpec.create(OneHandedModeTile.TILE_SPEC),
+ TileSpec.create(ReduceBrightColorsTile.TILE_SPEC),
+ TileSpec.create(FontScalingTile.TILE_SPEC)
+ )
+
+ underTest.notifyAccessibilityManagerTilesChanged(context, changedTiles)
+ runCurrent()
+
+ Mockito.verify(a11yManager, Mockito.times(1))
+ .notifyQuickSettingsTilesChanged(
+ context.userId,
+ listOf(
+ AccessibilityShortcutController.DALTONIZER_TILE_COMPONENT_NAME,
+ AccessibilityShortcutController.COLOR_INVERSION_TILE_COMPONENT_NAME,
+ AccessibilityShortcutController.ONE_HANDED_TILE_COMPONENT_NAME,
+ AccessibilityShortcutController
+ .REDUCE_BRIGHT_COLORS_TILE_SERVICE_COMPONENT_NAME,
+ AccessibilityShortcutController.FONT_SIZE_TILE_COMPONENT_NAME
+ )
+ )
+ }
+
+ private fun setupInstalledAccessibilityShortcutTargets() {
+ // Can't create a mock AccessibilityShortcutInfo because it's final.
+ // Use the real AccessibilityManager to get the AccessibilityShortcutInfo
+ val realA11yManager = context.getSystemService(AccessibilityManager::class.java)!!
+ val installedA11yActivities =
+ realA11yManager.getInstalledAccessibilityShortcutListAsUser(context, context.userId)
+
+ whenever(a11yManager.getInstalledAccessibilityShortcutListAsUser(context, context.userId))
+ .thenReturn(installedA11yActivities)
+ }
+
+ private fun setupInstalledAccessibilityServices(tileService: ComponentName) {
+ whenever(a11yManager.installedAccessibilityServiceList)
+ .thenReturn(
+ listOf(
+ createFakeAccessibilityServiceInfo(
+ tileService.packageName,
+ tileService.className
+ )
+ )
+ )
+ }
+
+ private fun createFakeAccessibilityServiceInfo(
+ packageName: String,
+ tileServiceClass: String
+ ): AccessibilityServiceInfo {
+ val serviceInfo = ServiceInfo().also { it.packageName = packageName }
+ val resolveInfo = ResolveInfo().also { it.serviceInfo = serviceInfo }
+
+ val a11yServiceInfo = AccessibilityServiceInfo().also { it.resolveInfo = resolveInfo }
+
+ // Somehow unable to mock the a11yServiceInfo.tileServiceName
+ // Use reflection instead.
+ FieldSetter.setField(
+ a11yServiceInfo,
+ AccessibilityServiceInfo::class.java.getDeclaredField("mTileServiceName"),
+ tileServiceClass
+ )
+
+ return a11yServiceInfo
+ }
+}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/DragToInteractAnimationControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/DragToInteractAnimationControllerTest.java
index 9087816..abc95bc 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/DragToInteractAnimationControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/DragToInteractAnimationControllerTest.java
@@ -82,18 +82,21 @@
mDragToInteractAnimationController.setMagnetListener(new MagnetizedObject.MagnetListener() {
@Override
- public void onStuckToTarget(@NonNull MagnetizedObject.MagneticTarget target) {
+ public void onStuckToTarget(@NonNull MagnetizedObject.MagneticTarget target,
+ @NonNull MagnetizedObject<?> draggedObject) {
}
@Override
public void onUnstuckFromTarget(@NonNull MagnetizedObject.MagneticTarget target,
- float velX, float velY, boolean wasFlungOut) {
+ @NonNull MagnetizedObject<?> draggedObject, float velX, float velY,
+ boolean wasFlungOut) {
}
@Override
- public void onReleasedInTarget(@NonNull MagnetizedObject.MagneticTarget target) {
+ public void onReleasedInTarget(@NonNull MagnetizedObject.MagneticTarget target,
+ @NonNull MagnetizedObject<?> draggedObject) {
}
});
diff --git a/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuViewLayerTest.java b/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuViewLayerTest.java
index 4a1bdbc..ce4db8f 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuViewLayerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuViewLayerTest.java
@@ -31,10 +31,12 @@
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.argThat;
+import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -69,6 +71,7 @@
import androidx.dynamicanimation.animation.SpringAnimation;
import androidx.test.filters.SmallTest;
+import com.android.internal.accessibility.dialog.AccessibilityTarget;
import com.android.internal.messages.nano.SystemMessageProto;
import com.android.systemui.Flags;
import com.android.systemui.SysuiTestCase;
@@ -116,6 +119,7 @@
private String mLastAccessibilityButtonTargets;
private String mLastEnabledAccessibilityServices;
private WindowMetrics mWindowMetrics;
+ private MenuViewModel mMenuViewModel;
private MenuView mMenuView;
private MenuAnimationController mMenuAnimationController;
@@ -148,15 +152,17 @@
new WindowMetrics(mDisplayBounds, fakeDisplayInsets(), /* density = */ 0.0f));
doReturn(mWindowMetrics).when(mStubWindowManager).getCurrentWindowMetrics();
- MenuViewModel menuViewModel = new MenuViewModel(
+ mMenuViewModel = new MenuViewModel(
mSpyContext, mStubAccessibilityManager, mSecureSettings);
MenuViewAppearance menuViewAppearance = new MenuViewAppearance(
mSpyContext, mStubWindowManager);
mMenuView = spy(
- new MenuView(mSpyContext, menuViewModel, menuViewAppearance, mSecureSettings));
+ new MenuView(mSpyContext, mMenuViewModel, menuViewAppearance, mSecureSettings));
+ // Ensure tests don't actually update metrics.
+ doNothing().when(mMenuView).incrementTexMetric(any(), anyInt());
mMenuViewLayer = spy(new MenuViewLayer(mSpyContext, mStubWindowManager,
- mStubAccessibilityManager, menuViewModel, menuViewAppearance, mMenuView,
+ mStubAccessibilityManager, mMenuViewModel, menuViewAppearance, mMenuView,
mFloatingMenu, mSecureSettings));
mMenuView = (MenuView) mMenuViewLayer.getChildAt(LayerIndex.MENU_VIEW);
mMenuAnimationController = mMenuView.getMenuAnimationController();
@@ -382,6 +388,47 @@
verify(mFloatingMenu).hide();
}
+ @Test
+ @EnableFlags(Flags.FLAG_FLOATING_MENU_DRAG_TO_EDIT)
+ public void onDismissAction_incrementsTexMetricDismiss() {
+ int uid1 = 1234, uid2 = 5678;
+ mMenuViewModel.onTargetFeaturesChanged(
+ List.of(new TestAccessibilityTarget(mSpyContext, uid1),
+ new TestAccessibilityTarget(mSpyContext, uid2)));
+
+ mMenuViewLayer.dispatchAccessibilityAction(R.id.action_remove_menu);
+
+ ArgumentCaptor<Integer> uidCaptor = ArgumentCaptor.forClass(Integer.class);
+ verify(mMenuView, times(2)).incrementTexMetric(eq(MenuViewLayer.TEX_METRIC_DISMISS),
+ uidCaptor.capture());
+ assertThat(uidCaptor.getAllValues()).containsExactly(uid1, uid2);
+ }
+
+ @Test
+ @EnableFlags(Flags.FLAG_FLOATING_MENU_DRAG_TO_EDIT)
+ public void onEditAction_incrementsTexMetricEdit() {
+ int uid1 = 1234, uid2 = 5678;
+ mMenuViewModel.onTargetFeaturesChanged(
+ List.of(new TestAccessibilityTarget(mSpyContext, uid1),
+ new TestAccessibilityTarget(mSpyContext, uid2)));
+
+ mMenuViewLayer.dispatchAccessibilityAction(R.id.action_edit);
+
+ ArgumentCaptor<Integer> uidCaptor = ArgumentCaptor.forClass(Integer.class);
+ verify(mMenuView, times(2)).incrementTexMetric(eq(MenuViewLayer.TEX_METRIC_EDIT),
+ uidCaptor.capture());
+ assertThat(uidCaptor.getAllValues()).containsExactly(uid1, uid2);
+ }
+
+ /** Simplified AccessibilityTarget for testing MenuViewLayer. */
+ private static class TestAccessibilityTarget extends AccessibilityTarget {
+ TestAccessibilityTarget(Context context, int uid) {
+ // Set fields unused by tests to defaults that allow test compilation.
+ super(context, AccessibilityManager.ACCESSIBILITY_BUTTON, 0, false,
+ TEST_SELECT_TO_SPEAK_COMPONENT_NAME.flattenToString(), uid, null, null, null);
+ }
+ }
+
private void setupEnabledAccessibilityServiceList() {
Settings.Secure.putString(mSpyContext.getContentResolver(),
Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES,
@@ -455,6 +502,6 @@
View view = mock(View.class);
when(view.getId()).thenReturn(id);
magnetListener.onReleasedInTarget(
- new MagnetizedObject.MagneticTarget(view, 200));
+ new MagnetizedObject.MagneticTarget(view, 200), mock(MagnetizedObject.class));
}
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/deviceentry/domain/interactor/BiometricMessageInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/deviceentry/domain/interactor/BiometricMessageInteractorTest.kt
new file mode 100644
index 0000000..a53f8d4
--- /dev/null
+++ b/packages/SystemUI/tests/src/com/android/systemui/deviceentry/domain/interactor/BiometricMessageInteractorTest.kt
@@ -0,0 +1,352 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.deviceentry.domain.interactor
+
+import android.content.res.mainResources
+import android.hardware.face.FaceManager
+import android.hardware.fingerprint.FingerprintManager
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.SmallTest
+import com.android.systemui.SysuiTestCase
+import com.android.systemui.biometrics.data.repository.fingerprintPropertyRepository
+import com.android.systemui.biometrics.shared.model.FingerprintSensorType
+import com.android.systemui.biometrics.shared.model.SensorStrength
+import com.android.systemui.coroutines.collectLastValue
+import com.android.systemui.deviceentry.shared.model.ErrorFaceAuthenticationStatus
+import com.android.systemui.deviceentry.shared.model.FaceTimeoutMessage
+import com.android.systemui.deviceentry.shared.model.FailedFaceAuthenticationStatus
+import com.android.systemui.deviceentry.shared.model.FingerprintLockoutMessage
+import com.android.systemui.deviceentry.shared.model.HelpFaceAuthenticationStatus
+import com.android.systemui.keyguard.data.repository.biometricSettingsRepository
+import com.android.systemui.keyguard.data.repository.deviceEntryFingerprintAuthRepository
+import com.android.systemui.keyguard.data.repository.fakeDeviceEntryFaceAuthRepository
+import com.android.systemui.keyguard.shared.model.ErrorFingerprintAuthenticationStatus
+import com.android.systemui.keyguard.shared.model.FailFingerprintAuthenticationStatus
+import com.android.systemui.keyguard.shared.model.HelpFingerprintAuthenticationStatus
+import com.android.systemui.kosmos.testScope
+import com.android.systemui.testKosmos
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.test.runTest
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@OptIn(ExperimentalCoroutinesApi::class)
+@SmallTest
+@RunWith(AndroidJUnit4::class)
+class BiometricMessageInteractorTest : SysuiTestCase() {
+ private val kosmos = testKosmos()
+ private val testScope = kosmos.testScope
+ private val underTest = kosmos.biometricMessageInteractor
+
+ private val fingerprintPropertyRepository = kosmos.fingerprintPropertyRepository
+ private val fingerprintAuthRepository = kosmos.deviceEntryFingerprintAuthRepository
+ private val faceAuthRepository = kosmos.fakeDeviceEntryFaceAuthRepository
+ private val biometricSettingsRepository = kosmos.biometricSettingsRepository
+
+ @Test
+ fun fingerprintErrorMessage() =
+ testScope.runTest {
+ val fingerprintErrorMessage by collectLastValue(underTest.fingerprintMessage)
+
+ // GIVEN fingerprint is allowed
+ biometricSettingsRepository.setIsFingerprintAuthCurrentlyAllowed(true)
+
+ // WHEN authentication status error is FINGERPRINT_ERROR_HW_UNAVAILABLE
+ fingerprintAuthRepository.setAuthenticationStatus(
+ ErrorFingerprintAuthenticationStatus(
+ msgId = FingerprintManager.FINGERPRINT_ERROR_HW_UNAVAILABLE,
+ msg = "test"
+ )
+ )
+
+ // THEN fingerprintErrorMessage is updated
+ assertThat(fingerprintErrorMessage?.message).isEqualTo("test")
+ }
+
+ @Test
+ fun fingerprintLockoutErrorMessage() =
+ testScope.runTest {
+ val fingerprintErrorMessage by collectLastValue(underTest.fingerprintMessage)
+
+ // GIVEN fingerprint is allowed
+ biometricSettingsRepository.setIsFingerprintAuthCurrentlyAllowed(true)
+
+ // WHEN authentication status error is FINGERPRINT_ERROR_HW_UNAVAILABLE
+ fingerprintAuthRepository.setAuthenticationStatus(
+ ErrorFingerprintAuthenticationStatus(
+ msgId = FingerprintManager.FINGERPRINT_ERROR_LOCKOUT,
+ msg = "lockout"
+ )
+ )
+
+ // THEN fingerprintError is updated
+ assertThat(fingerprintErrorMessage).isInstanceOf(FingerprintLockoutMessage::class.java)
+ assertThat(fingerprintErrorMessage?.message).isEqualTo("lockout")
+ }
+
+ @Test
+ fun fingerprintErrorMessage_suppressedError() =
+ testScope.runTest {
+ val fingerprintErrorMessage by collectLastValue(underTest.fingerprintMessage)
+
+ // WHEN authentication status error is FINGERPRINT_ERROR_HW_UNAVAILABLE
+ fingerprintAuthRepository.setAuthenticationStatus(
+ ErrorFingerprintAuthenticationStatus(
+ msgId = FingerprintManager.FINGERPRINT_ERROR_HW_UNAVAILABLE,
+ msg = "test"
+ )
+ )
+
+ // THEN fingerprintErrorMessage isn't update - it's still null
+ assertThat(fingerprintErrorMessage).isNull()
+ }
+
+ @Test
+ fun fingerprintHelpMessage() =
+ testScope.runTest {
+ val fingerprintHelpMessage by collectLastValue(underTest.fingerprintMessage)
+
+ // GIVEN fingerprint is allowed
+ biometricSettingsRepository.setIsFingerprintAuthCurrentlyAllowed(true)
+
+ // WHEN authentication status help is FINGERPRINT_ACQUIRED_IMAGER_DIRTY
+ fingerprintAuthRepository.setAuthenticationStatus(
+ HelpFingerprintAuthenticationStatus(
+ msgId = FingerprintManager.FINGERPRINT_ACQUIRED_IMAGER_DIRTY,
+ msg = "test"
+ )
+ )
+
+ // THEN fingerprintHelpMessage is updated
+ assertThat(fingerprintHelpMessage?.message).isEqualTo("test")
+ }
+
+ @Test
+ fun fingerprintHelpMessage_primaryAuthRequired() =
+ testScope.runTest {
+ val fingerprintHelpMessage by collectLastValue(underTest.fingerprintMessage)
+
+ // GIVEN fingerprint cannot currently be used
+ biometricSettingsRepository.setIsFingerprintAuthCurrentlyAllowed(false)
+
+ // WHEN authentication status help is FINGERPRINT_ACQUIRED_IMAGER_DIRTY
+ fingerprintAuthRepository.setAuthenticationStatus(
+ HelpFingerprintAuthenticationStatus(
+ msgId = FingerprintManager.FINGERPRINT_ACQUIRED_IMAGER_DIRTY,
+ msg = "test"
+ )
+ )
+
+ // THEN fingerprintHelpMessage isn't update - it's still null
+ assertThat(fingerprintHelpMessage).isNull()
+ }
+
+ @Test
+ fun fingerprintFailMessage_nonUdfps() =
+ testScope.runTest {
+ val fingerprintFailMessage by collectLastValue(underTest.fingerprintMessage)
+
+ // GIVEN rear fingerprint (not UDFPS)
+ fingerprintPropertyRepository.setProperties(
+ 0,
+ SensorStrength.STRONG,
+ FingerprintSensorType.REAR,
+ mapOf()
+ )
+
+ // GIVEN fingerprint is allowed
+ biometricSettingsRepository.setIsFingerprintAuthCurrentlyAllowed(true)
+
+ // WHEN authentication status fail
+ fingerprintAuthRepository.setAuthenticationStatus(FailFingerprintAuthenticationStatus)
+
+ // THEN fingerprintFailMessage is updated
+ assertThat(fingerprintFailMessage?.message)
+ .isEqualTo(
+ kosmos.mainResources.getString(
+ com.android.internal.R.string.fingerprint_error_not_match
+ )
+ )
+ }
+
+ @Test
+ fun fingerprintFailMessage_udfps() =
+ testScope.runTest {
+ val fingerprintFailMessage by collectLastValue(underTest.fingerprintMessage)
+
+ // GIVEN UDFPS
+ fingerprintPropertyRepository.setProperties(
+ 0,
+ SensorStrength.STRONG,
+ FingerprintSensorType.UDFPS_OPTICAL,
+ mapOf()
+ )
+
+ // GIVEN fingerprint is allowed
+ biometricSettingsRepository.setIsFingerprintAuthCurrentlyAllowed(true)
+
+ // WHEN authentication status fail
+ fingerprintAuthRepository.setAuthenticationStatus(FailFingerprintAuthenticationStatus)
+
+ // THEN fingerprintFailMessage is updated to udfps message
+ assertThat(fingerprintFailMessage?.message)
+ .isEqualTo(
+ kosmos.mainResources.getString(
+ com.android.internal.R.string.fingerprint_udfps_error_not_match
+ )
+ )
+ }
+
+ @Test
+ fun faceFailedMessage_primaryAuthRequired() =
+ testScope.runTest {
+ val faceFailedMessage by collectLastValue(underTest.faceMessage)
+
+ // GIVEN face is not allowed
+ biometricSettingsRepository.setIsFaceAuthCurrentlyAllowed(false)
+
+ // WHEN authentication status fail
+ faceAuthRepository.setAuthenticationStatus(FailedFaceAuthenticationStatus())
+
+ // THEN fingerprintFailedMessage doesn't update - it's still null
+ assertThat(faceFailedMessage).isNull()
+ }
+
+ @Test
+ fun faceFailedMessage_faceOnly() =
+ testScope.runTest {
+ val faceFailedMessage by collectLastValue(underTest.faceMessage)
+
+ // GIVEN face is allowed
+ biometricSettingsRepository.setIsFaceAuthCurrentlyAllowed(true)
+
+ // GIVEN face only enrolled
+ biometricSettingsRepository.setIsFaceAuthEnrolledAndEnabled(true)
+ biometricSettingsRepository.setIsFingerprintAuthEnrolledAndEnabled(false)
+
+ // WHEN authentication status fail
+ faceAuthRepository.setAuthenticationStatus(FailedFaceAuthenticationStatus())
+
+ // THEN fingerprintFailedMessage is updated
+ assertThat(faceFailedMessage).isNotNull()
+ }
+
+ @Test
+ fun faceHelpMessage_faceOnly() =
+ testScope.runTest {
+ val faceHelpMessage by collectLastValue(underTest.faceMessage)
+
+ // GIVEN face is allowed
+ biometricSettingsRepository.setIsFaceAuthCurrentlyAllowed(true)
+
+ // GIVEN face only enrolled
+ biometricSettingsRepository.setIsFaceAuthEnrolledAndEnabled(true)
+ biometricSettingsRepository.setIsFingerprintAuthEnrolledAndEnabled(false)
+
+ // WHEN authentication status help
+ faceAuthRepository.setAuthenticationStatus(
+ HelpFaceAuthenticationStatus(
+ msg = "Move left",
+ msgId = FaceManager.FACE_ACQUIRED_TOO_RIGHT,
+ )
+ )
+
+ // THEN fingerprintFailedMessage is updated
+ assertThat(faceHelpMessage).isNotNull()
+ }
+
+ @Test
+ fun faceHelpMessage_coEx() =
+ testScope.runTest {
+ val faceHelpMessage by collectLastValue(underTest.faceMessage)
+
+ // GIVEN face and fingerprint are allowed
+ biometricSettingsRepository.setIsFaceAuthCurrentlyAllowed(true)
+ biometricSettingsRepository.setIsFingerprintAuthCurrentlyAllowed(true)
+
+ // GIVEN face only enrolled
+ biometricSettingsRepository.setIsFaceAuthEnrolledAndEnabled(true)
+ biometricSettingsRepository.setIsFingerprintAuthEnrolledAndEnabled(true)
+
+ // WHEN authentication status help
+ faceAuthRepository.setAuthenticationStatus(
+ HelpFaceAuthenticationStatus(
+ msg = "Move left",
+ msgId = FaceManager.FACE_ACQUIRED_TOO_RIGHT,
+ )
+ )
+
+ // THEN fingerprintFailedMessage is NOT updated
+ assertThat(faceHelpMessage).isNull()
+ }
+
+ @Test
+ fun faceErrorMessage_suppressedError() =
+ testScope.runTest {
+ val faceErrorMessage by collectLastValue(underTest.faceMessage)
+
+ // WHEN authentication status error is FACE_ERROR_HW_UNAVAILABLE
+ faceAuthRepository.setAuthenticationStatus(
+ ErrorFaceAuthenticationStatus(
+ msgId = FaceManager.FACE_ERROR_HW_UNAVAILABLE,
+ msg = "test"
+ )
+ )
+
+ // THEN faceErrorMessage isn't updated - it's still null since it was suppressed
+ assertThat(faceErrorMessage).isNull()
+ }
+
+ @Test
+ fun faceErrorMessage() =
+ testScope.runTest {
+ val faceErrorMessage by collectLastValue(underTest.faceMessage)
+
+ // WHEN authentication status error is FACE_ERROR_HW_UNAVAILABLE
+ faceAuthRepository.setAuthenticationStatus(
+ ErrorFaceAuthenticationStatus(
+ msgId = FaceManager.FACE_ERROR_HW_UNAVAILABLE,
+ msg = "test"
+ )
+ )
+
+ // GIVEN face is allowed
+ biometricSettingsRepository.setIsFaceAuthCurrentlyAllowed(true)
+
+ // THEN faceErrorMessage is updated
+ assertThat(faceErrorMessage?.message).isEqualTo("test")
+ }
+
+ @Test
+ fun faceTimeoutErrorMessage() =
+ testScope.runTest {
+ val faceErrorMessage by collectLastValue(underTest.faceMessage)
+
+ // WHEN authentication status error is FACE_ERROR_HW_UNAVAILABLE
+ faceAuthRepository.setAuthenticationStatus(
+ ErrorFaceAuthenticationStatus(msgId = FaceManager.FACE_ERROR_TIMEOUT, msg = "test")
+ )
+
+ // GIVEN face is allowed
+ biometricSettingsRepository.setIsFaceAuthCurrentlyAllowed(true)
+
+ // THEN faceErrorMessage is updated
+ assertThat(faceErrorMessage).isInstanceOf(FaceTimeoutMessage::class.java)
+ assertThat(faceErrorMessage?.message).isEqualTo("test")
+ }
+}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryHapticsInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryHapticsInteractorTest.kt
index bdf0e06..43c860c 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryHapticsInteractorTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryHapticsInteractorTest.kt
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2023 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/packages/SystemUI/tests/src/com/android/systemui/deviceentry/domain/interactor/OccludingAppDeviceEntryInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/deviceentry/domain/interactor/OccludingAppDeviceEntryInteractorTest.kt
new file mode 100644
index 0000000..f36f032
--- /dev/null
+++ b/packages/SystemUI/tests/src/com/android/systemui/deviceentry/domain/interactor/OccludingAppDeviceEntryInteractorTest.kt
@@ -0,0 +1,259 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.deviceentry.domain.interactor
+
+import android.content.Intent
+import android.content.mockedContext
+import android.hardware.fingerprint.FingerprintManager
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.SmallTest
+import com.android.systemui.SysuiTestCase
+import com.android.systemui.bouncer.data.repository.keyguardBouncerRepository
+import com.android.systemui.coroutines.collectLastValue
+import com.android.systemui.keyguard.data.repository.biometricSettingsRepository
+import com.android.systemui.keyguard.data.repository.deviceEntryFingerprintAuthRepository
+import com.android.systemui.keyguard.data.repository.fakeKeyguardRepository
+import com.android.systemui.keyguard.shared.model.ErrorFingerprintAuthenticationStatus
+import com.android.systemui.keyguard.shared.model.FailFingerprintAuthenticationStatus
+import com.android.systemui.keyguard.shared.model.HelpFingerprintAuthenticationStatus
+import com.android.systemui.keyguard.shared.model.SuccessFingerprintAuthenticationStatus
+import com.android.systemui.kosmos.testScope
+import com.android.systemui.plugins.ActivityStarter.OnDismissAction
+import com.android.systemui.plugins.activityStarter
+import com.android.systemui.power.data.repository.fakePowerRepository
+import com.android.systemui.testKosmos
+import com.android.systemui.util.mockito.any
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.test.runCurrent
+import kotlinx.coroutines.test.runTest
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.ArgumentCaptor
+import org.mockito.ArgumentMatchers.eq
+import org.mockito.ArgumentMatchers.isNull
+import org.mockito.Mockito.never
+import org.mockito.Mockito.verify
+
+@OptIn(ExperimentalCoroutinesApi::class)
+@SmallTest
+@RunWith(AndroidJUnit4::class)
+class OccludingAppDeviceEntryInteractorTest : SysuiTestCase() {
+
+ private val kosmos = testKosmos()
+ private val testScope = kosmos.testScope
+ private val underTest = kosmos.occludingAppDeviceEntryInteractor
+
+ private val fingerprintAuthRepository = kosmos.deviceEntryFingerprintAuthRepository
+ private val keyguardRepository = kosmos.fakeKeyguardRepository
+ private val bouncerRepository = kosmos.keyguardBouncerRepository
+ private val powerRepository = kosmos.fakePowerRepository
+ private val biometricSettingsRepository = kosmos.biometricSettingsRepository
+ private val mockedContext = kosmos.mockedContext
+ private val mockedActivityStarter = kosmos.activityStarter
+
+ @Test
+ fun fingerprintSuccess_goToHomeScreen() =
+ testScope.runTest {
+ givenOnOccludingApp(true)
+ fingerprintAuthRepository.setAuthenticationStatus(
+ SuccessFingerprintAuthenticationStatus(0, true)
+ )
+ runCurrent()
+ verifyGoToHomeScreen()
+ }
+
+ @Test
+ fun fingerprintSuccess_notInteractive_doesNotGoToHomeScreen() =
+ testScope.runTest {
+ givenOnOccludingApp(true)
+ powerRepository.setInteractive(false)
+ fingerprintAuthRepository.setAuthenticationStatus(
+ SuccessFingerprintAuthenticationStatus(0, true)
+ )
+ runCurrent()
+ verifyNeverGoToHomeScreen()
+ }
+
+ @Test
+ fun fingerprintSuccess_dreaming_doesNotGoToHomeScreen() =
+ testScope.runTest {
+ givenOnOccludingApp(true)
+ keyguardRepository.setDreaming(true)
+ fingerprintAuthRepository.setAuthenticationStatus(
+ SuccessFingerprintAuthenticationStatus(0, true)
+ )
+ runCurrent()
+ verifyNeverGoToHomeScreen()
+ }
+
+ @Test
+ fun fingerprintSuccess_notOnOccludingApp_doesNotGoToHomeScreen() =
+ testScope.runTest {
+ givenOnOccludingApp(false)
+ fingerprintAuthRepository.setAuthenticationStatus(
+ SuccessFingerprintAuthenticationStatus(0, true)
+ )
+ runCurrent()
+ verifyNeverGoToHomeScreen()
+ }
+
+ @Test
+ fun lockout_goToHomeScreenOnDismissAction() =
+ testScope.runTest {
+ givenOnOccludingApp(true)
+ fingerprintAuthRepository.setAuthenticationStatus(
+ ErrorFingerprintAuthenticationStatus(
+ FingerprintManager.FINGERPRINT_ERROR_LOCKOUT,
+ "lockoutTest"
+ )
+ )
+ runCurrent()
+ verifyGoToHomeScreenOnDismiss()
+ }
+
+ @Test
+ fun lockout_notOnOccludingApp_neverGoToHomeScreen() =
+ testScope.runTest {
+ givenOnOccludingApp(false)
+ fingerprintAuthRepository.setAuthenticationStatus(
+ ErrorFingerprintAuthenticationStatus(
+ FingerprintManager.FINGERPRINT_ERROR_LOCKOUT,
+ "lockoutTest"
+ )
+ )
+ runCurrent()
+ verifyNeverGoToHomeScreen()
+ }
+
+ @Test
+ fun message_fpFailOnOccludingApp_thenNotOnOccludingApp() =
+ testScope.runTest {
+ val message by collectLastValue(underTest.message)
+
+ givenOnOccludingApp(true)
+ givenFingerprintAllowed(true)
+ runCurrent()
+ // WHEN a fp failure come in
+ fingerprintAuthRepository.setAuthenticationStatus(FailFingerprintAuthenticationStatus)
+
+ // GIVEN fingerprint shouldn't run
+ givenOnOccludingApp(false)
+ runCurrent()
+ // WHEN another fp failure arrives
+ fingerprintAuthRepository.setAuthenticationStatus(FailFingerprintAuthenticationStatus)
+
+ // THEN message set to null
+ assertThat(message).isNull()
+ }
+
+ @Test
+ fun message_fpErrorHelpFailOnOccludingApp() =
+ testScope.runTest {
+ val message by collectLastValue(underTest.message)
+
+ givenOnOccludingApp(true)
+ givenFingerprintAllowed(true)
+ runCurrent()
+
+ // ERROR message
+ fingerprintAuthRepository.setAuthenticationStatus(
+ ErrorFingerprintAuthenticationStatus(
+ FingerprintManager.FINGERPRINT_ERROR_HW_UNAVAILABLE,
+ "testError",
+ )
+ )
+ assertThat(message?.message).isEqualTo("testError")
+
+ // HELP message
+ fingerprintAuthRepository.setAuthenticationStatus(
+ HelpFingerprintAuthenticationStatus(
+ FingerprintManager.FINGERPRINT_ACQUIRED_PARTIAL,
+ "testHelp",
+ )
+ )
+ assertThat(message?.message).isEqualTo("testHelp")
+
+ // FAIL message
+ fingerprintAuthRepository.setAuthenticationStatus(FailFingerprintAuthenticationStatus)
+ assertThat(message?.message).isNotEqualTo("testHelp")
+ }
+
+ @Test
+ fun message_fpError_lockoutFilteredOut() =
+ testScope.runTest {
+ val message by collectLastValue(underTest.message)
+
+ givenOnOccludingApp(true)
+ givenFingerprintAllowed(true)
+ runCurrent()
+
+ // permanent lockout error message
+ fingerprintAuthRepository.setAuthenticationStatus(
+ ErrorFingerprintAuthenticationStatus(
+ FingerprintManager.FINGERPRINT_ERROR_LOCKOUT_PERMANENT,
+ "testPermanentLockoutMessageFiltered",
+ )
+ )
+ assertThat(message).isNull()
+
+ // temporary lockout error message
+ fingerprintAuthRepository.setAuthenticationStatus(
+ ErrorFingerprintAuthenticationStatus(
+ FingerprintManager.FINGERPRINT_ERROR_LOCKOUT,
+ "testLockoutMessageFiltered",
+ )
+ )
+ assertThat(message).isNull()
+ }
+
+ private fun givenOnOccludingApp(isOnOccludingApp: Boolean) {
+ powerRepository.setInteractive(true)
+ keyguardRepository.setKeyguardOccluded(isOnOccludingApp)
+ keyguardRepository.setKeyguardShowing(isOnOccludingApp)
+ keyguardRepository.setDreaming(false)
+ bouncerRepository.setPrimaryShow(!isOnOccludingApp)
+ bouncerRepository.setAlternateVisible(!isOnOccludingApp)
+ }
+
+ private fun givenFingerprintAllowed(allowed: Boolean) {
+ biometricSettingsRepository.setIsFingerprintAuthCurrentlyAllowed(allowed)
+ }
+
+ private fun verifyGoToHomeScreen() {
+ val intentCaptor = ArgumentCaptor.forClass(Intent::class.java)
+ verify(mockedContext).startActivity(intentCaptor.capture())
+
+ assertThat(intentCaptor.value.hasCategory(Intent.CATEGORY_HOME)).isTrue()
+ assertThat(intentCaptor.value.action).isEqualTo(Intent.ACTION_MAIN)
+ }
+
+ private fun verifyNeverGoToHomeScreen() {
+ verify(mockedContext, never()).startActivity(any())
+ verify(mockedActivityStarter, never())
+ .dismissKeyguardThenExecute(any(OnDismissAction::class.java), isNull(), eq(false))
+ }
+
+ private fun verifyGoToHomeScreenOnDismiss() {
+ val onDimissActionCaptor = ArgumentCaptor.forClass(OnDismissAction::class.java)
+ verify(mockedActivityStarter)
+ .dismissKeyguardThenExecute(onDimissActionCaptor.capture(), isNull(), eq(false))
+ onDimissActionCaptor.value.onDismiss()
+
+ verifyGoToHomeScreen()
+ }
+}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/deviceentry/domain/ui/viewmodel/UdfpsAccessibilityOverlayViewModelTest.kt b/packages/SystemUI/tests/src/com/android/systemui/deviceentry/domain/ui/viewmodel/UdfpsAccessibilityOverlayViewModelTest.kt
index e158e47..e97edcb 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/deviceentry/domain/ui/viewmodel/UdfpsAccessibilityOverlayViewModelTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/deviceentry/domain/ui/viewmodel/UdfpsAccessibilityOverlayViewModelTest.kt
@@ -27,6 +27,7 @@
import com.android.systemui.flags.Flags.FULL_SCREEN_USER_SWITCHER
import com.android.systemui.flags.fakeFeatureFlagsClassic
import com.android.systemui.keyguard.data.repository.deviceEntryFingerprintAuthRepository
+import com.android.systemui.keyguard.data.repository.fakeKeyguardRepository
import com.android.systemui.keyguard.data.repository.fakeKeyguardTransitionRepository
import com.android.systemui.keyguard.shared.model.KeyguardState
import com.android.systemui.keyguard.shared.model.TransitionState
@@ -51,6 +52,7 @@
}
private val deviceEntryIconTransition = kosmos.fakeDeviceEntryIconViewModelTransition
private val testScope = kosmos.testScope
+ private val keyguardRepository = kosmos.fakeKeyguardRepository
private val accessibilityRepository = kosmos.fakeAccessibilityRepository
private val keyguardTransitionRepository = kosmos.fakeKeyguardTransitionRepository
private val fingerprintPropertyRepository = kosmos.fingerprintPropertyRepository
@@ -101,13 +103,11 @@
)
assertThat(visible).isFalse()
}
-
- @Test
- fun deviceUnlocked_overlayNotVisible() =
+ fun fpNotRunning_overlayNotVisible() =
testScope.runTest {
val visible by collectLastValue(underTest.visible)
setupVisibleStateOnLockscreen()
- deviceEntryRepository.setUnlocked(true)
+ deviceEntryFingerprintAuthRepository.setIsRunning(false)
assertThat(visible).isFalse()
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/data/repository/KeyguardBlueprintRepositoryTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyguard/data/repository/KeyguardBlueprintRepositoryTest.kt
index f2bd817..37836a5 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/data/repository/KeyguardBlueprintRepositoryTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/data/repository/KeyguardBlueprintRepositoryTest.kt
@@ -19,12 +19,18 @@
package com.android.systemui.keyguard.data.repository
+import android.os.fakeExecutorHandler
import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase
import com.android.systemui.common.ui.data.repository.ConfigurationRepository
+import com.android.systemui.concurrency.fakeExecutor
import com.android.systemui.coroutines.collectLastValue
import com.android.systemui.keyguard.ui.view.layout.blueprints.DefaultKeyguardBlueprint
import com.android.systemui.keyguard.ui.view.layout.blueprints.DefaultKeyguardBlueprint.Companion.DEFAULT
+import com.android.systemui.kosmos.Kosmos
+import com.android.systemui.kosmos.testScope
+import com.android.systemui.testKosmos
+import com.android.systemui.util.ThreadAssert
import com.android.systemui.util.mockito.whenever
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -45,17 +51,23 @@
private lateinit var underTest: KeyguardBlueprintRepository
@Mock lateinit var configurationRepository: ConfigurationRepository
@Mock lateinit var defaultLockscreenBlueprint: DefaultKeyguardBlueprint
+ @Mock lateinit var threadAssert: ThreadAssert
private val testScope = TestScope(StandardTestDispatcher())
+ private val kosmos: Kosmos = testKosmos()
@Before
fun setup() {
MockitoAnnotations.initMocks(this)
- whenever(defaultLockscreenBlueprint.id).thenReturn(DEFAULT)
- underTest =
- KeyguardBlueprintRepository(
- configurationRepository,
- setOf(defaultLockscreenBlueprint),
- )
+ with(kosmos) {
+ whenever(defaultLockscreenBlueprint.id).thenReturn(DEFAULT)
+ underTest =
+ KeyguardBlueprintRepository(
+ configurationRepository,
+ setOf(defaultLockscreenBlueprint),
+ fakeExecutorHandler,
+ threadAssert,
+ )
+ }
}
@Test
@@ -88,13 +100,17 @@
@Test
fun testTransitionToSameBlueprint_refreshesBlueprint() =
- testScope.runTest {
- val refreshBlueprint by collectLastValue(underTest.refreshBluePrint)
- runCurrent()
+ with(kosmos) {
+ testScope.runTest {
+ val transition by collectLastValue(underTest.refreshTransition)
+ fakeExecutor.runAllReady()
+ runCurrent()
- underTest.applyBlueprint(defaultLockscreenBlueprint)
- runCurrent()
+ underTest.applyBlueprint(defaultLockscreenBlueprint)
+ fakeExecutor.runAllReady()
+ runCurrent()
- assertThat(refreshBlueprint).isNotNull()
+ assertThat(transition).isNotNull()
+ }
}
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/BiometricMessageInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/BiometricMessageInteractorTest.kt
deleted file mode 100644
index 3389fa9..0000000
--- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/BiometricMessageInteractorTest.kt
+++ /dev/null
@@ -1,260 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package com.android.systemui.keyguard.domain.interactor
-
-import android.hardware.biometrics.BiometricSourceType.FINGERPRINT
-import android.hardware.fingerprint.FingerprintManager
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import androidx.test.filters.SmallTest
-import com.android.keyguard.KeyguardUpdateMonitor
-import com.android.keyguard.KeyguardUpdateMonitor.BIOMETRIC_HELP_FINGERPRINT_NOT_RECOGNIZED
-import com.android.systemui.SysuiTestCase
-import com.android.systemui.biometrics.data.repository.FakeFingerprintPropertyRepository
-import com.android.systemui.biometrics.shared.model.FingerprintSensorType
-import com.android.systemui.biometrics.shared.model.SensorStrength
-import com.android.systemui.coroutines.collectLastValue
-import com.android.systemui.keyguard.data.repository.FakeDeviceEntryFingerprintAuthRepository
-import com.android.systemui.keyguard.shared.model.ErrorFingerprintAuthenticationStatus
-import com.android.systemui.keyguard.shared.model.FailFingerprintAuthenticationStatus
-import com.android.systemui.keyguard.shared.model.HelpFingerprintAuthenticationStatus
-import com.android.systemui.keyguard.util.IndicationHelper
-import com.android.systemui.util.mockito.whenever
-import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.ExperimentalCoroutinesApi
-import kotlinx.coroutines.test.TestScope
-import kotlinx.coroutines.test.runTest
-import org.junit.Before
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.mockito.ArgumentMatchers.anyBoolean
-import org.mockito.Mock
-import org.mockito.MockitoAnnotations
-
-@OptIn(ExperimentalCoroutinesApi::class)
-@SmallTest
-@RunWith(AndroidJUnit4::class)
-class BiometricMessageInteractorTest : SysuiTestCase() {
-
- private lateinit var underTest: BiometricMessageInteractor
- private lateinit var testScope: TestScope
- private lateinit var fingerprintPropertyRepository: FakeFingerprintPropertyRepository
- private lateinit var fingerprintAuthRepository: FakeDeviceEntryFingerprintAuthRepository
-
- @Mock private lateinit var indicationHelper: IndicationHelper
- @Mock private lateinit var keyguardUpdateMonitor: KeyguardUpdateMonitor
-
- @Before
- fun setup() {
- MockitoAnnotations.initMocks(this)
- testScope = TestScope()
- fingerprintPropertyRepository = FakeFingerprintPropertyRepository()
- fingerprintAuthRepository = FakeDeviceEntryFingerprintAuthRepository()
- underTest =
- BiometricMessageInteractor(
- mContext.resources,
- fingerprintAuthRepository,
- fingerprintPropertyRepository,
- indicationHelper,
- keyguardUpdateMonitor,
- )
- }
-
- @Test
- fun fingerprintErrorMessage() =
- testScope.runTest {
- val fingerprintErrorMessage by collectLastValue(underTest.fingerprintErrorMessage)
-
- // GIVEN FINGERPRINT_ERROR_HW_UNAVAILABLE should NOT be suppressed
- whenever(
- indicationHelper.shouldSuppressErrorMsg(
- FINGERPRINT,
- FingerprintManager.FINGERPRINT_ERROR_HW_UNAVAILABLE
- )
- )
- .thenReturn(false)
-
- // WHEN authentication status error is FINGERPRINT_ERROR_HW_UNAVAILABLE
- fingerprintAuthRepository.setAuthenticationStatus(
- ErrorFingerprintAuthenticationStatus(
- msgId = FingerprintManager.FINGERPRINT_ERROR_HW_UNAVAILABLE,
- msg = "test"
- )
- )
-
- // THEN fingerprintErrorMessage is updated
- assertThat(fingerprintErrorMessage?.source).isEqualTo(FINGERPRINT)
- assertThat(fingerprintErrorMessage?.type).isEqualTo(BiometricMessageType.ERROR)
- assertThat(fingerprintErrorMessage?.id)
- .isEqualTo(FingerprintManager.FINGERPRINT_ERROR_HW_UNAVAILABLE)
- assertThat(fingerprintErrorMessage?.message).isEqualTo("test")
- }
-
- @Test
- fun fingerprintErrorMessage_suppressedError() =
- testScope.runTest {
- val fingerprintErrorMessage by collectLastValue(underTest.fingerprintErrorMessage)
-
- // GIVEN FINGERPRINT_ERROR_HW_UNAVAILABLE should be suppressed
- whenever(
- indicationHelper.shouldSuppressErrorMsg(
- FINGERPRINT,
- FingerprintManager.FINGERPRINT_ERROR_HW_UNAVAILABLE
- )
- )
- .thenReturn(true)
-
- // WHEN authentication status error is FINGERPRINT_ERROR_HW_UNAVAILABLE
- fingerprintAuthRepository.setAuthenticationStatus(
- ErrorFingerprintAuthenticationStatus(
- msgId = FingerprintManager.FINGERPRINT_ERROR_HW_UNAVAILABLE,
- msg = "test"
- )
- )
-
- // THEN fingerprintErrorMessage isn't update - it's still null
- assertThat(fingerprintErrorMessage).isNull()
- }
-
- @Test
- fun fingerprintHelpMessage() =
- testScope.runTest {
- val fingerprintHelpMessage by collectLastValue(underTest.fingerprintHelpMessage)
-
- // GIVEN primary auth is NOT required
- whenever(keyguardUpdateMonitor.isUnlockingWithBiometricAllowed(anyBoolean()))
- .thenReturn(true)
-
- // WHEN authentication status help is FINGERPRINT_ACQUIRED_IMAGER_DIRTY
- fingerprintAuthRepository.setAuthenticationStatus(
- HelpFingerprintAuthenticationStatus(
- msgId = FingerprintManager.FINGERPRINT_ACQUIRED_IMAGER_DIRTY,
- msg = "test"
- )
- )
-
- // THEN fingerprintHelpMessage is updated
- assertThat(fingerprintHelpMessage?.source).isEqualTo(FINGERPRINT)
- assertThat(fingerprintHelpMessage?.type).isEqualTo(BiometricMessageType.HELP)
- assertThat(fingerprintHelpMessage?.id)
- .isEqualTo(FingerprintManager.FINGERPRINT_ACQUIRED_IMAGER_DIRTY)
- assertThat(fingerprintHelpMessage?.message).isEqualTo("test")
- }
-
- @Test
- fun fingerprintHelpMessage_primaryAuthRequired() =
- testScope.runTest {
- val fingerprintHelpMessage by collectLastValue(underTest.fingerprintHelpMessage)
-
- // GIVEN primary auth is required
- whenever(keyguardUpdateMonitor.isUnlockingWithBiometricAllowed(anyBoolean()))
- .thenReturn(false)
-
- // WHEN authentication status help is FINGERPRINT_ACQUIRED_IMAGER_DIRTY
- fingerprintAuthRepository.setAuthenticationStatus(
- HelpFingerprintAuthenticationStatus(
- msgId = FingerprintManager.FINGERPRINT_ACQUIRED_IMAGER_DIRTY,
- msg = "test"
- )
- )
-
- // THEN fingerprintHelpMessage isn't update - it's still null
- assertThat(fingerprintHelpMessage).isNull()
- }
-
- @Test
- fun fingerprintFailMessage_nonUdfps() =
- testScope.runTest {
- val fingerprintFailMessage by collectLastValue(underTest.fingerprintFailMessage)
-
- // GIVEN primary auth is NOT required
- whenever(keyguardUpdateMonitor.isUnlockingWithBiometricAllowed(anyBoolean()))
- .thenReturn(true)
-
- // GIVEN rear fingerprint (not UDFPS)
- fingerprintPropertyRepository.setProperties(
- 0,
- SensorStrength.STRONG,
- FingerprintSensorType.REAR,
- mapOf()
- )
-
- // WHEN authentication status fail
- fingerprintAuthRepository.setAuthenticationStatus(FailFingerprintAuthenticationStatus)
-
- // THEN fingerprintFailMessage is updated
- assertThat(fingerprintFailMessage?.source).isEqualTo(FINGERPRINT)
- assertThat(fingerprintFailMessage?.type).isEqualTo(BiometricMessageType.FAIL)
- assertThat(fingerprintFailMessage?.id)
- .isEqualTo(BIOMETRIC_HELP_FINGERPRINT_NOT_RECOGNIZED)
- assertThat(fingerprintFailMessage?.message)
- .isEqualTo(
- mContext.resources.getString(
- com.android.internal.R.string.fingerprint_error_not_match
- )
- )
- }
-
- @Test
- fun fingerprintFailMessage_udfps() =
- testScope.runTest {
- val fingerprintFailMessage by collectLastValue(underTest.fingerprintFailMessage)
-
- // GIVEN primary auth is NOT required
- whenever(keyguardUpdateMonitor.isUnlockingWithBiometricAllowed(anyBoolean()))
- .thenReturn(true)
-
- // GIVEN UDFPS
- fingerprintPropertyRepository.setProperties(
- 0,
- SensorStrength.STRONG,
- FingerprintSensorType.UDFPS_OPTICAL,
- mapOf()
- )
-
- // WHEN authentication status fail
- fingerprintAuthRepository.setAuthenticationStatus(FailFingerprintAuthenticationStatus)
-
- // THEN fingerprintFailMessage is updated to udfps message
- assertThat(fingerprintFailMessage?.source).isEqualTo(FINGERPRINT)
- assertThat(fingerprintFailMessage?.type).isEqualTo(BiometricMessageType.FAIL)
- assertThat(fingerprintFailMessage?.id)
- .isEqualTo(BIOMETRIC_HELP_FINGERPRINT_NOT_RECOGNIZED)
- assertThat(fingerprintFailMessage?.message)
- .isEqualTo(
- mContext.resources.getString(
- com.android.internal.R.string.fingerprint_udfps_error_not_match
- )
- )
- }
-
- @Test
- fun fingerprintFailedMessage_primaryAuthRequired() =
- testScope.runTest {
- val fingerprintFailedMessage by collectLastValue(underTest.fingerprintFailMessage)
-
- // GIVEN primary auth is required
- whenever(keyguardUpdateMonitor.isUnlockingWithBiometricAllowed(anyBoolean()))
- .thenReturn(false)
-
- // WHEN authentication status fail
- fingerprintAuthRepository.setAuthenticationStatus(FailFingerprintAuthenticationStatus)
-
- // THEN fingerprintFailedMessage isn't update - it's still null
- assertThat(fingerprintFailedMessage).isNull()
- }
-}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardBlueprintInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardBlueprintInteractorTest.kt
index 8b16da2..9df00d3 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardBlueprintInteractorTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardBlueprintInteractorTest.kt
@@ -23,7 +23,9 @@
import com.android.systemui.keyguard.data.repository.KeyguardBlueprintRepository
import com.android.systemui.keyguard.ui.view.layout.blueprints.DefaultKeyguardBlueprint
import com.android.systemui.keyguard.ui.view.layout.blueprints.SplitShadeKeyguardBlueprint
-import com.android.systemui.keyguard.ui.view.layout.blueprints.transitions.IntraBlueprintTransitionType
+import com.android.systemui.keyguard.ui.view.layout.blueprints.transitions.IntraBlueprintTransition
+import com.android.systemui.keyguard.ui.view.layout.blueprints.transitions.IntraBlueprintTransition.Config
+import com.android.systemui.keyguard.ui.view.layout.blueprints.transitions.IntraBlueprintTransition.Type
import com.android.systemui.statusbar.policy.SplitShadeStateController
import com.android.systemui.util.mockito.any
import com.android.systemui.util.mockito.whenever
@@ -47,8 +49,7 @@
private lateinit var underTest: KeyguardBlueprintInteractor
private lateinit var testScope: TestScope
- val refreshBluePrint: MutableSharedFlow<Unit> = MutableSharedFlow(extraBufferCapacity = 1)
- val refreshBlueprintTransition: MutableSharedFlow<IntraBlueprintTransitionType> =
+ val refreshTransition: MutableSharedFlow<IntraBlueprintTransition.Config> =
MutableSharedFlow(extraBufferCapacity = 1)
@Mock private lateinit var splitShadeStateController: SplitShadeStateController
@@ -59,9 +60,7 @@
MockitoAnnotations.initMocks(this)
testScope = TestScope(StandardTestDispatcher())
whenever(keyguardBlueprintRepository.configurationChange).thenReturn(configurationFlow)
- whenever(keyguardBlueprintRepository.refreshBluePrint).thenReturn(refreshBluePrint)
- whenever(keyguardBlueprintRepository.refreshBlueprintTransition)
- .thenReturn(refreshBlueprintTransition)
+ whenever(keyguardBlueprintRepository.refreshTransition).thenReturn(refreshTransition)
underTest =
KeyguardBlueprintInteractor(
@@ -116,8 +115,8 @@
@Test
fun testRefreshBlueprintWithTransition() {
- underTest.refreshBlueprintWithTransition(IntraBlueprintTransitionType.DefaultTransition)
+ underTest.refreshBlueprint(Type.DefaultTransition)
verify(keyguardBlueprintRepository)
- .refreshBlueprintWithTransition(IntraBlueprintTransitionType.DefaultTransition)
+ .refreshBlueprint(Config(Type.DefaultTransition, true, true))
}
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/OccludingAppDeviceEntryInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/OccludingAppDeviceEntryInteractorTest.kt
deleted file mode 100644
index 7358b9d..0000000
--- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/OccludingAppDeviceEntryInteractorTest.kt
+++ /dev/null
@@ -1,371 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package com.android.systemui.keyguard.domain.interactor
-
-import android.content.Context
-import android.content.Intent
-import android.hardware.biometrics.BiometricSourceType
-import android.hardware.fingerprint.FingerprintManager
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import androidx.test.filters.SmallTest
-import com.android.keyguard.KeyguardUpdateMonitor
-import com.android.systemui.SysuiTestCase
-import com.android.systemui.biometrics.data.repository.FakeFingerprintPropertyRepository
-import com.android.systemui.bouncer.data.repository.FakeKeyguardBouncerRepository
-import com.android.systemui.bouncer.domain.interactor.AlternateBouncerInteractor
-import com.android.systemui.bouncer.domain.interactor.PrimaryBouncerInteractor
-import com.android.systemui.common.ui.data.repository.FakeConfigurationRepository
-import com.android.systemui.coroutines.collectLastValue
-import com.android.systemui.flags.FakeFeatureFlags
-import com.android.systemui.keyguard.data.repository.FakeBiometricSettingsRepository
-import com.android.systemui.keyguard.data.repository.FakeDeviceEntryFingerprintAuthRepository
-import com.android.systemui.keyguard.data.repository.FakeKeyguardRepository
-import com.android.systemui.keyguard.data.repository.FakeTrustRepository
-import com.android.systemui.keyguard.shared.model.ErrorFingerprintAuthenticationStatus
-import com.android.systemui.keyguard.shared.model.FailFingerprintAuthenticationStatus
-import com.android.systemui.keyguard.shared.model.HelpFingerprintAuthenticationStatus
-import com.android.systemui.keyguard.shared.model.SuccessFingerprintAuthenticationStatus
-import com.android.systemui.keyguard.util.IndicationHelper
-import com.android.systemui.plugins.ActivityStarter
-import com.android.systemui.plugins.ActivityStarter.OnDismissAction
-import com.android.systemui.power.data.repository.FakePowerRepository
-import com.android.systemui.power.domain.interactor.PowerInteractor
-import com.android.systemui.user.domain.interactor.SelectedUserInteractor
-import com.android.systemui.util.mockito.any
-import com.android.systemui.util.mockito.mock
-import com.android.systemui.util.mockito.whenever
-import com.android.systemui.util.time.FakeSystemClock
-import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.ExperimentalCoroutinesApi
-import kotlinx.coroutines.flow.MutableStateFlow
-import kotlinx.coroutines.test.TestScope
-import kotlinx.coroutines.test.runCurrent
-import kotlinx.coroutines.test.runTest
-import org.junit.Before
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.mockito.ArgumentCaptor
-import org.mockito.ArgumentMatchers.anyBoolean
-import org.mockito.ArgumentMatchers.eq
-import org.mockito.ArgumentMatchers.isNull
-import org.mockito.Mock
-import org.mockito.Mockito.never
-import org.mockito.Mockito.verify
-import org.mockito.MockitoAnnotations
-
-@OptIn(ExperimentalCoroutinesApi::class)
-@SmallTest
-@RunWith(AndroidJUnit4::class)
-class OccludingAppDeviceEntryInteractorTest : SysuiTestCase() {
-
- private lateinit var underTest: OccludingAppDeviceEntryInteractor
- private lateinit var testScope: TestScope
- private lateinit var fingerprintPropertyRepository: FakeFingerprintPropertyRepository
- private lateinit var biometricSettingsRepository: FakeBiometricSettingsRepository
- private lateinit var fingerprintAuthRepository: FakeDeviceEntryFingerprintAuthRepository
- private lateinit var keyguardRepository: FakeKeyguardRepository
- private lateinit var bouncerRepository: FakeKeyguardBouncerRepository
- private lateinit var configurationRepository: FakeConfigurationRepository
- private lateinit var featureFlags: FakeFeatureFlags
- private lateinit var trustRepository: FakeTrustRepository
- private lateinit var powerRepository: FakePowerRepository
- private lateinit var powerInteractor: PowerInteractor
-
- @Mock private lateinit var indicationHelper: IndicationHelper
- @Mock private lateinit var keyguardUpdateMonitor: KeyguardUpdateMonitor
- @Mock private lateinit var mockedContext: Context
- @Mock private lateinit var activityStarter: ActivityStarter
- @Mock private lateinit var mSelectedUserInteractor: SelectedUserInteractor
-
- @Before
- fun setup() {
- MockitoAnnotations.initMocks(this)
- testScope = TestScope()
- biometricSettingsRepository = FakeBiometricSettingsRepository()
- fingerprintPropertyRepository = FakeFingerprintPropertyRepository()
- fingerprintAuthRepository = FakeDeviceEntryFingerprintAuthRepository()
- keyguardRepository = FakeKeyguardRepository()
- bouncerRepository = FakeKeyguardBouncerRepository()
- configurationRepository = FakeConfigurationRepository()
- featureFlags = FakeFeatureFlags()
- trustRepository = FakeTrustRepository()
- powerRepository = FakePowerRepository()
- powerInteractor =
- PowerInteractor(
- powerRepository,
- falsingCollector = mock(),
- screenOffAnimationController = mock(),
- statusBarStateController = mock(),
- )
-
- underTest =
- OccludingAppDeviceEntryInteractor(
- BiometricMessageInteractor(
- mContext.resources,
- fingerprintAuthRepository,
- fingerprintPropertyRepository,
- indicationHelper,
- keyguardUpdateMonitor,
- ),
- fingerprintAuthRepository,
- KeyguardInteractorFactory.create(
- featureFlags = featureFlags,
- repository = keyguardRepository,
- bouncerRepository = bouncerRepository,
- configurationRepository = configurationRepository,
- sceneInteractor =
- mock { whenever(transitioningTo).thenReturn(MutableStateFlow(null)) },
- powerInteractor = powerInteractor,
- )
- .keyguardInteractor,
- PrimaryBouncerInteractor(
- bouncerRepository,
- primaryBouncerView = mock(),
- mainHandler = mock(),
- keyguardStateController = mock(),
- keyguardSecurityModel = mock(),
- primaryBouncerCallbackInteractor = mock(),
- falsingCollector = mock(),
- dismissCallbackRegistry = mock(),
- context,
- keyguardUpdateMonitor,
- trustRepository,
- testScope.backgroundScope,
- mSelectedUserInteractor,
- deviceEntryFaceAuthInteractor = mock(),
- ),
- AlternateBouncerInteractor(
- statusBarStateController = mock(),
- keyguardStateController = mock(),
- bouncerRepository,
- FakeFingerprintPropertyRepository(),
- biometricSettingsRepository,
- FakeSystemClock(),
- keyguardUpdateMonitor,
- scope = testScope.backgroundScope,
- ),
- testScope.backgroundScope,
- mockedContext,
- activityStarter,
- powerInteractor,
- )
- }
-
- @Test
- fun fingerprintSuccess_goToHomeScreen() =
- testScope.runTest {
- givenOnOccludingApp(true)
- fingerprintAuthRepository.setAuthenticationStatus(
- SuccessFingerprintAuthenticationStatus(0, true)
- )
- runCurrent()
- verifyGoToHomeScreen()
- }
-
- @Test
- fun fingerprintSuccess_notInteractive_doesNotGoToHomeScreen() =
- testScope.runTest {
- givenOnOccludingApp(true)
- powerRepository.setInteractive(false)
- fingerprintAuthRepository.setAuthenticationStatus(
- SuccessFingerprintAuthenticationStatus(0, true)
- )
- runCurrent()
- verifyNeverGoToHomeScreen()
- }
-
- @Test
- fun fingerprintSuccess_dreaming_doesNotGoToHomeScreen() =
- testScope.runTest {
- givenOnOccludingApp(true)
- keyguardRepository.setDreaming(true)
- fingerprintAuthRepository.setAuthenticationStatus(
- SuccessFingerprintAuthenticationStatus(0, true)
- )
- runCurrent()
- verifyNeverGoToHomeScreen()
- }
-
- @Test
- fun fingerprintSuccess_notOnOccludingApp_doesNotGoToHomeScreen() =
- testScope.runTest {
- givenOnOccludingApp(false)
- fingerprintAuthRepository.setAuthenticationStatus(
- SuccessFingerprintAuthenticationStatus(0, true)
- )
- runCurrent()
- verifyNeverGoToHomeScreen()
- }
-
- @Test
- fun lockout_goToHomeScreenOnDismissAction() =
- testScope.runTest {
- givenOnOccludingApp(true)
- fingerprintAuthRepository.setAuthenticationStatus(
- ErrorFingerprintAuthenticationStatus(
- FingerprintManager.FINGERPRINT_ERROR_LOCKOUT,
- "lockoutTest"
- )
- )
- runCurrent()
- verifyGoToHomeScreenOnDismiss()
- }
-
- @Test
- fun lockout_notOnOccludingApp_neverGoToHomeScreen() =
- testScope.runTest {
- givenOnOccludingApp(false)
- fingerprintAuthRepository.setAuthenticationStatus(
- ErrorFingerprintAuthenticationStatus(
- FingerprintManager.FINGERPRINT_ERROR_LOCKOUT,
- "lockoutTest"
- )
- )
- runCurrent()
- verifyNeverGoToHomeScreen()
- }
-
- @Test
- fun message_fpFailOnOccludingApp_thenNotOnOccludingApp() =
- testScope.runTest {
- val message by collectLastValue(underTest.message)
-
- givenOnOccludingApp(true)
- givenPrimaryAuthRequired(false)
- runCurrent()
- // WHEN a fp failure come in
- fingerprintAuthRepository.setAuthenticationStatus(FailFingerprintAuthenticationStatus)
- // THEN message set to failure
- assertThat(message?.type).isEqualTo(BiometricMessageType.FAIL)
-
- // GIVEN fingerprint shouldn't run
- givenOnOccludingApp(false)
- runCurrent()
- // WHEN another fp failure arrives
- fingerprintAuthRepository.setAuthenticationStatus(FailFingerprintAuthenticationStatus)
-
- // THEN message set to null
- assertThat(message).isNull()
- }
-
- @Test
- fun message_fpErrorHelpFailOnOccludingApp() =
- testScope.runTest {
- val message by collectLastValue(underTest.message)
-
- givenOnOccludingApp(true)
- givenPrimaryAuthRequired(false)
- runCurrent()
-
- // ERROR message
- fingerprintAuthRepository.setAuthenticationStatus(
- ErrorFingerprintAuthenticationStatus(
- FingerprintManager.FINGERPRINT_ERROR_CANCELED,
- "testError",
- )
- )
- assertThat(message?.source).isEqualTo(BiometricSourceType.FINGERPRINT)
- assertThat(message?.id).isEqualTo(FingerprintManager.FINGERPRINT_ERROR_CANCELED)
- assertThat(message?.message).isEqualTo("testError")
- assertThat(message?.type).isEqualTo(BiometricMessageType.ERROR)
-
- // HELP message
- fingerprintAuthRepository.setAuthenticationStatus(
- HelpFingerprintAuthenticationStatus(
- FingerprintManager.FINGERPRINT_ACQUIRED_PARTIAL,
- "testHelp",
- )
- )
- assertThat(message?.source).isEqualTo(BiometricSourceType.FINGERPRINT)
- assertThat(message?.id).isEqualTo(FingerprintManager.FINGERPRINT_ACQUIRED_PARTIAL)
- assertThat(message?.message).isEqualTo("testHelp")
- assertThat(message?.type).isEqualTo(BiometricMessageType.HELP)
-
- // FAIL message
- fingerprintAuthRepository.setAuthenticationStatus(FailFingerprintAuthenticationStatus)
- assertThat(message?.source).isEqualTo(BiometricSourceType.FINGERPRINT)
- assertThat(message?.id)
- .isEqualTo(KeyguardUpdateMonitor.BIOMETRIC_HELP_FINGERPRINT_NOT_RECOGNIZED)
- assertThat(message?.type).isEqualTo(BiometricMessageType.FAIL)
- }
-
- @Test
- fun message_fpError_lockoutFilteredOut() =
- testScope.runTest {
- val message by collectLastValue(underTest.message)
-
- givenOnOccludingApp(true)
- givenPrimaryAuthRequired(false)
- runCurrent()
-
- // permanent lockout error message
- fingerprintAuthRepository.setAuthenticationStatus(
- ErrorFingerprintAuthenticationStatus(
- FingerprintManager.FINGERPRINT_ERROR_LOCKOUT_PERMANENT,
- "testPermanentLockoutMessageFiltered",
- )
- )
- assertThat(message).isNull()
-
- // temporary lockout error message
- fingerprintAuthRepository.setAuthenticationStatus(
- ErrorFingerprintAuthenticationStatus(
- FingerprintManager.FINGERPRINT_ERROR_LOCKOUT,
- "testLockoutMessageFiltered",
- )
- )
- assertThat(message).isNull()
- }
-
- private fun givenOnOccludingApp(isOnOccludingApp: Boolean) {
- powerRepository.setInteractive(true)
- keyguardRepository.setKeyguardOccluded(isOnOccludingApp)
- keyguardRepository.setKeyguardShowing(isOnOccludingApp)
- keyguardRepository.setDreaming(false)
- bouncerRepository.setPrimaryShow(!isOnOccludingApp)
- bouncerRepository.setAlternateVisible(!isOnOccludingApp)
- }
-
- private fun givenPrimaryAuthRequired(required: Boolean) {
- whenever(keyguardUpdateMonitor.isUnlockingWithBiometricAllowed(anyBoolean()))
- .thenReturn(!required)
- }
-
- private fun verifyGoToHomeScreen() {
- val intentCaptor = ArgumentCaptor.forClass(Intent::class.java)
- verify(mockedContext).startActivity(intentCaptor.capture())
-
- assertThat(intentCaptor.value.hasCategory(Intent.CATEGORY_HOME)).isTrue()
- assertThat(intentCaptor.value.action).isEqualTo(Intent.ACTION_MAIN)
- }
-
- private fun verifyNeverGoToHomeScreen() {
- verify(mockedContext, never()).startActivity(any())
- verify(activityStarter, never())
- .dismissKeyguardThenExecute(any(OnDismissAction::class.java), isNull(), eq(false))
- }
-
- private fun verifyGoToHomeScreenOnDismiss() {
- val onDimissActionCaptor = ArgumentCaptor.forClass(OnDismissAction::class.java)
- verify(activityStarter)
- .dismissKeyguardThenExecute(onDimissActionCaptor.capture(), isNull(), eq(false))
- onDimissActionCaptor.value.onDismiss()
-
- verifyGoToHomeScreen()
- }
-}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/ui/view/layout/sections/ClockSectionTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyguard/ui/view/layout/sections/ClockSectionTest.kt
index 2da74b0..08d44c1 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/ui/view/layout/sections/ClockSectionTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/ui/view/layout/sections/ClockSectionTest.kt
@@ -138,10 +138,10 @@
underTest.applyDefaultConstraints(cs)
val expectedLargeClockTopMargin = LARGE_CLOCK_TOP
- assetLargeClockTop(cs, expectedLargeClockTopMargin)
+ assertLargeClockTop(cs, expectedLargeClockTopMargin)
- val expectedSmallClockTopMargin = SMALL_CLOCK_TOP_SPLIT_SHADE - CLOCK_FADE_TRANSLATION_Y
- assetSmallClockTop(cs, expectedSmallClockTopMargin)
+ val expectedSmallClockTopMargin = SMALL_CLOCK_TOP_SPLIT_SHADE
+ assertSmallClockTop(cs, expectedSmallClockTopMargin)
}
@Test
@@ -152,10 +152,10 @@
underTest.applyDefaultConstraints(cs)
val expectedLargeClockTopMargin = LARGE_CLOCK_TOP
- assetLargeClockTop(cs, expectedLargeClockTopMargin)
+ assertLargeClockTop(cs, expectedLargeClockTopMargin)
- val expectedSmallClockTopMargin = SMALL_CLOCK_TOP_NON_SPLIT_SHADE - CLOCK_FADE_TRANSLATION_Y
- assetSmallClockTop(cs, expectedSmallClockTopMargin)
+ val expectedSmallClockTopMargin = SMALL_CLOCK_TOP_NON_SPLIT_SHADE
+ assertSmallClockTop(cs, expectedSmallClockTopMargin)
}
@Test
@@ -166,10 +166,10 @@
underTest.applyDefaultConstraints(cs)
val expectedLargeClockTopMargin = LARGE_CLOCK_TOP
- assetLargeClockTop(cs, expectedLargeClockTopMargin)
+ assertLargeClockTop(cs, expectedLargeClockTopMargin)
val expectedSmallClockTopMargin = SMALL_CLOCK_TOP_SPLIT_SHADE
- assetSmallClockTop(cs, expectedSmallClockTopMargin)
+ assertSmallClockTop(cs, expectedSmallClockTopMargin)
}
@Test
@@ -179,10 +179,10 @@
val cs = ConstraintSet()
underTest.applyDefaultConstraints(cs)
val expectedLargeClockTopMargin = LARGE_CLOCK_TOP
- assetLargeClockTop(cs, expectedLargeClockTopMargin)
+ assertLargeClockTop(cs, expectedLargeClockTopMargin)
val expectedSmallClockTopMargin = SMALL_CLOCK_TOP_NON_SPLIT_SHADE
- assetSmallClockTop(cs, expectedSmallClockTopMargin)
+ assertSmallClockTop(cs, expectedSmallClockTopMargin)
}
@Test
@@ -228,16 +228,22 @@
.thenReturn(isInSplitShade)
}
- private fun assetLargeClockTop(cs: ConstraintSet, expectedLargeClockTopMargin: Int) {
+ private fun assertLargeClockTop(cs: ConstraintSet, expectedLargeClockTopMargin: Int) {
val largeClockConstraint = cs.getConstraint(R.id.lockscreen_clock_view_large)
assertThat(largeClockConstraint.layout.topToTop).isEqualTo(ConstraintSet.PARENT_ID)
assertThat(largeClockConstraint.layout.topMargin).isEqualTo(expectedLargeClockTopMargin)
}
- private fun assetSmallClockTop(cs: ConstraintSet, expectedSmallClockTopMargin: Int) {
+ private fun assertSmallClockTop(cs: ConstraintSet, expectedSmallClockTopMargin: Int) {
+ val smallClockGuidelineConstraint = cs.getConstraint(R.id.small_clock_guideline_top)
+ assertThat(smallClockGuidelineConstraint.layout.topToTop).isEqualTo(-1)
+ assertThat(smallClockGuidelineConstraint.layout.guideBegin)
+ .isEqualTo(expectedSmallClockTopMargin)
+
val smallClockConstraint = cs.getConstraint(R.id.lockscreen_clock_view)
- assertThat(smallClockConstraint.layout.topToTop).isEqualTo(ConstraintSet.PARENT_ID)
- assertThat(smallClockConstraint.layout.topMargin).isEqualTo(expectedSmallClockTopMargin)
+ assertThat(smallClockConstraint.layout.topToBottom)
+ .isEqualTo(R.id.small_clock_guideline_top)
+ assertThat(smallClockConstraint.layout.topMargin).isEqualTo(0)
}
companion object {
diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/ui/viewmodel/AodToLockscreenTransitionViewModelTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyguard/ui/viewmodel/AodToLockscreenTransitionViewModelTest.kt
index 43d59d8..c381749 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/ui/viewmodel/AodToLockscreenTransitionViewModelTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/ui/viewmodel/AodToLockscreenTransitionViewModelTest.kt
@@ -101,25 +101,6 @@
assertThat(deviceEntryBackgroundViewAlpha).isEqualTo(1f)
}
- @Test
- fun deviceEntryBackgroundView_rearFp_noUpdates() =
- testScope.runTest {
- fingerprintPropertyRepository.supportsRearFps()
- val deviceEntryBackgroundViewAlpha by
- collectLastValue(underTest.deviceEntryBackgroundViewAlpha)
- // no updates
- repository.sendTransitionStep(step(0f, TransitionState.STARTED))
- assertThat(deviceEntryBackgroundViewAlpha).isNull()
- repository.sendTransitionStep(step(0.1f))
- assertThat(deviceEntryBackgroundViewAlpha).isNull()
- repository.sendTransitionStep(step(0.3f))
- assertThat(deviceEntryBackgroundViewAlpha).isNull()
- repository.sendTransitionStep(step(0.6f))
- assertThat(deviceEntryBackgroundViewAlpha).isNull()
- repository.sendTransitionStep(step(1f))
- assertThat(deviceEntryBackgroundViewAlpha).isNull()
- }
-
private fun step(
value: Float,
state: TransitionState = TransitionState.RUNNING
diff --git a/packages/SystemUI/tests/src/com/android/systemui/navigationbar/NavigationBarControllerImplTest.java b/packages/SystemUI/tests/src/com/android/systemui/navigationbar/NavigationBarControllerImplTest.java
index 8a531fd..bfb18c8 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/navigationbar/NavigationBarControllerImplTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/navigationbar/NavigationBarControllerImplTest.java
@@ -20,7 +20,10 @@
import static android.view.Display.INVALID_DISPLAY;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.mockitoSession;
+import static com.android.wm.shell.Flags.enableTaskbarNavbarUnification;
+import static org.junit.Assume.assumeFalse;
+import static org.junit.Assume.assumeTrue;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyBoolean;
import static org.mockito.ArgumentMatchers.anyInt;
@@ -47,7 +50,6 @@
import com.android.systemui.Dependency;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.dump.DumpManager;
-import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.model.SysUiState;
import com.android.systemui.recents.OverviewProxyService;
import com.android.systemui.settings.FakeDisplayTracker;
@@ -140,6 +142,8 @@
@Test
public void testCreateNavigationBarsIncludeDefaultTrue() {
+ assumeFalse(enableTaskbarNavbarUnification());
+
// Large screens may be using taskbar and the logic is different
mNavigationBarController.mIsLargeScreen = false;
doNothing().when(mNavigationBarController).createNavigationBar(any(), any(), any());
@@ -295,11 +299,22 @@
}
@Test
- public void testConfigurationChange_taskbarInitialized() {
+ public void testConfigurationChangeUnfolding_taskbarInitialized() {
Configuration configuration = mContext.getResources().getConfiguration();
when(Utilities.isLargeScreen(any())).thenReturn(true);
when(mTaskbarDelegate.isInitialized()).thenReturn(true);
mNavigationBarController.onConfigChanged(configuration);
verify(mTaskbarDelegate, times(1)).onConfigurationChanged(configuration);
}
+
+ @Test
+ public void testConfigurationChangeFolding_taskbarInitialized() {
+ assumeTrue(enableTaskbarNavbarUnification());
+
+ Configuration configuration = mContext.getResources().getConfiguration();
+ when(Utilities.isLargeScreen(any())).thenReturn(false);
+ when(mTaskbarDelegate.isInitialized()).thenReturn(true);
+ mNavigationBarController.onConfigChanged(configuration);
+ verify(mTaskbarDelegate, times(1)).onConfigurationChanged(configuration);
+ }
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowControllerImplTest.java b/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowControllerImplTest.java
index 0167fd5..61fee16 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowControllerImplTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowControllerImplTest.java
@@ -178,7 +178,8 @@
mTestScope.getBackgroundScope(),
new SceneContainerRepository(
mTestScope.getBackgroundScope(),
- mKosmos.getFakeSceneContainerConfig()),
+ mKosmos.getFakeSceneContainerConfig(),
+ mKosmos.getSceneDataSource()),
powerInteractor,
mock(SceneLogger.class),
mKosmos.getDeviceUnlockedInteractor());
diff --git a/packages/SystemUI/tests/src/com/android/systemui/shade/QuickSettingsControllerBaseTest.java b/packages/SystemUI/tests/src/com/android/systemui/shade/QuickSettingsControllerBaseTest.java
index c11a210..061f88e 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/shade/QuickSettingsControllerBaseTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/shade/QuickSettingsControllerBaseTest.java
@@ -206,7 +206,8 @@
mTestScope.getBackgroundScope(),
new SceneContainerRepository(
mTestScope.getBackgroundScope(),
- mKosmos.getFakeSceneContainerConfig()),
+ mKosmos.getFakeSceneContainerConfig(),
+ mKosmos.getSceneDataSource()),
powerInteractor,
mock(SceneLogger.class),
mKosmos.getDeviceUnlockedInteractor());
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/KeyguardIndicationControllerBaseTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/KeyguardIndicationControllerBaseTest.java
index 459040a..2bd0d79 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/KeyguardIndicationControllerBaseTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/KeyguardIndicationControllerBaseTest.java
@@ -58,6 +58,7 @@
import com.android.systemui.SysuiTestCase;
import com.android.systemui.biometrics.AuthController;
import com.android.systemui.biometrics.FaceHelpMessageDeferral;
+import com.android.systemui.biometrics.FaceHelpMessageDeferralFactory;
import com.android.systemui.bouncer.domain.interactor.AlternateBouncerInteractor;
import com.android.systemui.bouncer.domain.interactor.BouncerMessageInteractor;
import com.android.systemui.broadcast.BroadcastDispatcher;
@@ -136,6 +137,8 @@
@Mock
protected AccessibilityManager mAccessibilityManager;
@Mock
+ protected FaceHelpMessageDeferralFactory mFaceHelpMessageDeferralFactory;
+ @Mock
protected FaceHelpMessageDeferral mFaceHelpMessageDeferral;
@Mock
protected AlternateBouncerInteractor mAlternateBouncerInteractor;
@@ -224,6 +227,8 @@
.thenReturn(mDisclosureWithOrganization);
when(mUserTracker.getUserId()).thenReturn(mCurrentUserId);
+ when(mFaceHelpMessageDeferralFactory.create()).thenReturn(mFaceHelpMessageDeferral);
+
mIndicationHelper = new IndicationHelper(mKeyguardUpdateMonitor);
mWakeLock = new WakeLockFake();
@@ -257,7 +262,7 @@
mUserManager, mExecutor, mExecutor, mFalsingManager,
mAuthController, mLockPatternUtils, mScreenLifecycle,
mKeyguardBypassController, mAccessibilityManager,
- mFaceHelpMessageDeferral, mock(KeyguardLogger.class),
+ mFaceHelpMessageDeferralFactory, mock(KeyguardLogger.class),
mAlternateBouncerInteractor,
mAlarmManager,
mUserTracker,
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationGutsManagerWithScenesTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationGutsManagerWithScenesTest.kt
index 446b9d0..dbf7b6c 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationGutsManagerWithScenesTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationGutsManagerWithScenesTest.kt
@@ -57,7 +57,6 @@
import com.android.systemui.scene.shared.flag.fakeSceneContainerFlags
import com.android.systemui.scene.shared.model.ObservableTransitionState
import com.android.systemui.scene.shared.model.SceneKey
-import com.android.systemui.scene.shared.model.SceneModel
import com.android.systemui.settings.UserContextProvider
import com.android.systemui.shade.shadeControllerSceneImpl
import com.android.systemui.statusbar.NotificationEntryHelper
@@ -607,7 +606,7 @@
} else {
SceneKey.Bouncer
}
- sceneInteractor.changeScene(SceneModel(key), "test")
+ sceneInteractor.changeScene(key, "test")
sceneInteractor.setTransitionState(
MutableStateFlow<ObservableTransitionState>(ObservableTransitionState.Idle(key))
)
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationShelfTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationShelfTest.kt
index d4300f0..b938029 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationShelfTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationShelfTest.kt
@@ -226,7 +226,7 @@
whenever(expandableView.minHeight).thenReturn(25)
whenever(expandableView.shelfTransformationTarget).thenReturn(null) // use translationY
- whenever(expandableView.isInShelf).thenReturn(true)
+ whenever(expandableView.isInShelf).thenReturn(false)
whenever(ambientState.isOnKeyguard).thenReturn(true)
whenever(ambientState.isExpansionChanging).thenReturn(false)
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithmTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithmTest.kt
index f266f03..91a9da3 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithmTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithmTest.kt
@@ -85,6 +85,7 @@
private val bigGap = px(R.dimen.notification_section_divider_height)
private val smallGap = px(R.dimen.notification_section_divider_height_lockscreen)
+ private val scrimPadding = px(R.dimen.notification_side_paddings)
@Before
fun setUp() {
@@ -119,6 +120,18 @@
}
@Test
+ fun resetViewStates_defaultHunWhenShadeIsOpening_yTranslationIsInset() {
+ whenever(notificationRow.isPinned).thenReturn(true)
+ whenever(notificationRow.isHeadsUp).thenReturn(true)
+
+ // scroll the panel over the HUN inset
+ ambientState.stackY = stackScrollAlgorithm.mHeadsUpInset + bigGap
+
+ // the HUN translation should be the panel scroll position + the scrim padding
+ resetViewStates_hunYTranslationIs(ambientState.stackY + scrimPadding)
+ }
+
+ @Test
@DisableFlags(NotificationsImprovedHunAnimation.FLAG_NAME)
fun resetViewStates_hunAnimatingAway_yTranslationIsInset() {
whenever(notificationRow.isHeadsUpAnimatingAway).thenReturn(true)
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/StackStateAnimatorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/StackStateAnimatorTest.kt
index 414d318..4f0f91a 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/StackStateAnimatorTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/StackStateAnimatorTest.kt
@@ -18,8 +18,10 @@
import android.platform.test.annotations.EnableFlags
import android.testing.AndroidTestingRunner
+import android.testing.TestableLooper.RunWithLooper
import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase
+import com.android.systemui.animation.AnimatorTestRule
import com.android.systemui.res.R
import com.android.systemui.statusbar.notification.row.ExpandableView
import com.android.systemui.statusbar.notification.shared.NotificationsImprovedHunAnimation
@@ -31,10 +33,12 @@
import com.android.systemui.util.mockito.whenever
import com.google.common.truth.Truth.assertThat
import org.junit.Before
+import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.ArgumentCaptor
import org.mockito.Mockito.any
+import org.mockito.Mockito.clearInvocations
import org.mockito.Mockito.description
import org.mockito.Mockito.eq
import org.mockito.Mockito.verify
@@ -45,8 +49,11 @@
@SmallTest
@RunWith(AndroidTestingRunner::class)
+@RunWithLooper
class StackStateAnimatorTest : SysuiTestCase() {
+ @get:Rule val animatorTestRule = AnimatorTestRule(this)
+
private lateinit var stackStateAnimator: StackStateAnimator
private val stackScroller: NotificationStackScrollLayout = mock()
private val view: ExpandableView = mock()
@@ -112,13 +119,16 @@
}
@Test
+ @EnableFlags(NotificationsImprovedHunAnimation.FLAG_NAME)
fun startAnimationForEvents_startsHeadsUpDisappearAnim() {
+ val disappearDuration = ANIMATION_DURATION_HEADS_UP_DISAPPEAR.toLong()
val event = AnimationEvent(view, AnimationEvent.ANIMATION_TYPE_HEADS_UP_DISAPPEAR)
+ clearInvocations(view)
stackStateAnimator.startAnimationForEvents(arrayListOf(event), 0)
verify(view)
.performRemoveAnimation(
- /* duration= */ eq(ANIMATION_DURATION_HEADS_UP_DISAPPEAR.toLong()),
+ /* duration= */ eq(disappearDuration),
/* delay= */ eq(0L),
/* translationDirection= */ eq(0f),
/* isHeadsUpAnimation= */ eq(true),
@@ -127,9 +137,12 @@
/* animationListener= */ any()
)
+ animatorTestRule.advanceTimeBy(disappearDuration) // move to the end of SSA animations
runnableCaptor.value.run() // execute the end runnable
- verify(view, description("should be called at the end of the animation"))
+ verify(view, description("should be translated to the heads up appear start"))
+ .translationY = -stackStateAnimator.mHeadsUpAppearStartAboveScreen
+ verify(view, description("should be called at the end of the disappear animation"))
.removeFromTransientContainer()
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/KeyguardStatusBarViewControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/KeyguardStatusBarViewControllerTest.java
index 6582d16..56fc7b9 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/KeyguardStatusBarViewControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/KeyguardStatusBarViewControllerTest.java
@@ -148,6 +148,7 @@
private KeyguardStatusBarView mKeyguardStatusBarView;
private KeyguardStatusBarViewController mController;
private FakeExecutor mFakeExecutor = new FakeExecutor(new FakeSystemClock());
+ private final FakeExecutor mBackgroundExecutor = new FakeExecutor(new FakeSystemClock());
private final TestScope mTestScope = TestScopeProvider.getTestScope();
private final FakeKeyguardRepository mKeyguardRepository = new FakeKeyguardRepository();
private final KosmosJavaAdapter mKosmos = new KosmosJavaAdapter(this);
@@ -217,6 +218,7 @@
mSecureSettings,
mCommandQueue,
mFakeExecutor,
+ mBackgroundExecutor,
mLogger,
mNotificationMediaManager,
mStatusOverlayHoverListenerFactory
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/LegacyLightsOutNotifControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/LegacyLightsOutNotifControllerTest.java
index bde2243..f91064b 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/LegacyLightsOutNotifControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/LegacyLightsOutNotifControllerTest.java
@@ -25,6 +25,7 @@
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import android.platform.test.annotations.DisableFlags;
import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper.RunWithLooper;
import android.view.Display;
@@ -40,6 +41,7 @@
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.notification.collection.NotifLiveData;
import com.android.systemui.statusbar.notification.collection.NotifLiveDataStore;
+import com.android.systemui.statusbar.notification.shared.NotificationsLiveDataStoreRefactor;
import org.junit.Before;
import org.junit.Test;
@@ -54,6 +56,7 @@
@SmallTest
@RunWith(AndroidTestingRunner.class)
@RunWithLooper
+@DisableFlags(NotificationsLiveDataStoreRefactor.FLAG_NAME)
public class LegacyLightsOutNotifControllerTest extends SysuiTestCase {
private static final int LIGHTS_ON = 0;
private static final int LIGHTS_OUT = APPEARANCE_LOW_PROFILE_BARS;
diff --git a/packages/SystemUI/tests/src/com/android/systemui/wallet/controller/WalletContextualLocationsServiceTest.kt b/packages/SystemUI/tests/src/com/android/systemui/wallet/controller/WalletContextualLocationsServiceTest.kt
index af1d788..8c5df6e 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/wallet/controller/WalletContextualLocationsServiceTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/wallet/controller/WalletContextualLocationsServiceTest.kt
@@ -12,12 +12,10 @@
import com.android.systemui.flags.Flags
import com.android.systemui.util.mockito.whenever
import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.flow.MutableStateFlow
-import kotlinx.coroutines.test.TestCoroutineScope
-import kotlinx.coroutines.test.TestScope
-import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.flow.update
+import kotlinx.coroutines.test.StandardTestDispatcher
+import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.runCurrent
import kotlinx.coroutines.test.runTest
import org.junit.Before
@@ -41,11 +39,12 @@
private lateinit var underTest: WalletContextualLocationsService
private lateinit var testScope: TestScope
private var listenerRegisteredCount: Int = 0
- private val listener: IWalletCardsUpdatedListener.Stub = object : IWalletCardsUpdatedListener.Stub() {
- override fun registerNewWalletCards(cards: List<WalletCard?>) {
- listenerRegisteredCount++
+ private val listener: IWalletCardsUpdatedListener.Stub =
+ object : IWalletCardsUpdatedListener.Stub() {
+ override fun registerNewWalletCards(cards: List<WalletCard?>) {
+ listenerRegisteredCount++
+ }
}
- }
@Before
@kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -55,55 +54,65 @@
doNothing().whenever(controller).setSuggestionCardIds(anySet())
if (Looper.myLooper() == null) Looper.prepare()
-
+ val testDispatcher = StandardTestDispatcher()
testScope = TestScope()
featureFlags.set(Flags.ENABLE_WALLET_CONTEXTUAL_LOYALTY_CARDS, true)
listenerRegisteredCount = 0
-
- underTest = WalletContextualLocationsService(controller, featureFlags, testScope.backgroundScope)
+ underTest =
+ WalletContextualLocationsService(
+ testDispatcher,
+ controller,
+ featureFlags,
+ testScope.backgroundScope
+ )
}
@Test
@kotlinx.coroutines.ExperimentalCoroutinesApi
- fun addListener() = testScope.runTest {
- underTest.addWalletCardsUpdatedListenerInternal(listener)
- assertThat(listenerRegisteredCount).isEqualTo(1)
- }
+ fun addListener() =
+ testScope.runTest {
+ underTest.addWalletCardsUpdatedListenerInternal(listener)
+ assertThat(listenerRegisteredCount).isEqualTo(1)
+ }
@Test
@kotlinx.coroutines.ExperimentalCoroutinesApi
- fun addStoreLocations() = testScope.runTest {
- underTest.onWalletContextualLocationsStateUpdatedInternal(ArrayList<String>())
- verify(controller, times(1)).setSuggestionCardIds(anySet())
- }
+ fun addStoreLocations() =
+ testScope.runTest {
+ underTest.onWalletContextualLocationsStateUpdatedInternal(ArrayList<String>())
+ verify(controller, times(1)).setSuggestionCardIds(anySet())
+ }
@Test
@kotlinx.coroutines.ExperimentalCoroutinesApi
- fun updateListenerAndLocationsState() = testScope.runTest {
- // binds to the service and adds a listener
- val underTestStub = getInterface
- underTestStub.addWalletCardsUpdatedListener(listener)
- assertThat(listenerRegisteredCount).isEqualTo(1)
+ fun updateListenerAndLocationsState() =
+ testScope.runTest {
+ // binds to the service and adds a listener
+ val underTestStub = getInterface
+ underTestStub.addWalletCardsUpdatedListener(listener)
+ assertThat(listenerRegisteredCount).isEqualTo(1)
- // sends a list of card IDs to the controller
- underTestStub.onWalletContextualLocationsStateUpdated(ArrayList<String>())
- verify(controller, times(1)).setSuggestionCardIds(anySet())
+ // sends a list of card IDs to the controller
+ underTestStub.onWalletContextualLocationsStateUpdated(ArrayList<String>())
+ verify(controller, times(1)).setSuggestionCardIds(anySet())
- // adds another listener
- fakeWalletCards.update{ updatedFakeWalletCards }
- runCurrent()
- assertThat(listenerRegisteredCount).isEqualTo(2)
+ // adds another listener
+ fakeWalletCards.update { updatedFakeWalletCards }
+ runCurrent()
+ assertThat(listenerRegisteredCount).isEqualTo(2)
- // sends another list of card IDs to the controller
- underTestStub.onWalletContextualLocationsStateUpdated(ArrayList<String>())
- verify(controller, times(2)).setSuggestionCardIds(anySet())
- }
+ // sends another list of card IDs to the controller
+ underTestStub.onWalletContextualLocationsStateUpdated(ArrayList<String>())
+ verify(controller, times(2)).setSuggestionCardIds(anySet())
+ }
private val fakeWalletCards: MutableStateFlow<List<WalletCard>>
get() {
val intent = Intent(getContext(), WalletContextualLocationsService::class.java)
- val pi: PendingIntent = PendingIntent.getActivity(getContext(), 0, intent, PendingIntent.FLAG_IMMUTABLE)
- val icon: Icon = Icon.createWithBitmap(Bitmap.createBitmap(70, 50, Bitmap.Config.ARGB_8888))
+ val pi: PendingIntent =
+ PendingIntent.getActivity(getContext(), 0, intent, PendingIntent.FLAG_IMMUTABLE)
+ val icon: Icon =
+ Icon.createWithBitmap(Bitmap.createBitmap(70, 50, Bitmap.Config.ARGB_8888))
val walletCards: ArrayList<WalletCard> = ArrayList<WalletCard>()
walletCards.add(WalletCard.Builder("card1", icon, "card", pi).build())
walletCards.add(WalletCard.Builder("card2", icon, "card", pi).build())
@@ -113,8 +122,10 @@
private val updatedFakeWalletCards: List<WalletCard>
get() {
val intent = Intent(getContext(), WalletContextualLocationsService::class.java)
- val pi: PendingIntent = PendingIntent.getActivity(getContext(), 0, intent, PendingIntent.FLAG_IMMUTABLE)
- val icon: Icon = Icon.createWithBitmap(Bitmap.createBitmap(70, 50, Bitmap.Config.ARGB_8888))
+ val pi: PendingIntent =
+ PendingIntent.getActivity(getContext(), 0, intent, PendingIntent.FLAG_IMMUTABLE)
+ val icon: Icon =
+ Icon.createWithBitmap(Bitmap.createBitmap(70, 50, Bitmap.Config.ARGB_8888))
val walletCards: ArrayList<WalletCard> = ArrayList<WalletCard>()
walletCards.add(WalletCard.Builder("card3", icon, "card", pi).build())
return walletCards
@@ -125,4 +136,4 @@
val intent = Intent()
return IWalletContextualLocationsService.Stub.asInterface(underTest.onBind(intent))
}
-}
\ No newline at end of file
+}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/wmshell/BubblesTest.java b/packages/SystemUI/tests/src/com/android/systemui/wmshell/BubblesTest.java
index deb76a4..d87df0a 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/wmshell/BubblesTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/wmshell/BubblesTest.java
@@ -413,7 +413,8 @@
mTestScope.getBackgroundScope(),
new SceneContainerRepository(
mTestScope.getBackgroundScope(),
- mKosmos.getFakeSceneContainerConfig()),
+ mKosmos.getFakeSceneContainerConfig(),
+ mKosmos.getSceneDataSource()),
powerInteractor,
mock(SceneLogger.class),
mKosmos.getDeviceUnlockedInteractor());
diff --git a/packages/SystemUI/tests/utils/src/android/content/ContextKosmos.kt b/packages/SystemUI/tests/utils/src/android/content/ContextKosmos.kt
index 5e254bf..f6ddfcc 100644
--- a/packages/SystemUI/tests/utils/src/android/content/ContextKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/android/content/ContextKosmos.kt
@@ -18,5 +18,7 @@
import com.android.systemui.kosmos.Kosmos
import com.android.systemui.kosmos.testCase
+import com.android.systemui.util.mockito.mock
var Kosmos.applicationContext: Context by Kosmos.Fixture { testCase.context }
+val Kosmos.mockedContext: Context by Kosmos.Fixture { mock<Context>() }
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/FakeSystemUiModule.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/FakeSystemUiModule.kt
index dc5fd95..6dd8d07 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/FakeSystemUiModule.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/FakeSystemUiModule.kt
@@ -19,7 +19,6 @@
import com.android.systemui.data.FakeSystemUiDataLayerModule
import com.android.systemui.flags.FakeFeatureFlagsClassicModule
import com.android.systemui.log.FakeUiEventLoggerModule
-import com.android.systemui.scene.FakeSceneModule
import com.android.systemui.settings.FakeSettingsModule
import com.android.systemui.statusbar.policy.FakeConfigurationControllerModule
import com.android.systemui.statusbar.policy.FakeSplitShadeStateControllerModule
@@ -34,7 +33,6 @@
FakeConfigurationControllerModule::class,
FakeExecutorModule::class,
FakeFeatureFlagsClassicModule::class,
- FakeSceneModule::class,
FakeSettingsModule::class,
FakeSplitShadeStateControllerModule::class,
FakeSystemClockModule::class,
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/SysUITestModule.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/SysUITestModule.kt
index 3724291..69b769e 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/SysUITestModule.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/SysUITestModule.kt
@@ -27,7 +27,10 @@
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Application
import com.android.systemui.dagger.qualifiers.Main
+import com.android.systemui.scene.SceneContainerFrameworkModule
import com.android.systemui.scene.shared.flag.SceneContainerFlags
+import com.android.systemui.scene.shared.model.SceneDataSource
+import com.android.systemui.scene.shared.model.SceneDataSourceDelegator
import com.android.systemui.shade.domain.interactor.BaseShadeInteractor
import com.android.systemui.shade.domain.interactor.ShadeInteractor
import com.android.systemui.shade.domain.interactor.ShadeInteractorImpl
@@ -52,6 +55,7 @@
TestMocksModule::class,
CoroutineTestScopeModule::class,
FakeSystemUiModule::class,
+ SceneContainerFrameworkModule::class,
]
)
interface SysUITestModule {
@@ -63,6 +67,7 @@
@Binds @Main fun bindMainResources(resources: Resources): Resources
@Binds fun bindBroadcastDispatcher(fake: FakeBroadcastDispatcher): BroadcastDispatcher
@Binds @SysUISingleton fun bindsShadeInteractor(sii: ShadeInteractorImpl): ShadeInteractor
+ @Binds fun bindSceneDataSource(delegator: SceneDataSourceDelegator): SceneDataSource
companion object {
@Provides
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/TestMocksModule.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/TestMocksModule.kt
index 3f55f42..b8c880b 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/TestMocksModule.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/TestMocksModule.kt
@@ -42,6 +42,7 @@
import com.android.systemui.plugins.ActivityStarter
import com.android.systemui.plugins.DarkIconDispatcher
import com.android.systemui.plugins.statusbar.StatusBarStateController
+import com.android.systemui.scene.shared.logger.SceneLogger
import com.android.systemui.shared.system.ActivityManagerWrapper
import com.android.systemui.statusbar.LockscreenShadeTransitionController
import com.android.systemui.statusbar.NotificationListener
@@ -121,12 +122,13 @@
@get:Provides val systemUIDialogManager: SystemUIDialogManager = mock(),
@get:Provides val deviceEntryIconTransitions: Set<DeviceEntryIconTransition> = emptySet(),
@get:Provides val communalInteractor: CommunalInteractor = mock(),
+ @get:Provides val sceneLogger: SceneLogger = mock(),
// log buffers
@get:[Provides BroadcastDispatcherLog]
val broadcastDispatcherLogger: LogBuffer = mock(),
@get:[Provides SceneFrameworkLog]
- val sceneLogger: LogBuffer = mock(),
+ val sceneLogBuffer: LogBuffer = mock(),
@get:[Provides BiometricLog]
val biometricLogger: LogBuffer = mock(),
@get:Provides val lsShadeTransitionLogger: LSShadeTransitionLogger = mock(),
diff --git a/packages/SystemUI/src/com/android/systemui/scene/shared/model/SceneModel.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/accessibility/EmptyAccessibilityShortcutTargetActivity.kt
similarity index 61%
copy from packages/SystemUI/src/com/android/systemui/scene/shared/model/SceneModel.kt
copy to packages/SystemUI/tests/utils/src/com/android/systemui/accessibility/EmptyAccessibilityShortcutTargetActivity.kt
index f3d549f..dd07046 100644
--- a/packages/SystemUI/src/com/android/systemui/scene/shared/model/SceneModel.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/accessibility/EmptyAccessibilityShortcutTargetActivity.kt
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2023 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,14 +14,9 @@
* limitations under the License.
*/
-package com.android.systemui.scene.shared.model
+package com.android.systemui.accessibility
-/** Models a scene. */
-data class SceneModel(
+import android.app.Activity
- /** The key of the scene. */
- val key: SceneKey,
-
- /** An optional name for the transition that led to this scene being the current scene. */
- val transitionName: String? = null,
-)
+/** This is an empty activity that is used as an accessibility shortcut target activity. */
+class EmptyAccessibilityShortcutTargetActivity : Activity()
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/accessibility/data/repository/FakeAccessibilityQsShortcutsRepository.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/accessibility/data/repository/FakeAccessibilityQsShortcutsRepository.kt
index e547da1..e33a6f0 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/accessibility/data/repository/FakeAccessibilityQsShortcutsRepository.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/accessibility/data/repository/FakeAccessibilityQsShortcutsRepository.kt
@@ -16,11 +16,17 @@
package com.android.systemui.accessibility.data.repository
+import android.content.Context
+import com.android.systemui.qs.pipeline.shared.TileSpec
import kotlinx.coroutines.flow.MutableSharedFlow
import kotlinx.coroutines.flow.SharedFlow
import kotlinx.coroutines.flow.asSharedFlow
class FakeAccessibilityQsShortcutsRepository : AccessibilityQsShortcutsRepository {
+ private val mutableNotifyA11yManagerTilesChangedRequests =
+ mutableListOf<NotifyA11yManagerTilesChangedRequest>()
+ val notifyA11yManagerTilesChangedRequests: List<NotifyA11yManagerTilesChangedRequest> =
+ mutableNotifyA11yManagerTilesChangedRequests
private val targetsPerUser = mutableMapOf<Int, MutableSharedFlow<Set<String>>>()
@@ -28,6 +34,15 @@
return getFlow(userId).asSharedFlow()
}
+ override suspend fun notifyAccessibilityManagerTilesChanged(
+ userContext: Context,
+ tiles: List<TileSpec>
+ ) {
+ mutableNotifyA11yManagerTilesChangedRequests.add(
+ NotifyA11yManagerTilesChangedRequest(userContext, tiles)
+ )
+ }
+
/**
* Set the a11y qs shortcut targets. In real world, the A11y QS Shortcut targets are set by the
* Settings app not in SysUi
@@ -38,4 +53,9 @@
private fun getFlow(userId: Int): MutableSharedFlow<Set<String>> =
targetsPerUser.getOrPut(userId) { MutableSharedFlow(replay = 1) }
+
+ data class NotifyA11yManagerTilesChangedRequest(
+ val userContext: Context,
+ val tiles: List<TileSpec>
+ )
}
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/bouncer/domain/interactor/PrimaryBouncerInteractorKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/bouncer/domain/interactor/PrimaryBouncerInteractorKosmos.kt
index 244ef8d..3c61353 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/bouncer/domain/interactor/PrimaryBouncerInteractorKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/bouncer/domain/interactor/PrimaryBouncerInteractorKosmos.kt
@@ -34,7 +34,8 @@
import com.android.systemui.util.mockito.mock
var Kosmos.mockPrimaryBouncerInteractor by Kosmos.Fixture { mock<PrimaryBouncerInteractor>() }
-var Kosmos.primaryBouncerInteractor by
+
+val Kosmos.primaryBouncerInteractor by
Kosmos.Fixture {
PrimaryBouncerInteractor(
repository = keyguardBouncerRepository,
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/deviceentry/domain/interactor/BiometricMessageInteractorKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/deviceentry/domain/interactor/BiometricMessageInteractorKosmos.kt
new file mode 100644
index 0000000..77f48db
--- /dev/null
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/deviceentry/domain/interactor/BiometricMessageInteractorKosmos.kt
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.deviceentry.domain.interactor
+
+import android.content.res.mainResources
+import com.android.systemui.biometrics.domain.interactor.fingerprintPropertyInteractor
+import com.android.systemui.kosmos.Kosmos
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+
+@ExperimentalCoroutinesApi
+val Kosmos.biometricMessageInteractor by
+ Kosmos.Fixture {
+ BiometricMessageInteractor(
+ resources = mainResources,
+ fingerprintAuthInteractor = deviceEntryFingerprintAuthInteractor,
+ fingerprintPropertyInteractor = fingerprintPropertyInteractor,
+ faceAuthInteractor = deviceEntryFaceAuthInteractor,
+ biometricSettingsInteractor = deviceEntryBiometricSettingsInteractor,
+ )
+ }
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryBiometricSettingsInteractorKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryBiometricSettingsInteractorKosmos.kt
new file mode 100644
index 0000000..4fcf43a
--- /dev/null
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryBiometricSettingsInteractorKosmos.kt
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.deviceentry.domain.interactor
+
+import com.android.systemui.keyguard.data.repository.biometricSettingsRepository
+import com.android.systemui.kosmos.Kosmos
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+
+@ExperimentalCoroutinesApi
+val Kosmos.deviceEntryBiometricSettingsInteractor by
+ Kosmos.Fixture {
+ DeviceEntryBiometricSettingsInteractor(
+ repository = biometricSettingsRepository,
+ )
+ }
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/deviceentry/domain/interactor/OccludingAppDeviceEntryInteractorKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/deviceentry/domain/interactor/OccludingAppDeviceEntryInteractorKosmos.kt
new file mode 100644
index 0000000..c3f677e
--- /dev/null
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/deviceentry/domain/interactor/OccludingAppDeviceEntryInteractorKosmos.kt
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.deviceentry.domain.interactor
+
+import android.content.mockedContext
+import com.android.systemui.bouncer.domain.interactor.alternateBouncerInteractor
+import com.android.systemui.bouncer.domain.interactor.primaryBouncerInteractor
+import com.android.systemui.keyguard.data.repository.deviceEntryFingerprintAuthRepository
+import com.android.systemui.keyguard.domain.interactor.keyguardInteractor
+import com.android.systemui.kosmos.Kosmos
+import com.android.systemui.kosmos.applicationCoroutineScope
+import com.android.systemui.plugins.activityStarter
+import com.android.systemui.power.domain.interactor.powerInteractor
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+
+@ExperimentalCoroutinesApi
+val Kosmos.occludingAppDeviceEntryInteractor by
+ Kosmos.Fixture {
+ OccludingAppDeviceEntryInteractor(
+ biometricMessageInteractor = biometricMessageInteractor,
+ fingerprintAuthRepository = deviceEntryFingerprintAuthRepository,
+ keyguardInteractor = keyguardInteractor,
+ primaryBouncerInteractor = primaryBouncerInteractor,
+ alternateBouncerInteractor = alternateBouncerInteractor,
+ scope = applicationCoroutineScope,
+ context = mockedContext,
+ activityStarter = activityStarter,
+ powerInteractor = powerInteractor,
+ )
+ }
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/data/repository/KeyguardBlueprintRepositoryKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/data/repository/KeyguardBlueprintRepositoryKosmos.kt
index 19cd950..8452963 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/data/repository/KeyguardBlueprintRepositoryKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/data/repository/KeyguardBlueprintRepositoryKosmos.kt
@@ -16,17 +16,22 @@
package com.android.systemui.keyguard.data.repository
+import android.os.fakeExecutorHandler
import com.android.systemui.common.ui.data.repository.configurationRepository
import com.android.systemui.keyguard.shared.model.KeyguardBlueprint
import com.android.systemui.keyguard.shared.model.KeyguardSection
import com.android.systemui.keyguard.ui.view.layout.blueprints.DefaultKeyguardBlueprint.Companion.DEFAULT
import com.android.systemui.kosmos.Kosmos
+import com.android.systemui.util.ThreadAssert
+import com.android.systemui.util.mockito.mock
val Kosmos.keyguardBlueprintRepository by
Kosmos.Fixture {
KeyguardBlueprintRepository(
configurationRepository = configurationRepository,
blueprints = setOf(defaultBlueprint),
+ handler = fakeExecutorHandler,
+ assert = mock<ThreadAssert>(),
)
}
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/kosmos/KosmosJavaAdapter.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/kosmos/KosmosJavaAdapter.kt
index 10305f7..f6b3280 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/kosmos/KosmosJavaAdapter.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/kosmos/KosmosJavaAdapter.kt
@@ -43,6 +43,7 @@
import com.android.systemui.scene.domain.interactor.sceneInteractor
import com.android.systemui.scene.sceneContainerConfig
import com.android.systemui.scene.shared.flag.fakeSceneContainerFlags
+import com.android.systemui.scene.shared.model.sceneDataSource
import com.android.systemui.statusbar.phone.screenOffAnimationController
import com.android.systemui.statusbar.pipeline.mobile.data.repository.fakeMobileConnectionsRepository
import com.android.systemui.statusbar.policy.data.repository.fakeDeviceProvisioningRepository
@@ -90,6 +91,7 @@
val fromPrimaryBouncerTransitionInteractor by lazy {
kosmos.fromPrimaryBouncerTransitionInteractor
}
+ val sceneDataSource by lazy { kosmos.sceneDataSource }
init {
kosmos.applicationContext = testCase.context
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/scene/FakeSceneModule.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/scene/FakeSceneModule.kt
deleted file mode 100644
index 5d22a6e..0000000
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/scene/FakeSceneModule.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.systemui.scene
-
-import com.android.systemui.scene.shared.flag.FakeSceneContainerFlagsModule
-import com.android.systemui.scene.shared.model.FakeSceneContainerConfigModule
-import dagger.Module
-
-@Module(includes = [FakeSceneContainerConfigModule::class, FakeSceneContainerFlagsModule::class])
-object FakeSceneModule
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/scene/data/repository/SceneContainerRepositoryKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/scene/data/repository/SceneContainerRepositoryKosmos.kt
index e19941c..8734609 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/scene/data/repository/SceneContainerRepositoryKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/scene/data/repository/SceneContainerRepositoryKosmos.kt
@@ -17,8 +17,15 @@
package com.android.systemui.scene.data.repository
import com.android.systemui.kosmos.Kosmos
+import com.android.systemui.kosmos.Kosmos.Fixture
import com.android.systemui.kosmos.applicationCoroutineScope
import com.android.systemui.scene.sceneContainerConfig
+import com.android.systemui.scene.shared.model.sceneDataSource
-val Kosmos.sceneContainerRepository by
- Kosmos.Fixture { SceneContainerRepository(applicationCoroutineScope, sceneContainerConfig) }
+val Kosmos.sceneContainerRepository by Fixture {
+ SceneContainerRepository(
+ applicationScope = applicationCoroutineScope,
+ config = sceneContainerConfig,
+ dataSource = sceneDataSource,
+ )
+}
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/scene/shared/model/FakeSceneContainerConfigModule.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/scene/shared/model/FakeSceneContainerConfigModule.kt
deleted file mode 100644
index 8811b8d..0000000
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/scene/shared/model/FakeSceneContainerConfigModule.kt
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.systemui.scene.shared.model
-
-import dagger.Module
-import dagger.Provides
-
-@Module
-data class FakeSceneContainerConfigModule(
- @get:Provides
- val sceneContainerConfig: SceneContainerConfig =
- SceneContainerConfig(
- sceneKeys =
- listOf(
- SceneKey.QuickSettings,
- SceneKey.Shade,
- SceneKey.Lockscreen,
- SceneKey.Bouncer,
- SceneKey.Gone,
- SceneKey.Communal,
- ),
- initialSceneKey = SceneKey.Lockscreen,
- ),
-)
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/data/NotificationsDataKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/data/NotificationsDataKosmos.kt
new file mode 100644
index 0000000..a61f7ec
--- /dev/null
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/data/NotificationsDataKosmos.kt
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.statusbar.notification.data
+
+import com.android.settingslib.statusbar.notification.data.repository.FakeNotificationsSoundPolicyRepository
+import com.android.systemui.kosmos.Kosmos
+
+val Kosmos.notificationsSoundPolicyRepository by
+ Kosmos.Fixture { FakeNotificationsSoundPolicyRepository() }
diff --git a/ravenwood/bivalenttest/Android.bp b/ravenwood/bivalenttest/Android.bp
index acf8533..a6b6ed9 100644
--- a/ravenwood/bivalenttest/Android.bp
+++ b/ravenwood/bivalenttest/Android.bp
@@ -7,6 +7,30 @@
default_applicable_licenses: ["frameworks_base_license"],
}
+cc_library_shared {
+ name: "libravenwoodbivalenttest_jni",
+ host_supported: true,
+
+ cflags: [
+ "-Wall",
+ "-Werror",
+ "-Wno-unused-parameter",
+ "-Wthread-safety",
+ ],
+
+ srcs: [
+ "jni/*.cpp",
+ ],
+
+ shared_libs: [
+ "libbase",
+ "liblog",
+ "libnativehelper",
+ "libutils",
+ "libcutils",
+ ],
+}
+
android_ravenwood_test {
name: "RavenwoodBivalentTest",
@@ -18,6 +42,9 @@
srcs: [
"test/**/*.java",
],
+ jni_libs: [
+ "libravenwoodbivalenttest_jni",
+ ],
sdk_version: "test_current",
auto_gen_config: true,
}
@@ -38,6 +65,9 @@
"ravenwood-junit",
],
+ jni_libs: [
+ "libravenwoodbivalenttest_jni",
+ ],
test_suites: [
"device-tests",
],
diff --git a/ravenwood/bivalenttest/jni/ravenwood_core_test_jni.cpp b/ravenwood/bivalenttest/jni/ravenwood_core_test_jni.cpp
new file mode 100644
index 0000000..5e66b29
--- /dev/null
+++ b/ravenwood/bivalenttest/jni/ravenwood_core_test_jni.cpp
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <nativehelper/JNIHelp.h>
+#include "jni.h"
+#include "utils/Log.h"
+#include "utils/misc.h"
+
+static jint add(JNIEnv* env, jclass clazz, jint a, jint b) {
+ return a + b;
+}
+
+static const JNINativeMethod sMethods[] =
+{
+ { "add", "(II)I", (void*)add },
+};
+
+extern "C" jint JNI_OnLoad(JavaVM* vm, void* /* reserved */)
+{
+ JNIEnv* env = NULL;
+ jint result = -1;
+
+ if (vm->GetEnv((void**) &env, JNI_VERSION_1_4) != JNI_OK) {
+ ALOGE("GetEnv failed!");
+ return result;
+ }
+ ALOG_ASSERT(env, "Could not retrieve the env!");
+
+ ALOGI("%s: JNI_OnLoad", __FILE__);
+
+ int res = jniRegisterNativeMethods(env,
+ "com/android/platform/test/ravenwood/bivalenttest/RavenwoodJniTest",
+ sMethods, NELEM(sMethods));
+ if (res < 0) {
+ return res;
+ }
+
+ return JNI_VERSION_1_4;
+}
diff --git a/ravenwood/bivalenttest/test/com/android/platform/test/ravenwood/bivalenttest/RavenwoodJniTest.java b/ravenwood/bivalenttest/test/com/android/platform/test/ravenwood/bivalenttest/RavenwoodJniTest.java
new file mode 100644
index 0000000..3b106da
--- /dev/null
+++ b/ravenwood/bivalenttest/test/com/android/platform/test/ravenwood/bivalenttest/RavenwoodJniTest.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.platform.test.ravenwood.bivalenttest;
+
+import static junit.framework.Assert.assertEquals;
+
+import android.platform.test.ravenwood.RavenwoodRule;
+import android.platform.test.ravenwood.RavenwoodUtils;
+
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(AndroidJUnit4.class)
+public final class RavenwoodJniTest {
+ static {
+ RavenwoodUtils.loadJniLibrary("ravenwoodbivalenttest_jni");
+ }
+
+ @Rule
+ public final RavenwoodRule mRavenwood = new RavenwoodRule.Builder().build();
+
+ private static native int add(int a, int b);
+
+ @Test
+ public void testNativeMethod() {
+ assertEquals(5, add(2, 3));
+ }
+}
diff --git a/ravenwood/framework-minus-apex-ravenwood-policies.txt b/ravenwood/framework-minus-apex-ravenwood-policies.txt
index 2eef0cd..49cef07 100644
--- a/ravenwood/framework-minus-apex-ravenwood-policies.txt
+++ b/ravenwood/framework-minus-apex-ravenwood-policies.txt
@@ -9,124 +9,29 @@
# Keep all sysprops generated code implementations
class :sysprops stubclass
-# Collections
-class android.util.ArrayMap stubclass
-class android.util.ArraySet stubclass
-class android.util.LongSparseArray stubclass
-class android.util.SparseArrayMap stubclass
-class android.util.SparseArray stubclass
-class android.util.SparseBooleanArray stubclass
-class android.util.SparseIntArray stubclass
-class android.util.SparseLongArray stubclass
-class android.util.ContainerHelpers stubclass
-class android.util.EmptyArray stubclass
-class android.util.MapCollections stubclass
-
-# Logging
-class android.util.Log stubclass
-class android.util.Log !com.android.hoststubgen.nativesubstitution.Log_host
-class android.util.LogPrinter stubclass
-class android.util.LocalLog stubclass
-
-# String Manipulation
-class android.util.Printer stubclass
-class android.util.PrintStreamPrinter stubclass
-class android.util.PrintWriterPrinter stubclass
-class android.util.StringBuilderPrinter stubclass
-class android.util.IndentingPrintWriter stubclass
-
-# Properties
-class android.util.Property stubclass
-class android.util.FloatProperty stubclass
-class android.util.IntProperty stubclass
-class android.util.NoSuchPropertyException stubclass
-class android.util.ReflectiveProperty stubclass
-
-# Exceptions
-class android.util.AndroidException stubclass
-class android.util.AndroidRuntimeException stubclass
-
-# JSON
-class android.util.JsonReader stubclass
-class android.util.JsonWriter stubclass
-class android.util.MalformedJsonException stubclass
-
-# Base64
-class android.util.Base64 stubclass
-class android.util.Base64DataException stubclass
-class android.util.Base64InputStream stubclass
-class android.util.Base64OutputStream stubclass
-
-# Data Holders
-class android.util.MutableFloat stubclass
-class android.util.MutableShort stubclass
-class android.util.MutableBoolean stubclass
-class android.util.MutableByte stubclass
-class android.util.MutableChar stubclass
-class android.util.MutableDouble stubclass
-class android.util.Pair stubclass
-class android.util.Range stubclass
-class android.util.Rational stubclass
-class android.util.Size stubclass
-class android.util.SizeF stubclass
-
-# Proto
-class android.util.proto.EncodedBuffer stubclass
-class android.util.proto.ProtoInputStream stubclass
-class android.util.proto.ProtoOutputStream stubclass
-class android.util.proto.ProtoParseException stubclass
-class android.util.proto.ProtoStream stubclass
-class android.util.proto.ProtoUtils stubclass
-class android.util.proto.WireTypeMismatchException stubclass
-
-# Misc
-class android.util.BackupUtils stubclass
-class android.util.Dumpable stubclass
-class android.util.DebugUtils stubclass
-class android.util.MathUtils stubclass
-class android.util.Patterns stubclass
-class android.util.UtilConfig stubclass
-
-# Internals
-class com.android.internal.util.FileRotator stubclass
+# Exported to Mainline modules; cannot use annotations
class com.android.internal.util.FastXmlSerializer stubclass
+class com.android.internal.util.FileRotator stubclass
class com.android.internal.util.HexDump stubclass
+class com.android.internal.util.IndentingPrintWriter stubclass
+class com.android.internal.util.LocalLog stubclass
class com.android.internal.util.MessageUtils stubclass
-class com.android.internal.util.Preconditions stubclass
class com.android.internal.util.TokenBucket stubclass
-
-# Parcel
-class android.os.ParcelFormatException stubclass
-class android.os.BadParcelableException stubclass
-class android.os.BadTypeParcelableException stubclass
-
-# Binder
-class android.os.DeadObjectException stubclass
-class android.os.DeadSystemException stubclass
-class android.os.RemoteException stubclass
-class android.os.TransactionTooLargeException stubclass
-
-# Containers
-class android.os.BaseBundle stubclass
-class android.os.Bundle stubclass
-class android.os.PersistableBundle stubclass
-
-# Misc
class android.os.HandlerExecutor stubclass
-class android.os.PatternMatcher stubclass
-class android.os.ParcelUuid stubclass
+class android.util.BackupUtils stubclass
+class android.util.IndentingPrintWriter stubclass
+class android.util.LocalLog stubclass
+class android.util.Pair stubclass
+class android.util.Rational stubclass
-# Logging related interfaces from modules-utils
+# From modules-utils; cannot use annotations
+class com.android.internal.util.Preconditions stubclass
class com.android.internal.logging.InstanceId stubclass
class com.android.internal.logging.InstanceIdSequence stubclass
class com.android.internal.logging.UiEvent stubclass
class com.android.internal.logging.UiEventLogger stubclass
-# XML
-class com.android.internal.util.XmlPullParserWrapper stubclass
-class com.android.internal.util.XmlSerializerWrapper stubclass
-class com.android.internal.util.XmlUtils stubclass
-
+# From modules-utils; cannot use annotations
class com.android.modules.utils.BinaryXmlPullParser stubclass
class com.android.modules.utils.BinaryXmlSerializer stubclass
class com.android.modules.utils.FastDataInput stubclass
diff --git a/ravenwood/junit-src/android/platform/test/ravenwood/RavenwoodUtils.java b/ravenwood/junit-src/android/platform/test/ravenwood/RavenwoodUtils.java
new file mode 100644
index 0000000..b736a76
--- /dev/null
+++ b/ravenwood/junit-src/android/platform/test/ravenwood/RavenwoodUtils.java
@@ -0,0 +1,127 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package android.platform.test.ravenwood;
+
+import java.io.File;
+import java.io.PrintStream;
+import java.util.Arrays;
+
+/**
+ * Utilities for writing (bivalent) ravenwood tests.
+ */
+public class RavenwoodUtils {
+ private RavenwoodUtils() {
+ }
+
+ /**
+ * Load a JNI library respecting {@code java.library.path}
+ * (which reflects {@code LD_LIBRARY_PATH}).
+ *
+ * <p>{@code libname} must be the library filename without:
+ * - directory
+ * - "lib" prefix
+ * - and the ".so" extension
+ *
+ * <p>For example, in order to load "libmyjni.so", then pass "myjni".
+ *
+ * <p>This is basically the same thing as Java's {@link System#loadLibrary(String)},
+ * but this API works slightly different on ART and on the desktop Java, namely
+ * the desktop Java version uses a different entry point method name
+ * {@code JNI_OnLoad_libname()} (note the included "libname")
+ * while ART always seems to use {@code JNI_OnLoad()}.
+ *
+ * <p>This method provides the same behavior on both the device side and on Ravenwood --
+ * it uses {@code JNI_OnLoad()} as the entry point name on both.
+ */
+ public static void loadJniLibrary(String libname) {
+ if (RavenwoodRule.isOnRavenwood()) {
+ loadLibraryOnRavenwood(libname);
+ } else {
+ // Just delegate to the loadLibrary().
+ System.loadLibrary(libname);
+ }
+ }
+
+ private static void loadLibraryOnRavenwood(String libname) {
+ var path = System.getProperty("java.library.path");
+ var filename = "lib" + libname + ".so";
+
+ System.out.println("Looking for library " + libname + ".so in java.library.path:" + path);
+
+ try {
+ if (path == null) {
+ throw new UnsatisfiedLinkError("Cannot load library " + libname + "."
+ + " Property java.library.path not set!");
+ }
+ for (var dir : path.split(":")) {
+ var file = new File(dir + "/" + filename);
+ if (file.exists()) {
+ System.load(file.getAbsolutePath());
+ return;
+ }
+ }
+ throw new UnsatisfiedLinkError("Library " + libname + " no found in "
+ + "java.library.path: " + path);
+ } catch (Exception e) {
+ dumpFiles(System.out);
+ throw e;
+ }
+ }
+
+ private static void dumpFiles(PrintStream out) {
+ try {
+ var path = System.getProperty("java.library.path");
+ out.println("# java.library.path=" + path);
+
+ for (var dir : path.split(":")) {
+ listFiles(out, new File(dir), "");
+
+ var gparent = new File((new File(dir)).getAbsolutePath() + "../../..")
+ .getCanonicalFile();
+ if (gparent.getName().contains("testcases")) {
+ // Special case: if we found this directory, dump its contents too.
+ listFiles(out, gparent, "");
+ }
+ }
+ } catch (Throwable th) {
+ out.println("Error: " + th.toString());
+ th.printStackTrace(out);
+ }
+ }
+
+ private static void listFiles(PrintStream out, File dir, String prefix) {
+ if (!dir.isDirectory()) {
+ out.println(prefix + dir.getAbsolutePath() + " is not a directory!");
+ return;
+ }
+ out.println(prefix + ":" + dir.getAbsolutePath() + "/");
+ // First, list the files.
+ for (var file : Arrays.stream(dir.listFiles()).sorted().toList()) {
+ out.println(prefix + " " + file.getName() + "" + (file.isDirectory() ? "/" : ""));
+ }
+
+ // Then recurse.
+ if (dir.getAbsolutePath().startsWith("/usr") || dir.getAbsolutePath().startsWith("/lib")) {
+ // There would be too many files, so don't recurse.
+ return;
+ }
+ for (var file : Arrays.stream(dir.listFiles()).sorted().toList()) {
+ if (file.isDirectory()) {
+ listFiles(out, file, prefix + " ");
+ }
+ }
+ }
+}
diff --git a/ravenwood/ravenwood-annotation-allowed-classes.txt b/ravenwood/ravenwood-annotation-allowed-classes.txt
index 927ddd7..b5baef6 100644
--- a/ravenwood/ravenwood-annotation-allowed-classes.txt
+++ b/ravenwood/ravenwood-annotation-allowed-classes.txt
@@ -22,29 +22,98 @@
com.android.internal.power.EnergyConsumerStats
com.android.internal.power.ModemPowerProfile
+android.util.AndroidException
+android.util.AndroidRuntimeException
+android.util.ArrayMap
+android.util.ArraySet
android.util.AtomicFile
+android.util.BackupUtils
+android.util.Base64
+android.util.Base64DataException
+android.util.Base64InputStream
+android.util.Base64OutputStream
android.util.CloseGuard
+android.util.ContainerHelpers
android.util.DataUnit
android.util.DayOfMonthCursor
+android.util.DebugUtils
+android.util.Dumpable
android.util.DumpableContainer
+android.util.EmptyArray
android.util.EventLog
+android.util.FloatProperty
+android.util.FloatMath
+android.util.IndentingPrintWriter
android.util.IntArray
+android.util.IntProperty
+android.util.JsonReader
+android.util.JsonWriter
android.util.KeyValueListParser
+android.util.LocalLog
+android.util.Log
+android.util.LogPrinter
+android.util.LogWriter
android.util.LongArray
android.util.LongArrayQueue
+android.util.LongSparseArray
android.util.LongSparseLongArray
android.util.LruCache
+android.util.MalformedJsonException
+android.util.MapCollections
+android.util.MathUtils
android.util.MonthDisplayHelper
+android.util.MutableBoolean
+android.util.MutableByte
+android.util.MutableChar
+android.util.MutableDouble
+android.util.MutableFloat
+android.util.MutableInt
+android.util.MutableLong
+android.util.MutableShort
+android.util.NoSuchPropertyException
+android.util.Pair
+android.util.Patterns
+android.util.Pools
+android.util.PrefixPrinter
+android.util.PrefixPrintWriter
+android.util.Printer
+android.util.PrintStreamPrinter
+android.util.PrintWriterPrinter
+android.util.Property
+android.util.Range
+android.util.Rational
android.util.RecurrenceRule
+android.util.ReflectiveProperty
android.util.RotationUtils
android.util.Singleton
+android.util.Size
+android.util.SizeF
android.util.Slog
+android.util.SparseArray
+android.util.SparseArrayMap
+android.util.SparseBooleanArray
android.util.SparseDoubleArray
+android.util.SparseIntArray
+android.util.SparseLongArray
android.util.SparseSetArray
+android.util.StringBuilderPrinter
+android.util.TeeWriter
android.util.TimeUtils
+android.util.UtilConfig
android.util.Xml
+android.util.proto.EncodedBuffer
+android.util.proto.ProtoInputStream
+android.util.proto.ProtoOutputStream
+android.util.proto.ProtoParseException
+android.util.proto.ProtoStream
+android.util.proto.ProtoUtils
+android.util.proto.WireTypeMismatchException
+
android.os.AggregateBatteryConsumer
+android.os.BadParcelableException
+android.os.BadTypeParcelableException
+android.os.BaseBundle
android.os.BatteryConsumer
android.os.BatteryStats
android.os.BatteryStats$HistoryItem
@@ -59,8 +128,12 @@
android.os.BluetoothBatteryStats
android.os.Broadcaster
android.os.Build
+android.os.Bundle
android.os.BundleMerger
+android.os.CancellationSignal
android.os.ConditionVariable
+android.os.DeadObjectException
+android.os.DeadSystemException
android.os.FileUtils
android.os.FileUtils$MemoryPipe
android.os.Handler
@@ -75,9 +148,17 @@
android.os.ParcelFileDescriptor
android.os.ParcelFileDescriptor$AutoCloseInputStream
android.os.ParcelFileDescriptor$AutoCloseOutputStream
+android.os.ParcelFormatException
+android.os.ParcelUuid
android.os.Parcelable
+android.os.PatternMatcher
+android.os.PersistableBundle
android.os.PowerComponents
android.os.Process
+android.os.RemoteCallback
+android.os.RemoteCallbackList
+android.os.RemoteException
+android.os.ResultReceiver
android.os.ServiceSpecificException
android.os.StrictMode
android.os.SystemClock
@@ -86,6 +167,7 @@
android.os.ThreadLocalWorkSource
android.os.TimestampedValue
android.os.Trace
+android.os.TransactionTooLargeException
android.os.UserBatteryConsumer
android.os.UserBatteryConsumer$Builder
android.os.UidBatteryConsumer
@@ -181,6 +263,7 @@
com.android.internal.util.BitwiseInputStream
com.android.internal.util.BitwiseOutputStream
com.android.internal.util.CallbackRegistry
+com.android.internal.util.CollectionUtils
com.android.internal.util.DumpableContainer
com.android.internal.util.dump.DumpableContainerImpl
com.android.internal.util.DumpUtils
@@ -189,14 +272,22 @@
com.android.internal.util.FileRotator
com.android.internal.util.GrowingArrayUtils
com.android.internal.util.HeavyHitterSketch
+com.android.internal.util.HexDump
+com.android.internal.util.IntPair
com.android.internal.util.LineBreakBufferedWriter
+com.android.internal.util.MessageUtils
com.android.internal.util.ObjectUtils
com.android.internal.util.Parcelling
com.android.internal.util.ParseUtils
com.android.internal.util.ProcFileReader
com.android.internal.util.QuickSelect
com.android.internal.util.RingBuffer
+com.android.internal.util.SizedInputStream
com.android.internal.util.StringPool
+com.android.internal.util.TokenBucket
+com.android.internal.util.XmlPullParserWrapper
+com.android.internal.util.XmlSerializerWrapper
+com.android.internal.util.XmlUtils
com.android.internal.os.BackgroundThread
com.android.internal.os.BinderCallHeavyHitterWatcher
diff --git a/services/Android.bp b/services/Android.bp
index 7e8333c..8709692 100644
--- a/services/Android.bp
+++ b/services/Android.bp
@@ -150,17 +150,49 @@
srcs: ["core/java/com/android/server/utils/Slogf.java"],
}
+soong_config_module_type {
+ name: "art_profile_java_defaults",
+ module_type: "java_defaults",
+ config_namespace: "art_profile",
+ variables: ["services_profile_path"],
+ properties: ["dex_preopt"],
+}
+
+soong_config_string_variable {
+ name: "services_profile_path",
+ values: ["art_wear_profile"],
+}
+
+art_profile_java_defaults {
+ name: "art_profile_java_defaults",
+ soong_config_variables: {
+ services_profile_path: {
+ art_wear_profile: {
+ dex_preopt: {
+ app_image: true,
+ profile: "art-wear-profile",
+ },
+ },
+ conditions_default: {
+ dex_preopt: {
+ app_image: true,
+ profile: "art-profile",
+ },
+ },
+ },
+ },
+}
+
// merge all required services into one jar
// ============================================================
java_library {
name: "services",
- defaults: ["services_java_defaults"],
+ defaults: [
+ "services_java_defaults",
+ "art_profile_java_defaults",
+ ],
installable: true,
- dex_preopt: {
- app_image: true,
- profile: "art-profile",
- },
exclude_kotlinc_generated_files: true,
srcs: [":services-main-sources"],
diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
index 87b57b0..3442a6a 100644
--- a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
+++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
@@ -1746,6 +1746,23 @@
}
}
+ @Override
+ @RequiresPermission(Manifest.permission.STATUS_BAR_SERVICE)
+ public void notifyQuickSettingsTilesChanged(
+ @UserIdInt int userId, List<ComponentName> tileComponentNames) {
+ mSecurityPolicy.enforceCallingPermission(
+ Manifest.permission.STATUS_BAR_SERVICE,
+ /* function= */ "notifyQuickSettingsTilesChanged");
+
+ Slog.d(LOG_TAG, TextUtils.formatSimple(
+ "notifyQuickSettingsTilesChanged userId: %d, tileComponentNames: %s",
+ userId, tileComponentNames));
+ // TODO (b/314843909): in the follow up cl
+ // update in-memory copy of QS_TILES in AccessibilityManager
+ // update Settings.Secure.ACCESSIBILITY_QS_TARGETS and its in-memory copy
+ // show full device control warning if needed (b/314850435)
+ }
+
/**
* Called when a gesture is detected on a display by the framework.
*
diff --git a/services/art-wear-profile b/services/art-wear-profile
new file mode 100644
index 0000000..47bdb13
--- /dev/null
+++ b/services/art-wear-profile
@@ -0,0 +1,30150 @@
+Landroid/content/pm/PackageManagerInternal$ExternalSourcesPolicy;
+Landroid/content/pm/PackageManagerInternal;
+Landroid/content/pm/TestUtilityService;
+Landroid/hardware/light/HwLight$1;
+Landroid/hardware/light/HwLight;
+Landroid/hardware/light/ILights$Stub$Proxy;
+Landroid/hardware/light/ILights$Stub;
+Landroid/hardware/light/ILights;
+Landroid/hardware/power/stats/Channel$1;
+Landroid/hardware/power/stats/Channel;
+Landroid/hardware/power/stats/EnergyConsumer;
+Landroid/hardware/power/stats/EnergyMeasurement$1;
+Landroid/hardware/power/stats/EnergyMeasurement;
+Landroid/hardware/power/stats/IPowerStats;
+Landroid/hardware/power/stats/PowerEntity$1;
+Landroid/hardware/power/stats/PowerEntity;
+Landroid/hardware/power/stats/State$1;
+Landroid/hardware/power/stats/State;
+Landroid/hardware/power/stats/StateResidency$1;
+Landroid/hardware/power/stats/StateResidency;
+Landroid/hardware/power/stats/StateResidencyResult$1;
+Landroid/hardware/power/stats/StateResidencyResult;
+Landroid/hidl/base/V1_0/IBase;
+Landroid/hidl/manager/V1_0/IServiceManager$Proxy;
+Landroid/hidl/manager/V1_0/IServiceManager;
+Landroid/hidl/manager/V1_0/IServiceNotification$Stub;
+Landroid/hidl/manager/V1_0/IServiceNotification;
+Landroid/net/ConnectivityModuleConnector$Dependencies;
+Landroid/net/ConnectivityModuleConnector$DependenciesImpl;
+Landroid/net/ConnectivityModuleConnector;
+Landroid/os/BatteryStatsInternal;
+Landroid/power/PowerStatsInternal;
+Landroid/sysprop/SurfaceFlingerProperties;
+Lcom/android/modules/utils/build/SdkLevel;
+Lcom/android/modules/utils/build/UnboundedSdkLevel;
+Lcom/android/server/AnimationThread;
+Lcom/android/server/AppFuseMountException;
+Lcom/android/server/BundleUtils;
+Lcom/android/server/ConsumerIrService;
+Lcom/android/server/DisplayThread;
+Lcom/android/server/EventLogTags;
+Lcom/android/server/ExplicitHealthCheckController;
+Lcom/android/server/FgThread;
+Lcom/android/server/HardwarePropertiesManagerService;
+Lcom/android/server/IntentResolver$1;
+Lcom/android/server/IntentResolver;
+Lcom/android/server/IoThread;
+Lcom/android/server/LocalManagerRegistry$ManagerNotFoundException;
+Lcom/android/server/LocalManagerRegistry;
+Lcom/android/server/LockGuard$LockInfo-IA;
+Lcom/android/server/LockGuard$LockInfo;
+Lcom/android/server/LockGuard;
+Lcom/android/server/PackageWatchdog$$ExternalSyntheticLambda0;
+Lcom/android/server/PackageWatchdog$$ExternalSyntheticLambda6;
+Lcom/android/server/PackageWatchdog$$ExternalSyntheticLambda7;
+Lcom/android/server/PackageWatchdog$$ExternalSyntheticLambda8;
+Lcom/android/server/PackageWatchdog$$ExternalSyntheticLambda9;
+Lcom/android/server/PackageWatchdog$BootThreshold;
+Lcom/android/server/PackageWatchdog$ObserverInternal;
+Lcom/android/server/PackageWatchdog$PackageHealthObserver;
+Lcom/android/server/PackageWatchdog$SystemClock;
+Lcom/android/server/PackageWatchdog;
+Lcom/android/server/RescueParty$RescuePartyObserver;
+Lcom/android/server/RescueParty;
+Lcom/android/server/SerialService;
+Lcom/android/server/ServiceThread;
+Lcom/android/server/SystemClockTime;
+Lcom/android/server/SystemConfig$PermissionEntry;
+Lcom/android/server/SystemConfig$SharedLibraryEntry;
+Lcom/android/server/SystemConfig;
+Lcom/android/server/SystemServer$$ExternalSyntheticLambda0;
+Lcom/android/server/SystemServer$$ExternalSyntheticLambda1;
+Lcom/android/server/SystemServer$$ExternalSyntheticLambda2;
+Lcom/android/server/SystemServer$SystemServerDumper;
+Lcom/android/server/SystemServer;
+Lcom/android/server/SystemServerInitThreadPool$$ExternalSyntheticLambda1;
+Lcom/android/server/SystemServerInitThreadPool;
+Lcom/android/server/SystemService;
+Lcom/android/server/SystemServiceManager;
+Lcom/android/server/SystemTimeZone;
+Lcom/android/server/ThreadPriorityBooster$1;
+Lcom/android/server/ThreadPriorityBooster$PriorityState;
+Lcom/android/server/ThreadPriorityBooster;
+Lcom/android/server/UiThread;
+Lcom/android/server/Watchdog$$ExternalSyntheticLambda0;
+Lcom/android/server/Watchdog$1;
+Lcom/android/server/Watchdog$BinderThreadMonitor;
+Lcom/android/server/Watchdog$HandlerChecker;
+Lcom/android/server/Watchdog$HandlerCheckerAndTimeout;
+Lcom/android/server/Watchdog$Monitor;
+Lcom/android/server/Watchdog$RebootRequestReceiver;
+Lcom/android/server/Watchdog$SettingsObserver;
+Lcom/android/server/Watchdog;
+Lcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda35;
+Lcom/android/server/accessibility/BrailleDisplayConnection;
+Lcom/android/server/adb/AdbDebuggingManager$PairingThread;
+Lcom/android/server/am/ActiveServices$1;
+Lcom/android/server/am/ActiveServices$5;
+Lcom/android/server/am/ActiveServices$MediaProjectionFgsTypeCustomPermission;
+Lcom/android/server/am/ActiveServices$ProcessAnrTimer;
+Lcom/android/server/am/ActiveServices$ServiceAnrTimer;
+Lcom/android/server/am/ActiveServices$ServiceMap;
+Lcom/android/server/am/ActiveServices$ServiceRestarter;
+Lcom/android/server/am/ActiveServices$SystemExemptedFgsTypePermission;
+Lcom/android/server/am/ActiveServices;
+Lcom/android/server/am/ActiveUids;
+Lcom/android/server/am/ActivityManagerConstants$1;
+Lcom/android/server/am/ActivityManagerConstants$2;
+Lcom/android/server/am/ActivityManagerConstants;
+Lcom/android/server/am/ActivityManagerGlobalLock;
+Lcom/android/server/am/ActivityManagerLocal;
+Lcom/android/server/am/ActivityManagerProcLock;
+Lcom/android/server/am/ActivityManagerService$$ExternalSyntheticLambda20;
+Lcom/android/server/am/ActivityManagerService$12;
+Lcom/android/server/am/ActivityManagerService$13;
+Lcom/android/server/am/ActivityManagerService$16;
+Lcom/android/server/am/ActivityManagerService$1;
+Lcom/android/server/am/ActivityManagerService$2;
+Lcom/android/server/am/ActivityManagerService$3;
+Lcom/android/server/am/ActivityManagerService$6;
+Lcom/android/server/am/ActivityManagerService$8;
+Lcom/android/server/am/ActivityManagerService$FgsTempAllowListItem;
+Lcom/android/server/am/ActivityManagerService$GetBackgroundStartPrivilegesFunctor;
+Lcom/android/server/am/ActivityManagerService$HiddenApiSettings;
+Lcom/android/server/am/ActivityManagerService$Injector;
+Lcom/android/server/am/ActivityManagerService$IntentFirewallInterface;
+Lcom/android/server/am/ActivityManagerService$Lifecycle;
+Lcom/android/server/am/ActivityManagerService$LocalService;
+Lcom/android/server/am/ActivityManagerService$MainHandler$1;
+Lcom/android/server/am/ActivityManagerService$MainHandler;
+Lcom/android/server/am/ActivityManagerService$PidMap;
+Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;
+Lcom/android/server/am/ActivityManagerService$UiHandler;
+Lcom/android/server/am/ActivityManagerService;
+Lcom/android/server/am/ActivityManagerShellCommand;
+Lcom/android/server/am/AnrHelper$$ExternalSyntheticLambda0;
+Lcom/android/server/am/AnrHelper$$ExternalSyntheticLambda1;
+Lcom/android/server/am/AnrHelper$AnrConsumerThread;
+Lcom/android/server/am/AnrHelper;
+Lcom/android/server/am/AppBatteryExemptionTracker$AppBatteryExemptionPolicy;
+Lcom/android/server/am/AppBatteryExemptionTracker$UidBatteryStates;
+Lcom/android/server/am/AppBatteryExemptionTracker;
+Lcom/android/server/am/AppBatteryTracker$$ExternalSyntheticLambda0;
+Lcom/android/server/am/AppBatteryTracker$$ExternalSyntheticLambda1;
+Lcom/android/server/am/AppBatteryTracker$AppBatteryPolicy;
+Lcom/android/server/am/AppBatteryTracker$BatteryUsage;
+Lcom/android/server/am/AppBatteryTracker$ImmutableBatteryUsage;
+Lcom/android/server/am/AppBatteryTracker;
+Lcom/android/server/am/AppBindServiceEventsTracker$AppBindServiceEventsPolicy;
+Lcom/android/server/am/AppBindServiceEventsTracker;
+Lcom/android/server/am/AppBroadcastEventsTracker$AppBroadcastEventsPolicy;
+Lcom/android/server/am/AppBroadcastEventsTracker;
+Lcom/android/server/am/AppErrors;
+Lcom/android/server/am/AppExitInfoTracker$1;
+Lcom/android/server/am/AppExitInfoTracker$2;
+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;
+Lcom/android/server/am/AppFGSTracker$1;
+Lcom/android/server/am/AppFGSTracker$AppFGSPolicy;
+Lcom/android/server/am/AppFGSTracker$MyHandler;
+Lcom/android/server/am/AppFGSTracker$NotificationListener;
+Lcom/android/server/am/AppFGSTracker$PackageDurations;
+Lcom/android/server/am/AppFGSTracker;
+Lcom/android/server/am/AppMediaSessionTracker$$ExternalSyntheticLambda0;
+Lcom/android/server/am/AppMediaSessionTracker$AppMediaSessionPolicy;
+Lcom/android/server/am/AppMediaSessionTracker;
+Lcom/android/server/am/AppPermissionTracker$AppPermissionPolicy;
+Lcom/android/server/am/AppPermissionTracker$MyHandler;
+Lcom/android/server/am/AppPermissionTracker;
+Lcom/android/server/am/AppProfiler$$ExternalSyntheticLambda0;
+Lcom/android/server/am/AppProfiler$1;
+Lcom/android/server/am/AppProfiler$BgHandler;
+Lcom/android/server/am/AppProfiler$CachedAppsWatermarkData;
+Lcom/android/server/am/AppProfiler$ProcessCpuThread;
+Lcom/android/server/am/AppProfiler$ProfileData;
+Lcom/android/server/am/AppProfiler;
+Lcom/android/server/am/AppRestrictionController$$ExternalSyntheticLambda1;
+Lcom/android/server/am/AppRestrictionController$1;
+Lcom/android/server/am/AppRestrictionController$2;
+Lcom/android/server/am/AppRestrictionController$3;
+Lcom/android/server/am/AppRestrictionController$4;
+Lcom/android/server/am/AppRestrictionController$5;
+Lcom/android/server/am/AppRestrictionController$BgHandler;
+Lcom/android/server/am/AppRestrictionController$ConstantsObserver;
+Lcom/android/server/am/AppRestrictionController$Injector;
+Lcom/android/server/am/AppRestrictionController$NotificationHelper$1;
+Lcom/android/server/am/AppRestrictionController$NotificationHelper;
+Lcom/android/server/am/AppRestrictionController$RestrictionSettings;
+Lcom/android/server/am/AppRestrictionController$TrackerInfo;
+Lcom/android/server/am/AppRestrictionController$UidBatteryUsageProvider;
+Lcom/android/server/am/AppRestrictionController;
+Lcom/android/server/am/AppStartInfoTracker$1;
+Lcom/android/server/am/AppStartInfoTracker$2;
+Lcom/android/server/am/AppStartInfoTracker;
+Lcom/android/server/am/BaseAppStateDurations;
+Lcom/android/server/am/BaseAppStateDurationsTracker$SimplePackageDurations;
+Lcom/android/server/am/BaseAppStateDurationsTracker$UidStateDurations;
+Lcom/android/server/am/BaseAppStateDurationsTracker;
+Lcom/android/server/am/BaseAppStateEvents$Factory;
+Lcom/android/server/am/BaseAppStateEvents$MaxTrackingDurationConfig;
+Lcom/android/server/am/BaseAppStateEvents;
+Lcom/android/server/am/BaseAppStateEventsTracker$BaseAppStateEventsPolicy;
+Lcom/android/server/am/BaseAppStateEventsTracker;
+Lcom/android/server/am/BaseAppStatePolicy;
+Lcom/android/server/am/BaseAppStateTimeEvents;
+Lcom/android/server/am/BaseAppStateTimeSlotEvents;
+Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker$BaseAppStateTimeSlotEventsPolicy;
+Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker$H;
+Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker$SimpleAppStateTimeslotEvents;
+Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker;
+Lcom/android/server/am/BaseAppStateTracker$Injector;
+Lcom/android/server/am/BaseAppStateTracker$StateListener;
+Lcom/android/server/am/BaseAppStateTracker;
+Lcom/android/server/am/BaseErrorDialog;
+Lcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda14;
+Lcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda15;
+Lcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda16;
+Lcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda33;
+Lcom/android/server/am/BatteryStatsService$1;
+Lcom/android/server/am/BatteryStatsService$2;
+Lcom/android/server/am/BatteryStatsService$3;
+Lcom/android/server/am/BatteryStatsService$LocalService;
+Lcom/android/server/am/BatteryStatsService$WakeupReasonThread;
+Lcom/android/server/am/BatteryStatsService;
+Lcom/android/server/am/BroadcastConstants$SettingsObserver;
+Lcom/android/server/am/BroadcastConstants;
+Lcom/android/server/am/BroadcastDeliveryFailedException;
+Lcom/android/server/am/BroadcastFilter;
+Lcom/android/server/am/BroadcastHistory;
+Lcom/android/server/am/BroadcastProcessQueue$BroadcastConsumer;
+Lcom/android/server/am/BroadcastProcessQueue$BroadcastPredicate;
+Lcom/android/server/am/BroadcastProcessQueue;
+Lcom/android/server/am/BroadcastQueue;
+Lcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda12;
+Lcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda13;
+Lcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda14;
+Lcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda15;
+Lcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda16;
+Lcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda17;
+Lcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda6;
+Lcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda7;
+Lcom/android/server/am/BroadcastQueueModernImpl$BroadcastAnrTimer;
+Lcom/android/server/am/BroadcastQueueModernImpl;
+Lcom/android/server/am/BroadcastRecord;
+Lcom/android/server/am/BroadcastRetryException;
+Lcom/android/server/am/BroadcastSkipPolicy;
+Lcom/android/server/am/CacheOomRanker$1;
+Lcom/android/server/am/CacheOomRanker$CacheUseComparator;
+Lcom/android/server/am/CacheOomRanker$LastActivityTimeComparator;
+Lcom/android/server/am/CacheOomRanker$LastRssComparator;
+Lcom/android/server/am/CacheOomRanker$ProcessDependencies;
+Lcom/android/server/am/CacheOomRanker$ProcessDependenciesImpl;
+Lcom/android/server/am/CacheOomRanker$RssComparator;
+Lcom/android/server/am/CacheOomRanker$ScoreComparator;
+Lcom/android/server/am/CacheOomRanker;
+Lcom/android/server/am/CachedAppOptimizer$1;
+Lcom/android/server/am/CachedAppOptimizer$2;
+Lcom/android/server/am/CachedAppOptimizer$3;
+Lcom/android/server/am/CachedAppOptimizer$4;
+Lcom/android/server/am/CachedAppOptimizer$AggregatedCompactionStats;
+Lcom/android/server/am/CachedAppOptimizer$AggregatedProcessCompactionStats;
+Lcom/android/server/am/CachedAppOptimizer$AggregatedSourceCompactionStats;
+Lcom/android/server/am/CachedAppOptimizer$CancelCompactReason;
+Lcom/android/server/am/CachedAppOptimizer$CompactProfile;
+Lcom/android/server/am/CachedAppOptimizer$CompactSource;
+Lcom/android/server/am/CachedAppOptimizer$DefaultProcessDependencies;
+Lcom/android/server/am/CachedAppOptimizer$FreezeHandler;
+Lcom/android/server/am/CachedAppOptimizer$MemCompactionHandler;
+Lcom/android/server/am/CachedAppOptimizer$ProcessDependencies;
+Lcom/android/server/am/CachedAppOptimizer$PropertyChangedCallbackForTest;
+Lcom/android/server/am/CachedAppOptimizer$SettingsContentObserver;
+Lcom/android/server/am/CachedAppOptimizer;
+Lcom/android/server/am/ComponentAliasResolver$1;
+Lcom/android/server/am/ComponentAliasResolver;
+Lcom/android/server/am/ContentProviderConnection;
+Lcom/android/server/am/ContentProviderHelper;
+Lcom/android/server/am/DropboxRateLimiter$Clock;
+Lcom/android/server/am/DropboxRateLimiter$DefaultClock;
+Lcom/android/server/am/DropboxRateLimiter;
+Lcom/android/server/am/FgsTempAllowList;
+Lcom/android/server/am/ForegroundServiceTypeLoggerModule;
+Lcom/android/server/am/HostingRecord;
+Lcom/android/server/am/InstrumentationReporter$MyThread;
+Lcom/android/server/am/InstrumentationReporter;
+Lcom/android/server/am/LmkdConnection$LmkdConnectionListener;
+Lcom/android/server/am/LmkdConnection;
+Lcom/android/server/am/LowMemDetector$LowMemThread;
+Lcom/android/server/am/LowMemDetector;
+Lcom/android/server/am/NativeCrashListener;
+Lcom/android/server/am/OomAdjProfiler$$ExternalSyntheticLambda0;
+Lcom/android/server/am/OomAdjProfiler$CpuTimes;
+Lcom/android/server/am/OomAdjProfiler;
+Lcom/android/server/am/OomAdjuster$$ExternalSyntheticLambda0;
+Lcom/android/server/am/OomAdjuster$1;
+Lcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback;
+Lcom/android/server/am/OomAdjuster;
+Lcom/android/server/am/OomAdjusterModernImpl;
+Lcom/android/server/am/OomConnection$OomConnectionListener;
+Lcom/android/server/am/OomConnection$OomConnectionThread;
+Lcom/android/server/am/OomConnection;
+Lcom/android/server/am/PendingIntentController;
+Lcom/android/server/am/PendingIntentRecord;
+Lcom/android/server/am/PendingStartActivityUids;
+Lcom/android/server/am/PendingTempAllowlists;
+Lcom/android/server/am/PhantomProcessList$Injector;
+Lcom/android/server/am/PhantomProcessList;
+Lcom/android/server/am/PreBootBroadcaster;
+Lcom/android/server/am/ProcessList$$ExternalSyntheticLambda4;
+Lcom/android/server/am/ProcessList$1;
+Lcom/android/server/am/ProcessList$2;
+Lcom/android/server/am/ProcessList$ImperceptibleKillRunner$H;
+Lcom/android/server/am/ProcessList$ImperceptibleKillRunner$IdlenessReceiver;
+Lcom/android/server/am/ProcessList$ImperceptibleKillRunner;
+Lcom/android/server/am/ProcessList$IsolatedUidRange;
+Lcom/android/server/am/ProcessList$IsolatedUidRangeAllocator;
+Lcom/android/server/am/ProcessList$KillHandler;
+Lcom/android/server/am/ProcessList$MyProcessMap;
+Lcom/android/server/am/ProcessList$ProcStartHandler;
+Lcom/android/server/am/ProcessList;
+Lcom/android/server/am/ProcessRecord;
+Lcom/android/server/am/ProcessStatsService$1;
+Lcom/android/server/am/ProcessStatsService$3;
+Lcom/android/server/am/ProcessStatsService$4;
+Lcom/android/server/am/ProcessStatsService$LocalService;
+Lcom/android/server/am/ProcessStatsService;
+Lcom/android/server/am/ProviderMap;
+Lcom/android/server/am/ReceiverList;
+Lcom/android/server/am/ServiceRecord;
+Lcom/android/server/am/TraceErrorLogger;
+Lcom/android/server/am/UidObserverController$$ExternalSyntheticLambda0;
+Lcom/android/server/am/UidObserverController$ChangeRecord;
+Lcom/android/server/am/UidObserverController;
+Lcom/android/server/am/UidProcessMap;
+Lcom/android/server/am/UserController$1;
+Lcom/android/server/am/UserController$Injector$1;
+Lcom/android/server/am/UserController$Injector;
+Lcom/android/server/am/UserController$UserProgressListener;
+Lcom/android/server/am/UserController;
+Lcom/android/server/am/UserState;
+Lcom/android/server/app/GameManagerService;
+Lcom/android/server/appop/AppOpMigrationHelper;
+Lcom/android/server/appop/AppOpMigrationHelperImpl;
+Lcom/android/server/appop/AppOpsCheckingServiceImpl;
+Lcom/android/server/appop/AppOpsCheckingServiceInterface$AppOpsModeChangedListener;
+Lcom/android/server/appop/AppOpsCheckingServiceInterface;
+Lcom/android/server/appop/AppOpsCheckingServiceTracingDecorator;
+Lcom/android/server/appop/AppOpsManagerLocal;
+Lcom/android/server/appop/AppOpsRestrictions$AppOpsRestrictionRemovedListener;
+Lcom/android/server/appop/AppOpsRestrictions;
+Lcom/android/server/appop/AppOpsRestrictionsImpl;
+Lcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda4;
+Lcom/android/server/appop/AppOpsService$1$1;
+Lcom/android/server/appop/AppOpsService$1;
+Lcom/android/server/appop/AppOpsService$2;
+Lcom/android/server/appop/AppOpsService$3;
+Lcom/android/server/appop/AppOpsService$4;
+Lcom/android/server/appop/AppOpsService$8;
+Lcom/android/server/appop/AppOpsService$AppOpsManagerInternalImpl-IA;
+Lcom/android/server/appop/AppOpsService$AppOpsManagerInternalImpl;
+Lcom/android/server/appop/AppOpsService$AppOpsManagerLocalImpl;
+Lcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher;
+Lcom/android/server/appop/AppOpsService$Constants;
+Lcom/android/server/appop/AppOpsService$ModeCallback;
+Lcom/android/server/appop/AppOpsService$Op;
+Lcom/android/server/appop/AppOpsService$Ops;
+Lcom/android/server/appop/AppOpsService$Shell;
+Lcom/android/server/appop/AppOpsService$UidState;
+Lcom/android/server/appop/AppOpsService;
+Lcom/android/server/appop/AppOpsUidStateTracker;
+Lcom/android/server/appop/AppOpsUidStateTrackerImpl;
+Lcom/android/server/appop/AttributedOp$InProgressStartOpEventPool;
+Lcom/android/server/appop/AttributedOp$OpEventProxyInfoPool;
+Lcom/android/server/appop/AttributedOp;
+Lcom/android/server/appop/AudioRestrictionManager;
+Lcom/android/server/appop/DiscreteRegistry$DiscreteOps;
+Lcom/android/server/appop/DiscreteRegistry;
+Lcom/android/server/appop/HistoricalRegistry$1;
+Lcom/android/server/appop/HistoricalRegistry;
+Lcom/android/server/appop/OnOpModeChangedListener;
+Lcom/android/server/biometrics/sensors/face/FaceService;
+Lcom/android/server/broadcastradio/hal1/BroadcastRadioService;
+Lcom/android/server/broadcastradio/hal1/Convert;
+Lcom/android/server/broadcastradio/hal1/Tuner;
+Lcom/android/server/broadcastradio/hal1/TunerCallback;
+Lcom/android/server/companion/virtual/InputController;
+Lcom/android/server/compat/CompatChange$ChangeListener;
+Lcom/android/server/compat/CompatChange;
+Lcom/android/server/compat/CompatConfig;
+Lcom/android/server/compat/OverrideValidatorImpl$SettingsObserver;
+Lcom/android/server/compat/OverrideValidatorImpl;
+Lcom/android/server/compat/PlatformCompat$1;
+Lcom/android/server/compat/PlatformCompat;
+Lcom/android/server/compat/PlatformCompatNative;
+Lcom/android/server/compat/config/Change;
+Lcom/android/server/compat/config/Config;
+Lcom/android/server/compat/config/XmlParser;
+Lcom/android/server/connectivity/Vpn;
+Lcom/android/server/coverage/CoverageService;
+Lcom/android/server/criticalevents/CriticalEventLog$$ExternalSyntheticLambda0;
+Lcom/android/server/criticalevents/CriticalEventLog$$ExternalSyntheticLambda1;
+Lcom/android/server/criticalevents/CriticalEventLog$ILogLoader;
+Lcom/android/server/criticalevents/CriticalEventLog$LogLoader;
+Lcom/android/server/criticalevents/CriticalEventLog$ThreadSafeRingBuffer;
+Lcom/android/server/criticalevents/CriticalEventLog;
+Lcom/android/server/devicepolicy/CryptoTestHelper;
+Lcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;
+Lcom/android/server/display/BrightnessMappingStrategy$SimpleMappingStrategy;
+Lcom/android/server/display/BrightnessMappingStrategy;
+Lcom/android/server/display/DeviceStateToLayoutMap;
+Lcom/android/server/display/DisplayAdapter$$ExternalSyntheticLambda0;
+Lcom/android/server/display/DisplayAdapter$$ExternalSyntheticLambda1;
+Lcom/android/server/display/DisplayAdapter$Listener;
+Lcom/android/server/display/DisplayAdapter;
+Lcom/android/server/display/DisplayBlanker;
+Lcom/android/server/display/DisplayControl;
+Lcom/android/server/display/DisplayDevice;
+Lcom/android/server/display/DisplayDeviceConfig;
+Lcom/android/server/display/DisplayDeviceInfo;
+Lcom/android/server/display/DisplayDeviceRepository$Listener;
+Lcom/android/server/display/DisplayDeviceRepository;
+Lcom/android/server/display/DisplayGroup;
+Lcom/android/server/display/DisplayInfoProxy;
+Lcom/android/server/display/DisplayManagerService$1;
+Lcom/android/server/display/DisplayManagerService$2;
+Lcom/android/server/display/DisplayManagerService$BinderService;
+Lcom/android/server/display/DisplayManagerService$BrightnessPair;
+Lcom/android/server/display/DisplayManagerService$DisplayManagerHandler;
+Lcom/android/server/display/DisplayManagerService$ExternalDisplayPolicyInjector;
+Lcom/android/server/display/DisplayManagerService$Injector;
+Lcom/android/server/display/DisplayManagerService$LocalService;
+Lcom/android/server/display/DisplayManagerService$LogicalDisplayListener;
+Lcom/android/server/display/DisplayManagerService$SyncRoot;
+Lcom/android/server/display/DisplayManagerService$UidImportanceListener;
+Lcom/android/server/display/DisplayManagerService;
+Lcom/android/server/display/DisplayManagerShellCommand;
+Lcom/android/server/display/ExternalDisplayPolicy$Injector;
+Lcom/android/server/display/ExternalDisplayPolicy$SkinThermalStatusObserver;
+Lcom/android/server/display/ExternalDisplayPolicy;
+Lcom/android/server/display/HighBrightnessModeMetadataMapper;
+Lcom/android/server/display/LocalDisplayAdapter$BacklightAdapter;
+Lcom/android/server/display/LocalDisplayAdapter$DisplayEventListener;
+Lcom/android/server/display/LocalDisplayAdapter$DisplayModeRecord;
+Lcom/android/server/display/LocalDisplayAdapter$Injector;
+Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;
+Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayEventListener;
+Lcom/android/server/display/LocalDisplayAdapter$ProxyDisplayEventReceiver;
+Lcom/android/server/display/LocalDisplayAdapter$SurfaceControlProxy;
+Lcom/android/server/display/LocalDisplayAdapter;
+Lcom/android/server/display/LogicalDisplay;
+Lcom/android/server/display/LogicalDisplayMapper$$ExternalSyntheticLambda0;
+Lcom/android/server/display/LogicalDisplayMapper$$ExternalSyntheticLambda3;
+Lcom/android/server/display/LogicalDisplayMapper$Listener;
+Lcom/android/server/display/LogicalDisplayMapper$LogicalDisplayMapperHandler;
+Lcom/android/server/display/LogicalDisplayMapper;
+Lcom/android/server/display/OverlayDisplayAdapter;
+Lcom/android/server/display/PersistentDataStore$BrightnessConfigurations;
+Lcom/android/server/display/PersistentDataStore$DisplayState;
+Lcom/android/server/display/PersistentDataStore$Injector;
+Lcom/android/server/display/PersistentDataStore$StableDeviceValues;
+Lcom/android/server/display/PersistentDataStore;
+Lcom/android/server/display/SmallAreaDetectionController;
+Lcom/android/server/display/VirtualDisplayAdapter$1;
+Lcom/android/server/display/VirtualDisplayAdapter$SurfaceControlDisplayFactory;
+Lcom/android/server/display/VirtualDisplayAdapter$VirtualDisplayDevice;
+Lcom/android/server/display/VirtualDisplayAdapter;
+Lcom/android/server/display/WifiDisplayAdapter;
+Lcom/android/server/display/config/AutoBrightnessModeName;
+Lcom/android/server/display/config/AutoBrightnessSettingName;
+Lcom/android/server/display/config/DisplayBrightnessMappingConfig;
+Lcom/android/server/display/config/SensorData;
+Lcom/android/server/display/config/ThermalStatus;
+Lcom/android/server/display/feature/DeviceConfigParameterProvider;
+Lcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda0;
+Lcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda10;
+Lcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda11;
+Lcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda12;
+Lcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda13;
+Lcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda14;
+Lcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda15;
+Lcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda16;
+Lcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda17;
+Lcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda18;
+Lcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda19;
+Lcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda1;
+Lcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda20;
+Lcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda2;
+Lcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda3;
+Lcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda4;
+Lcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda5;
+Lcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda6;
+Lcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda7;
+Lcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda8;
+Lcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda9;
+Lcom/android/server/display/feature/DisplayManagerFlags$FlagState-IA;
+Lcom/android/server/display/feature/DisplayManagerFlags$FlagState;
+Lcom/android/server/display/feature/DisplayManagerFlags;
+Lcom/android/server/display/layout/DisplayIdProducer;
+Lcom/android/server/display/layout/Layout$Display;
+Lcom/android/server/display/layout/Layout;
+Lcom/android/server/display/mode/DisplayModeDirector$$ExternalSyntheticLambda0;
+Lcom/android/server/display/mode/DisplayModeDirector$AppRequestObserver;
+Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda10;
+Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda11;
+Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda12;
+Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda13;
+Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda2;
+Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda5;
+Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda6;
+Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda7;
+Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda8;
+Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda9;
+Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$1;
+Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$LightSensorEventListener$1;
+Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$LightSensorEventListener;
+Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;
+Lcom/android/server/display/mode/DisplayModeDirector$DesiredDisplayModeSpecs;
+Lcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings$$ExternalSyntheticLambda0;
+Lcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings$$ExternalSyntheticLambda1;
+Lcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings$$ExternalSyntheticLambda2;
+Lcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings$$ExternalSyntheticLambda3;
+Lcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings;
+Lcom/android/server/display/mode/DisplayModeDirector$DisplayModeDirectorHandler;
+Lcom/android/server/display/mode/DisplayModeDirector$DisplayObserver;
+Lcom/android/server/display/mode/DisplayModeDirector$HbmObserver;
+Lcom/android/server/display/mode/DisplayModeDirector$Injector;
+Lcom/android/server/display/mode/DisplayModeDirector$RealInjector;
+Lcom/android/server/display/mode/DisplayModeDirector$SensorObserver;
+Lcom/android/server/display/mode/DisplayModeDirector$SettingsObserver;
+Lcom/android/server/display/mode/DisplayModeDirector$UdfpsObserver;
+Lcom/android/server/display/mode/DisplayModeDirector;
+Lcom/android/server/display/mode/RefreshRateVote$PhysicalVote;
+Lcom/android/server/display/mode/RefreshRateVote$RenderVote;
+Lcom/android/server/display/mode/RefreshRateVote;
+Lcom/android/server/display/mode/SkinThermalStatusObserver;
+Lcom/android/server/display/mode/SupportedModesVote;
+Lcom/android/server/display/mode/Vote;
+Lcom/android/server/display/mode/VotesStatsReporter;
+Lcom/android/server/display/mode/VotesStorage$Listener;
+Lcom/android/server/display/mode/VotesStorage;
+Lcom/android/server/display/notifications/ConnectedDisplayUsbErrorsDetector$Listener;
+Lcom/android/server/display/notifications/DisplayNotificationManager$1;
+Lcom/android/server/display/notifications/DisplayNotificationManager$Injector;
+Lcom/android/server/display/notifications/DisplayNotificationManager;
+Lcom/android/server/display/utils/AmbientFilter;
+Lcom/android/server/display/utils/DebugUtils;
+Lcom/android/server/display/utils/DeviceConfigParsingUtils;
+Lcom/android/server/display/utils/Plog$SystemPlog;
+Lcom/android/server/display/utils/Plog;
+Lcom/android/server/firewall/AndFilter$1;
+Lcom/android/server/firewall/AndFilter;
+Lcom/android/server/firewall/CategoryFilter$1;
+Lcom/android/server/firewall/CategoryFilter;
+Lcom/android/server/firewall/Filter;
+Lcom/android/server/firewall/FilterFactory;
+Lcom/android/server/firewall/FilterList;
+Lcom/android/server/firewall/IntentFirewall$AMSInterface;
+Lcom/android/server/firewall/IntentFirewall$FirewallHandler;
+Lcom/android/server/firewall/IntentFirewall$FirewallIntentFilter;
+Lcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;
+Lcom/android/server/firewall/IntentFirewall$Rule;
+Lcom/android/server/firewall/IntentFirewall$RuleObserver;
+Lcom/android/server/firewall/IntentFirewall;
+Lcom/android/server/firewall/NotFilter$1;
+Lcom/android/server/firewall/NotFilter;
+Lcom/android/server/firewall/OrFilter$1;
+Lcom/android/server/firewall/OrFilter;
+Lcom/android/server/firewall/PortFilter$1;
+Lcom/android/server/firewall/PortFilter;
+Lcom/android/server/firewall/SenderFilter$1;
+Lcom/android/server/firewall/SenderFilter$2;
+Lcom/android/server/firewall/SenderFilter$3;
+Lcom/android/server/firewall/SenderFilter$4;
+Lcom/android/server/firewall/SenderFilter$5;
+Lcom/android/server/firewall/SenderFilter;
+Lcom/android/server/firewall/SenderPackageFilter$1;
+Lcom/android/server/firewall/SenderPackageFilter;
+Lcom/android/server/firewall/SenderPermissionFilter$1;
+Lcom/android/server/firewall/SenderPermissionFilter;
+Lcom/android/server/firewall/StringFilter$10;
+Lcom/android/server/firewall/StringFilter$1;
+Lcom/android/server/firewall/StringFilter$2;
+Lcom/android/server/firewall/StringFilter$3;
+Lcom/android/server/firewall/StringFilter$4;
+Lcom/android/server/firewall/StringFilter$5;
+Lcom/android/server/firewall/StringFilter$6;
+Lcom/android/server/firewall/StringFilter$7;
+Lcom/android/server/firewall/StringFilter$8;
+Lcom/android/server/firewall/StringFilter$9;
+Lcom/android/server/firewall/StringFilter$ContainsFilter;
+Lcom/android/server/firewall/StringFilter$EqualsFilter;
+Lcom/android/server/firewall/StringFilter$IsNullFilter;
+Lcom/android/server/firewall/StringFilter$PatternStringFilter;
+Lcom/android/server/firewall/StringFilter$RegexFilter;
+Lcom/android/server/firewall/StringFilter$StartsWithFilter;
+Lcom/android/server/firewall/StringFilter$ValueProvider;
+Lcom/android/server/firewall/StringFilter;
+Lcom/android/server/flags/DynamicFlagBinderDelegate$$ExternalSyntheticLambda0;
+Lcom/android/server/flags/DynamicFlagBinderDelegate$$ExternalSyntheticLambda1;
+Lcom/android/server/flags/DynamicFlagBinderDelegate$1;
+Lcom/android/server/flags/DynamicFlagBinderDelegate$BinderGriever;
+Lcom/android/server/flags/DynamicFlagBinderDelegate;
+Lcom/android/server/flags/FeatureFlagsBinder;
+Lcom/android/server/flags/FeatureFlagsService$PermissionsChecker;
+Lcom/android/server/flags/FeatureFlagsService;
+Lcom/android/server/flags/FlagCache$$ExternalSyntheticLambda0;
+Lcom/android/server/flags/FlagCache;
+Lcom/android/server/flags/FlagOverrideStore$FlagChangeCallback;
+Lcom/android/server/flags/FlagOverrideStore;
+Lcom/android/server/flags/FlagsShellCommand;
+Lcom/android/server/flags/GlobalSettingsProxy;
+Lcom/android/server/flags/SettingsProxy;
+Lcom/android/server/gpu/GpuService;
+Lcom/android/server/graphics/fonts/FontManagerService$Lifecycle;
+Lcom/android/server/input/InputManagerInternal;
+Lcom/android/server/input/InputManagerService$4;
+Lcom/android/server/input/InputManagerService$AdditionalDisplayInputProperties;
+Lcom/android/server/input/InputManagerService$InputFilterHost;
+Lcom/android/server/input/InputManagerService$InputManagerHandler;
+Lcom/android/server/input/InputManagerService$LocalService;
+Lcom/android/server/input/InputManagerService;
+Lcom/android/server/input/InputShellCommand;
+Lcom/android/server/input/NativeInputManagerService$NativeImpl;
+Lcom/android/server/input/NativeInputManagerService;
+Lcom/android/server/input/debug/FocusEventDebugView;
+Lcom/android/server/lights/LightsManager;
+Lcom/android/server/lights/LightsService$1;
+Lcom/android/server/lights/LightsService$LightImpl;
+Lcom/android/server/lights/LightsService$LightsManagerBinderService;
+Lcom/android/server/lights/LightsService$VintfHalCache;
+Lcom/android/server/lights/LightsService;
+Lcom/android/server/lights/LogicalLight;
+Lcom/android/server/location/gnss/GnssConfiguration;
+Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler;
+Lcom/android/server/location/gnss/GnssVisibilityControl;
+Lcom/android/server/location/gnss/hal/GnssNative;
+Lcom/android/server/locksettings/SyntheticPasswordManager;
+Lcom/android/server/om/OverlayManagerService;
+Lcom/android/server/om/OverlayReferenceMapper$1;
+Lcom/android/server/om/OverlayReferenceMapper$Provider;
+Lcom/android/server/om/OverlayReferenceMapper;
+Lcom/android/server/os/DeviceIdentifiersPolicyService$DeviceIdentifiersPolicy;
+Lcom/android/server/os/DeviceIdentifiersPolicyService;
+Lcom/android/server/pdb/PersistentDataBlockService;
+Lcom/android/server/permission/access/AccessCheckingService;
+Lcom/android/server/permission/access/AccessPersistence$Companion;
+Lcom/android/server/permission/access/AccessPersistence$WriteHandler;
+Lcom/android/server/permission/access/AccessPersistence;
+Lcom/android/server/permission/access/AccessPolicy$Companion;
+Lcom/android/server/permission/access/AccessPolicy;
+Lcom/android/server/permission/access/AccessState;
+Lcom/android/server/permission/access/ExternalState;
+Lcom/android/server/permission/access/GetStateScope;
+Lcom/android/server/permission/access/MutableAccessState;
+Lcom/android/server/permission/access/MutableExternalState;
+Lcom/android/server/permission/access/MutableSystemState;
+Lcom/android/server/permission/access/MutableUserState;
+Lcom/android/server/permission/access/MutateStateScope;
+Lcom/android/server/permission/access/SchemePolicy;
+Lcom/android/server/permission/access/SystemState;
+Lcom/android/server/permission/access/UserState;
+Lcom/android/server/permission/access/WritableState;
+Lcom/android/server/permission/access/appop/AppIdAppOpMigration$Companion;
+Lcom/android/server/permission/access/appop/AppIdAppOpMigration;
+Lcom/android/server/permission/access/appop/AppIdAppOpPersistence$Companion;
+Lcom/android/server/permission/access/appop/AppIdAppOpPersistence;
+Lcom/android/server/permission/access/appop/AppIdAppOpPolicy$Companion;
+Lcom/android/server/permission/access/appop/AppIdAppOpPolicy$OnAppOpModeChangedListener;
+Lcom/android/server/permission/access/appop/AppIdAppOpPolicy;
+Lcom/android/server/permission/access/appop/AppIdAppOpUpgrade;
+Lcom/android/server/permission/access/appop/AppOpService$OnAppIdAppOpModeChangedListener;
+Lcom/android/server/permission/access/appop/AppOpService$OnPackageAppOpModeChangedListener;
+Lcom/android/server/permission/access/appop/AppOpService;
+Lcom/android/server/permission/access/appop/BaseAppOpPersistence$Companion;
+Lcom/android/server/permission/access/appop/BaseAppOpPersistence;
+Lcom/android/server/permission/access/appop/BaseAppOpPolicy;
+Lcom/android/server/permission/access/appop/PackageAppOpMigration$Companion;
+Lcom/android/server/permission/access/appop/PackageAppOpMigration;
+Lcom/android/server/permission/access/appop/PackageAppOpPersistence$Companion;
+Lcom/android/server/permission/access/appop/PackageAppOpPersistence;
+Lcom/android/server/permission/access/appop/PackageAppOpPolicy$Companion;
+Lcom/android/server/permission/access/appop/PackageAppOpPolicy$OnAppOpModeChangedListener;
+Lcom/android/server/permission/access/appop/PackageAppOpPolicy;
+Lcom/android/server/permission/access/appop/PackageAppOpUpgrade;
+Lcom/android/server/permission/access/collection/ArraySetExtensionsKt;
+Lcom/android/server/permission/access/immutable/Immutable;
+Lcom/android/server/permission/access/immutable/IndexedList;
+Lcom/android/server/permission/access/immutable/IndexedListSet;
+Lcom/android/server/permission/access/immutable/IndexedMap;
+Lcom/android/server/permission/access/immutable/IndexedReferenceMap;
+Lcom/android/server/permission/access/immutable/IndexedSet;
+Lcom/android/server/permission/access/immutable/IndexedSetExtensionsKt;
+Lcom/android/server/permission/access/immutable/IntMap;
+Lcom/android/server/permission/access/immutable/IntMapExtensionsKt;
+Lcom/android/server/permission/access/immutable/IntMapKt;
+Lcom/android/server/permission/access/immutable/IntReferenceMap;
+Lcom/android/server/permission/access/immutable/IntReferenceMapExtensionsKt;
+Lcom/android/server/permission/access/immutable/IntSet;
+Lcom/android/server/permission/access/immutable/IntSetExtensionsKt;
+Lcom/android/server/permission/access/immutable/MutableIndexedList;
+Lcom/android/server/permission/access/immutable/MutableIndexedListSet;
+Lcom/android/server/permission/access/immutable/MutableIndexedMap;
+Lcom/android/server/permission/access/immutable/MutableIndexedReferenceMap;
+Lcom/android/server/permission/access/immutable/MutableIndexedSet;
+Lcom/android/server/permission/access/immutable/MutableIntMap;
+Lcom/android/server/permission/access/immutable/MutableIntReferenceMap;
+Lcom/android/server/permission/access/immutable/MutableIntSet;
+Lcom/android/server/permission/access/immutable/MutableReference;
+Lcom/android/server/permission/access/permission/AppIdPermissionMigration$Companion;
+Lcom/android/server/permission/access/permission/AppIdPermissionMigration;
+Lcom/android/server/permission/access/permission/AppIdPermissionPersistence$Companion;
+Lcom/android/server/permission/access/permission/AppIdPermissionPersistence;
+Lcom/android/server/permission/access/permission/AppIdPermissionPolicy$Companion;
+Lcom/android/server/permission/access/permission/AppIdPermissionPolicy;
+Lcom/android/server/permission/access/permission/AppIdPermissionUpgrade$Companion;
+Lcom/android/server/permission/access/permission/AppIdPermissionUpgrade;
+Lcom/android/server/permission/access/permission/DevicePermissionPersistence$Companion;
+Lcom/android/server/permission/access/permission/DevicePermissionPersistence;
+Lcom/android/server/permission/access/permission/DevicePermissionPolicy$Companion;
+Lcom/android/server/permission/access/permission/DevicePermissionPolicy;
+Lcom/android/server/permission/access/permission/Permission$Companion;
+Lcom/android/server/permission/access/permission/Permission;
+Lcom/android/server/permission/access/permission/PermissionService$Companion;
+Lcom/android/server/permission/access/permission/PermissionService;
+Lcom/android/server/permission/access/util/PermissionApex;
+Lcom/android/server/permission/jarjar/kotlin/Pair;
+Lcom/android/server/permission/jarjar/kotlin/TuplesKt;
+Lcom/android/server/permission/jarjar/kotlin/UninitializedPropertyAccessException;
+Lcom/android/server/permission/jarjar/kotlin/collections/ArraysKt;
+Lcom/android/server/permission/jarjar/kotlin/collections/ArraysKt__ArraysJVMKt;
+Lcom/android/server/permission/jarjar/kotlin/collections/ArraysKt__ArraysKt;
+Lcom/android/server/permission/jarjar/kotlin/collections/ArraysKt___ArraysJvmKt;
+Lcom/android/server/permission/jarjar/kotlin/collections/ArraysKt___ArraysKt;
+Lcom/android/server/permission/jarjar/kotlin/collections/ArraysUtilJVM;
+Lcom/android/server/permission/jarjar/kotlin/collections/EmptyMap;
+Lcom/android/server/permission/jarjar/kotlin/collections/EmptySet;
+Lcom/android/server/permission/jarjar/kotlin/collections/MapsKt;
+Lcom/android/server/permission/jarjar/kotlin/collections/MapsKt__MapWithDefaultKt;
+Lcom/android/server/permission/jarjar/kotlin/collections/MapsKt__MapsJVMKt;
+Lcom/android/server/permission/jarjar/kotlin/collections/MapsKt__MapsKt;
+Lcom/android/server/permission/jarjar/kotlin/collections/MapsKt___MapsJvmKt;
+Lcom/android/server/permission/jarjar/kotlin/collections/MapsKt___MapsKt;
+Lcom/android/server/permission/jarjar/kotlin/collections/SetsKt;
+Lcom/android/server/permission/jarjar/kotlin/collections/SetsKt__SetsJVMKt;
+Lcom/android/server/permission/jarjar/kotlin/collections/SetsKt__SetsKt;
+Lcom/android/server/permission/jarjar/kotlin/collections/SetsKt___SetsKt;
+Lcom/android/server/permission/jarjar/kotlin/jdk7/AutoCloseableKt;
+Lcom/android/server/permission/jarjar/kotlin/jvm/internal/Intrinsics;
+Lcom/android/server/pm/AbstractStatsBase$1;
+Lcom/android/server/pm/AbstractStatsBase;
+Lcom/android/server/pm/ApexManager$1;
+Lcom/android/server/pm/ApexManager$ActiveApexInfo;
+Lcom/android/server/pm/ApexManager$ApexManagerImpl;
+Lcom/android/server/pm/ApexManager;
+Lcom/android/server/pm/AppDataHelper;
+Lcom/android/server/pm/AppIdSettingMap;
+Lcom/android/server/pm/AppsFilterBase;
+Lcom/android/server/pm/AppsFilterImpl$$ExternalSyntheticLambda0;
+Lcom/android/server/pm/AppsFilterImpl$1;
+Lcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl;
+Lcom/android/server/pm/AppsFilterImpl;
+Lcom/android/server/pm/AppsFilterLocked;
+Lcom/android/server/pm/AppsFilterSnapshot;
+Lcom/android/server/pm/AppsFilterSnapshotImpl;
+Lcom/android/server/pm/BackgroundDexOptService;
+Lcom/android/server/pm/BroadcastHelper;
+Lcom/android/server/pm/ChangedPackagesTracker;
+Lcom/android/server/pm/CompilerStats;
+Lcom/android/server/pm/Computer;
+Lcom/android/server/pm/ComputerEngine$$ExternalSyntheticLambda1;
+Lcom/android/server/pm/ComputerEngine$Settings;
+Lcom/android/server/pm/ComputerEngine;
+Lcom/android/server/pm/ComputerLocked;
+Lcom/android/server/pm/CrossProfileIntentFilter;
+Lcom/android/server/pm/CrossProfileIntentFilterHelper;
+Lcom/android/server/pm/CrossProfileIntentResolver;
+Lcom/android/server/pm/CrossProfileIntentResolverEngine;
+Lcom/android/server/pm/CrossProfileResolver;
+Lcom/android/server/pm/DataLoaderManagerService$DataLoaderManagerBinderService;
+Lcom/android/server/pm/DataLoaderManagerService;
+Lcom/android/server/pm/DefaultAppProvider;
+Lcom/android/server/pm/DefaultCrossProfileIntentFilter$Builder;
+Lcom/android/server/pm/DefaultCrossProfileIntentFilter-IA;
+Lcom/android/server/pm/DefaultCrossProfileIntentFilter;
+Lcom/android/server/pm/DefaultCrossProfileIntentFiltersUtils;
+Lcom/android/server/pm/DefaultCrossProfileResolver;
+Lcom/android/server/pm/DeletePackageHelper;
+Lcom/android/server/pm/DexOptHelper$1;
+Lcom/android/server/pm/DexOptHelper$DexoptDoneHandler;
+Lcom/android/server/pm/DexOptHelper;
+Lcom/android/server/pm/DistractingPackageHelper;
+Lcom/android/server/pm/DomainVerificationConnection;
+Lcom/android/server/pm/FeatureConfig;
+Lcom/android/server/pm/FreeStorageHelper;
+Lcom/android/server/pm/InitAppsHelper;
+Lcom/android/server/pm/InstallPackageHelper;
+Lcom/android/server/pm/InstallSource;
+Lcom/android/server/pm/Installer$$ExternalSyntheticLambda0;
+Lcom/android/server/pm/Installer$InstallerException;
+Lcom/android/server/pm/Installer$LegacyDexoptDisabledException;
+Lcom/android/server/pm/Installer;
+Lcom/android/server/pm/InstantAppRegistry$1;
+Lcom/android/server/pm/InstantAppRegistry$2;
+Lcom/android/server/pm/InstantAppRegistry$CookiePersistence;
+Lcom/android/server/pm/InstantAppRegistry;
+Lcom/android/server/pm/InstantAppResolverConnection;
+Lcom/android/server/pm/InstructionSets;
+Lcom/android/server/pm/KeySetHandle;
+Lcom/android/server/pm/KeySetManagerService$PublicKeyHandle-IA;
+Lcom/android/server/pm/KeySetManagerService$PublicKeyHandle;
+Lcom/android/server/pm/KeySetManagerService;
+Lcom/android/server/pm/KnownPackages;
+Lcom/android/server/pm/ModuleInfoProvider;
+Lcom/android/server/pm/MovePackageHelper$MoveCallbacks;
+Lcom/android/server/pm/NoFilteringResolver;
+Lcom/android/server/pm/PackageAbiHelper;
+Lcom/android/server/pm/PackageAbiHelperImpl;
+Lcom/android/server/pm/PackageArchiver;
+Lcom/android/server/pm/PackageDexOptimizer$1;
+Lcom/android/server/pm/PackageDexOptimizer$ForcedUpdatePackageDexOptimizer;
+Lcom/android/server/pm/PackageDexOptimizer$Injector;
+Lcom/android/server/pm/PackageDexOptimizer;
+Lcom/android/server/pm/PackageHandler;
+Lcom/android/server/pm/PackageInstallerService;
+Lcom/android/server/pm/PackageKeySetData;
+Lcom/android/server/pm/PackageManagerException;
+Lcom/android/server/pm/PackageManagerInternalBase;
+Lcom/android/server/pm/PackageManagerLocal$UnfilteredSnapshot;
+Lcom/android/server/pm/PackageManagerLocal;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda10;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda11;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda12;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda13;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda14;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda15;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda16;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda17;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda18;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda19;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda1;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda20;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda21;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda22;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda23;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda24;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda25;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda26;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda27;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda28;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda29;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda2;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda30;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda32;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda33;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda34;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda35;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda36;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda37;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda38;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda3;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda41;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda42;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda43;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda50;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda51;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda6;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda7;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda8;
+Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda9;
+Lcom/android/server/pm/PackageManagerService$1;
+Lcom/android/server/pm/PackageManagerService$2;
+Lcom/android/server/pm/PackageManagerService$3;
+Lcom/android/server/pm/PackageManagerService$4;
+Lcom/android/server/pm/PackageManagerService$5;
+Lcom/android/server/pm/PackageManagerService$6;
+Lcom/android/server/pm/PackageManagerService$DefaultSystemWrapper;
+Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;
+Lcom/android/server/pm/PackageManagerService$Snapshot;
+Lcom/android/server/pm/PackageManagerService;
+Lcom/android/server/pm/PackageManagerServiceCompilerMapping;
+Lcom/android/server/pm/PackageManagerServiceInjector$Producer;
+Lcom/android/server/pm/PackageManagerServiceInjector$ProducerWithArgument;
+Lcom/android/server/pm/PackageManagerServiceInjector$ServiceProducer;
+Lcom/android/server/pm/PackageManagerServiceInjector$Singleton;
+Lcom/android/server/pm/PackageManagerServiceInjector$SystemWrapper;
+Lcom/android/server/pm/PackageManagerServiceInjector;
+Lcom/android/server/pm/PackageManagerServiceUtils$$ExternalSyntheticLambda0;
+Lcom/android/server/pm/PackageManagerServiceUtils$$ExternalSyntheticLambda1;
+Lcom/android/server/pm/PackageManagerServiceUtils$$ExternalSyntheticLambda2;
+Lcom/android/server/pm/PackageManagerServiceUtils;
+Lcom/android/server/pm/PackageManagerShellCommandDataLoader;
+Lcom/android/server/pm/PackageManagerTracedLock;
+Lcom/android/server/pm/PackageMonitorCallbackHelper;
+Lcom/android/server/pm/PackageObserverHelper;
+Lcom/android/server/pm/PackageProperty;
+Lcom/android/server/pm/PackageSender;
+Lcom/android/server/pm/PackageSessionProvider;
+Lcom/android/server/pm/PackageSetting$1;
+Lcom/android/server/pm/PackageSetting;
+Lcom/android/server/pm/PackageSignatures;
+Lcom/android/server/pm/PackageUsage;
+Lcom/android/server/pm/PendingPackageBroadcasts;
+Lcom/android/server/pm/PersistentPreferredActivity;
+Lcom/android/server/pm/PersistentPreferredIntentResolver;
+Lcom/android/server/pm/Policy$PolicyBuilder;
+Lcom/android/server/pm/Policy;
+Lcom/android/server/pm/PolicyComparator;
+Lcom/android/server/pm/PreferredActivity$1;
+Lcom/android/server/pm/PreferredActivity;
+Lcom/android/server/pm/PreferredActivityHelper;
+Lcom/android/server/pm/PreferredComponent$Callbacks;
+Lcom/android/server/pm/PreferredComponent;
+Lcom/android/server/pm/PreferredIntentResolver$1;
+Lcom/android/server/pm/PreferredIntentResolver;
+Lcom/android/server/pm/PrepareFailure;
+Lcom/android/server/pm/ProcessLoggingHandler;
+Lcom/android/server/pm/ProtectedPackages;
+Lcom/android/server/pm/ReconcileFailure;
+Lcom/android/server/pm/RemovePackageHelper;
+Lcom/android/server/pm/ResilientAtomicFile$ReadEventLogger;
+Lcom/android/server/pm/ResilientAtomicFile;
+Lcom/android/server/pm/ResolveIntentHelper;
+Lcom/android/server/pm/RestrictionsSet;
+Lcom/android/server/pm/SELinuxMMAC;
+Lcom/android/server/pm/ScanPackageUtils;
+Lcom/android/server/pm/ScanPartition;
+Lcom/android/server/pm/SettingBase;
+Lcom/android/server/pm/Settings$1;
+Lcom/android/server/pm/Settings$2;
+Lcom/android/server/pm/Settings$3;
+Lcom/android/server/pm/Settings$RuntimePermissionPersistence$MyHandler;
+Lcom/android/server/pm/Settings$RuntimePermissionPersistence$PersistenceHandler;
+Lcom/android/server/pm/Settings$RuntimePermissionPersistence;
+Lcom/android/server/pm/Settings$VersionInfo;
+Lcom/android/server/pm/Settings;
+Lcom/android/server/pm/SettingsXml$ChildSection;
+Lcom/android/server/pm/SettingsXml$ReadSection;
+Lcom/android/server/pm/SettingsXml$ReadSectionImpl;
+Lcom/android/server/pm/SettingsXml;
+Lcom/android/server/pm/SharedLibrariesImpl$1;
+Lcom/android/server/pm/SharedLibrariesImpl$2;
+Lcom/android/server/pm/SharedLibrariesImpl;
+Lcom/android/server/pm/SharedLibrariesRead;
+Lcom/android/server/pm/SharedUserSetting$1;
+Lcom/android/server/pm/SharedUserSetting$2;
+Lcom/android/server/pm/SharedUserSetting;
+Lcom/android/server/pm/SnapshotStatistics$1;
+Lcom/android/server/pm/SnapshotStatistics$BinMap;
+Lcom/android/server/pm/SnapshotStatistics$Stats;
+Lcom/android/server/pm/SnapshotStatistics;
+Lcom/android/server/pm/StorageEventHelper;
+Lcom/android/server/pm/SuspendPackageHelper;
+Lcom/android/server/pm/SystemDeleteException;
+Lcom/android/server/pm/UpdateOwnershipHelper;
+Lcom/android/server/pm/UserDataPreparer;
+Lcom/android/server/pm/UserJourneyLogger;
+Lcom/android/server/pm/UserManagerInternal$UserLifecycleListener;
+Lcom/android/server/pm/UserManagerInternal;
+Lcom/android/server/pm/UserManagerService$$ExternalSyntheticLambda1;
+Lcom/android/server/pm/UserManagerService$$ExternalSyntheticLambda4;
+Lcom/android/server/pm/UserManagerService$1;
+Lcom/android/server/pm/UserManagerService$2;
+Lcom/android/server/pm/UserManagerService$3;
+Lcom/android/server/pm/UserManagerService$LocalService;
+Lcom/android/server/pm/UserManagerService$MainHandler;
+Lcom/android/server/pm/UserManagerService$SettingsObserver;
+Lcom/android/server/pm/UserManagerService$UserData;
+Lcom/android/server/pm/UserManagerService$WatchedUserStates;
+Lcom/android/server/pm/UserManagerService;
+Lcom/android/server/pm/UserManagerServiceShellCommand;
+Lcom/android/server/pm/UserNeedsBadgingCache;
+Lcom/android/server/pm/UserRestrictionsUtils;
+Lcom/android/server/pm/UserSystemPackageInstaller;
+Lcom/android/server/pm/UserTypeDetails$Builder;
+Lcom/android/server/pm/UserTypeDetails-IA;
+Lcom/android/server/pm/UserTypeDetails;
+Lcom/android/server/pm/UserTypeFactory;
+Lcom/android/server/pm/UserVisibilityMediator;
+Lcom/android/server/pm/WatchedIntentFilter;
+Lcom/android/server/pm/WatchedIntentResolver$1;
+Lcom/android/server/pm/WatchedIntentResolver$2;
+Lcom/android/server/pm/WatchedIntentResolver;
+Lcom/android/server/pm/dex/ArtManagerService$ArtManagerInternalImpl;
+Lcom/android/server/pm/dex/ArtManagerService;
+Lcom/android/server/pm/dex/ArtStatsLogUtils$ArtStatsLogger;
+Lcom/android/server/pm/dex/DexManager;
+Lcom/android/server/pm/dex/DynamicCodeLogger;
+Lcom/android/server/pm/dex/PackageDexUsage;
+Lcom/android/server/pm/dex/PackageDynamicCodeLoading;
+Lcom/android/server/pm/local/PackageManagerLocalImpl$BaseSnapshotImpl;
+Lcom/android/server/pm/local/PackageManagerLocalImpl$UnfilteredSnapshotImpl;
+Lcom/android/server/pm/local/PackageManagerLocalImpl;
+Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$1;
+Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$2;
+Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$DelayingPackageManagerCache;
+Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$PackageManagerWrapper;
+Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;
+Lcom/android/server/pm/permission/LegacyPermission;
+Lcom/android/server/pm/permission/LegacyPermissionDataProvider;
+Lcom/android/server/pm/permission/LegacyPermissionManagerInternal;
+Lcom/android/server/pm/permission/LegacyPermissionManagerService$Injector;
+Lcom/android/server/pm/permission/LegacyPermissionManagerService$Internal;
+Lcom/android/server/pm/permission/LegacyPermissionManagerService;
+Lcom/android/server/pm/permission/LegacyPermissionSettings;
+Lcom/android/server/pm/permission/LegacyPermissionState;
+Lcom/android/server/pm/permission/PermissionAllowlist;
+Lcom/android/server/pm/permission/PermissionManagerService$AttributionSourceRegistry;
+Lcom/android/server/pm/permission/PermissionManagerService$PermissionCheckerService;
+Lcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;
+Lcom/android/server/pm/permission/PermissionManagerService;
+Lcom/android/server/pm/permission/PermissionManagerServiceInterface;
+Lcom/android/server/pm/permission/PermissionManagerServiceInternal;
+Lcom/android/server/pm/permission/PermissionMigrationHelper;
+Lcom/android/server/pm/permission/PermissionMigrationHelperImpl;
+Lcom/android/server/pm/pkg/ArchiveState;
+Lcom/android/server/pm/pkg/PackageState;
+Lcom/android/server/pm/pkg/PackageStateInternal;
+Lcom/android/server/pm/pkg/PackageStateUnserialized;
+Lcom/android/server/pm/pkg/PackageUserState;
+Lcom/android/server/pm/pkg/PackageUserStateImpl$1;
+Lcom/android/server/pm/pkg/PackageUserStateImpl;
+Lcom/android/server/pm/pkg/PackageUserStateInternal;
+Lcom/android/server/pm/pkg/SharedUserApi;
+Lcom/android/server/pm/pkg/SuspendParams;
+Lcom/android/server/pm/pkg/mutate/PackageStateMutator$StateWriteWrapper$UserStateWriteWrapper;
+Lcom/android/server/pm/pkg/mutate/PackageStateMutator$StateWriteWrapper;
+Lcom/android/server/pm/pkg/mutate/PackageStateMutator;
+Lcom/android/server/pm/pkg/mutate/PackageStateWrite;
+Lcom/android/server/pm/pkg/mutate/PackageUserStateWrite;
+Lcom/android/server/pm/resolution/ComponentResolver$$ExternalSyntheticLambda0;
+Lcom/android/server/pm/resolution/ComponentResolver$1;
+Lcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;
+Lcom/android/server/pm/resolution/ComponentResolver$MimeGroupsAwareIntentResolver;
+Lcom/android/server/pm/resolution/ComponentResolver$ProviderIntentResolver;
+Lcom/android/server/pm/resolution/ComponentResolver$ReceiverIntentResolver;
+Lcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;
+Lcom/android/server/pm/resolution/ComponentResolver;
+Lcom/android/server/pm/resolution/ComponentResolverApi;
+Lcom/android/server/pm/resolution/ComponentResolverBase;
+Lcom/android/server/pm/resolution/ComponentResolverLocked;
+Lcom/android/server/pm/resolution/ComponentResolverSnapshot;
+Lcom/android/server/pm/snapshot/PackageDataSnapshot;
+Lcom/android/server/pm/verify/domain/DomainVerificationCollector$$ExternalSyntheticLambda0;
+Lcom/android/server/pm/verify/domain/DomainVerificationCollector;
+Lcom/android/server/pm/verify/domain/DomainVerificationDebug;
+Lcom/android/server/pm/verify/domain/DomainVerificationEnforcer$Callback;
+Lcom/android/server/pm/verify/domain/DomainVerificationEnforcer;
+Lcom/android/server/pm/verify/domain/DomainVerificationLegacySettings$LegacyState;
+Lcom/android/server/pm/verify/domain/DomainVerificationLegacySettings;
+Lcom/android/server/pm/verify/domain/DomainVerificationManagerInternal$Connection;
+Lcom/android/server/pm/verify/domain/DomainVerificationManagerInternal;
+Lcom/android/server/pm/verify/domain/DomainVerificationManagerStub;
+Lcom/android/server/pm/verify/domain/DomainVerificationPersistence$ReadResult;
+Lcom/android/server/pm/verify/domain/DomainVerificationPersistence;
+Lcom/android/server/pm/verify/domain/DomainVerificationService;
+Lcom/android/server/pm/verify/domain/DomainVerificationSettings;
+Lcom/android/server/pm/verify/domain/DomainVerificationShell$Callback;
+Lcom/android/server/pm/verify/domain/DomainVerificationShell;
+Lcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;
+Lcom/android/server/pm/verify/domain/models/DomainVerificationStateMap;
+Lcom/android/server/pm/verify/domain/proxy/DomainVerificationProxy$BaseConnection;
+Lcom/android/server/pm/verify/domain/proxy/DomainVerificationProxy;
+Lcom/android/server/pm/verify/domain/proxy/DomainVerificationProxyUnavailable;
+Lcom/android/server/pm/verify/domain/proxy/DomainVerificationProxyV1$Connection;
+Lcom/android/server/pm/verify/domain/proxy/DomainVerificationProxyV2$Connection;
+Lcom/android/server/policy/WindowManagerPolicy$DisplayContentInfo;
+Lcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;
+Lcom/android/server/policy/WindowManagerPolicy$WindowState;
+Lcom/android/server/power/AmbientDisplaySuppressionController$AmbientDisplaySuppressionChangedCallback;
+Lcom/android/server/power/AmbientDisplaySuppressionController;
+Lcom/android/server/power/AttentionDetector$1;
+Lcom/android/server/power/AttentionDetector$AttentionCallbackInternalImpl;
+Lcom/android/server/power/AttentionDetector;
+Lcom/android/server/power/FaceDownDetector$$ExternalSyntheticLambda1;
+Lcom/android/server/power/FaceDownDetector$ExponentialMovingAverage;
+Lcom/android/server/power/FaceDownDetector$ScreenStateReceiver;
+Lcom/android/server/power/FaceDownDetector;
+Lcom/android/server/power/InattentiveSleepWarningController;
+Lcom/android/server/power/LowPowerStandbyController$$ExternalSyntheticLambda1;
+Lcom/android/server/power/LowPowerStandbyController$$ExternalSyntheticLambda2;
+Lcom/android/server/power/LowPowerStandbyController$1;
+Lcom/android/server/power/LowPowerStandbyController$2;
+Lcom/android/server/power/LowPowerStandbyController$3;
+Lcom/android/server/power/LowPowerStandbyController$Clock;
+Lcom/android/server/power/LowPowerStandbyController$DeviceConfigWrapper;
+Lcom/android/server/power/LowPowerStandbyController$LocalService;
+Lcom/android/server/power/LowPowerStandbyController$LowPowerStandbyHandler;
+Lcom/android/server/power/LowPowerStandbyController$PhoneCallServiceTracker;
+Lcom/android/server/power/LowPowerStandbyController$RealClock;
+Lcom/android/server/power/LowPowerStandbyController$SettingsObserver;
+Lcom/android/server/power/LowPowerStandbyController$TempAllowlistChangeListener;
+Lcom/android/server/power/LowPowerStandbyController;
+Lcom/android/server/power/LowPowerStandbyControllerInternal;
+Lcom/android/server/power/PowerGroup$PowerGroupListener;
+Lcom/android/server/power/PowerManagerService$$ExternalSyntheticLambda0;
+Lcom/android/server/power/PowerManagerService$$ExternalSyntheticLambda1;
+Lcom/android/server/power/PowerManagerService$1;
+Lcom/android/server/power/PowerManagerService$3;
+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;
+Lcom/android/server/power/PowerManagerService$Injector$$ExternalSyntheticLambda0;
+Lcom/android/server/power/PowerManagerService$Injector$1;
+Lcom/android/server/power/PowerManagerService$Injector$2;
+Lcom/android/server/power/PowerManagerService$Injector$3;
+Lcom/android/server/power/PowerManagerService$Injector;
+Lcom/android/server/power/PowerManagerService$LocalService;
+Lcom/android/server/power/PowerManagerService$NativeWrapper;
+Lcom/android/server/power/PowerManagerService$PermissionCheckerWrapper;
+Lcom/android/server/power/PowerManagerService$PowerGroupWakefulnessChangeListener;
+Lcom/android/server/power/PowerManagerService$PowerManagerHandlerCallback;
+Lcom/android/server/power/PowerManagerService$PowerPropertiesWrapper;
+Lcom/android/server/power/PowerManagerService$SettingsObserver;
+Lcom/android/server/power/PowerManagerService$SuspendBlockerImpl;
+Lcom/android/server/power/PowerManagerService$UserSwitchedReceiver;
+Lcom/android/server/power/PowerManagerService;
+Lcom/android/server/power/PowerManagerShellCommand;
+Lcom/android/server/power/ScreenUndimDetector$InternalClock;
+Lcom/android/server/power/ScreenUndimDetector;
+Lcom/android/server/power/SuspendBlocker;
+Lcom/android/server/power/SystemPropertiesWrapper;
+Lcom/android/server/power/ThermalManagerService$1;
+Lcom/android/server/power/ThermalManagerService$TemperatureWatcher;
+Lcom/android/server/power/ThermalManagerService$ThermalHal10Wrapper;
+Lcom/android/server/power/ThermalManagerService$ThermalHal11Wrapper;
+Lcom/android/server/power/ThermalManagerService$ThermalHal20Wrapper;
+Lcom/android/server/power/ThermalManagerService$ThermalHalAidlWrapper;
+Lcom/android/server/power/ThermalManagerService$ThermalHalWrapper;
+Lcom/android/server/power/ThermalManagerService$ThermalShellCommand;
+Lcom/android/server/power/ThermalManagerService;
+Lcom/android/server/power/batterysaver/BatterySaverStateMachine;
+Lcom/android/server/power/feature/PowerManagerFlags$$ExternalSyntheticLambda0;
+Lcom/android/server/power/feature/PowerManagerFlags$FlagState;
+Lcom/android/server/power/feature/PowerManagerFlags;
+Lcom/android/server/power/hint/HintManagerService$BinderService;
+Lcom/android/server/power/hint/HintManagerService$Injector;
+Lcom/android/server/power/hint/HintManagerService$MyUidObserver;
+Lcom/android/server/power/hint/HintManagerService$NativeWrapper;
+Lcom/android/server/power/hint/HintManagerService;
+Lcom/android/server/power/optimization/FeatureFlags;
+Lcom/android/server/power/optimization/FeatureFlagsImpl;
+Lcom/android/server/power/optimization/Flags;
+Lcom/android/server/power/stats/AggregatedPowerStatsConfig$1;
+Lcom/android/server/power/stats/AggregatedPowerStatsConfig$PowerComponent;
+Lcom/android/server/power/stats/AggregatedPowerStatsConfig;
+Lcom/android/server/power/stats/AggregatedPowerStatsProcessor;
+Lcom/android/server/power/stats/AggregatedPowerStatsSection;
+Lcom/android/server/power/stats/BatteryChargeCalculator;
+Lcom/android/server/power/stats/BatteryExternalStatsWorker$$ExternalSyntheticLambda0;
+Lcom/android/server/power/stats/BatteryExternalStatsWorker$$ExternalSyntheticLambda5;
+Lcom/android/server/power/stats/BatteryExternalStatsWorker$1;
+Lcom/android/server/power/stats/BatteryExternalStatsWorker$2;
+Lcom/android/server/power/stats/BatteryExternalStatsWorker$Injector;
+Lcom/android/server/power/stats/BatteryExternalStatsWorker;
+Lcom/android/server/power/stats/BatteryStatsDumpHelperImpl;
+Lcom/android/server/power/stats/BatteryStatsImpl$$ExternalSyntheticLambda10;
+Lcom/android/server/power/stats/BatteryStatsImpl$$ExternalSyntheticLambda6;
+Lcom/android/server/power/stats/BatteryStatsImpl$$ExternalSyntheticLambda7;
+Lcom/android/server/power/stats/BatteryStatsImpl$$ExternalSyntheticLambda9;
+Lcom/android/server/power/stats/BatteryStatsImpl$1;
+Lcom/android/server/power/stats/BatteryStatsImpl$2;
+Lcom/android/server/power/stats/BatteryStatsImpl$3;
+Lcom/android/server/power/stats/BatteryStatsImpl$4;
+Lcom/android/server/power/stats/BatteryStatsImpl$BatchTimer;
+Lcom/android/server/power/stats/BatteryStatsImpl$BatteryCallback;
+Lcom/android/server/power/stats/BatteryStatsImpl$BatteryStatsConfig$Builder;
+Lcom/android/server/power/stats/BatteryStatsImpl$BatteryStatsConfig;
+Lcom/android/server/power/stats/BatteryStatsImpl$BinderCallStats;
+Lcom/android/server/power/stats/BatteryStatsImpl$BluetoothActivityInfoCache;
+Lcom/android/server/power/stats/BatteryStatsImpl$Constants;
+Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;
+Lcom/android/server/power/stats/BatteryStatsImpl$Counter;
+Lcom/android/server/power/stats/BatteryStatsImpl$DisplayBatteryStats;
+Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;
+Lcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;
+Lcom/android/server/power/stats/BatteryStatsImpl$EnergyStatsRetriever;
+Lcom/android/server/power/stats/BatteryStatsImpl$ExternalStatsSync;
+Lcom/android/server/power/stats/BatteryStatsImpl$FrameworkStatsLogger;
+Lcom/android/server/power/stats/BatteryStatsImpl$HistoryStepDetailsCalculatorImpl;
+Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;
+Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounterArray;
+Lcom/android/server/power/stats/BatteryStatsImpl$MyHandler;
+Lcom/android/server/power/stats/BatteryStatsImpl$OverflowArrayMap;
+Lcom/android/server/power/stats/BatteryStatsImpl$PlatformIdleStateCallback;
+Lcom/android/server/power/stats/BatteryStatsImpl$RadioAccessTechnologyBatteryStats;
+Lcom/android/server/power/stats/BatteryStatsImpl$SamplingTimer;
+Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;
+Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;
+Lcom/android/server/power/stats/BatteryStatsImpl$TimeBaseObs;
+Lcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;
+Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;
+Lcom/android/server/power/stats/BatteryStatsImpl$Timer;
+Lcom/android/server/power/stats/BatteryStatsImpl$Uid$1;
+Lcom/android/server/power/stats/BatteryStatsImpl$Uid$2;
+Lcom/android/server/power/stats/BatteryStatsImpl$Uid$3;
+Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;
+Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg;
+Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Proc;
+Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Sensor;
+Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Wakelock;
+Lcom/android/server/power/stats/BatteryStatsImpl$Uid;
+Lcom/android/server/power/stats/BatteryStatsImpl$UserInfoProvider;
+Lcom/android/server/power/stats/BatteryStatsImpl;
+Lcom/android/server/power/stats/BatteryUsageStatsProvider;
+Lcom/android/server/power/stats/BatteryUsageStatsSection;
+Lcom/android/server/power/stats/BluetoothPowerCalculator;
+Lcom/android/server/power/stats/CpuAggregatedPowerStatsProcessor;
+Lcom/android/server/power/stats/CpuPowerCalculator;
+Lcom/android/server/power/stats/CpuPowerStatsCollector$$ExternalSyntheticLambda1;
+Lcom/android/server/power/stats/CpuPowerStatsCollector$CpuStatsArrayLayout;
+Lcom/android/server/power/stats/CpuPowerStatsCollector$KernelCpuStatsReader;
+Lcom/android/server/power/stats/CpuPowerStatsCollector;
+Lcom/android/server/power/stats/EnergyConsumerSnapshot;
+Lcom/android/server/power/stats/KernelWakelockReader;
+Lcom/android/server/power/stats/KernelWakelockStats$Entry;
+Lcom/android/server/power/stats/KernelWakelockStats;
+Lcom/android/server/power/stats/MobileRadioPowerCalculator;
+Lcom/android/server/power/stats/PowerCalculator;
+Lcom/android/server/power/stats/PowerStatsAggregator;
+Lcom/android/server/power/stats/PowerStatsCollector$$ExternalSyntheticLambda1;
+Lcom/android/server/power/stats/PowerStatsCollector$StatsArrayLayout;
+Lcom/android/server/power/stats/PowerStatsCollector;
+Lcom/android/server/power/stats/PowerStatsExporter;
+Lcom/android/server/power/stats/PowerStatsScheduler$AlarmScheduler;
+Lcom/android/server/power/stats/PowerStatsScheduler;
+Lcom/android/server/power/stats/PowerStatsSpan$Section;
+Lcom/android/server/power/stats/PowerStatsSpan$SectionReader;
+Lcom/android/server/power/stats/PowerStatsStore$$ExternalSyntheticLambda1;
+Lcom/android/server/power/stats/PowerStatsStore$DefaultSectionReader;
+Lcom/android/server/power/stats/PowerStatsStore;
+Lcom/android/server/power/stats/PowerStatsUidResolver$Listener;
+Lcom/android/server/power/stats/PowerStatsUidResolver;
+Lcom/android/server/power/stats/WakelockPowerCalculator;
+Lcom/android/server/power/stats/WifiPowerCalculator;
+Lcom/android/server/power/stats/wakeups/CpuWakeupStats$$ExternalSyntheticLambda0;
+Lcom/android/server/power/stats/wakeups/CpuWakeupStats$Config;
+Lcom/android/server/power/stats/wakeups/CpuWakeupStats$WakingActivityHistory;
+Lcom/android/server/power/stats/wakeups/CpuWakeupStats;
+Lcom/android/server/power/stats/wakeups/IrqDeviceMap;
+Lcom/android/server/powerstats/PowerStatsHALWrapper$IPowerStatsHALWrapper;
+Lcom/android/server/powerstats/PowerStatsHALWrapper$PowerStatsHAL10WrapperImpl;
+Lcom/android/server/powerstats/PowerStatsHALWrapper$PowerStatsHAL20WrapperImpl;
+Lcom/android/server/powerstats/PowerStatsHALWrapper$VintfHalCache;
+Lcom/android/server/powerstats/PowerStatsHALWrapper;
+Lcom/android/server/powerstats/PowerStatsService$1;
+Lcom/android/server/powerstats/PowerStatsService$DeviceConfigListener;
+Lcom/android/server/powerstats/PowerStatsService$Injector;
+Lcom/android/server/powerstats/PowerStatsService$LocalService;
+Lcom/android/server/powerstats/PowerStatsService;
+Lcom/android/server/recoverysystem/RecoverySystemService$Injector;
+Lcom/android/server/recoverysystem/RecoverySystemService$Lifecycle;
+Lcom/android/server/recoverysystem/RecoverySystemService$PreferencesManager;
+Lcom/android/server/recoverysystem/RecoverySystemService;
+Lcom/android/server/recoverysystem/RecoverySystemShellCommand;
+Lcom/android/server/resources/ResourcesManagerService;
+Lcom/android/server/security/FileIntegrityService$1;
+Lcom/android/server/security/FileIntegrityService$FileIntegrityServiceShellCommand;
+Lcom/android/server/security/FileIntegrityService;
+Lcom/android/server/sensorprivacy/SensorPrivacyService;
+Lcom/android/server/sensors/SensorManagerInternal$ProximityActiveListener;
+Lcom/android/server/sensors/SensorManagerInternal$RuntimeSensorCallback;
+Lcom/android/server/sensors/SensorService;
+Lcom/android/server/soundtrigger_middleware/AudioSessionProviderImpl;
+Lcom/android/server/soundtrigger_middleware/ExternalCaptureStateTracker;
+Lcom/android/server/soundtrigger_middleware/ICaptureStateNotifier;
+Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareImpl$AudioSessionProvider;
+Lcom/android/server/stats/pull/StatsPullAtomService;
+Lcom/android/server/storage/AppFuseBridge;
+Lcom/android/server/tv/TvInputHal;
+Lcom/android/server/tv/UinputBridge;
+Lcom/android/server/uri/UriGrantsManagerInternal;
+Lcom/android/server/uri/UriGrantsManagerService$1;
+Lcom/android/server/uri/UriGrantsManagerService$H;
+Lcom/android/server/uri/UriGrantsManagerService$Lifecycle;
+Lcom/android/server/uri/UriGrantsManagerService$LocalService;
+Lcom/android/server/uri/UriGrantsManagerService;
+Lcom/android/server/uri/UriMetricsHelper$PersistentUriGrantsProvider;
+Lcom/android/server/uri/UriMetricsHelper;
+Lcom/android/server/usb/UsbAlsaJackDetector;
+Lcom/android/server/usb/UsbAlsaMidiDevice$2;
+Lcom/android/server/usb/UsbAlsaMidiDevice$3;
+Lcom/android/server/usb/UsbAlsaMidiDevice$InputReceiverProxy;
+Lcom/android/server/usb/UsbAlsaMidiDevice;
+Lcom/android/server/usb/UsbDeviceManager;
+Lcom/android/server/usb/UsbHostManager;
+Lcom/android/server/usb/descriptors/UsbDescriptor;
+Lcom/android/server/usb/descriptors/UsbInterfaceDescriptor;
+Lcom/android/server/utils/AnrTimer$Error;
+Lcom/android/server/utils/AnrTimer$FeatureDisabled;
+Lcom/android/server/utils/AnrTimer$FeatureEnabled;
+Lcom/android/server/utils/AnrTimer$FeatureSwitch;
+Lcom/android/server/utils/AnrTimer$Injector;
+Lcom/android/server/utils/AnrTimer;
+Lcom/android/server/utils/FeatureFlags;
+Lcom/android/server/utils/FeatureFlagsImpl;
+Lcom/android/server/utils/Flags;
+Lcom/android/server/utils/FoldSettingProvider;
+Lcom/android/server/utils/PriorityDump$PriorityDumper;
+Lcom/android/server/utils/Slogf;
+Lcom/android/server/utils/Snappable;
+Lcom/android/server/utils/SnapshotCache$Auto;
+Lcom/android/server/utils/SnapshotCache$Sealed;
+Lcom/android/server/utils/SnapshotCache$Statistics;
+Lcom/android/server/utils/SnapshotCache;
+Lcom/android/server/utils/Snapshots;
+Lcom/android/server/utils/TimingsTraceAndSlog;
+Lcom/android/server/utils/Watchable;
+Lcom/android/server/utils/WatchableImpl;
+Lcom/android/server/utils/Watched;
+Lcom/android/server/utils/WatchedArrayList$1;
+Lcom/android/server/utils/WatchedArrayList;
+Lcom/android/server/utils/WatchedArrayMap$1;
+Lcom/android/server/utils/WatchedArrayMap;
+Lcom/android/server/utils/WatchedArraySet$1;
+Lcom/android/server/utils/WatchedArraySet;
+Lcom/android/server/utils/WatchedLongSparseArray$1;
+Lcom/android/server/utils/WatchedLongSparseArray;
+Lcom/android/server/utils/WatchedSparseArray$1;
+Lcom/android/server/utils/WatchedSparseArray;
+Lcom/android/server/utils/WatchedSparseBooleanArray;
+Lcom/android/server/utils/WatchedSparseBooleanMatrix;
+Lcom/android/server/utils/WatchedSparseIntArray;
+Lcom/android/server/utils/WatchedSparseSetArray;
+Lcom/android/server/utils/Watcher;
+Lcom/android/server/vibrator/VibratorController$NativeWrapper;
+Lcom/android/server/vibrator/VibratorController$OnVibrationCompleteListener;
+Lcom/android/server/vibrator/VibratorManagerService$OnSyncedVibrationCompleteListener;
+Lcom/android/server/vibrator/VibratorManagerService;
+Lcom/android/server/vr/EnabledComponentsObserver$EnabledComponentChangeListener;
+Lcom/android/server/vr/VrManagerService;
+Lcom/android/server/wm/AbsAppSnapshotController;
+Lcom/android/server/wm/ActivityClientController;
+Lcom/android/server/wm/ActivityMetricsLaunchObserver;
+Lcom/android/server/wm/ActivityMetricsLaunchObserverRegistry;
+Lcom/android/server/wm/ActivityMetricsLogger;
+Lcom/android/server/wm/ActivityRecord;
+Lcom/android/server/wm/ActivityStartController;
+Lcom/android/server/wm/ActivityStartInterceptor;
+Lcom/android/server/wm/ActivityStarter$DefaultFactory;
+Lcom/android/server/wm/ActivityStarter$Factory;
+Lcom/android/server/wm/ActivityTaskManagerInternal$ScreenObserver;
+Lcom/android/server/wm/ActivityTaskManagerInternal$SleepTokenAcquirer;
+Lcom/android/server/wm/ActivityTaskManagerInternal;
+Lcom/android/server/wm/ActivityTaskManagerService$1;
+Lcom/android/server/wm/ActivityTaskManagerService$H;
+Lcom/android/server/wm/ActivityTaskManagerService$Lifecycle;
+Lcom/android/server/wm/ActivityTaskManagerService$LocalService;
+Lcom/android/server/wm/ActivityTaskManagerService$SleepTokenAcquirerImpl;
+Lcom/android/server/wm/ActivityTaskManagerService$UiHandler;
+Lcom/android/server/wm/ActivityTaskManagerService$UpdateConfigurationResult;
+Lcom/android/server/wm/ActivityTaskManagerService;
+Lcom/android/server/wm/ActivityTaskSupervisor$ActivityTaskSupervisorHandler;
+Lcom/android/server/wm/ActivityTaskSupervisor$OpaqueActivityHelper;
+Lcom/android/server/wm/ActivityTaskSupervisor$TaskInfoHelper;
+Lcom/android/server/wm/ActivityTaskSupervisor;
+Lcom/android/server/wm/AppTaskImpl;
+Lcom/android/server/wm/AppWarnings$BaseDialog;
+Lcom/android/server/wm/AppWarnings$UiHandler;
+Lcom/android/server/wm/AppWarnings$WriteConfigTask;
+Lcom/android/server/wm/AppWarnings;
+Lcom/android/server/wm/BLASTSyncEngine$TransactionReadyListener;
+Lcom/android/server/wm/BackNavigationController$NavigationMonitor;
+Lcom/android/server/wm/BackNavigationController;
+Lcom/android/server/wm/BackgroundActivityStartController$FinishedActivityEntry;
+Lcom/android/server/wm/BackgroundActivityStartController;
+Lcom/android/server/wm/ClientLifecycleManager;
+Lcom/android/server/wm/CompatModePackages$CompatHandler;
+Lcom/android/server/wm/CompatModePackages;
+Lcom/android/server/wm/ConfigurationContainer;
+Lcom/android/server/wm/ConfigurationContainerListener;
+Lcom/android/server/wm/DeprecatedAbiDialog;
+Lcom/android/server/wm/DeprecatedTargetSdkVersionDialog;
+Lcom/android/server/wm/DesktopModeLaunchParamsModifier;
+Lcom/android/server/wm/DisplayArea$Dimmable;
+Lcom/android/server/wm/DisplayArea;
+Lcom/android/server/wm/DisplayAreaOrganizerController;
+Lcom/android/server/wm/DisplayContent;
+Lcom/android/server/wm/FactoryErrorDialog;
+Lcom/android/server/wm/InputTarget;
+Lcom/android/server/wm/InsetsControlTarget;
+Lcom/android/server/wm/KeyguardController$$ExternalSyntheticLambda0;
+Lcom/android/server/wm/KeyguardController;
+Lcom/android/server/wm/LaunchObserverRegistryImpl;
+Lcom/android/server/wm/LaunchParamsController$LaunchParams;
+Lcom/android/server/wm/LaunchParamsController$LaunchParamsModifier;
+Lcom/android/server/wm/LaunchParamsController;
+Lcom/android/server/wm/LaunchParamsPersister$$ExternalSyntheticLambda2;
+Lcom/android/server/wm/LaunchParamsPersister;
+Lcom/android/server/wm/LockTaskController$LockTaskToken;
+Lcom/android/server/wm/LockTaskController;
+Lcom/android/server/wm/MirrorActiveUids;
+Lcom/android/server/wm/PackageConfigPersister;
+Lcom/android/server/wm/PendingRemoteAnimationRegistry;
+Lcom/android/server/wm/PersisterQueue$$ExternalSyntheticLambda0;
+Lcom/android/server/wm/PersisterQueue$LazyTaskWriterThread;
+Lcom/android/server/wm/PersisterQueue$Listener;
+Lcom/android/server/wm/PersisterQueue$WriteQueueItem;
+Lcom/android/server/wm/PersisterQueue;
+Lcom/android/server/wm/RecentTasks$$ExternalSyntheticLambda0;
+Lcom/android/server/wm/RecentTasks$$ExternalSyntheticLambda1;
+Lcom/android/server/wm/RecentTasks$1;
+Lcom/android/server/wm/RecentTasks$Callbacks;
+Lcom/android/server/wm/RecentTasks;
+Lcom/android/server/wm/RootDisplayArea;
+Lcom/android/server/wm/RootWindowContainer;
+Lcom/android/server/wm/RunningTasks;
+Lcom/android/server/wm/SurfaceAnimationThread;
+Lcom/android/server/wm/SurfaceAnimator$Animatable;
+Lcom/android/server/wm/SurfaceFreezer$Freezable;
+Lcom/android/server/wm/Task;
+Lcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda0;
+Lcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda10;
+Lcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda11;
+Lcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda12;
+Lcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda13;
+Lcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda14;
+Lcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda15;
+Lcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda16;
+Lcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda17;
+Lcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda18;
+Lcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda19;
+Lcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda1;
+Lcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda20;
+Lcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda21;
+Lcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda22;
+Lcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda23;
+Lcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda24;
+Lcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda2;
+Lcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda3;
+Lcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda4;
+Lcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda5;
+Lcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda6;
+Lcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda7;
+Lcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda8;
+Lcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda9;
+Lcom/android/server/wm/TaskChangeNotificationController$MainHandler;
+Lcom/android/server/wm/TaskChangeNotificationController$TaskStackConsumer;
+Lcom/android/server/wm/TaskChangeNotificationController;
+Lcom/android/server/wm/TaskDisplayArea;
+Lcom/android/server/wm/TaskFpsCallbackController;
+Lcom/android/server/wm/TaskFragment;
+Lcom/android/server/wm/TaskFragmentOrganizerController;
+Lcom/android/server/wm/TaskLaunchParamsModifier;
+Lcom/android/server/wm/TaskOrganizerController;
+Lcom/android/server/wm/TaskPersister;
+Lcom/android/server/wm/TaskSnapshotController;
+Lcom/android/server/wm/Transition$ReadyCondition;
+Lcom/android/server/wm/Transition;
+Lcom/android/server/wm/TransitionController$$ExternalSyntheticLambda4;
+Lcom/android/server/wm/TransitionController$Lock;
+Lcom/android/server/wm/TransitionController$RemotePlayer;
+Lcom/android/server/wm/TransitionController$TransitionMetricsReporter;
+Lcom/android/server/wm/TransitionController;
+Lcom/android/server/wm/UnsupportedCompileSdkDialog;
+Lcom/android/server/wm/UnsupportedDisplaySizeDialog;
+Lcom/android/server/wm/VisibleActivityProcessTracker;
+Lcom/android/server/wm/VrController$1;
+Lcom/android/server/wm/VrController;
+Lcom/android/server/wm/WindowContainer;
+Lcom/android/server/wm/WindowList;
+Lcom/android/server/wm/WindowManagerGlobalLock;
+Lcom/android/server/wm/WindowManagerInternal$AppTransitionListener;
+Lcom/android/server/wm/WindowManagerService$2;
+Lcom/android/server/wm/WindowManagerService$4;
+Lcom/android/server/wm/WindowManagerService$8;
+Lcom/android/server/wm/WindowManagerService$AppFreezeListener;
+Lcom/android/server/wm/WindowManagerService$H;
+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;
+Lcom/android/server/wm/WindowProcessListener;
+Lcom/android/server/wm/WindowState;
+Lcom/android/server/wm/WindowToken;
+Lcom/android/server/wm/utils/DisplayInfoOverrides$$ExternalSyntheticLambda0;
+Lcom/android/server/wm/utils/DisplayInfoOverrides$DisplayInfoFieldsUpdater;
+Lcom/android/server/wm/utils/DisplayInfoOverrides;
+Lcom/android/wm/shell/FeatureFlags;
+Lcom/android/wm/shell/FeatureFlagsImpl;
+Lcom/android/wm/shell/Flags;
+[Landroid/hardware/light/HwLight;
+[Landroid/hardware/power/stats/Channel;
+[Landroid/hardware/power/stats/EnergyConsumer;
+[Landroid/hardware/power/stats/State;
+[Landroid/hardware/power/stats/StateResidency;
+[Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;
+[Lcom/android/server/am/BroadcastProcessQueue;
+[Lcom/android/server/am/BroadcastQueue;
+[Lcom/android/server/am/BroadcastRecord;
+[Lcom/android/server/am/CachedAppOptimizer$CancelCompactReason;
+[Lcom/android/server/am/CachedAppOptimizer$CompactSource;
+[Lcom/android/server/am/OomAdjProfiler$CpuTimes;
+[Lcom/android/server/am/UidObserverController$ChangeRecord;
+[Lcom/android/server/display/config/AutoBrightnessModeName;
+[Lcom/android/server/display/config/AutoBrightnessSettingName;
+[Lcom/android/server/firewall/FilterFactory;
+[Lcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;
+[Lcom/android/server/lights/LightsService$LightImpl;
+[Lcom/android/server/pm/DefaultCrossProfileIntentFilter;
+[Lcom/android/server/pm/PreferredActivity;
+[Lcom/android/server/pm/SnapshotStatistics$Stats;
+[Lcom/android/server/power/stats/BatteryStatsImpl$Counter;
+[Lcom/android/server/power/stats/BatteryStatsImpl$DisplayBatteryStats;
+[Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;
+[Lcom/android/server/power/stats/BatteryStatsImpl$RadioAccessTechnologyBatteryStats;
+[Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;
+[Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;
+[Lcom/android/server/utils/AnrTimer$Error;
+[Lcom/android/server/wm/ActivityRecord;
+[[Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;
+PLandroid/app/usage/UsageStatsManagerInternal;-><init>()V
+HSPLandroid/content/pm/PackageManagerInternal;-><init>()V
+HPLandroid/content/pm/PackageManagerInternal;->filterAppAccess(Ljava/lang/String;II)Z
+PLandroid/content/pm/PackageManagerInternal;->getPackageList()Lcom/android/server/pm/PackageList;
+PLandroid/frameworks/vibrator/IVibratorControlService$Stub;-><init>()V
+PLandroid/frameworks/vibrator/IVibratorControlService;-><clinit>()V
+PLandroid/hardware/authsecret/IAuthSecret$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/authsecret/IAuthSecret;
+PLandroid/hardware/authsecret/IAuthSecret;-><clinit>()V
+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;
+PLandroid/hardware/configstore/V1_1/ISurfaceFlingerConfigs;->getService()Landroid/hardware/configstore/V1_1/ISurfaceFlingerConfigs;
+PLandroid/hardware/configstore/V1_1/ISurfaceFlingerConfigs;->getService(Ljava/lang/String;)Landroid/hardware/configstore/V1_1/ISurfaceFlingerConfigs;
+PLandroid/hardware/health/HealthInfo$1;-><init>()V
+PLandroid/hardware/health/HealthInfo;-><clinit>()V
+HPLandroid/hardware/health/HealthInfo;-><init>()V
+PLandroid/hardware/health/IHealth$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/health/IHealth;
+PLandroid/hardware/health/IHealth;-><clinit>()V
+PLandroid/hardware/health/IHealthInfoCallback$Stub;-><init>()V
+PLandroid/hardware/health/IHealthInfoCallback;-><clinit>()V
+HPLandroid/hardware/health/Translate;->h2aTranslate(Landroid/hardware/health/V2_1/HealthInfo;)Landroid/hardware/health/HealthInfo;
+HPLandroid/hardware/health/Translate;->h2aTranslateInternal(Landroid/hardware/health/HealthInfo;Landroid/hardware/health/V1_0/HealthInfo;)V
+HPLandroid/hardware/health/V1_0/HealthInfo;-><init>()V
+HPLandroid/hardware/health/V1_0/HealthInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+HPLandroid/hardware/health/V2_0/HealthInfo;-><init>()V
+HPLandroid/hardware/health/V2_0/HealthInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+PLandroid/hardware/health/V2_0/IHealth$Proxy;-><init>(Landroid/os/IHwBinder;)V
+PLandroid/hardware/health/V2_0/IHealth$Proxy;->asBinder()Landroid/os/IHwBinder;
+PLandroid/hardware/health/V2_0/IHealth$Proxy;->equals(Ljava/lang/Object;)Z
+PLandroid/hardware/health/V2_0/IHealth$Proxy;->getCapacity(Landroid/hardware/health/V2_0/IHealth$getCapacityCallback;)V
+PLandroid/hardware/health/V2_0/IHealth$Proxy;->interfaceChain()Ljava/util/ArrayList;
+PLandroid/hardware/health/V2_0/IHealth$Proxy;->registerCallback(Landroid/hardware/health/V2_0/IHealthInfoCallback;)I
+PLandroid/hardware/health/V2_0/IHealth$Proxy;->update()I
+PLandroid/hardware/health/V2_0/IHealth;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/health/V2_0/IHealth;
+PLandroid/hardware/health/V2_0/IHealth;->getService(Ljava/lang/String;Z)Landroid/hardware/health/V2_0/IHealth;
+PLandroid/hardware/health/V2_1/HealthInfo;-><init>()V
+PLandroid/hardware/health/V2_1/HealthInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+PLandroid/hardware/health/V2_1/HealthInfo;->readFromParcel(Landroid/os/HwParcel;)V
+PLandroid/hardware/health/V2_1/IHealthInfoCallback$Stub;-><init>()V
+PLandroid/hardware/health/V2_1/IHealthInfoCallback$Stub;->asBinder()Landroid/os/IHwBinder;
+PLandroid/hardware/health/V2_1/IHealthInfoCallback$Stub;->interfaceChain()Ljava/util/ArrayList;
+PLandroid/hardware/health/V2_1/IHealthInfoCallback$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
+HSPLandroid/hardware/light/HwLight$1;-><init>()V
+HSPLandroid/hardware/light/HwLight$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/light/HwLight;
+HSPLandroid/hardware/light/HwLight$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/hardware/light/HwLight$1;->newArray(I)[Landroid/hardware/light/HwLight;
+HSPLandroid/hardware/light/HwLight$1;->newArray(I)[Ljava/lang/Object;
+HSPLandroid/hardware/light/HwLight;-><clinit>()V
+HSPLandroid/hardware/light/HwLight;-><init>()V
+HSPLandroid/hardware/light/HwLight;->readFromParcel(Landroid/os/Parcel;)V
+PLandroid/hardware/light/HwLightState$1;-><init>()V
+PLandroid/hardware/light/HwLightState;-><clinit>()V
+PLandroid/hardware/light/HwLightState;-><init>()V
+PLandroid/hardware/light/HwLightState;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/hardware/light/ILights$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+HSPLandroid/hardware/light/ILights$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HSPLandroid/hardware/light/ILights$Stub$Proxy;->getLights()[Landroid/hardware/light/HwLight;
+PLandroid/hardware/light/ILights$Stub$Proxy;->setLightState(ILandroid/hardware/light/HwLightState;)V
+HSPLandroid/hardware/light/ILights$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/light/ILights;
+HSPLandroid/hardware/light/ILights;-><clinit>()V
+PLandroid/hardware/oemlock/IOemLock$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/oemlock/IOemLock;
+PLandroid/hardware/oemlock/IOemLock;-><clinit>()V
+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;
+HSPLandroid/hardware/power/stats/Channel$1;-><init>()V
+HSPLandroid/hardware/power/stats/Channel;-><clinit>()V
+HSPLandroid/hardware/power/stats/EnergyMeasurement$1;-><init>()V
+HSPLandroid/hardware/power/stats/EnergyMeasurement;-><clinit>()V
+HSPLandroid/hardware/power/stats/PowerEntity$1;-><init>()V
+HSPLandroid/hardware/power/stats/PowerEntity;-><clinit>()V
+PLandroid/hardware/power/stats/PowerEntity;-><init>()V
+HSPLandroid/hardware/power/stats/State$1;-><init>()V
+HSPLandroid/hardware/power/stats/State;-><clinit>()V
+PLandroid/hardware/power/stats/State;-><init>()V
+HSPLandroid/hardware/power/stats/StateResidency$1;-><init>()V
+HSPLandroid/hardware/power/stats/StateResidency;-><clinit>()V
+PLandroid/hardware/power/stats/StateResidency;-><init>()V
+HSPLandroid/hardware/power/stats/StateResidencyResult$1;-><init>()V
+HSPLandroid/hardware/power/stats/StateResidencyResult;-><clinit>()V
+PLandroid/hardware/power/stats/StateResidencyResult;-><init>()V
+PLandroid/hardware/soundtrigger/V2_0/ISoundTriggerHw;->getService(Ljava/lang/String;Z)Landroid/hardware/soundtrigger/V2_0/ISoundTriggerHw;
+PLandroid/hardware/soundtrigger/V2_0/ISoundTriggerHw;->getService(Z)Landroid/hardware/soundtrigger/V2_0/ISoundTriggerHw;
+PLandroid/hardware/usb/V1_0/IUsb;->getService(Ljava/lang/String;Z)Landroid/hardware/usb/V1_0/IUsb;
+PLandroid/hardware/usb/V1_0/IUsb;->getService(Z)Landroid/hardware/usb/V1_0/IUsb;
+HPLandroid/hidl/manager/V1_0/IServiceManager$InstanceDebugInfo;-><init>()V
+HPLandroid/hidl/manager/V1_0/IServiceManager$InstanceDebugInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+HPLandroid/hidl/manager/V1_0/IServiceManager$InstanceDebugInfo;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
+HSPLandroid/hidl/manager/V1_0/IServiceManager$Proxy;-><init>(Landroid/os/IHwBinder;)V
+PLandroid/hidl/manager/V1_0/IServiceManager$Proxy;->debugDump()Ljava/util/ArrayList;
+HSPLandroid/hidl/manager/V1_0/IServiceManager$Proxy;->getTransport(Ljava/lang/String;Ljava/lang/String;)B
+HSPLandroid/hidl/manager/V1_0/IServiceManager$Proxy;->interfaceChain()Ljava/util/ArrayList;
+PLandroid/hidl/manager/V1_0/IServiceManager$Proxy;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
+HSPLandroid/hidl/manager/V1_0/IServiceManager$Proxy;->registerForNotifications(Ljava/lang/String;Ljava/lang/String;Landroid/hidl/manager/V1_0/IServiceNotification;)Z
+HSPLandroid/hidl/manager/V1_0/IServiceManager;->asInterface(Landroid/os/IHwBinder;)Landroid/hidl/manager/V1_0/IServiceManager;
+HSPLandroid/hidl/manager/V1_0/IServiceManager;->getService()Landroid/hidl/manager/V1_0/IServiceManager;
+HSPLandroid/hidl/manager/V1_0/IServiceManager;->getService(Ljava/lang/String;)Landroid/hidl/manager/V1_0/IServiceManager;
+HSPLandroid/hidl/manager/V1_0/IServiceNotification$Stub;-><init>()V
+HSPLandroid/hidl/manager/V1_0/IServiceNotification$Stub;->asBinder()Landroid/os/IHwBinder;
+HSPLandroid/hidl/manager/V1_0/IServiceNotification$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
+HSPLandroid/net/ConnectivityModuleConnector$DependenciesImpl;-><init>()V
+HSPLandroid/net/ConnectivityModuleConnector$DependenciesImpl;-><init>(Landroid/net/ConnectivityModuleConnector$DependenciesImpl-IA;)V
+PLandroid/net/ConnectivityModuleConnector$DependenciesImpl;->getModuleServiceIntent(Landroid/content/pm/PackageManager;Ljava/lang/String;Ljava/lang/String;Z)Landroid/content/Intent;
+PLandroid/net/ConnectivityModuleConnector$ModuleServiceConnection;-><init>(Landroid/net/ConnectivityModuleConnector;Ljava/lang/String;Landroid/net/ConnectivityModuleConnector$ModuleServiceCallback;)V
+PLandroid/net/ConnectivityModuleConnector$ModuleServiceConnection;-><init>(Landroid/net/ConnectivityModuleConnector;Ljava/lang/String;Landroid/net/ConnectivityModuleConnector$ModuleServiceCallback;Landroid/net/ConnectivityModuleConnector$ModuleServiceConnection-IA;)V
+PLandroid/net/ConnectivityModuleConnector$ModuleServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLandroid/net/ConnectivityModuleConnector;->-$$Nest$mlogi(Landroid/net/ConnectivityModuleConnector;Ljava/lang/String;)V
+PLandroid/net/ConnectivityModuleConnector;->-$$Nest$smcheckModuleServicePermission(Landroid/content/pm/PackageManager;Landroid/content/ComponentName;Ljava/lang/String;)V
+HSPLandroid/net/ConnectivityModuleConnector;-><clinit>()V
+HSPLandroid/net/ConnectivityModuleConnector;-><init>()V
+HSPLandroid/net/ConnectivityModuleConnector;-><init>(Landroid/net/ConnectivityModuleConnector$Dependencies;)V
+PLandroid/net/ConnectivityModuleConnector;->checkModuleServicePermission(Landroid/content/pm/PackageManager;Landroid/content/ComponentName;Ljava/lang/String;)V
+HSPLandroid/net/ConnectivityModuleConnector;->getInstance()Landroid/net/ConnectivityModuleConnector;
+PLandroid/net/ConnectivityModuleConnector;->init(Landroid/content/Context;)V
+PLandroid/net/ConnectivityModuleConnector;->log(Ljava/lang/String;)V
+PLandroid/net/ConnectivityModuleConnector;->logi(Ljava/lang/String;)V
+PLandroid/net/ConnectivityModuleConnector;->registerHealthListener(Landroid/net/ConnectivityModuleConnector$ConnectivityModuleHealthListener;)V
+PLandroid/net/ConnectivityModuleConnector;->startModuleService(Ljava/lang/String;Ljava/lang/String;Landroid/net/ConnectivityModuleConnector$ModuleServiceCallback;)V
+PLandroid/net/INetd$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+PLandroid/net/INetd$Stub$Proxy;->firewallSetFirewallType(I)V
+PLandroid/net/INetd$Stub$Proxy;->registerUnsolicitedEventListener(Landroid/net/INetdUnsolicitedEventListener;)V
+PLandroid/net/INetd$Stub;-><clinit>()V
+PLandroid/net/INetd$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetd;
+PLandroid/net/INetdUnsolicitedEventListener$Stub;-><init>()V
+PLandroid/net/INetdUnsolicitedEventListener$Stub;->asBinder()Landroid/os/IBinder;
+PLandroid/net/INetdUnsolicitedEventListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLandroid/net/INetdUnsolicitedEventListener;-><clinit>()V
+PLandroid/net/INetworkStackConnector$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+PLandroid/net/INetworkStackConnector$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetworkStackConnector;
+PLandroid/net/INetworkStackConnector;-><clinit>()V
+PLandroid/net/NetworkFactory;-><init>(Landroid/os/Looper;Landroid/content/Context;Ljava/lang/String;Landroid/net/NetworkCapabilities;)V
+PLandroid/net/NetworkFactory;->acceptRequest(Landroid/net/NetworkRequest;)Z
+HPLandroid/net/NetworkFactory;->log(Ljava/lang/String;)V
+PLandroid/net/NetworkFactory;->needNetworkFor(Landroid/net/NetworkRequest;)V
+PLandroid/net/NetworkFactory;->register()V
+PLandroid/net/NetworkFactory;->registerIgnoringScore()V
+PLandroid/net/NetworkFactory;->releaseNetworkFor(Landroid/net/NetworkRequest;)V
+PLandroid/net/NetworkFactory;->startNetwork()V
+PLandroid/net/NetworkFactoryImpl$$ExternalSyntheticLambda0;-><init>(Landroid/net/NetworkFactoryImpl;)V
+HPLandroid/net/NetworkFactoryImpl$$ExternalSyntheticLambda0;->execute(Ljava/lang/Runnable;)V
+PLandroid/net/NetworkFactoryImpl$1;-><init>(Landroid/net/NetworkFactoryImpl;)V
+PLandroid/net/NetworkFactoryImpl$1;->onNetworkNeeded(Landroid/net/NetworkRequest;)V
+PLandroid/net/NetworkFactoryImpl$1;->onNetworkUnneeded(Landroid/net/NetworkRequest;)V
+PLandroid/net/NetworkFactoryImpl$2;-><init>(Landroid/net/NetworkFactoryImpl;Landroid/content/Context;Landroid/os/Looper;Ljava/lang/String;)V
+HPLandroid/net/NetworkFactoryImpl$NetworkRequestInfo;-><init>(Landroid/net/NetworkRequest;)V
+HPLandroid/net/NetworkFactoryImpl;->$r8$lambda$gco469I383HoexMSXOHYvcsWJ0M(Landroid/net/NetworkFactoryImpl;Ljava/lang/Runnable;)V
+PLandroid/net/NetworkFactoryImpl;->-$$Nest$mhandleAddRequest(Landroid/net/NetworkFactoryImpl;Landroid/net/NetworkRequest;)V
+PLandroid/net/NetworkFactoryImpl;->-$$Nest$mhandleRemoveRequest(Landroid/net/NetworkFactoryImpl;Landroid/net/NetworkRequest;)V
+PLandroid/net/NetworkFactoryImpl;-><clinit>()V
+PLandroid/net/NetworkFactoryImpl;-><init>(Landroid/net/NetworkFactory;Landroid/os/Looper;Landroid/content/Context;Landroid/net/NetworkCapabilities;)V
+HPLandroid/net/NetworkFactoryImpl;->handleAddRequest(Landroid/net/NetworkRequest;)V
+PLandroid/net/NetworkFactoryImpl;->handleMessage(Landroid/os/Message;)V
+PLandroid/net/NetworkFactoryImpl;->handleOfferNetwork(Landroid/net/NetworkScore;)V
+PLandroid/net/NetworkFactoryImpl;->handleRemoveRequest(Landroid/net/NetworkRequest;)V
+PLandroid/net/NetworkFactoryImpl;->lambda$new$0(Ljava/lang/Runnable;)V
+PLandroid/net/NetworkFactoryImpl;->register(Ljava/lang/String;)V
+PLandroid/net/NetworkFactoryImpl;->register(Ljava/lang/String;Z)V
+PLandroid/net/NetworkFactoryImpl;->registerIgnoringScore(Ljava/lang/String;)V
+PLandroid/net/NetworkFactoryLegacyImpl;-><init>(Landroid/net/NetworkFactory;Landroid/os/Looper;Landroid/content/Context;Landroid/net/NetworkCapabilities;)V
+PLandroid/net/NetworkStackClient$DependenciesImpl;-><init>()V
+PLandroid/net/NetworkStackClient$DependenciesImpl;-><init>(Landroid/net/NetworkStackClient$DependenciesImpl-IA;)V
+PLandroid/net/NetworkStackClient$DependenciesImpl;->addToServiceManager(Landroid/os/IBinder;)V
+PLandroid/net/NetworkStackClient$DependenciesImpl;->getConnectivityModuleConnector()Landroid/net/ConnectivityModuleConnector;
+PLandroid/net/NetworkStackClient$NetworkStackConnection;-><init>(Landroid/net/NetworkStackClient;)V
+PLandroid/net/NetworkStackClient$NetworkStackConnection;-><init>(Landroid/net/NetworkStackClient;Landroid/net/NetworkStackClient$NetworkStackConnection-IA;)V
+PLandroid/net/NetworkStackClient$NetworkStackConnection;->onModuleServiceConnected(Landroid/os/IBinder;)V
+PLandroid/net/NetworkStackClient;->-$$Nest$mlogi(Landroid/net/NetworkStackClient;Ljava/lang/String;)V
+PLandroid/net/NetworkStackClient;->-$$Nest$mregisterNetworkStackService(Landroid/net/NetworkStackClient;Landroid/os/IBinder;)V
+PLandroid/net/NetworkStackClient;-><clinit>()V
+PLandroid/net/NetworkStackClient;-><init>()V
+PLandroid/net/NetworkStackClient;-><init>(Landroid/net/NetworkStackClient$Dependencies;)V
+PLandroid/net/NetworkStackClient;->getInstance()Landroid/net/NetworkStackClient;
+PLandroid/net/NetworkStackClient;->init()V
+PLandroid/net/NetworkStackClient;->log(Ljava/lang/String;)V
+PLandroid/net/NetworkStackClient;->logi(Ljava/lang/String;)V
+PLandroid/net/NetworkStackClient;->registerNetworkStackService(Landroid/os/IBinder;)V
+PLandroid/net/NetworkStackClient;->start()V
+PLandroid/net/metrics/INetdEventListener$Stub;-><init>()V
+HPLandroid/net/metrics/INetdEventListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLandroid/net/metrics/INetdEventListener;-><clinit>()V
+PLandroid/net/util/NetdService;-><clinit>()V
+PLandroid/net/util/NetdService;->get()Landroid/net/INetd;
+PLandroid/net/util/NetdService;->get(J)Landroid/net/INetd;
+PLandroid/net/util/NetdService;->getInstance()Landroid/net/INetd;
+HSPLandroid/os/BatteryStatsInternal;-><init>()V
+HSPLandroid/power/PowerStatsInternal;-><init>()V
+PLandroid/security/keystore/IKeyAttestationApplicationIdProvider$Stub;-><init>()V
+PLandroid/security/keystore/IKeyAttestationApplicationIdProvider$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLandroid/security/keystore/KeyAttestationApplicationId$1;-><init>()V
+PLandroid/security/keystore/KeyAttestationApplicationId;-><clinit>()V
+PLandroid/security/keystore/KeyAttestationApplicationId;-><init>()V
+PLandroid/security/keystore/KeyAttestationApplicationId;->writeToParcel(Landroid/os/Parcel;I)V
+PLandroid/security/keystore/KeyAttestationPackageInfo$1;-><init>()V
+PLandroid/security/keystore/KeyAttestationPackageInfo;-><clinit>()V
+PLandroid/security/keystore/KeyAttestationPackageInfo;-><init>()V
+PLandroid/security/keystore/KeyAttestationPackageInfo;->writeToParcel(Landroid/os/Parcel;I)V
+PLandroid/security/keystore/Signature$1;-><init>()V
+PLandroid/security/keystore/Signature;-><clinit>()V
+PLandroid/security/keystore/Signature;-><init>()V
+PLandroid/security/keystore/Signature;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/sysprop/SurfaceFlingerProperties;->enable_frame_rate_override()Ljava/util/Optional;
+PLandroid/sysprop/SurfaceFlingerProperties;->has_HDR_display()Ljava/util/Optional;
+PLandroid/sysprop/SurfaceFlingerProperties;->has_wide_color_display()Ljava/util/Optional;
+HSPLandroid/sysprop/SurfaceFlingerProperties;->tryParseBoolean(Ljava/lang/String;)Ljava/lang/Boolean;
+PLcom/android/internal/art/ArtStatsLog;->write(II)V
+PLcom/android/internal/util/jobs/ArrayUtils;-><clinit>()V
+PLcom/android/internal/util/jobs/ArrayUtils;->appendInt([II)[I
+PLcom/android/internal/util/jobs/ArrayUtils;->appendInt([IIZ)[I
+HPLcom/android/internal/util/jobs/ArrayUtils;->contains([II)Z
+PLcom/android/internal/util/jobs/ArrayUtils;->contains([Ljava/lang/Object;Ljava/lang/Object;)Z
+PLcom/android/internal/util/jobs/ArrayUtils;->filter([Ljava/lang/Object;Ljava/util/function/IntFunction;Ljava/util/function/Predicate;)[Ljava/lang/Object;
+PLcom/android/internal/util/jobs/ArrayUtils;->indexOf([Ljava/lang/Object;Ljava/lang/Object;)I
+PLcom/android/internal/util/jobs/ArrayUtils;->isEmpty([Ljava/lang/Object;)Z
+PLcom/android/internal/util/jobs/ArrayUtils;->size([Ljava/lang/Object;)I
+PLcom/android/internal/util/jobs/ConcurrentUtils$DirectExecutor;-><init>()V
+PLcom/android/internal/util/jobs/ConcurrentUtils$DirectExecutor;-><init>(Lcom/android/internal/util/jobs/ConcurrentUtils$DirectExecutor-IA;)V
+PLcom/android/internal/util/jobs/ConcurrentUtils;-><clinit>()V
+PLcom/android/internal/util/jobs/ConcurrentUtils;->waitForCountDownNoInterrupt(Ljava/util/concurrent/CountDownLatch;JLjava/lang/String;)V
+PLcom/android/internal/util/jobs/RingBufferIndices;-><init>(I)V
+HPLcom/android/internal/util/jobs/RingBufferIndices;->add()I
+HPLcom/android/internal/util/jobs/StatLogger;-><init>(Ljava/lang/String;[Ljava/lang/String;)V
+PLcom/android/internal/util/jobs/StatLogger;-><init>([Ljava/lang/String;)V
+HPLcom/android/internal/util/jobs/StatLogger;->getTime()J
+HPLcom/android/internal/util/jobs/StatLogger;->logDurationStat(IJ)J
+HPLcom/android/internal/util/jobs/XmlUtils;->nextElementWithin(Lorg/xmlpull/v1/XmlPullParser;I)Z
+PLcom/android/media/audio/FeatureFlagsImpl;-><clinit>()V
+PLcom/android/media/audio/FeatureFlagsImpl;-><init>()V
+PLcom/android/media/audio/FeatureFlagsImpl;->alarmMinVolumeZero()Z
+HPLcom/android/media/audio/FeatureFlagsImpl;->disablePrescaleAbsoluteVolume()Z
+PLcom/android/media/audio/FeatureFlagsImpl;->load_overrides_media_audio()V
+PLcom/android/media/audio/FeatureFlagsImpl;->ringerModeAffectsAlarm()Z
+PLcom/android/media/audio/Flags;-><clinit>()V
+PLcom/android/media/audio/Flags;->alarmMinVolumeZero()Z
+HPLcom/android/media/audio/Flags;->disablePrescaleAbsoluteVolume()Z
+PLcom/android/media/audio/Flags;->ringerModeAffectsAlarm()Z
+PLcom/android/modules/utils/build/SdkLevel;->isAtLeastPreReleaseCodename(Ljava/lang/String;)Z
+HSPLcom/android/modules/utils/build/SdkLevel;->isAtLeastR()Z
+PLcom/android/modules/utils/build/SdkLevel;->isAtLeastS()Z
+HSPLcom/android/modules/utils/build/SdkLevel;->isAtLeastT()Z
+PLcom/android/modules/utils/build/SdkLevel;->isAtLeastV()Z
+HSPLcom/android/modules/utils/build/UnboundedSdkLevel;-><clinit>()V
+HSPLcom/android/modules/utils/build/UnboundedSdkLevel;-><init>(ILjava/lang/String;Ljava/util/Set;)V
+HSPLcom/android/modules/utils/build/UnboundedSdkLevel;->isAtLeast(Ljava/lang/String;)Z
+HSPLcom/android/modules/utils/build/UnboundedSdkLevel;->isAtLeastInternal(Ljava/lang/String;)Z
+HSPLcom/android/modules/utils/build/UnboundedSdkLevel;->isCodename(Ljava/lang/String;)Z
+HSPLcom/android/modules/utils/build/UnboundedSdkLevel;->removeFingerprint(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/modules/utils/build/UnboundedSdkLevel;->setOf([Ljava/lang/String;)Ljava/util/Set;
+PLcom/android/net/module/util/BaseNetdEventListener;-><init>()V
+PLcom/android/server/AccessibilityManagerInternal$1;-><init>()V
+PLcom/android/server/AccessibilityManagerInternal;-><clinit>()V
+PLcom/android/server/AccessibilityManagerInternal;-><init>()V
+PLcom/android/server/AccessibilityManagerInternal;->get()Lcom/android/server/AccessibilityManagerInternal;
+HSPLcom/android/server/AnimationThread;-><init>()V
+HSPLcom/android/server/AnimationThread;->ensureThreadLocked()V
+HSPLcom/android/server/AnimationThread;->get()Lcom/android/server/AnimationThread;
+HSPLcom/android/server/AnimationThread;->getHandler()Landroid/os/Handler;
+PLcom/android/server/AnyMotionDetector$1;-><init>(Lcom/android/server/AnyMotionDetector;)V
+PLcom/android/server/AnyMotionDetector$2;-><init>(Lcom/android/server/AnyMotionDetector;)V
+PLcom/android/server/AnyMotionDetector$3;-><init>(Lcom/android/server/AnyMotionDetector;)V
+PLcom/android/server/AnyMotionDetector$4;-><init>(Lcom/android/server/AnyMotionDetector;)V
+PLcom/android/server/AnyMotionDetector$RunningSignalStats;-><init>()V
+PLcom/android/server/AnyMotionDetector$RunningSignalStats;->reset()V
+PLcom/android/server/AnyMotionDetector$Vector3;-><init>(JFFF)V
+PLcom/android/server/AnyMotionDetector;-><init>(Landroid/os/PowerManager;Landroid/os/Handler;Landroid/hardware/SensorManager;Lcom/android/server/AnyMotionDetector$DeviceIdleCallback;F)V
+PLcom/android/server/AppSchedulingModuleThread;-><init>()V
+HPLcom/android/server/AppSchedulingModuleThread;->ensureThreadLocked()V
+PLcom/android/server/AppSchedulingModuleThread;->get()Lcom/android/server/AppSchedulingModuleThread;
+PLcom/android/server/AppSchedulingModuleThread;->getExecutor()Ljava/util/concurrent/Executor;
+HPLcom/android/server/AppSchedulingModuleThread;->getHandler()Landroid/os/Handler;
+PLcom/android/server/AppStateTrackerImpl$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/AppStateTrackerImpl;)V
+PLcom/android/server/AppStateTrackerImpl$1;-><init>(Lcom/android/server/AppStateTrackerImpl;Lcom/android/server/AppStateTracker$BackgroundRestrictedAppListener;)V
+PLcom/android/server/AppStateTrackerImpl$2;-><init>(Lcom/android/server/AppStateTrackerImpl;)V
+PLcom/android/server/AppStateTrackerImpl$3;-><init>(Lcom/android/server/AppStateTrackerImpl;)V
+HPLcom/android/server/AppStateTrackerImpl$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/AppStateTrackerImpl$AppOpsWatcher;-><init>(Lcom/android/server/AppStateTrackerImpl;)V
+PLcom/android/server/AppStateTrackerImpl$AppOpsWatcher;-><init>(Lcom/android/server/AppStateTrackerImpl;Lcom/android/server/AppStateTrackerImpl$AppOpsWatcher-IA;)V
+PLcom/android/server/AppStateTrackerImpl$FeatureFlagsObserver;-><init>(Lcom/android/server/AppStateTrackerImpl;)V
+PLcom/android/server/AppStateTrackerImpl$FeatureFlagsObserver;->isForcedAppStandbyForSmallBatteryEnabled()Z
+PLcom/android/server/AppStateTrackerImpl$FeatureFlagsObserver;->register()V
+PLcom/android/server/AppStateTrackerImpl$Listener;->-$$Nest$monExemptedBucketChanged(Lcom/android/server/AppStateTrackerImpl$Listener;Lcom/android/server/AppStateTrackerImpl;)V
+PLcom/android/server/AppStateTrackerImpl$Listener;->-$$Nest$monTempPowerSaveExemptionListChanged(Lcom/android/server/AppStateTrackerImpl$Listener;Lcom/android/server/AppStateTrackerImpl;)V
+PLcom/android/server/AppStateTrackerImpl$Listener;->-$$Nest$monUidActiveStateChanged(Lcom/android/server/AppStateTrackerImpl$Listener;Lcom/android/server/AppStateTrackerImpl;I)V
+PLcom/android/server/AppStateTrackerImpl$Listener;-><init>()V
+PLcom/android/server/AppStateTrackerImpl$Listener;->handleUidCachedChanged(IZ)V
+PLcom/android/server/AppStateTrackerImpl$Listener;->onExemptedBucketChanged(Lcom/android/server/AppStateTrackerImpl;)V
+PLcom/android/server/AppStateTrackerImpl$Listener;->onTempPowerSaveExemptionListChanged(Lcom/android/server/AppStateTrackerImpl;)V
+HPLcom/android/server/AppStateTrackerImpl$Listener;->onUidActiveStateChanged(Lcom/android/server/AppStateTrackerImpl;I)V
+PLcom/android/server/AppStateTrackerImpl$Listener;->unblockAlarmsForUid(I)V
+PLcom/android/server/AppStateTrackerImpl$Listener;->updateAlarmsForUid(I)V
+PLcom/android/server/AppStateTrackerImpl$Listener;->updateAllAlarms()V
+PLcom/android/server/AppStateTrackerImpl$Listener;->updateAllJobs()V
+PLcom/android/server/AppStateTrackerImpl$Listener;->updateJobsForUid(IZ)V
+PLcom/android/server/AppStateTrackerImpl$MyHandler;-><init>(Lcom/android/server/AppStateTrackerImpl;Landroid/os/Looper;)V
+HPLcom/android/server/AppStateTrackerImpl$MyHandler;->handleMessage(Landroid/os/Message;)V
+HPLcom/android/server/AppStateTrackerImpl$MyHandler;->handleUidActive(I)V
+HPLcom/android/server/AppStateTrackerImpl$MyHandler;->handleUidCached(IZ)V
+PLcom/android/server/AppStateTrackerImpl$MyHandler;->handleUidGone(I)V
+HPLcom/android/server/AppStateTrackerImpl$MyHandler;->handleUidIdle(I)V
+PLcom/android/server/AppStateTrackerImpl$MyHandler;->notifyAllExemptionListChanged()V
+HPLcom/android/server/AppStateTrackerImpl$MyHandler;->notifyExemptedBucketChanged()V
+HPLcom/android/server/AppStateTrackerImpl$MyHandler;->notifyTempExemptionListChanged()V
+HPLcom/android/server/AppStateTrackerImpl$MyHandler;->notifyUidActiveStateChanged(I)V
+HPLcom/android/server/AppStateTrackerImpl$MyHandler;->onUidActive(I)V
+HPLcom/android/server/AppStateTrackerImpl$MyHandler;->onUidCachedChanged(IZ)V
+PLcom/android/server/AppStateTrackerImpl$MyHandler;->onUidGone(IZ)V
+HPLcom/android/server/AppStateTrackerImpl$MyHandler;->onUidIdle(IZ)V
+HPLcom/android/server/AppStateTrackerImpl$MyHandler;->removeUid(IZ)V
+PLcom/android/server/AppStateTrackerImpl$StandbyTracker;-><init>(Lcom/android/server/AppStateTrackerImpl;)V
+HPLcom/android/server/AppStateTrackerImpl$StandbyTracker;->onAppIdleStateChanged(Ljava/lang/String;IZII)V
+PLcom/android/server/AppStateTrackerImpl$UidObserver;-><init>(Lcom/android/server/AppStateTrackerImpl;)V
+PLcom/android/server/AppStateTrackerImpl$UidObserver;-><init>(Lcom/android/server/AppStateTrackerImpl;Lcom/android/server/AppStateTrackerImpl$UidObserver-IA;)V
+HPLcom/android/server/AppStateTrackerImpl$UidObserver;->onUidActive(I)V
+HPLcom/android/server/AppStateTrackerImpl$UidObserver;->onUidCachedChanged(IZ)V
+HPLcom/android/server/AppStateTrackerImpl$UidObserver;->onUidGone(IZ)V
+HPLcom/android/server/AppStateTrackerImpl$UidObserver;->onUidIdle(IZ)V
+PLcom/android/server/AppStateTrackerImpl;->-$$Nest$fgetmContext(Lcom/android/server/AppStateTrackerImpl;)Landroid/content/Context;
+HPLcom/android/server/AppStateTrackerImpl;->-$$Nest$fgetmHandler(Lcom/android/server/AppStateTrackerImpl;)Lcom/android/server/AppStateTrackerImpl$MyHandler;
+HPLcom/android/server/AppStateTrackerImpl;->-$$Nest$fgetmLock(Lcom/android/server/AppStateTrackerImpl;)Ljava/lang/Object;
+HPLcom/android/server/AppStateTrackerImpl;->-$$Nest$fgetmStatLogger(Lcom/android/server/AppStateTrackerImpl;)Lcom/android/internal/util/jobs/StatLogger;
+HPLcom/android/server/AppStateTrackerImpl;->-$$Nest$mcloneListeners(Lcom/android/server/AppStateTrackerImpl;)[Lcom/android/server/AppStateTrackerImpl$Listener;
+PLcom/android/server/AppStateTrackerImpl;->-$$Nest$mupdateForceAllAppStandbyState(Lcom/android/server/AppStateTrackerImpl;)V
+PLcom/android/server/AppStateTrackerImpl;->-$$Nest$smaddUidToArray(Landroid/util/SparseBooleanArray;I)Z
+HPLcom/android/server/AppStateTrackerImpl;->-$$Nest$smremoveUidFromArray(Landroid/util/SparseBooleanArray;IZ)Z
+PLcom/android/server/AppStateTrackerImpl;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
+PLcom/android/server/AppStateTrackerImpl;->addBackgroundRestrictedAppListener(Lcom/android/server/AppStateTracker$BackgroundRestrictedAppListener;)V
+PLcom/android/server/AppStateTrackerImpl;->addListener(Lcom/android/server/AppStateTrackerImpl$Listener;)V
+HPLcom/android/server/AppStateTrackerImpl;->addUidToArray(Landroid/util/SparseBooleanArray;I)Z
+PLcom/android/server/AppStateTrackerImpl;->areAlarmsRestricted(ILjava/lang/String;)Z
+HPLcom/android/server/AppStateTrackerImpl;->areAlarmsRestrictedByBatterySaver(ILjava/lang/String;)Z
+HPLcom/android/server/AppStateTrackerImpl;->areJobsRestricted(ILjava/lang/String;Z)Z
+HPLcom/android/server/AppStateTrackerImpl;->cloneListeners()[Lcom/android/server/AppStateTrackerImpl$Listener;
+HPLcom/android/server/AppStateTrackerImpl;->findForcedAppStandbyUidPackageIndexLocked(ILjava/lang/String;)I
+PLcom/android/server/AppStateTrackerImpl;->injectActivityManagerInternal()Landroid/app/ActivityManagerInternal;
+PLcom/android/server/AppStateTrackerImpl;->injectAppOpsManager()Landroid/app/AppOpsManager;
+PLcom/android/server/AppStateTrackerImpl;->injectAppStandbyInternal()Lcom/android/server/usage/AppStandbyInternal;
+PLcom/android/server/AppStateTrackerImpl;->injectGetGlobalSettingInt(Ljava/lang/String;I)I
+PLcom/android/server/AppStateTrackerImpl;->injectIActivityManager()Landroid/app/IActivityManager;
+PLcom/android/server/AppStateTrackerImpl;->injectIAppOpsService()Lcom/android/internal/app/IAppOpsService;
+PLcom/android/server/AppStateTrackerImpl;->injectPowerManagerInternal()Landroid/os/PowerManagerInternal;
+PLcom/android/server/AppStateTrackerImpl;->isAnyAppIdUnexempt([I[I)Z
+HPLcom/android/server/AppStateTrackerImpl;->isAppBackgroundRestricted(ILjava/lang/String;)Z
+PLcom/android/server/AppStateTrackerImpl;->isForceAllAppsStandbyEnabled()Z
+HPLcom/android/server/AppStateTrackerImpl;->isRunAnyInBackgroundAppOpsAllowed(ILjava/lang/String;)Z
+HPLcom/android/server/AppStateTrackerImpl;->isRunAnyRestrictedLocked(ILjava/lang/String;)Z
+HPLcom/android/server/AppStateTrackerImpl;->isUidActive(I)Z
+PLcom/android/server/AppStateTrackerImpl;->isUidActiveSynced(I)Z
+HPLcom/android/server/AppStateTrackerImpl;->isUidPowerSaveUserExempt(I)Z
+HPLcom/android/server/AppStateTrackerImpl;->onSystemServicesReady()V
+PLcom/android/server/AppStateTrackerImpl;->refreshForcedAppStandbyUidPackagesLocked()V
+HPLcom/android/server/AppStateTrackerImpl;->removeUidFromArray(Landroid/util/SparseBooleanArray;IZ)Z
+HPLcom/android/server/AppStateTrackerImpl;->setPowerSaveExemptionListAppIds([I[I[I)V
+PLcom/android/server/AppStateTrackerImpl;->toggleForceAllAppsStandbyLocked(Z)V
+PLcom/android/server/AppStateTrackerImpl;->updateForceAllAppStandbyState()V
+PLcom/android/server/BatteryService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/BatteryService;)V
+PLcom/android/server/BatteryService$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/BatteryService$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/BatteryService;)V
+PLcom/android/server/BatteryService$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/BatteryService$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/BatteryService;)V
+PLcom/android/server/BatteryService$$ExternalSyntheticLambda4;->update(Landroid/hardware/health/HealthInfo;)V
+PLcom/android/server/BatteryService$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/BatteryService;Landroid/content/Intent;)V
+PLcom/android/server/BatteryService$$ExternalSyntheticLambda5;->run()V
+PLcom/android/server/BatteryService$2;-><init>(Lcom/android/server/BatteryService;Landroid/os/Handler;)V
+PLcom/android/server/BatteryService$BatteryPropertiesRegistrar;-><init>(Lcom/android/server/BatteryService;)V
+PLcom/android/server/BatteryService$BatteryPropertiesRegistrar;-><init>(Lcom/android/server/BatteryService;Lcom/android/server/BatteryService$BatteryPropertiesRegistrar-IA;)V
+PLcom/android/server/BatteryService$BatteryPropertiesRegistrar;->getProperty(ILandroid/os/BatteryProperty;)I
+PLcom/android/server/BatteryService$BinderService;-><init>(Lcom/android/server/BatteryService;)V
+PLcom/android/server/BatteryService$BinderService;-><init>(Lcom/android/server/BatteryService;Lcom/android/server/BatteryService$BinderService-IA;)V
+PLcom/android/server/BatteryService$Led;-><init>(Lcom/android/server/BatteryService;Landroid/content/Context;Lcom/android/server/lights/LightsManager;)V
+PLcom/android/server/BatteryService$Led;->updateLightsLocked()V
+PLcom/android/server/BatteryService$LocalService;-><init>(Lcom/android/server/BatteryService;)V
+PLcom/android/server/BatteryService$LocalService;-><init>(Lcom/android/server/BatteryService;Lcom/android/server/BatteryService$LocalService-IA;)V
+PLcom/android/server/BatteryService$LocalService;->getBatteryFullCharge()I
+PLcom/android/server/BatteryService$LocalService;->getBatteryHealth()I
+PLcom/android/server/BatteryService$LocalService;->getBatteryLevel()I
+PLcom/android/server/BatteryService$LocalService;->getBatteryLevelLow()Z
+PLcom/android/server/BatteryService$LocalService;->getChargingPolicy()I
+PLcom/android/server/BatteryService$LocalService;->getPlugType()I
+PLcom/android/server/BatteryService$LocalService;->isPowered(I)Z
+PLcom/android/server/BatteryService$LocalService;->registerChargingPolicyChangeListener(Landroid/os/BatteryManagerInternal$ChargingPolicyChangeListener;)V
+PLcom/android/server/BatteryService;->$r8$lambda$N8ClakoF19_iwV3c15yk39OjjgA(Lcom/android/server/BatteryService;Landroid/content/Intent;)V
+PLcom/android/server/BatteryService;->$r8$lambda$QITgs02JU2zUgONUrF7rVY3JmZw(Lcom/android/server/BatteryService;)V
+PLcom/android/server/BatteryService;->$r8$lambda$kI548aEkD-5ubzJcKyoIH4vQF6M(Lcom/android/server/BatteryService;)V
+PLcom/android/server/BatteryService;->$r8$lambda$rpwqZVDE4vm803PIdo4dJE92WYc(Lcom/android/server/BatteryService;Landroid/hardware/health/HealthInfo;)V
+PLcom/android/server/BatteryService;->-$$Nest$fgetmBatteryLevelLow(Lcom/android/server/BatteryService;)Z
+PLcom/android/server/BatteryService;->-$$Nest$fgetmChargingPolicyChangeListeners(Lcom/android/server/BatteryService;)Ljava/util/concurrent/CopyOnWriteArraySet;
+PLcom/android/server/BatteryService;->-$$Nest$fgetmHealthInfo(Lcom/android/server/BatteryService;)Landroid/hardware/health/HealthInfo;
+PLcom/android/server/BatteryService;->-$$Nest$fgetmHealthServiceWrapper(Lcom/android/server/BatteryService;)Lcom/android/server/health/HealthServiceWrapper;
+PLcom/android/server/BatteryService;->-$$Nest$fgetmLastChargingPolicy(Lcom/android/server/BatteryService;)I
+PLcom/android/server/BatteryService;->-$$Nest$fgetmLock(Lcom/android/server/BatteryService;)Ljava/lang/Object;
+PLcom/android/server/BatteryService;->-$$Nest$fgetmPlugType(Lcom/android/server/BatteryService;)I
+PLcom/android/server/BatteryService;->-$$Nest$fputmBatteryNearlyFullLevel(Lcom/android/server/BatteryService;I)V
+PLcom/android/server/BatteryService;->-$$Nest$misPoweredLocked(Lcom/android/server/BatteryService;I)Z
+PLcom/android/server/BatteryService;-><clinit>()V
+HPLcom/android/server/BatteryService;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/BatteryService;->broadcastBatteryChangedIntent(Landroid/content/Intent;Landroid/os/Bundle;)V
+PLcom/android/server/BatteryService;->getIconLocked(I)I
+PLcom/android/server/BatteryService;->isPoweredLocked(I)Z
+PLcom/android/server/BatteryService;->lambda$sendBatteryChangedIntentLocked$0(Landroid/content/Intent;)V
+PLcom/android/server/BatteryService;->notifyChargingPolicyChanged()V
+PLcom/android/server/BatteryService;->onBootPhase(I)V
+PLcom/android/server/BatteryService;->onStart()V
+PLcom/android/server/BatteryService;->plugType(Landroid/hardware/health/HealthInfo;)I
+HPLcom/android/server/BatteryService;->processValuesLocked(Z)V
+PLcom/android/server/BatteryService;->registerHealthCallback()V
+HPLcom/android/server/BatteryService;->sendBatteryChangedIntentLocked()V
+HPLcom/android/server/BatteryService;->sendBatteryLevelChangedIntentLocked()V
+PLcom/android/server/BatteryService;->sendEnqueuedBatteryLevelChangedEvents()V
+PLcom/android/server/BatteryService;->shouldSendBatteryLowLocked()Z
+PLcom/android/server/BatteryService;->shouldShutdownLocked()Z
+PLcom/android/server/BatteryService;->shutdownIfNoPowerLocked()V
+PLcom/android/server/BatteryService;->shutdownIfOverTempLocked()V
+PLcom/android/server/BatteryService;->traceBegin(Ljava/lang/String;)V
+PLcom/android/server/BatteryService;->traceEnd()V
+HPLcom/android/server/BatteryService;->update(Landroid/hardware/health/HealthInfo;)V
+PLcom/android/server/BatteryService;->updateBatteryWarningLevelLocked()V
+PLcom/android/server/BinaryTransparencyService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/BinaryTransparencyService;)V
+PLcom/android/server/BinaryTransparencyService$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/BinaryTransparencyService$3;-><init>(Lcom/android/server/BinaryTransparencyService;)V
+PLcom/android/server/BinaryTransparencyService$BinaryTransparencyServiceImpl;-><init>(Lcom/android/server/BinaryTransparencyService;)V
+PLcom/android/server/BinaryTransparencyService$BiometricLogger;-><clinit>()V
+PLcom/android/server/BinaryTransparencyService$BiometricLogger;-><init>()V
+PLcom/android/server/BinaryTransparencyService$BiometricLogger;->getInstance()Lcom/android/server/BinaryTransparencyService$BiometricLogger;
+PLcom/android/server/BinaryTransparencyService$PackageUpdatedReceiver;-><init>(Lcom/android/server/BinaryTransparencyService;)V
+PLcom/android/server/BinaryTransparencyService$PackageUpdatedReceiver;-><init>(Lcom/android/server/BinaryTransparencyService;Lcom/android/server/BinaryTransparencyService$PackageUpdatedReceiver-IA;)V
+PLcom/android/server/BinaryTransparencyService$UpdateMeasurementsJobService;-><clinit>()V
+PLcom/android/server/BinaryTransparencyService$UpdateMeasurementsJobService;->scheduleBinaryMeasurements(Landroid/content/Context;Lcom/android/server/BinaryTransparencyService;)V
+PLcom/android/server/BinaryTransparencyService;->$r8$lambda$e2eFFQ4jadgx-pDFIBv7RiSb2IE(Lcom/android/server/BinaryTransparencyService;)V
+PLcom/android/server/BinaryTransparencyService;-><clinit>()V
+PLcom/android/server/BinaryTransparencyService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/BinaryTransparencyService;-><init>(Landroid/content/Context;Lcom/android/server/BinaryTransparencyService$BiometricLogger;)V
+PLcom/android/server/BinaryTransparencyService;->collectBiometricProperties()V
+PLcom/android/server/BinaryTransparencyService;->collectBootIntegrityInfo()V
+PLcom/android/server/BinaryTransparencyService;->lambda$collectBootIntegrityInfo$0()V
+PLcom/android/server/BinaryTransparencyService;->onBootPhase(I)V
+PLcom/android/server/BinaryTransparencyService;->onStart()V
+PLcom/android/server/BinaryTransparencyService;->registerAllPackageUpdateObservers()V
+PLcom/android/server/BinaryTransparencyService;->registerApkAndNonStagedApexUpdateListener()V
+PLcom/android/server/BinaryTransparencyService;->registerStagedApexUpdateObserver()V
+PLcom/android/server/BinderCallsStatsService$AuthorizedWorkSourceProvider;-><init>()V
+PLcom/android/server/BinderCallsStatsService$AuthorizedWorkSourceProvider;->createAppidTrustlist(Landroid/content/Context;)Landroid/util/ArraySet;
+HPLcom/android/server/BinderCallsStatsService$AuthorizedWorkSourceProvider;->getCallingUid()I
+HPLcom/android/server/BinderCallsStatsService$AuthorizedWorkSourceProvider;->resolveWorkSourceUid(I)I
+PLcom/android/server/BinderCallsStatsService$AuthorizedWorkSourceProvider;->systemReady(Landroid/content/Context;)V
+PLcom/android/server/BinderCallsStatsService$Internal;-><init>(Lcom/android/internal/os/BinderCallsStats;)V
+PLcom/android/server/BinderCallsStatsService$LifeCycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/BinderCallsStatsService$LifeCycle;->onBootPhase(I)V
+PLcom/android/server/BinderCallsStatsService$LifeCycle;->onStart()V
+PLcom/android/server/BinderCallsStatsService$SettingsObserver;-><init>(Landroid/content/Context;Lcom/android/internal/os/BinderCallsStats;Lcom/android/server/BinderCallsStatsService$AuthorizedWorkSourceProvider;)V
+HPLcom/android/server/BinderCallsStatsService$SettingsObserver;->onChange()V
+PLcom/android/server/BinderCallsStatsService;-><init>(Lcom/android/internal/os/BinderCallsStats;Lcom/android/server/BinderCallsStatsService$AuthorizedWorkSourceProvider;)V
+PLcom/android/server/BinderCallsStatsService;->systemReady(Landroid/content/Context;)V
+PLcom/android/server/BootReceiver$1;-><init>(Lcom/android/server/BootReceiver;Landroid/content/Context;)V
+PLcom/android/server/BootReceiver$1;->run()V
+PLcom/android/server/BootReceiver;->-$$Nest$mlogBootEvents(Lcom/android/server/BootReceiver;Landroid/content/Context;)V
+PLcom/android/server/BootReceiver;->-$$Nest$mremoveOldUpdatePackages(Lcom/android/server/BootReceiver;Landroid/content/Context;)V
+PLcom/android/server/BootReceiver;-><clinit>()V
+PLcom/android/server/BootReceiver;-><init>()V
+HPLcom/android/server/BootReceiver;->addAuditErrorsToDropBox(Landroid/os/DropBoxManager;Ljava/util/HashMap;Ljava/lang/String;ILjava/lang/String;)V
+PLcom/android/server/BootReceiver;->addAugmentedProtoToDropbox(Ljava/io/File;Landroid/os/DropBoxManager;Lcom/android/server/am/DropboxRateLimiter$RateLimitResult;)V
+PLcom/android/server/BootReceiver;->addFileToDropBox(Landroid/os/DropBoxManager;Ljava/util/HashMap;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
+PLcom/android/server/BootReceiver;->addFileWithFootersToDropBox(Landroid/os/DropBoxManager;Ljava/util/HashMap;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
+PLcom/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;->addTombstoneToDropBox(Landroid/content/Context;Ljava/io/File;ZLjava/lang/String;Ljava/util/concurrent/locks/ReentrantLock;)V
+PLcom/android/server/BootReceiver;->fixFsckFsStat(Ljava/lang/String;I[Ljava/lang/String;II)I
+PLcom/android/server/BootReceiver;->getBootHeadersToLogAndUpdate()Ljava/lang/String;
+HPLcom/android/server/BootReceiver;->getCurrentBootHeaders()Ljava/lang/String;
+PLcom/android/server/BootReceiver;->getPreviousBootHeaders()Ljava/lang/String;
+HPLcom/android/server/BootReceiver;->handleFsckFsStat(Ljava/util/regex/Matcher;[Ljava/lang/String;II)V
+PLcom/android/server/BootReceiver;->initDropboxRateLimiter()V
+PLcom/android/server/BootReceiver;->logBootEvents(Landroid/content/Context;)V
+PLcom/android/server/BootReceiver;->logFsMountTime()V
+PLcom/android/server/BootReceiver;->logFsShutdownTime()V
+PLcom/android/server/BootReceiver;->logSystemServerShutdownTimeMetrics()V
+PLcom/android/server/BootReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+HPLcom/android/server/BootReceiver;->readTimestamps()Ljava/util/HashMap;
+PLcom/android/server/BootReceiver;->recordFileTimestamp(Ljava/io/File;Ljava/util/HashMap;)Z
+PLcom/android/server/BootReceiver;->removeOldUpdatePackages(Landroid/content/Context;)V
+HPLcom/android/server/BootReceiver;->writeTimestamps(Ljava/util/HashMap;)V
+PLcom/android/server/BundleUtils;->clone(Landroid/os/Bundle;)Landroid/os/Bundle;
+HSPLcom/android/server/BundleUtils;->isEmpty(Landroid/os/Bundle;)Z
+PLcom/android/server/CachedDeviceStateService$1;-><init>(Lcom/android/server/CachedDeviceStateService;)V
+PLcom/android/server/CachedDeviceStateService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/CachedDeviceStateService;->-$$Nest$fgetmDeviceState(Lcom/android/server/CachedDeviceStateService;)Lcom/android/internal/os/CachedDeviceState;
+PLcom/android/server/CachedDeviceStateService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/CachedDeviceStateService;->onBootPhase(I)V
+PLcom/android/server/CachedDeviceStateService;->onStart()V
+PLcom/android/server/CachedDeviceStateService;->queryIsCharging()Z
+PLcom/android/server/CachedDeviceStateService;->queryScreenInteractive(Landroid/content/Context;)Z
+PLcom/android/server/CertBlacklister$BlacklistObserver;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentResolver;)V
+PLcom/android/server/CertBlacklister;-><clinit>()V
+PLcom/android/server/CertBlacklister;-><init>(Landroid/content/Context;)V
+PLcom/android/server/CertBlacklister;->buildPubkeyObserver(Landroid/content/ContentResolver;)Lcom/android/server/CertBlacklister$BlacklistObserver;
+PLcom/android/server/CertBlacklister;->buildSerialObserver(Landroid/content/ContentResolver;)Lcom/android/server/CertBlacklister$BlacklistObserver;
+PLcom/android/server/CertBlacklister;->registerObservers(Landroid/content/ContentResolver;)V
+PLcom/android/server/CommunalProfileInitializer;-><clinit>()V
+PLcom/android/server/CommunalProfileInitializer;->removeCommunalProfileIfPresent()V
+PLcom/android/server/ContextHubSystemService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/ContextHubSystemService;Landroid/content/Context;)V
+PLcom/android/server/ContextHubSystemService$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/ContextHubSystemService;->$r8$lambda$rh2pjqKKW3BPmYQWkE44zlrrbEc(Lcom/android/server/ContextHubSystemService;Landroid/content/Context;)V
+PLcom/android/server/ContextHubSystemService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/ContextHubSystemService;->lambda$new$0(Landroid/content/Context;)V
+PLcom/android/server/ContextHubSystemService;->onBootPhase(I)V
+PLcom/android/server/ContextHubSystemService;->onStart()V
+PLcom/android/server/CountryDetectorService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/CountryDetectorService;)V
+PLcom/android/server/CountryDetectorService$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/CountryDetectorService;Landroid/location/CountryListener;)V
+PLcom/android/server/CountryDetectorService$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/CountryDetectorService$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/CountryDetectorService;)V
+PLcom/android/server/CountryDetectorService$$ExternalSyntheticLambda2;->run()V
+PLcom/android/server/CountryDetectorService$Receiver;-><init>(Lcom/android/server/CountryDetectorService;Landroid/location/ICountryListener;)V
+PLcom/android/server/CountryDetectorService$Receiver;->binderDied()V
+PLcom/android/server/CountryDetectorService;->$r8$lambda$HYkxybtKcKj3KOzS426QA588kgg(Lcom/android/server/CountryDetectorService;Landroid/location/CountryListener;)V
+PLcom/android/server/CountryDetectorService;->$r8$lambda$w1hnAvR_BRhLPQmveSOw4E6Hh5M(Lcom/android/server/CountryDetectorService;)V
+PLcom/android/server/CountryDetectorService;->-$$Nest$mremoveListener(Lcom/android/server/CountryDetectorService;Landroid/os/IBinder;)V
+PLcom/android/server/CountryDetectorService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/CountryDetectorService;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/CountryDetectorService;->addCountryListener(Landroid/location/ICountryListener;)V
+PLcom/android/server/CountryDetectorService;->addListener(Landroid/location/ICountryListener;)V
+PLcom/android/server/CountryDetectorService;->detectCountry()Landroid/location/Country;
+PLcom/android/server/CountryDetectorService;->initialize()V
+PLcom/android/server/CountryDetectorService;->lambda$setCountryListener$3(Landroid/location/CountryListener;)V
+PLcom/android/server/CountryDetectorService;->lambda$systemRunning$0()V
+PLcom/android/server/CountryDetectorService;->loadCustomCountryDetectorIfAvailable(Ljava/lang/String;)Lcom/android/server/location/countrydetector/CountryDetectorBase;
+PLcom/android/server/CountryDetectorService;->removeListener(Landroid/os/IBinder;)V
+PLcom/android/server/CountryDetectorService;->setCountryListener(Landroid/location/CountryListener;)V
+PLcom/android/server/CountryDetectorService;->systemRunning()V
+PLcom/android/server/DeviceIdleController$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/DeviceIdleController;)V
+PLcom/android/server/DeviceIdleController$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/DeviceIdleController;)V
+PLcom/android/server/DeviceIdleController$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/DeviceIdleController;)V
+PLcom/android/server/DeviceIdleController$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/DeviceIdleController;)V
+PLcom/android/server/DeviceIdleController$$ExternalSyntheticLambda6;-><init>()V
+PLcom/android/server/DeviceIdleController$$ExternalSyntheticLambda7;-><init>(Lcom/android/server/DeviceIdleController;II)V
+PLcom/android/server/DeviceIdleController$$ExternalSyntheticLambda7;->test(Ljava/lang/Object;)Z
+PLcom/android/server/DeviceIdleController$1;-><init>(Lcom/android/server/DeviceIdleController;)V
+HPLcom/android/server/DeviceIdleController$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/DeviceIdleController$2;-><init>(Lcom/android/server/DeviceIdleController;)V
+PLcom/android/server/DeviceIdleController$3;-><init>(Lcom/android/server/DeviceIdleController;)V
+PLcom/android/server/DeviceIdleController$4;-><init>(Lcom/android/server/DeviceIdleController;)V
+PLcom/android/server/DeviceIdleController$5;-><init>(Lcom/android/server/DeviceIdleController;)V
+PLcom/android/server/DeviceIdleController$6;-><init>(Lcom/android/server/DeviceIdleController;)V
+PLcom/android/server/DeviceIdleController$7;-><init>(Lcom/android/server/DeviceIdleController;)V
+PLcom/android/server/DeviceIdleController$8;-><init>(Lcom/android/server/DeviceIdleController;)V
+PLcom/android/server/DeviceIdleController$8;->onKeyguardStateChanged(Z)V
+PLcom/android/server/DeviceIdleController$BinderService;-><init>(Lcom/android/server/DeviceIdleController;)V
+PLcom/android/server/DeviceIdleController$BinderService;-><init>(Lcom/android/server/DeviceIdleController;Lcom/android/server/DeviceIdleController$BinderService-IA;)V
+PLcom/android/server/DeviceIdleController$BinderService;->addPowerSaveTempWhitelistApp(Ljava/lang/String;JIILjava/lang/String;)V
+PLcom/android/server/DeviceIdleController$BinderService;->getAppIdWhitelist()[I
+PLcom/android/server/DeviceIdleController$BinderService;->getAppIdWhitelistExceptIdle()[I
+PLcom/android/server/DeviceIdleController$BinderService;->getFullPowerWhitelistExceptIdle()[Ljava/lang/String;
+HPLcom/android/server/DeviceIdleController$Constants;-><init>(Lcom/android/server/DeviceIdleController;Landroid/os/Handler;Landroid/content/ContentResolver;)V
+PLcom/android/server/DeviceIdleController$Constants;->getTimeout(JJ)J
+HPLcom/android/server/DeviceIdleController$Constants;->initDefault()V
+PLcom/android/server/DeviceIdleController$Constants;->updateConstantsLocked()V
+PLcom/android/server/DeviceIdleController$Constants;->updateSettingsConstantLocked()V
+PLcom/android/server/DeviceIdleController$EmergencyCallListener;-><init>(Lcom/android/server/DeviceIdleController;)V
+PLcom/android/server/DeviceIdleController$EmergencyCallListener;-><init>(Lcom/android/server/DeviceIdleController;Lcom/android/server/DeviceIdleController$EmergencyCallListener-IA;)V
+PLcom/android/server/DeviceIdleController$Injector;-><init>(Landroid/content/Context;)V
+PLcom/android/server/DeviceIdleController$Injector;->getAlarmManager()Landroid/app/AlarmManager;
+PLcom/android/server/DeviceIdleController$Injector;->getAnyMotionDetector(Landroid/os/Handler;Landroid/hardware/SensorManager;Lcom/android/server/AnyMotionDetector$DeviceIdleCallback;F)Lcom/android/server/AnyMotionDetector;
+PLcom/android/server/DeviceIdleController$Injector;->getAppStateTracker(Landroid/content/Context;Landroid/os/Looper;)Lcom/android/server/AppStateTrackerImpl;
+PLcom/android/server/DeviceIdleController$Injector;->getConnectivityManager()Landroid/net/ConnectivityManager;
+PLcom/android/server/DeviceIdleController$Injector;->getConstants(Lcom/android/server/DeviceIdleController;Landroid/os/Handler;Landroid/content/ContentResolver;)Lcom/android/server/DeviceIdleController$Constants;
+PLcom/android/server/DeviceIdleController$Injector;->getConstraintController(Landroid/os/Handler;Lcom/android/server/DeviceIdleInternal;)Lcom/android/server/deviceidle/ConstraintController;
+PLcom/android/server/DeviceIdleController$Injector;->getHandler(Lcom/android/server/DeviceIdleController;)Lcom/android/server/DeviceIdleController$MyHandler;
+PLcom/android/server/DeviceIdleController$Injector;->getMotionSensor()Landroid/hardware/Sensor;
+PLcom/android/server/DeviceIdleController$Injector;->getPowerManager()Landroid/os/PowerManager;
+PLcom/android/server/DeviceIdleController$Injector;->getSensorManager()Landroid/hardware/SensorManager;
+PLcom/android/server/DeviceIdleController$Injector;->getTelephonyManager()Landroid/telephony/TelephonyManager;
+PLcom/android/server/DeviceIdleController$Injector;->isLocationPrefetchEnabled()Z
+PLcom/android/server/DeviceIdleController$Injector;->useMotionSensor()Z
+PLcom/android/server/DeviceIdleController$LocalPowerAllowlistService;-><init>(Lcom/android/server/DeviceIdleController;)V
+PLcom/android/server/DeviceIdleController$LocalPowerAllowlistService;-><init>(Lcom/android/server/DeviceIdleController;Lcom/android/server/DeviceIdleController$LocalPowerAllowlistService-IA;)V
+PLcom/android/server/DeviceIdleController$LocalPowerAllowlistService;->registerTempAllowlistChangeListener(Lcom/android/server/PowerAllowlistInternal$TempAllowlistChangeListener;)V
+PLcom/android/server/DeviceIdleController$LocalService;-><init>(Lcom/android/server/DeviceIdleController;)V
+PLcom/android/server/DeviceIdleController$LocalService;-><init>(Lcom/android/server/DeviceIdleController;Lcom/android/server/DeviceIdleController$LocalService-IA;)V
+HPLcom/android/server/DeviceIdleController$LocalService;->addPowerSaveTempWhitelistAppDirect(IJIZILjava/lang/String;I)V
+PLcom/android/server/DeviceIdleController$LocalService;->getFullPowerWhitelistExceptIdle()[Ljava/lang/String;
+PLcom/android/server/DeviceIdleController$LocalService;->getNotificationAllowlistDuration()J
+HPLcom/android/server/DeviceIdleController$LocalService;->getPowerSaveTempWhitelistAppIds()[I
+PLcom/android/server/DeviceIdleController$LocalService;->getPowerSaveWhitelistUserAppIds()[I
+HPLcom/android/server/DeviceIdleController$LocalService;->getTempAllowListType(II)I
+PLcom/android/server/DeviceIdleController$LocalService;->isAppOnWhitelist(I)Z
+PLcom/android/server/DeviceIdleController$LocalService;->setAlarmsActive(Z)V
+PLcom/android/server/DeviceIdleController$LocalService;->setJobsActive(Z)V
+PLcom/android/server/DeviceIdleController$ModeManagerOffBodyStateConsumer;-><init>(Lcom/android/server/DeviceIdleController;)V
+PLcom/android/server/DeviceIdleController$ModeManagerOffBodyStateConsumer;->accept(Ljava/lang/Boolean;)V
+PLcom/android/server/DeviceIdleController$ModeManagerOffBodyStateConsumer;->accept(Ljava/lang/Object;)V
+PLcom/android/server/DeviceIdleController$ModeManagerOffBodyStateConsumer;->onModeManagerOffBodyChangedLocked()V
+PLcom/android/server/DeviceIdleController$ModeManagerQuickDozeRequestConsumer;-><init>(Lcom/android/server/DeviceIdleController;)V
+PLcom/android/server/DeviceIdleController$ModeManagerQuickDozeRequestConsumer;->accept(Ljava/lang/Boolean;)V
+PLcom/android/server/DeviceIdleController$ModeManagerQuickDozeRequestConsumer;->accept(Ljava/lang/Object;)V
+PLcom/android/server/DeviceIdleController$MotionListener;-><init>(Lcom/android/server/DeviceIdleController;)V
+PLcom/android/server/DeviceIdleController$MyHandler;-><init>(Lcom/android/server/DeviceIdleController;Landroid/os/Looper;)V
+HPLcom/android/server/DeviceIdleController$MyHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/DeviceIdleController;->$r8$lambda$aNkRWECW9WeDkUwaGny7VNmedfc(Lcom/android/server/DeviceIdleController;IILjava/lang/String;)Z
+PLcom/android/server/DeviceIdleController;->-$$Nest$fgetmConstants(Lcom/android/server/DeviceIdleController;)Lcom/android/server/DeviceIdleController$Constants;
+PLcom/android/server/DeviceIdleController;->-$$Nest$fgetmForceModeManagerOffBodyState(Lcom/android/server/DeviceIdleController;)Z
+PLcom/android/server/DeviceIdleController;->-$$Nest$fgetmForceModeManagerQuickDozeRequest(Lcom/android/server/DeviceIdleController;)Z
+PLcom/android/server/DeviceIdleController;->-$$Nest$fgetmIsOffBody(Lcom/android/server/DeviceIdleController;)Z
+PLcom/android/server/DeviceIdleController;->-$$Nest$fgetmModeManagerRequestedQuickDoze(Lcom/android/server/DeviceIdleController;)Z
+HPLcom/android/server/DeviceIdleController;->-$$Nest$fgetmNetworkPolicyManagerInternal(Lcom/android/server/DeviceIdleController;)Lcom/android/server/net/NetworkPolicyManagerInternal;
+HPLcom/android/server/DeviceIdleController;->-$$Nest$fgetmTempAllowlistChangeListeners(Lcom/android/server/DeviceIdleController;)Landroid/util/ArraySet;
+PLcom/android/server/DeviceIdleController;->-$$Nest$fputmIsOffBody(Lcom/android/server/DeviceIdleController;Z)V
+PLcom/android/server/DeviceIdleController;->-$$Nest$mgetFullPowerWhitelistExceptIdleInternal(Lcom/android/server/DeviceIdleController;II)[Ljava/lang/String;
+PLcom/android/server/DeviceIdleController;->-$$Nest$mgetFullPowerWhitelistInternalUnchecked(Lcom/android/server/DeviceIdleController;)[Ljava/lang/String;
+HPLcom/android/server/DeviceIdleController;->-$$Nest$mgetTempAllowListType(Lcom/android/server/DeviceIdleController;II)I
+PLcom/android/server/DeviceIdleController;->-$$Nest$mmaybeBecomeActiveOnModeManagerEventsLocked(Lcom/android/server/DeviceIdleController;)V
+PLcom/android/server/DeviceIdleController;->-$$Nest$mregisterTempAllowlistChangeListener(Lcom/android/server/DeviceIdleController;Lcom/android/server/PowerAllowlistInternal$TempAllowlistChangeListener;)V
+PLcom/android/server/DeviceIdleController;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/DeviceIdleController;-><init>(Landroid/content/Context;Lcom/android/server/DeviceIdleController$Injector;)V
+HPLcom/android/server/DeviceIdleController;->addPowerSaveTempAllowlistAppChecked(Ljava/lang/String;JIILjava/lang/String;)V
+PLcom/android/server/DeviceIdleController;->addPowerSaveTempAllowlistAppInternal(ILjava/lang/String;JIIZILjava/lang/String;)V
+HPLcom/android/server/DeviceIdleController;->addPowerSaveTempWhitelistAppDirectInternal(IIJIZILjava/lang/String;)V
+PLcom/android/server/DeviceIdleController;->becomeActiveLocked(Ljava/lang/String;I)V
+PLcom/android/server/DeviceIdleController;->becomeActiveLocked(Ljava/lang/String;IJZ)V
+PLcom/android/server/DeviceIdleController;->buildAppIdArray(Landroid/util/ArrayMap;Landroid/util/ArrayMap;Landroid/util/SparseBooleanArray;)[I
+HPLcom/android/server/DeviceIdleController;->checkTempAppWhitelistTimeout(I)V
+PLcom/android/server/DeviceIdleController;->exitMaintenanceEarlyIfNeededLocked()V
+HPLcom/android/server/DeviceIdleController;->getAppIdTempWhitelistInternal()[I
+PLcom/android/server/DeviceIdleController;->getAppIdWhitelistExceptIdleInternal()[I
+PLcom/android/server/DeviceIdleController;->getAppIdWhitelistInternal()[I
+PLcom/android/server/DeviceIdleController;->getFullPowerWhitelistExceptIdleInternal(II)[Ljava/lang/String;
+PLcom/android/server/DeviceIdleController;->getFullPowerWhitelistInternalUnchecked()[Ljava/lang/String;
+PLcom/android/server/DeviceIdleController;->getPowerSaveWhitelistUserAppIds()[I
+PLcom/android/server/DeviceIdleController;->getSystemDir()Ljava/io/File;
+PLcom/android/server/DeviceIdleController;->getTempAllowListType(II)I
+PLcom/android/server/DeviceIdleController;->isAppOnWhitelistInternal(I)Z
+PLcom/android/server/DeviceIdleController;->keyguardShowingLocked(Z)V
+PLcom/android/server/DeviceIdleController;->lambda$getFullPowerWhitelistExceptIdleInternal$13(IILjava/lang/String;)Z
+PLcom/android/server/DeviceIdleController;->maybeBecomeActiveOnModeManagerEventsLocked()V
+PLcom/android/server/DeviceIdleController;->moveToLightStateLocked(ILjava/lang/String;)V
+PLcom/android/server/DeviceIdleController;->moveToStateLocked(ILjava/lang/String;)V
+HPLcom/android/server/DeviceIdleController;->onAppRemovedFromTempWhitelistLocked(ILjava/lang/String;)V
+HPLcom/android/server/DeviceIdleController;->onBootPhase(I)V
+HPLcom/android/server/DeviceIdleController;->onStart()V
+HPLcom/android/server/DeviceIdleController;->passWhiteListsToForceAppStandbyTrackerLocked()V
+HPLcom/android/server/DeviceIdleController;->postTempActiveTimeoutMessage(IJ)V
+PLcom/android/server/DeviceIdleController;->readConfigFileLocked()V
+PLcom/android/server/DeviceIdleController;->registerTempAllowlistChangeListener(Lcom/android/server/PowerAllowlistInternal$TempAllowlistChangeListener;)V
+HPLcom/android/server/DeviceIdleController;->reportTempWhitelistChangedLocked(IZ)V
+PLcom/android/server/DeviceIdleController;->setAlarmsActive(Z)V
+PLcom/android/server/DeviceIdleController;->setJobsActive(Z)V
+PLcom/android/server/DeviceIdleController;->updateActiveConstraintsLocked()V
+PLcom/android/server/DeviceIdleController;->updateChargingLocked(Z)V
+PLcom/android/server/DeviceIdleController;->updateConnectivityState(Landroid/content/Intent;)V
+PLcom/android/server/DeviceIdleController;->updateInteractivityLocked()V
+PLcom/android/server/DeviceIdleController;->updateQuickDozeFlagLocked()V
+PLcom/android/server/DeviceIdleController;->updateQuickDozeFlagLocked(Z)V
+HPLcom/android/server/DeviceIdleController;->updateTempWhitelistAppIdsLocked(IZJIILjava/lang/String;I)V
+PLcom/android/server/DeviceIdleController;->updateWhitelistAppIdsLocked()V
+PLcom/android/server/DiskStatsService;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/DisplayThread;-><init>()V
+HSPLcom/android/server/DisplayThread;->ensureThreadLocked()V
+HSPLcom/android/server/DisplayThread;->get()Lcom/android/server/DisplayThread;
+HSPLcom/android/server/DisplayThread;->getHandler()Landroid/os/Handler;
+PLcom/android/server/DockObserver$1;-><init>(Lcom/android/server/DockObserver;Z)V
+PLcom/android/server/DockObserver$2;-><init>(Lcom/android/server/DockObserver;)V
+PLcom/android/server/DockObserver$BinderService;-><init>(Lcom/android/server/DockObserver;)V
+PLcom/android/server/DockObserver$BinderService;-><init>(Lcom/android/server/DockObserver;Lcom/android/server/DockObserver$BinderService-IA;)V
+PLcom/android/server/DockObserver$DeviceProvisionedObserver;-><init>(Lcom/android/server/DockObserver;Landroid/os/Handler;)V
+PLcom/android/server/DockObserver$DeviceProvisionedObserver;->isDeviceProvisioned()Z
+PLcom/android/server/DockObserver$DeviceProvisionedObserver;->onSystemReady()V
+PLcom/android/server/DockObserver$DeviceProvisionedObserver;->updateRegistration()V
+PLcom/android/server/DockObserver;-><init>(Landroid/content/Context;)V
+PLcom/android/server/DockObserver;->loadExtconStateConfigs(Landroid/content/Context;)Ljava/util/List;
+PLcom/android/server/DockObserver;->onBootPhase(I)V
+PLcom/android/server/DockObserver;->onStart()V
+PLcom/android/server/DockObserver;->updateIfDockedLocked()V
+PLcom/android/server/DropBoxManagerInternal;-><init>()V
+PLcom/android/server/DropBoxManagerService$1$1;-><init>(Lcom/android/server/DropBoxManagerService$1;)V
+PLcom/android/server/DropBoxManagerService$1$1;->run()V
+PLcom/android/server/DropBoxManagerService$1;-><init>(Lcom/android/server/DropBoxManagerService;)V
+PLcom/android/server/DropBoxManagerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/DropBoxManagerService$2;-><init>(Lcom/android/server/DropBoxManagerService;)V
+HPLcom/android/server/DropBoxManagerService$2;->addData(Ljava/lang/String;[BI)V
+PLcom/android/server/DropBoxManagerService$2;->addFile(Ljava/lang/String;Landroid/os/ParcelFileDescriptor;I)V
+HPLcom/android/server/DropBoxManagerService$2;->getNextEntryWithAttribution(Ljava/lang/String;JLjava/lang/String;Ljava/lang/String;)Landroid/os/DropBoxManager$Entry;
+HPLcom/android/server/DropBoxManagerService$2;->isTagEnabled(Ljava/lang/String;)Z
+PLcom/android/server/DropBoxManagerService$3;-><init>(Lcom/android/server/DropBoxManagerService;Landroid/os/Handler;)V
+PLcom/android/server/DropBoxManagerService$3;->onChange(Z)V
+PLcom/android/server/DropBoxManagerService$DropBoxManagerBroadcastHandler;-><init>(Lcom/android/server/DropBoxManagerService;Landroid/os/Looper;)V
+HPLcom/android/server/DropBoxManagerService$DropBoxManagerBroadcastHandler;->createBroadcastOptions(Landroid/content/Intent;)Landroid/os/Bundle;
+HPLcom/android/server/DropBoxManagerService$DropBoxManagerBroadcastHandler;->createIntent(Ljava/lang/String;J)Landroid/content/Intent;
+HPLcom/android/server/DropBoxManagerService$DropBoxManagerBroadcastHandler;->handleMessage(Landroid/os/Message;)V
+HPLcom/android/server/DropBoxManagerService$DropBoxManagerBroadcastHandler;->maybeDeferBroadcast(Ljava/lang/String;J)V
+HPLcom/android/server/DropBoxManagerService$DropBoxManagerBroadcastHandler;->prepareAndSendBroadcast(Landroid/content/Intent;Landroid/os/Bundle;)V
+PLcom/android/server/DropBoxManagerService$DropBoxManagerBroadcastHandler;->sendBroadcast(Ljava/lang/String;J)V
+PLcom/android/server/DropBoxManagerService$DropBoxManagerInternalImpl;-><init>(Lcom/android/server/DropBoxManagerService;)V
+PLcom/android/server/DropBoxManagerService$DropBoxManagerInternalImpl;-><init>(Lcom/android/server/DropBoxManagerService;Lcom/android/server/DropBoxManagerService$DropBoxManagerInternalImpl-IA;)V
+HPLcom/android/server/DropBoxManagerService$EntryFile;-><init>(J)V
+HPLcom/android/server/DropBoxManagerService$EntryFile;-><init>(Ljava/io/File;I)V
+HPLcom/android/server/DropBoxManagerService$EntryFile;-><init>(Ljava/io/File;Ljava/io/File;Ljava/lang/String;JII)V
+HPLcom/android/server/DropBoxManagerService$EntryFile;->compareTo(Lcom/android/server/DropBoxManagerService$EntryFile;)I
+HPLcom/android/server/DropBoxManagerService$EntryFile;->compareTo(Ljava/lang/Object;)I
+HPLcom/android/server/DropBoxManagerService$EntryFile;->getExtension()Ljava/lang/String;
+HPLcom/android/server/DropBoxManagerService$EntryFile;->getFile(Ljava/io/File;)Ljava/io/File;
+HPLcom/android/server/DropBoxManagerService$EntryFile;->getFilename()Ljava/lang/String;
+PLcom/android/server/DropBoxManagerService$EntryFile;->hasFile()Z
+PLcom/android/server/DropBoxManagerService$FileList;-><init>()V
+PLcom/android/server/DropBoxManagerService$FileList;-><init>(Lcom/android/server/DropBoxManagerService$FileList-IA;)V
+HPLcom/android/server/DropBoxManagerService$SimpleEntrySource;-><init>(Ljava/io/InputStream;JZ)V
+HPLcom/android/server/DropBoxManagerService$SimpleEntrySource;->close()V
+PLcom/android/server/DropBoxManagerService$SimpleEntrySource;->length()J
+HPLcom/android/server/DropBoxManagerService$SimpleEntrySource;->writeTo(Ljava/io/FileDescriptor;)V
+PLcom/android/server/DropBoxManagerService;->-$$Nest$fgetmBooted(Lcom/android/server/DropBoxManagerService;)Z
+PLcom/android/server/DropBoxManagerService;->-$$Nest$fgetmLowPriorityRateLimitPeriod(Lcom/android/server/DropBoxManagerService;)J
+PLcom/android/server/DropBoxManagerService;->-$$Nest$fgetmReceiver(Lcom/android/server/DropBoxManagerService;)Landroid/content/BroadcastReceiver;
+PLcom/android/server/DropBoxManagerService;->-$$Nest$fputmCachedQuotaUptimeMillis(Lcom/android/server/DropBoxManagerService;J)V
+PLcom/android/server/DropBoxManagerService;->-$$Nest$minit(Lcom/android/server/DropBoxManagerService;)V
+PLcom/android/server/DropBoxManagerService;->-$$Nest$mtrimToFit(Lcom/android/server/DropBoxManagerService;)J
+PLcom/android/server/DropBoxManagerService;-><clinit>()V
+PLcom/android/server/DropBoxManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/DropBoxManagerService;-><init>(Landroid/content/Context;Ljava/io/File;Landroid/os/Looper;)V
+HPLcom/android/server/DropBoxManagerService;->addData(Ljava/lang/String;[BI)V
+HPLcom/android/server/DropBoxManagerService;->addEntry(Ljava/lang/String;Lcom/android/server/DropBoxManagerInternal$EntrySource;I)V
+HPLcom/android/server/DropBoxManagerService;->addEntry(Ljava/lang/String;Ljava/io/InputStream;JI)V
+PLcom/android/server/DropBoxManagerService;->addFile(Ljava/lang/String;Landroid/os/ParcelFileDescriptor;I)V
+HPLcom/android/server/DropBoxManagerService;->checkPermission(ILjava/lang/String;Ljava/lang/String;)Z
+HPLcom/android/server/DropBoxManagerService;->createEntry(Ljava/io/File;Ljava/lang/String;I)J
+HPLcom/android/server/DropBoxManagerService;->enrollEntry(Lcom/android/server/DropBoxManagerService$EntryFile;)V
+PLcom/android/server/DropBoxManagerService;->getLowPriorityResourceConfigs()V
+HPLcom/android/server/DropBoxManagerService;->getNextEntry(Ljava/lang/String;JLjava/lang/String;Ljava/lang/String;)Landroid/os/DropBoxManager$Entry;
+HPLcom/android/server/DropBoxManagerService;->init()V
+HPLcom/android/server/DropBoxManagerService;->isTagEnabled(Ljava/lang/String;)Z
+PLcom/android/server/DropBoxManagerService;->onBootPhase(I)V
+PLcom/android/server/DropBoxManagerService;->onStart()V
+HPLcom/android/server/DropBoxManagerService;->trimToFit()J
+PLcom/android/server/DynamicSystemService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/EntropyMixer$1;-><init>(Lcom/android/server/EntropyMixer;Landroid/os/Looper;)V
+PLcom/android/server/EntropyMixer$2;-><init>(Lcom/android/server/EntropyMixer;)V
+PLcom/android/server/EntropyMixer;-><clinit>()V
+PLcom/android/server/EntropyMixer;-><init>(Landroid/content/Context;)V
+PLcom/android/server/EntropyMixer;-><init>(Landroid/content/Context;Ljava/io/File;Ljava/io/File;Ljava/io/File;)V
+PLcom/android/server/EntropyMixer;->getDeviceSpecificInformation()[B
+PLcom/android/server/EntropyMixer;->getSystemDir()Ljava/io/File;
+PLcom/android/server/EntropyMixer;->loadInitialEntropy()V
+PLcom/android/server/EntropyMixer;->longToBytes(J)[B
+PLcom/android/server/EntropyMixer;->readSeedFile()[B
+PLcom/android/server/EntropyMixer;->scheduleSeedUpdater()V
+PLcom/android/server/EntropyMixer;->updateSeedFile()V
+PLcom/android/server/EntropyMixer;->writeNewSeed([B)V
+PLcom/android/server/EventLogTags;->writeDeviceIdle(ILjava/lang/String;)V
+PLcom/android/server/EventLogTags;->writeDeviceIdleLight(ILjava/lang/String;)V
+HPLcom/android/server/EventLogTags;->writeNotificationCancelAll(IILjava/lang/String;IIIILjava/lang/String;)V
+PLcom/android/server/EventLogTags;->writeNotificationEnqueue(IILjava/lang/String;ILjava/lang/String;ILjava/lang/String;I)V
+PLcom/android/server/EventLogTags;->writePmCriticalInfo(Ljava/lang/String;)V
+HSPLcom/android/server/EventLogTags;->writePmSnapshotRebuild(II)V
+HSPLcom/android/server/EventLogTags;->writeRescueNote(IIJ)V
+PLcom/android/server/EventLogTags;->writeStorageState(Ljava/lang/String;IIJJ)V
+PLcom/android/server/EventLogTags;->writeStreamDevicesChanged(III)V
+PLcom/android/server/EventLogTags;->writeVolumeChanged(IIIILjava/lang/String;)V
+PLcom/android/server/ExplicitHealthCheckController$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/ExplicitHealthCheckController;Ljava/util/Set;)V
+PLcom/android/server/ExplicitHealthCheckController$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
+PLcom/android/server/ExplicitHealthCheckController$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/ExplicitHealthCheckController;Ljava/util/List;Ljava/util/Set;)V
+PLcom/android/server/ExplicitHealthCheckController$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;)V
+PLcom/android/server/ExplicitHealthCheckController$$ExternalSyntheticLambda2;-><init>(Ljava/util/function/Consumer;)V
+PLcom/android/server/ExplicitHealthCheckController$$ExternalSyntheticLambda2;->onResult(Landroid/os/Bundle;)V
+PLcom/android/server/ExplicitHealthCheckController$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/ExplicitHealthCheckController;)V
+PLcom/android/server/ExplicitHealthCheckController$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/ExplicitHealthCheckController;)V
+PLcom/android/server/ExplicitHealthCheckController$$ExternalSyntheticLambda5;-><init>(Ljava/util/function/Consumer;)V
+PLcom/android/server/ExplicitHealthCheckController$$ExternalSyntheticLambda5;->onResult(Landroid/os/Bundle;)V
+PLcom/android/server/ExplicitHealthCheckController$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/ExplicitHealthCheckController;)V
+PLcom/android/server/ExplicitHealthCheckController$1;-><init>(Lcom/android/server/ExplicitHealthCheckController;)V
+PLcom/android/server/ExplicitHealthCheckController$1;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/ExplicitHealthCheckController;->$r8$lambda$IIsfdI4E19kYetXH_5L-g69gD5U(Lcom/android/server/ExplicitHealthCheckController;Ljava/util/Set;Ljava/util/List;)V
+PLcom/android/server/ExplicitHealthCheckController;->$r8$lambda$aL6X4oZMCjln5Vk0sguqqu-vOzk(Ljava/util/function/Consumer;Landroid/os/Bundle;)V
+PLcom/android/server/ExplicitHealthCheckController;->$r8$lambda$eUe0MojcRAKKWZDwi3yGDDE4Q6Y(Lcom/android/server/ExplicitHealthCheckController;Ljava/util/List;Ljava/util/Set;Ljava/util/List;)V
+PLcom/android/server/ExplicitHealthCheckController;->$r8$lambda$mGwCwsEZmtVNkWk1gYFRO7gIRQk(Ljava/util/function/Consumer;Landroid/os/Bundle;)V
+PLcom/android/server/ExplicitHealthCheckController;->-$$Nest$minitState(Lcom/android/server/ExplicitHealthCheckController;Landroid/os/IBinder;)V
+HSPLcom/android/server/ExplicitHealthCheckController;-><init>(Landroid/content/Context;)V
+PLcom/android/server/ExplicitHealthCheckController;->actOnDifference(Ljava/util/Collection;Ljava/util/Collection;Ljava/util/function/Consumer;)V
+PLcom/android/server/ExplicitHealthCheckController;->bindService()V
+PLcom/android/server/ExplicitHealthCheckController;->getRequestedPackages(Ljava/util/function/Consumer;)V
+PLcom/android/server/ExplicitHealthCheckController;->getServiceComponentNameLocked()Landroid/content/ComponentName;
+PLcom/android/server/ExplicitHealthCheckController;->getServiceInfoLocked()Landroid/content/pm/ServiceInfo;
+PLcom/android/server/ExplicitHealthCheckController;->getSupportedPackages(Ljava/util/function/Consumer;)V
+PLcom/android/server/ExplicitHealthCheckController;->initState(Landroid/os/IBinder;)V
+PLcom/android/server/ExplicitHealthCheckController;->lambda$getRequestedPackages$5(Ljava/util/function/Consumer;Landroid/os/Bundle;)V
+PLcom/android/server/ExplicitHealthCheckController;->lambda$getSupportedPackages$4(Ljava/util/function/Consumer;Landroid/os/Bundle;)V
+PLcom/android/server/ExplicitHealthCheckController;->lambda$syncRequests$2(Ljava/util/List;Ljava/util/Set;Ljava/util/List;)V
+PLcom/android/server/ExplicitHealthCheckController;->lambda$syncRequests$3(Ljava/util/Set;Ljava/util/List;)V
+PLcom/android/server/ExplicitHealthCheckController;->prepareServiceLocked(Ljava/lang/String;)Z
+PLcom/android/server/ExplicitHealthCheckController;->setCallbacks(Ljava/util/function/Consumer;Ljava/util/function/Consumer;Ljava/lang/Runnable;)V
+PLcom/android/server/ExplicitHealthCheckController;->setEnabled(Z)V
+PLcom/android/server/ExplicitHealthCheckController;->syncRequests(Ljava/util/Set;)V
+PLcom/android/server/ExplicitHealthCheckController;->unbindService()V
+PLcom/android/server/ExtconUEventObserver$ExtconInfo;-><clinit>()V
+PLcom/android/server/ExtconUEventObserver$ExtconInfo;->getExtconInfoForTypes([Ljava/lang/String;)Ljava/util/List;
+PLcom/android/server/ExtconUEventObserver$ExtconInfo;->initExtconInfos()V
+PLcom/android/server/ExtconUEventObserver;-><init>()V
+HSPLcom/android/server/FgThread;-><init>()V
+HSPLcom/android/server/FgThread;->ensureThreadLocked()V
+HSPLcom/android/server/FgThread;->get()Lcom/android/server/FgThread;
+PLcom/android/server/FgThread;->getExecutor()Ljava/util/concurrent/Executor;
+HSPLcom/android/server/FgThread;->getHandler()Landroid/os/Handler;
+PLcom/android/server/GestureLauncherService$1;-><init>(Lcom/android/server/GestureLauncherService;)V
+PLcom/android/server/GestureLauncherService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/GestureLauncherService$2;-><init>(Lcom/android/server/GestureLauncherService;Landroid/os/Handler;)V
+PLcom/android/server/GestureLauncherService$CameraLiftTriggerEventListener;-><init>(Lcom/android/server/GestureLauncherService;)V
+PLcom/android/server/GestureLauncherService$CameraLiftTriggerEventListener;-><init>(Lcom/android/server/GestureLauncherService;Lcom/android/server/GestureLauncherService$CameraLiftTriggerEventListener-IA;)V
+PLcom/android/server/GestureLauncherService$GestureEventListener;-><init>(Lcom/android/server/GestureLauncherService;)V
+PLcom/android/server/GestureLauncherService$GestureEventListener;-><init>(Lcom/android/server/GestureLauncherService;Lcom/android/server/GestureLauncherService$GestureEventListener-IA;)V
+PLcom/android/server/GestureLauncherService;->-$$Nest$fgetmContext(Lcom/android/server/GestureLauncherService;)Landroid/content/Context;
+PLcom/android/server/GestureLauncherService;->-$$Nest$fgetmSettingObserver(Lcom/android/server/GestureLauncherService;)Landroid/database/ContentObserver;
+PLcom/android/server/GestureLauncherService;->-$$Nest$fputmUserId(Lcom/android/server/GestureLauncherService;I)V
+PLcom/android/server/GestureLauncherService;->-$$Nest$mregisterContentObservers(Lcom/android/server/GestureLauncherService;)V
+PLcom/android/server/GestureLauncherService;->-$$Nest$mupdateCameraRegistered(Lcom/android/server/GestureLauncherService;)V
+PLcom/android/server/GestureLauncherService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/GestureLauncherService;-><init>(Landroid/content/Context;Lcom/android/internal/logging/MetricsLogger;Lcom/android/internal/logging/UiEventLogger;)V
+PLcom/android/server/GestureLauncherService;->getEmergencyGesturePowerButtonCooldownPeriodMs(Landroid/content/Context;I)I
+PLcom/android/server/GestureLauncherService;->isCameraDoubleTapPowerEnabled(Landroid/content/res/Resources;)Z
+PLcom/android/server/GestureLauncherService;->isCameraDoubleTapPowerSettingEnabled(Landroid/content/Context;I)Z
+PLcom/android/server/GestureLauncherService;->isCameraLaunchEnabled(Landroid/content/res/Resources;)Z
+PLcom/android/server/GestureLauncherService;->isCameraLaunchSettingEnabled(Landroid/content/Context;I)Z
+PLcom/android/server/GestureLauncherService;->isCameraLiftTriggerEnabled(Landroid/content/res/Resources;)Z
+PLcom/android/server/GestureLauncherService;->isCameraLiftTriggerSettingEnabled(Landroid/content/Context;I)Z
+PLcom/android/server/GestureLauncherService;->isDefaultEmergencyGestureEnabled(Landroid/content/res/Resources;)Z
+PLcom/android/server/GestureLauncherService;->isEmergencyGestureEnabled(Landroid/content/res/Resources;)Z
+PLcom/android/server/GestureLauncherService;->isEmergencyGestureSettingEnabled(Landroid/content/Context;I)Z
+PLcom/android/server/GestureLauncherService;->isGestureLauncherEnabled(Landroid/content/res/Resources;)Z
+PLcom/android/server/GestureLauncherService;->onBootPhase(I)V
+PLcom/android/server/GestureLauncherService;->onStart()V
+HPLcom/android/server/GestureLauncherService;->registerContentObservers()V
+PLcom/android/server/GestureLauncherService;->unregisterCameraLaunchGesture()V
+PLcom/android/server/GestureLauncherService;->unregisterCameraLiftTrigger()V
+PLcom/android/server/GestureLauncherService;->updateCameraDoubleTapPowerEnabled()V
+PLcom/android/server/GestureLauncherService;->updateCameraRegistered()V
+PLcom/android/server/GestureLauncherService;->updateEmergencyGestureEnabled()V
+PLcom/android/server/GestureLauncherService;->updateEmergencyGesturePowerButtonCooldownPeriodMs()V
+PLcom/android/server/HardwarePropertiesManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/HsumBootUserInitializer;-><clinit>()V
+PLcom/android/server/HsumBootUserInitializer;->createInstance(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/pm/PackageManagerService;Landroid/content/ContentResolver;Z)Lcom/android/server/HsumBootUserInitializer;
+HSPLcom/android/server/IntentResolver$1;-><init>()V
+HPLcom/android/server/IntentResolver$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+HSPLcom/android/server/IntentResolver;-><clinit>()V
+HSPLcom/android/server/IntentResolver;-><init>()V
+HSPLcom/android/server/IntentResolver;->addFilter(Landroid/util/ArrayMap;Ljava/lang/String;Ljava/lang/Object;)V
+HSPLcom/android/server/IntentResolver;->addFilter(Lcom/android/server/pm/snapshot/PackageDataSnapshot;Ljava/lang/Object;)V
+HPLcom/android/server/IntentResolver;->buildResolveList(Lcom/android/server/pm/Computer;Landroid/content/Intent;Landroid/util/FastImmutableArraySet;ZZLjava/lang/String;Ljava/lang/String;[Ljava/lang/Object;Ljava/util/List;IJ)V
+HSPLcom/android/server/IntentResolver;->collectFilters([Ljava/lang/Object;Landroid/content/IntentFilter;)Ljava/util/ArrayList;
+HSPLcom/android/server/IntentResolver;->copyFrom(Lcom/android/server/IntentResolver;)V
+HSPLcom/android/server/IntentResolver;->copyInto(Landroid/util/ArrayMap;Landroid/util/ArrayMap;)V
+HSPLcom/android/server/IntentResolver;->copyInto(Landroid/util/ArraySet;Landroid/util/ArraySet;)V
+HPLcom/android/server/IntentResolver;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZ)Z
+HPLcom/android/server/IntentResolver;->dumpMap(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/util/ArrayMap;Ljava/lang/String;ZZ)Z
+PLcom/android/server/IntentResolver;->filterResults(Ljava/util/List;)V
+HSPLcom/android/server/IntentResolver;->filterSet()Ljava/util/Set;
+HSPLcom/android/server/IntentResolver;->findFilters(Landroid/content/IntentFilter;)Ljava/util/ArrayList;
+HPLcom/android/server/IntentResolver;->getFastIntentCategories(Landroid/content/Intent;)Landroid/util/FastImmutableArraySet;
+HPLcom/android/server/IntentResolver;->intentMatchesFilter(Landroid/content/IntentFilter;Landroid/content/Intent;Ljava/lang/String;)Z
+PLcom/android/server/IntentResolver;->isFilterStopped(Lcom/android/server/pm/Computer;Ljava/lang/Object;I)Z
+PLcom/android/server/IntentResolver;->newResult(Lcom/android/server/pm/Computer;Ljava/lang/Object;IIJ)Ljava/lang/Object;
+HPLcom/android/server/IntentResolver;->queryIntent(Lcom/android/server/pm/snapshot/PackageDataSnapshot;Landroid/content/Intent;Ljava/lang/String;ZI)Ljava/util/List;
+HPLcom/android/server/IntentResolver;->queryIntent(Lcom/android/server/pm/snapshot/PackageDataSnapshot;Landroid/content/Intent;Ljava/lang/String;ZIJ)Ljava/util/List;
+HPLcom/android/server/IntentResolver;->queryIntentFromList(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;ZLjava/util/ArrayList;IJ)Ljava/util/List;
+HSPLcom/android/server/IntentResolver;->register_intent_filter(Ljava/lang/Object;Ljava/util/Iterator;Landroid/util/ArrayMap;Ljava/lang/String;)I
+HSPLcom/android/server/IntentResolver;->register_mime_types(Ljava/lang/Object;Ljava/lang/String;)I
+HPLcom/android/server/IntentResolver;->removeFilter(Ljava/lang/Object;)V
+HPLcom/android/server/IntentResolver;->removeFilterInternal(Ljava/lang/Object;)V
+HPLcom/android/server/IntentResolver;->remove_all_objects(Landroid/util/ArrayMap;Ljava/lang/String;Ljava/lang/Object;)V
+PLcom/android/server/IntentResolver;->snapshot(Ljava/lang/Object;)Ljava/lang/Object;
+HPLcom/android/server/IntentResolver;->sortResults(Ljava/util/List;)V
+HPLcom/android/server/IntentResolver;->unregister_intent_filter(Ljava/lang/Object;Ljava/util/Iterator;Landroid/util/ArrayMap;Ljava/lang/String;)I
+HPLcom/android/server/IntentResolver;->unregister_mime_types(Ljava/lang/Object;Ljava/lang/String;)I
+HSPLcom/android/server/IoThread;-><init>()V
+HSPLcom/android/server/IoThread;->ensureThreadLocked()V
+HSPLcom/android/server/IoThread;->get()Lcom/android/server/IoThread;
+PLcom/android/server/IoThread;->getExecutor()Ljava/util/concurrent/Executor;
+HSPLcom/android/server/IoThread;->getHandler()Landroid/os/Handler;
+HSPLcom/android/server/LocalManagerRegistry;-><clinit>()V
+HSPLcom/android/server/LocalManagerRegistry;->addManager(Ljava/lang/Class;Ljava/lang/Object;)V
+HSPLcom/android/server/LocalManagerRegistry;->getManager(Ljava/lang/Class;)Ljava/lang/Object;
+HSPLcom/android/server/LocalManagerRegistry;->getManagerOrThrow(Ljava/lang/Class;)Ljava/lang/Object;
+HSPLcom/android/server/LockGuard$LockInfo;-><init>()V
+HSPLcom/android/server/LockGuard$LockInfo;-><init>(Lcom/android/server/LockGuard$LockInfo-IA;)V
+HSPLcom/android/server/LockGuard;-><clinit>()V
+HSPLcom/android/server/LockGuard;->findOrCreateLockInfo(Ljava/lang/Object;)Lcom/android/server/LockGuard$LockInfo;
+HPLcom/android/server/LockGuard;->guard(I)V
+HSPLcom/android/server/LockGuard;->installLock(Ljava/lang/Object;I)Ljava/lang/Object;
+HSPLcom/android/server/LockGuard;->installLock(Ljava/lang/Object;IZ)Ljava/lang/Object;
+HSPLcom/android/server/LockGuard;->installNewLock(I)Ljava/lang/Object;
+HSPLcom/android/server/LockGuard;->installNewLock(IZ)Ljava/lang/Object;
+HSPLcom/android/server/LockGuard;->lockToString(I)Ljava/lang/String;
+PLcom/android/server/LogMteState$1;-><init>()V
+PLcom/android/server/LogMteState;->register(Landroid/content/Context;)V
+PLcom/android/server/LooperStatsService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/LooperStatsService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/LooperStatsService$Lifecycle;->onStart()V
+PLcom/android/server/LooperStatsService$SettingsObserver;-><init>(Lcom/android/server/LooperStatsService;)V
+PLcom/android/server/LooperStatsService;->-$$Nest$minitFromSettings(Lcom/android/server/LooperStatsService;)V
+PLcom/android/server/LooperStatsService;-><init>(Landroid/content/Context;Lcom/android/internal/os/LooperStats;)V
+PLcom/android/server/LooperStatsService;-><init>(Landroid/content/Context;Lcom/android/internal/os/LooperStats;Lcom/android/server/LooperStatsService-IA;)V
+PLcom/android/server/LooperStatsService;->initFromSettings()V
+PLcom/android/server/LooperStatsService;->setEnabled(Z)V
+PLcom/android/server/LooperStatsService;->setIgnoreBatteryStatus(Z)V
+PLcom/android/server/LooperStatsService;->setSamplingInterval(I)V
+PLcom/android/server/LooperStatsService;->setTrackScreenInteractive(Z)V
+PLcom/android/server/MmsServiceBroker$1;-><init>(Lcom/android/server/MmsServiceBroker;)V
+PLcom/android/server/MmsServiceBroker$2;-><init>(Lcom/android/server/MmsServiceBroker;)V
+PLcom/android/server/MmsServiceBroker$3;-><init>(Lcom/android/server/MmsServiceBroker;)V
+PLcom/android/server/MmsServiceBroker$BinderService;-><init>(Lcom/android/server/MmsServiceBroker;)V
+PLcom/android/server/MmsServiceBroker$BinderService;-><init>(Lcom/android/server/MmsServiceBroker;Lcom/android/server/MmsServiceBroker$BinderService-IA;)V
+PLcom/android/server/MmsServiceBroker;-><clinit>()V
+PLcom/android/server/MmsServiceBroker;-><init>(Landroid/content/Context;)V
+PLcom/android/server/MmsServiceBroker;->onStart()V
+PLcom/android/server/MmsServiceBroker;->systemRunning()V
+PLcom/android/server/MountServiceIdler;-><clinit>()V
+PLcom/android/server/MountServiceIdler;->offsetFromTodayMidnight(II)Ljava/util/Calendar;
+PLcom/android/server/MountServiceIdler;->scheduleIdlePass(Landroid/content/Context;)V
+PLcom/android/server/NetworkScoreService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/NetworkScoreService;)V
+PLcom/android/server/NetworkScoreService$$ExternalSyntheticLambda1;-><init>()V
+PLcom/android/server/NetworkScoreService$1;-><init>(Lcom/android/server/NetworkScoreService;)V
+PLcom/android/server/NetworkScoreService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/NetworkScoreService$2;-><init>(Lcom/android/server/NetworkScoreService;)V
+PLcom/android/server/NetworkScoreService$3;-><init>(Lcom/android/server/NetworkScoreService;Landroid/os/Handler;)V
+PLcom/android/server/NetworkScoreService$4;-><init>(Lcom/android/server/NetworkScoreService;)V
+PLcom/android/server/NetworkScoreService$DispatchingContentObserver;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/NetworkScoreService$DispatchingContentObserver;->observe(Landroid/net/Uri;I)V
+PLcom/android/server/NetworkScoreService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/NetworkScoreService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/NetworkScoreService$Lifecycle;->onStart()V
+PLcom/android/server/NetworkScoreService$ServiceHandler;-><init>(Lcom/android/server/NetworkScoreService;Landroid/os/Looper;)V
+PLcom/android/server/NetworkScoreService;->-$$Nest$sfgetDBG()Z
+PLcom/android/server/NetworkScoreService;-><clinit>()V
+PLcom/android/server/NetworkScoreService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/NetworkScoreService;-><init>(Landroid/content/Context;Lcom/android/server/NetworkScorerAppManager;Ljava/util/function/Function;Landroid/os/Looper;)V
+PLcom/android/server/NetworkScoreService;->bindToScoringServiceIfNeeded()V
+PLcom/android/server/NetworkScoreService;->bindToScoringServiceIfNeeded(Landroid/net/NetworkScorerAppData;)V
+PLcom/android/server/NetworkScoreService;->clearInternal()V
+HPLcom/android/server/NetworkScoreService;->enforceSystemOrHasScoreNetworks()V
+HPLcom/android/server/NetworkScoreService;->getActiveScorerPackage()Ljava/lang/String;
+PLcom/android/server/NetworkScoreService;->getScoreCacheLists()Ljava/util/Collection;
+PLcom/android/server/NetworkScoreService;->onUserUnlocked(I)V
+PLcom/android/server/NetworkScoreService;->refreshBinding()V
+PLcom/android/server/NetworkScoreService;->registerPackageMonitorIfNeeded()V
+PLcom/android/server/NetworkScoreService;->registerRecommendationSettingsObserver()V
+PLcom/android/server/NetworkScoreService;->sendCacheUpdateCallback(Ljava/util/function/BiConsumer;Ljava/util/Collection;)V
+PLcom/android/server/NetworkScoreService;->systemReady()V
+PLcom/android/server/NetworkScoreService;->systemRunning()V
+PLcom/android/server/NetworkScoreService;->unbindFromScoringServiceIfNeeded()V
+PLcom/android/server/NetworkScorerAppManager$SettingsFacade;-><init>()V
+HPLcom/android/server/NetworkScorerAppManager$SettingsFacade;->getInt(Landroid/content/Context;Ljava/lang/String;I)I
+HPLcom/android/server/NetworkScorerAppManager$SettingsFacade;->getString(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/NetworkScorerAppManager$SettingsFacade;->putInt(Landroid/content/Context;Ljava/lang/String;I)Z
+PLcom/android/server/NetworkScorerAppManager;-><clinit>()V
+PLcom/android/server/NetworkScorerAppManager;-><init>(Landroid/content/Context;)V
+PLcom/android/server/NetworkScorerAppManager;-><init>(Landroid/content/Context;Lcom/android/server/NetworkScorerAppManager$SettingsFacade;)V
+HPLcom/android/server/NetworkScorerAppManager;->getActiveScorer()Landroid/net/NetworkScorerAppData;
+PLcom/android/server/NetworkScorerAppManager;->getDefaultPackageSetting()Ljava/lang/String;
+HPLcom/android/server/NetworkScorerAppManager;->getNetworkRecommendationsEnabledSetting()I
+HPLcom/android/server/NetworkScorerAppManager;->getNetworkRecommendationsPackage()Ljava/lang/String;
+HPLcom/android/server/NetworkScorerAppManager;->getScorer(Ljava/lang/String;)Landroid/net/NetworkScorerAppData;
+PLcom/android/server/NetworkScorerAppManager;->migrateNetworkScorerAppSettingIfNeeded()V
+PLcom/android/server/NetworkScorerAppManager;->setNetworkRecommendationsEnabledSetting(I)V
+PLcom/android/server/NetworkScorerAppManager;->updateState()V
+HSPLcom/android/server/PackageWatchdog$$ExternalSyntheticLambda0;-><init>()V
+HSPLcom/android/server/PackageWatchdog$$ExternalSyntheticLambda0;->uptimeMillis()J
+PLcom/android/server/PackageWatchdog$$ExternalSyntheticLambda12;-><init>(Lcom/android/server/PackageWatchdog;)V
+PLcom/android/server/PackageWatchdog$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/PackageWatchdog;)V
+PLcom/android/server/PackageWatchdog$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/PackageWatchdog;)V
+PLcom/android/server/PackageWatchdog$$ExternalSyntheticLambda4;->accept(Ljava/lang/Object;)V
+PLcom/android/server/PackageWatchdog$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/PackageWatchdog;)V
+PLcom/android/server/PackageWatchdog$$ExternalSyntheticLambda5;->run()V
+HSPLcom/android/server/PackageWatchdog$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/PackageWatchdog;)V
+PLcom/android/server/PackageWatchdog$$ExternalSyntheticLambda6;->run()V
+HSPLcom/android/server/PackageWatchdog$$ExternalSyntheticLambda7;-><init>(Lcom/android/server/PackageWatchdog;)V
+HSPLcom/android/server/PackageWatchdog$$ExternalSyntheticLambda8;-><init>(Lcom/android/server/PackageWatchdog;)V
+HSPLcom/android/server/PackageWatchdog$$ExternalSyntheticLambda8;->run()V
+HSPLcom/android/server/PackageWatchdog$$ExternalSyntheticLambda9;-><init>(Lcom/android/server/PackageWatchdog;)V
+HSPLcom/android/server/PackageWatchdog$BootThreshold;-><init>(Lcom/android/server/PackageWatchdog;IJ)V
+HSPLcom/android/server/PackageWatchdog$BootThreshold;->getCount()I
+HSPLcom/android/server/PackageWatchdog$BootThreshold;->getMitigationStart()J
+HSPLcom/android/server/PackageWatchdog$BootThreshold;->getStart()J
+HSPLcom/android/server/PackageWatchdog$BootThreshold;->incrementAndTest()Z
+HSPLcom/android/server/PackageWatchdog$BootThreshold;->readMitigationCountFromMetadataIfNecessary()V
+HSPLcom/android/server/PackageWatchdog$BootThreshold;->setCount(I)V
+HSPLcom/android/server/PackageWatchdog$ObserverInternal;-><init>(Ljava/lang/String;Ljava/util/List;)V
+HSPLcom/android/server/PackageWatchdog$ObserverInternal;->getMonitoredPackages()Landroid/util/ArrayMap;
+HSPLcom/android/server/PackageWatchdog$ObserverInternal;->read(Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/server/PackageWatchdog;)Lcom/android/server/PackageWatchdog$ObserverInternal;
+HSPLcom/android/server/PackageWatchdog$ObserverInternal;->updatePackagesLocked(Ljava/util/List;)V
+HSPLcom/android/server/PackageWatchdog$ObserverInternal;->writeLocked(Lcom/android/modules/utils/TypedXmlSerializer;)Z
+PLcom/android/server/PackageWatchdog;->$r8$lambda$4H7cBnuwvCSeT91m1YdCwvg43e8(Lcom/android/server/PackageWatchdog;Ljava/util/List;)V
+HSPLcom/android/server/PackageWatchdog;->$r8$lambda$HDOKg5GmSwaFTU2vt9rf-KyK8Hk(Lcom/android/server/PackageWatchdog;)Z
+PLcom/android/server/PackageWatchdog;->$r8$lambda$gJ37k2zmlFG8nBixsI_xMYfaYp0(Lcom/android/server/PackageWatchdog;)V
+PLcom/android/server/PackageWatchdog;->$r8$lambda$yDaKFi4XRxb3OsEfqTdgaQOn8Hg(Lcom/android/server/PackageWatchdog;)V
+HSPLcom/android/server/PackageWatchdog;->-$$Nest$fgetmSystemClock(Lcom/android/server/PackageWatchdog;)Lcom/android/server/PackageWatchdog$SystemClock;
+HSPLcom/android/server/PackageWatchdog;-><clinit>()V
+HSPLcom/android/server/PackageWatchdog;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/PackageWatchdog;-><init>(Landroid/content/Context;Landroid/util/AtomicFile;Landroid/os/Handler;Landroid/os/Handler;Lcom/android/server/ExplicitHealthCheckController;Landroid/net/ConnectivityModuleConnector;Lcom/android/server/PackageWatchdog$SystemClock;)V
+HSPLcom/android/server/PackageWatchdog;->getInstance(Landroid/content/Context;)Lcom/android/server/PackageWatchdog;
+HSPLcom/android/server/PackageWatchdog;->getNextStateSyncMillisLocked()J
+PLcom/android/server/PackageWatchdog;->getPackagesPendingHealthChecksLocked()Ljava/util/Set;
+PLcom/android/server/PackageWatchdog;->lambda$onPackagesReady$1(Ljava/util/List;)V
+HSPLcom/android/server/PackageWatchdog;->loadFromFile()V
+HSPLcom/android/server/PackageWatchdog;->noteBoot()V
+PLcom/android/server/PackageWatchdog;->onPackagesReady()V
+PLcom/android/server/PackageWatchdog;->onSupportedPackages(Ljava/util/List;)V
+PLcom/android/server/PackageWatchdog;->onSyncRequestNotified()V
+HSPLcom/android/server/PackageWatchdog;->pruneObserversLocked()V
+PLcom/android/server/PackageWatchdog;->registerConnectivityModuleHealthListener()V
+HSPLcom/android/server/PackageWatchdog;->registerHealthObserver(Lcom/android/server/PackageWatchdog$PackageHealthObserver;)V
+HSPLcom/android/server/PackageWatchdog;->saveToFile()Z
+HSPLcom/android/server/PackageWatchdog;->saveToFileAsync()V
+HSPLcom/android/server/PackageWatchdog;->scheduleNextSyncStateLocked()V
+PLcom/android/server/PackageWatchdog;->setExplicitHealthCheckEnabled(Z)V
+PLcom/android/server/PackageWatchdog;->setPropertyChangedListenerLocked()V
+PLcom/android/server/PackageWatchdog;->syncRequests()V
+HSPLcom/android/server/PackageWatchdog;->syncRequestsAsync()V
+HSPLcom/android/server/PackageWatchdog;->syncState(Ljava/lang/String;)V
+PLcom/android/server/PackageWatchdog;->updateConfigs()V
+PLcom/android/server/PermissionThread;-><clinit>()V
+PLcom/android/server/PermissionThread;-><init>()V
+PLcom/android/server/PermissionThread;->ensureThreadLocked()V
+PLcom/android/server/PermissionThread;->getHandler()Landroid/os/Handler;
+PLcom/android/server/PinnerService$$ExternalSyntheticLambda1;-><init>()V
+PLcom/android/server/PinnerService$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/PinnerService$1;-><init>(Lcom/android/server/PinnerService;)V
+PLcom/android/server/PinnerService$2;-><init>(Lcom/android/server/PinnerService;)V
+PLcom/android/server/PinnerService$3;-><init>(Lcom/android/server/PinnerService;Landroid/os/Handler;Landroid/net/Uri;)V
+PLcom/android/server/PinnerService$4$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/PinnerService$4$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/PinnerService$4$$ExternalSyntheticLambda1;-><init>()V
+HPLcom/android/server/PinnerService$4$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/PinnerService$4;->$r8$lambda$JKP9FOe5dDnst80l_XkFWpt_l38(Lcom/android/server/PinnerService;I)V
+PLcom/android/server/PinnerService$4;->$r8$lambda$g8CC-koera5q3TVS1KdRY9fBXII(Lcom/android/server/PinnerService;I)V
+PLcom/android/server/PinnerService$4;-><init>(Lcom/android/server/PinnerService;)V
+HPLcom/android/server/PinnerService$4;->onUidActive(I)V
+HPLcom/android/server/PinnerService$4;->onUidGone(IZ)V
+PLcom/android/server/PinnerService$BinderService;-><init>(Lcom/android/server/PinnerService;)V
+PLcom/android/server/PinnerService$Injector;-><init>()V
+PLcom/android/server/PinnerService$Injector;->getDeviceConfigInterface()Landroid/provider/DeviceConfigInterface;
+PLcom/android/server/PinnerService$Injector;->pinFileInternal(Ljava/lang/String;IZ)Lcom/android/server/PinnerService$PinnedFile;
+PLcom/android/server/PinnerService$Injector;->publishBinderService(Lcom/android/server/PinnerService;Landroid/os/Binder;)V
+PLcom/android/server/PinnerService$PinRange;-><init>()V
+PLcom/android/server/PinnerService$PinRangeSource;-><init>()V
+PLcom/android/server/PinnerService$PinRangeSource;-><init>(Lcom/android/server/PinnerService$PinRangeSource-IA;)V
+PLcom/android/server/PinnerService$PinRangeSourceStatic;-><init>(II)V
+PLcom/android/server/PinnerService$PinRangeSourceStatic;->read(Lcom/android/server/PinnerService$PinRange;)Z
+PLcom/android/server/PinnerService$PinnedFile;-><init>(JILjava/lang/String;I)V
+PLcom/android/server/PinnerService$PinnerHandler;-><init>(Lcom/android/server/PinnerService;Landroid/os/Looper;)V
+PLcom/android/server/PinnerService$PinnerHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/PinnerService;->$r8$lambda$Lg5HhffEN45yR2JlIq0obZpr-Xc(Lcom/android/server/PinnerService;I)V
+HPLcom/android/server/PinnerService;->-$$Nest$fgetmPinnerHandler(Lcom/android/server/PinnerService;)Lcom/android/server/PinnerService$PinnerHandler;
+PLcom/android/server/PinnerService;->-$$Nest$mhandlePinOnStart(Lcom/android/server/PinnerService;)V
+PLcom/android/server/PinnerService;->-$$Nest$mhandleUidActive(Lcom/android/server/PinnerService;I)V
+PLcom/android/server/PinnerService;->-$$Nest$mhandleUidGone(Lcom/android/server/PinnerService;I)V
+PLcom/android/server/PinnerService;->-$$Nest$smpinFileInternal(Ljava/lang/String;IZ)Lcom/android/server/PinnerService$PinnedFile;
+PLcom/android/server/PinnerService;-><clinit>()V
+PLcom/android/server/PinnerService;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/PinnerService;-><init>(Landroid/content/Context;Lcom/android/server/PinnerService$Injector;)V
+PLcom/android/server/PinnerService;->clamp(III)I
+PLcom/android/server/PinnerService;->createPinKeys()Landroid/util/ArraySet;
+PLcom/android/server/PinnerService;->getPinKeys()Landroid/util/ArraySet;
+PLcom/android/server/PinnerService;->handlePinOnStart()V
+PLcom/android/server/PinnerService;->handleUidActive(I)V
+HPLcom/android/server/PinnerService;->handleUidGone(I)V
+PLcom/android/server/PinnerService;->onBootPhase(I)V
+PLcom/android/server/PinnerService;->onStart()V
+PLcom/android/server/PinnerService;->onUserUnlocking(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/PinnerService;->pinApps(I)V
+PLcom/android/server/PinnerService;->pinAppsInternal(IZ)V
+PLcom/android/server/PinnerService;->pinFileInternal(Ljava/lang/String;IZ)Lcom/android/server/PinnerService$PinnedFile;
+HPLcom/android/server/PinnerService;->pinFileRanges(Ljava/lang/String;ILcom/android/server/PinnerService$PinRangeSource;)Lcom/android/server/PinnerService$PinnedFile;
+HPLcom/android/server/PinnerService;->pinOptimizedDexDependencies(Lcom/android/server/PinnerService$PinnedFile;ILandroid/content/pm/ApplicationInfo;)I
+PLcom/android/server/PinnerService;->refreshPinAnonConfig()V
+PLcom/android/server/PinnerService;->registerUidListener()V
+PLcom/android/server/PinnerService;->registerUserSetupCompleteListener()V
+PLcom/android/server/PinnerService;->safeClose(Ljava/io/Closeable;)V
+PLcom/android/server/PinnerService;->safeClose(Ljava/io/FileDescriptor;)V
+PLcom/android/server/PinnerService;->sendPinAppsMessage(I)V
+PLcom/android/server/PinnerService;->unpinFile(Ljava/lang/String;)V
+HPLcom/android/server/PinnerService;->updateActiveState(IZ)V
+PLcom/android/server/RescueParty$RescuePartyMonitorCallback;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/RescueParty$RescuePartyMonitorCallback;->onDeviceConfigAccess(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/RescueParty$RescuePartyObserver;->-$$Nest$mrecordDeviceConfigAccess(Lcom/android/server/RescueParty$RescuePartyObserver;Ljava/lang/String;Ljava/lang/String;)V
+HSPLcom/android/server/RescueParty$RescuePartyObserver;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/RescueParty$RescuePartyObserver;->getInstance(Landroid/content/Context;)Lcom/android/server/RescueParty$RescuePartyObserver;
+HSPLcom/android/server/RescueParty$RescuePartyObserver;->getName()Ljava/lang/String;
+HPLcom/android/server/RescueParty$RescuePartyObserver;->recordDeviceConfigAccess(Ljava/lang/String;Ljava/lang/String;)V
+HSPLcom/android/server/RescueParty;-><clinit>()V
+PLcom/android/server/RescueParty;->handleNativeRescuePartyResets()V
+PLcom/android/server/RescueParty;->onSettingsProviderPublished(Landroid/content/Context;)V
+HSPLcom/android/server/RescueParty;->registerHealthObserver(Landroid/content/Context;)V
+PLcom/android/server/ResourcePressureUtil$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/ResourcePressureUtil$$ExternalSyntheticLambda0;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/ResourcePressureUtil$$ExternalSyntheticLambda1;-><init>(Ljava/io/StringWriter;)V
+PLcom/android/server/ResourcePressureUtil$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;)V
+PLcom/android/server/ResourcePressureUtil;->$r8$lambda$YqRwUJ2GaBiqQtdp5zJtNgfVUt0(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/ResourcePressureUtil;-><clinit>()V
+PLcom/android/server/ResourcePressureUtil;->currentPsiState()Ljava/lang/String;
+PLcom/android/server/ResourcePressureUtil;->readResourcePsiState(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/RuntimeService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/SecurityStateManagerService;-><clinit>()V
+PLcom/android/server/SecurityStateManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/SensorNotificationService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/SensorNotificationService;->onBootPhase(I)V
+PLcom/android/server/SensorNotificationService;->onStart()V
+HSPLcom/android/server/ServiceThread;-><init>(Ljava/lang/String;IZ)V
+HSPLcom/android/server/ServiceThread;->makeSharedHandler(Landroid/os/Looper;)Landroid/os/Handler;
+HSPLcom/android/server/ServiceThread;->run()V
+PLcom/android/server/StorageManagerService$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/StorageManagerService;)V
+PLcom/android/server/StorageManagerService$$ExternalSyntheticLambda3;->run()V
+PLcom/android/server/StorageManagerService$1;-><init>(Lcom/android/server/StorageManagerService;)V
+PLcom/android/server/StorageManagerService$2;-><init>(Lcom/android/server/StorageManagerService;Landroid/os/Handler;)V
+PLcom/android/server/StorageManagerService$3;-><init>(Lcom/android/server/StorageManagerService;)V
+PLcom/android/server/StorageManagerService$3;->onVolumeCreated(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/StorageManagerService$3;->onVolumeDestroyed(Ljava/lang/String;)V
+PLcom/android/server/StorageManagerService$3;->onVolumeInternalPathChanged(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/StorageManagerService$3;->onVolumePathChanged(Ljava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/StorageManagerService$3;->onVolumeStateChanged(Ljava/lang/String;II)V
+PLcom/android/server/StorageManagerService$4;-><init>(Lcom/android/server/StorageManagerService;)V
+PLcom/android/server/StorageManagerService$5;-><init>(Lcom/android/server/StorageManagerService;)V
+PLcom/android/server/StorageManagerService$6;-><init>(Lcom/android/server/StorageManagerService;)V
+PLcom/android/server/StorageManagerService$7;-><init>(Lcom/android/server/StorageManagerService;Landroid/os/storage/VolumeInfo;)V
+PLcom/android/server/StorageManagerService$7;->onVolumeChecking(Ljava/io/FileDescriptor;Ljava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/StorageManagerService$Callbacks;->-$$Nest$mnotifyStorageStateChanged(Lcom/android/server/StorageManagerService$Callbacks;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/StorageManagerService$Callbacks;->-$$Nest$mnotifyVolumeStateChanged(Lcom/android/server/StorageManagerService$Callbacks;Landroid/os/storage/VolumeInfo;II)V
+PLcom/android/server/StorageManagerService$Callbacks;-><init>(Landroid/os/Looper;)V
+PLcom/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
+PLcom/android/server/StorageManagerService$Callbacks;->notifyVolumeStateChanged(Landroid/os/storage/VolumeInfo;II)V
+PLcom/android/server/StorageManagerService$Callbacks;->register(Landroid/os/storage/IStorageEventListener;)V
+PLcom/android/server/StorageManagerService$ExternalStorageServiceAnrController;-><init>(Lcom/android/server/StorageManagerService;)V
+PLcom/android/server/StorageManagerService$ExternalStorageServiceAnrController;-><init>(Lcom/android/server/StorageManagerService;Lcom/android/server/StorageManagerService$ExternalStorageServiceAnrController-IA;)V
+PLcom/android/server/StorageManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/StorageManagerService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/StorageManagerService$Lifecycle;->onStart()V
+PLcom/android/server/StorageManagerService$Lifecycle;->onUserStarting(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/StorageManagerService$Lifecycle;->onUserUnlocking(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/StorageManagerService$ObbActionHandler;-><init>(Lcom/android/server/StorageManagerService;Landroid/os/Looper;)V
+PLcom/android/server/StorageManagerService$StorageManagerInternalImpl;-><init>(Lcom/android/server/StorageManagerService;)V
+PLcom/android/server/StorageManagerService$StorageManagerInternalImpl;-><init>(Lcom/android/server/StorageManagerService;Lcom/android/server/StorageManagerService$StorageManagerInternalImpl-IA;)V
+HPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->getExternalStorageMountMode(ILjava/lang/String;)I
+PLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->hasExternalStorage(ILjava/lang/String;)Z
+HPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->hasExternalStorageAccess(ILjava/lang/String;)Z
+HPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->hasLegacyExternalStorage(I)Z
+HPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->isExternalStorageService(I)Z
+PLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->markCeStoragePrepared(I)V
+PLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->onAppOpsChanged(IILjava/lang/String;II)V
+PLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->onReset(Landroid/os/IVold;)V
+PLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->registerCloudProviderChangeListener(Landroid/os/storage/StorageManagerInternal$CloudProviderChangeListener;)V
+PLcom/android/server/StorageManagerService$StorageManagerServiceHandler;-><init>(Lcom/android/server/StorageManagerService;Landroid/os/Looper;)V
+HPLcom/android/server/StorageManagerService$StorageManagerServiceHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/StorageManagerService$WatchedUnlockedUsers;-><init>()V
+PLcom/android/server/StorageManagerService$WatchedUnlockedUsers;->append(I)V
+HPLcom/android/server/StorageManagerService$WatchedUnlockedUsers;->contains(I)Z
+PLcom/android/server/StorageManagerService$WatchedUnlockedUsers;->invalidateIsUserUnlockedCache()V
+PLcom/android/server/StorageManagerService;->$r8$lambda$3W1bgg_uBq6o73zqwNdqgsQVYZE(Lcom/android/server/StorageManagerService;)V
+PLcom/android/server/StorageManagerService;->-$$Nest$fgetmCeStoragePreparedUsers(Lcom/android/server/StorageManagerService;)Ljava/util/Set;
+PLcom/android/server/StorageManagerService;->-$$Nest$fgetmContext(Lcom/android/server/StorageManagerService;)Landroid/content/Context;
+PLcom/android/server/StorageManagerService;->-$$Nest$fgetmDisks(Lcom/android/server/StorageManagerService;)Landroid/util/ArrayMap;
+PLcom/android/server/StorageManagerService;->-$$Nest$fgetmHandler(Lcom/android/server/StorageManagerService;)Landroid/os/Handler;
+HPLcom/android/server/StorageManagerService;->-$$Nest$fgetmIAppOpsService(Lcom/android/server/StorageManagerService;)Lcom/android/internal/app/IAppOpsService;
+HPLcom/android/server/StorageManagerService;->-$$Nest$fgetmIPackageManager(Lcom/android/server/StorageManagerService;)Landroid/content/pm/IPackageManager;
+PLcom/android/server/StorageManagerService;->-$$Nest$fgetmLock(Lcom/android/server/StorageManagerService;)Ljava/lang/Object;
+HPLcom/android/server/StorageManagerService;->-$$Nest$fgetmMediaStoreAuthorityAppId(Lcom/android/server/StorageManagerService;)I
+PLcom/android/server/StorageManagerService;->-$$Nest$fgetmStorageSessionController(Lcom/android/server/StorageManagerService;)Lcom/android/server/storage/StorageSessionController;
+PLcom/android/server/StorageManagerService;->-$$Nest$fgetmUidsWithLegacyExternalStorage(Lcom/android/server/StorageManagerService;)Ljava/util/Set;
+PLcom/android/server/StorageManagerService;->-$$Nest$fgetmVold(Lcom/android/server/StorageManagerService;)Landroid/os/IVold;
+PLcom/android/server/StorageManagerService;->-$$Nest$fgetmVolumes(Lcom/android/server/StorageManagerService;)Landroid/util/ArrayMap;
+PLcom/android/server/StorageManagerService;->-$$Nest$mbootCompleted(Lcom/android/server/StorageManagerService;)V
+PLcom/android/server/StorageManagerService;->-$$Nest$mcompleteUnlockUser(Lcom/android/server/StorageManagerService;I)V
+HPLcom/android/server/StorageManagerService;->-$$Nest$mgetMountModeInternal(Lcom/android/server/StorageManagerService;ILjava/lang/String;)I
+PLcom/android/server/StorageManagerService;->-$$Nest$mhandleBootCompleted(Lcom/android/server/StorageManagerService;)V
+PLcom/android/server/StorageManagerService;->-$$Nest$mhandleDaemonConnected(Lcom/android/server/StorageManagerService;)V
+PLcom/android/server/StorageManagerService;->-$$Nest$mhandleSystemReady(Lcom/android/server/StorageManagerService;)V
+PLcom/android/server/StorageManagerService;->-$$Nest$misMountDisallowed(Lcom/android/server/StorageManagerService;Landroid/os/storage/VolumeInfo;)Z
+PLcom/android/server/StorageManagerService;->-$$Nest$mmount(Lcom/android/server/StorageManagerService;Landroid/os/storage/VolumeInfo;)V
+PLcom/android/server/StorageManagerService;->-$$Nest$mnotifyCloudMediaProviderChangedAsync(Lcom/android/server/StorageManagerService;Landroid/os/storage/StorageManagerInternal$CloudProviderChangeListener;)V
+PLcom/android/server/StorageManagerService;->-$$Nest$monUserUnlocking(Lcom/android/server/StorageManagerService;I)V
+PLcom/android/server/StorageManagerService;->-$$Nest$monVolumeCreatedLocked(Lcom/android/server/StorageManagerService;Landroid/os/storage/VolumeInfo;)V
+PLcom/android/server/StorageManagerService;->-$$Nest$monVolumeStateChangedAsync(Lcom/android/server/StorageManagerService;Landroid/os/storage/VolumeInfo;II)V
+PLcom/android/server/StorageManagerService;->-$$Nest$monVolumeStateChangedLocked(Lcom/android/server/StorageManagerService;Landroid/os/storage/VolumeInfo;I)V
+PLcom/android/server/StorageManagerService;->-$$Nest$mservicesReady(Lcom/android/server/StorageManagerService;)V
+PLcom/android/server/StorageManagerService;->-$$Nest$msnapshotAndMonitorLegacyStorageAppOp(Lcom/android/server/StorageManagerService;Landroid/os/UserHandle;)V
+PLcom/android/server/StorageManagerService;->-$$Nest$mstart(Lcom/android/server/StorageManagerService;)V
+PLcom/android/server/StorageManagerService;->-$$Nest$msystemReady(Lcom/android/server/StorageManagerService;)V
+HPLcom/android/server/StorageManagerService;->-$$Nest$sfgetLOCAL_LOGV()Z
+PLcom/android/server/StorageManagerService;-><clinit>()V
+HPLcom/android/server/StorageManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/StorageManagerService;->addInternalVolumeLocked()V
+PLcom/android/server/StorageManagerService;->bootCompleted()V
+PLcom/android/server/StorageManagerService;->commitChanges()V
+PLcom/android/server/StorageManagerService;->completeUnlockUser(I)V
+PLcom/android/server/StorageManagerService;->configureTranscoding()V
+PLcom/android/server/StorageManagerService;->connectStoraged()V
+PLcom/android/server/StorageManagerService;->connectVold()V
+PLcom/android/server/StorageManagerService;->enforceExternalStorageService()V
+PLcom/android/server/StorageManagerService;->enforcePermission(Ljava/lang/String;)V
+PLcom/android/server/StorageManagerService;->extendWatchdogTimeout(Ljava/lang/String;)V
+PLcom/android/server/StorageManagerService;->getDefaultPrimaryStorageUuid()Ljava/lang/String;
+HPLcom/android/server/StorageManagerService;->getMountModeInternal(ILjava/lang/String;)I
+PLcom/android/server/StorageManagerService;->getProviderInfo(Ljava/lang/String;)Landroid/content/pm/ProviderInfo;
+HPLcom/android/server/StorageManagerService;->getVolumeList(ILjava/lang/String;I)[Landroid/os/storage/StorageVolume;
+HPLcom/android/server/StorageManagerService;->getVolumes(I)[Landroid/os/storage/VolumeInfo;
+PLcom/android/server/StorageManagerService;->handleBootCompleted()V
+PLcom/android/server/StorageManagerService;->handleDaemonConnected()V
+PLcom/android/server/StorageManagerService;->handleSystemReady()V
+PLcom/android/server/StorageManagerService;->isBroadcastWorthy(Landroid/os/storage/VolumeInfo;)Z
+HPLcom/android/server/StorageManagerService;->isCeStorageUnlocked(I)Z
+PLcom/android/server/StorageManagerService;->isHevcDecoderSupported()Z
+PLcom/android/server/StorageManagerService;->isMountDisallowed(Landroid/os/storage/VolumeInfo;)Z
+HPLcom/android/server/StorageManagerService;->isSystemUnlocked(I)Z
+HPLcom/android/server/StorageManagerService;->isUidOwnerOfPackageOrSystem(Ljava/lang/String;I)Z
+PLcom/android/server/StorageManagerService;->lambda$resetIfBootedAndConnected$0()V
+PLcom/android/server/StorageManagerService;->lastMaintenance()J
+PLcom/android/server/StorageManagerService;->maybeLogMediaMount(Landroid/os/storage/VolumeInfo;I)V
+HPLcom/android/server/StorageManagerService;->monitor()V
+PLcom/android/server/StorageManagerService;->mount(Landroid/os/storage/VolumeInfo;)V
+PLcom/android/server/StorageManagerService;->needsCheckpoint()Z
+PLcom/android/server/StorageManagerService;->notifyCloudMediaProviderChangedAsync(Landroid/os/storage/StorageManagerInternal$CloudProviderChangeListener;)V
+PLcom/android/server/StorageManagerService;->onDaemonConnected()V
+PLcom/android/server/StorageManagerService;->onKeyguardStateChanged(Z)V
+PLcom/android/server/StorageManagerService;->onUserUnlocking(I)V
+PLcom/android/server/StorageManagerService;->onVolumeCreatedLocked(Landroid/os/storage/VolumeInfo;)V
+HPLcom/android/server/StorageManagerService;->onVolumeStateChangedAsync(Landroid/os/storage/VolumeInfo;II)V
+PLcom/android/server/StorageManagerService;->onVolumeStateChangedLocked(Landroid/os/storage/VolumeInfo;I)V
+PLcom/android/server/StorageManagerService;->prepareSmartIdleMaint()Z
+PLcom/android/server/StorageManagerService;->prepareUserStorage(Ljava/lang/String;II)V
+PLcom/android/server/StorageManagerService;->prepareUserStorageIfNeeded(Landroid/os/storage/VolumeInfo;)V
+PLcom/android/server/StorageManagerService;->prepareUserStorageInternal(Ljava/lang/String;II)V
+PLcom/android/server/StorageManagerService;->readSettingsLocked()V
+PLcom/android/server/StorageManagerService;->refreshZramSettings()V
+PLcom/android/server/StorageManagerService;->registerListener(Landroid/os/storage/IStorageEventListener;)V
+HPLcom/android/server/StorageManagerService;->resetIfBootedAndConnected()V
+PLcom/android/server/StorageManagerService;->restoreCeUnlockedUsers()V
+PLcom/android/server/StorageManagerService;->restoreSystemUnlockedUsers(Landroid/os/UserManager;Ljava/util/List;[I)V
+PLcom/android/server/StorageManagerService;->servicesReady()V
+PLcom/android/server/StorageManagerService;->setCloudMediaProvider(Ljava/lang/String;)V
+HPLcom/android/server/StorageManagerService;->snapshotAndMonitorLegacyStorageAppOp(Landroid/os/UserHandle;)V
+PLcom/android/server/StorageManagerService;->start()V
+PLcom/android/server/StorageManagerService;->supportsCheckpoint()Z
+PLcom/android/server/StorageManagerService;->systemReady()V
+PLcom/android/server/StorageManagerService;->unlockCeStorage(I[B)V
+HPLcom/android/server/StorageManagerService;->updateLegacyStorageApps(Ljava/lang/String;IZ)V
+PLcom/android/server/SystemClockTime;-><clinit>()V
+PLcom/android/server/SystemClockTime;->addDebugLogEntry(Ljava/lang/String;)V
+PLcom/android/server/SystemClockTime;->getCurrentTimeMillis()J
+PLcom/android/server/SystemClockTime;->initializeIfRequired()V
+HSPLcom/android/server/SystemConfig$PermissionEntry;-><init>(Ljava/lang/String;Z)V
+HSPLcom/android/server/SystemConfig$SharedLibraryEntry;-><init>(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+HSPLcom/android/server/SystemConfig$SharedLibraryEntry;-><init>(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
+HSPLcom/android/server/SystemConfig;-><clinit>()V
+HSPLcom/android/server/SystemConfig;-><init>()V
+HSPLcom/android/server/SystemConfig;->addFeature(Ljava/lang/String;I)V
+HSPLcom/android/server/SystemConfig;->enableIpSecTunnelMigrationOnVsrUAndAbove()V
+PLcom/android/server/SystemConfig;->getAllowImplicitBroadcasts()Landroid/util/ArraySet;
+PLcom/android/server/SystemConfig;->getAllowInDataUsageSave()Landroid/util/ArraySet;
+PLcom/android/server/SystemConfig;->getAllowInPowerSave()Landroid/util/ArraySet;
+PLcom/android/server/SystemConfig;->getAllowInPowerSaveExceptIdle()Landroid/util/ArraySet;
+PLcom/android/server/SystemConfig;->getAllowUnthrottledLocation()Landroid/util/ArraySet;
+PLcom/android/server/SystemConfig;->getAllowedAssociations()Landroid/util/ArrayMap;
+HSPLcom/android/server/SystemConfig;->getAndClearPackageToUserTypeBlacklist()Landroid/util/ArrayMap;
+HSPLcom/android/server/SystemConfig;->getAndClearPackageToUserTypeWhitelist()Landroid/util/ArrayMap;
+HSPLcom/android/server/SystemConfig;->getApexModuleNameFromFilePath(Ljava/nio/file/Path;Ljava/nio/file/Path;)Ljava/lang/String;
+HSPLcom/android/server/SystemConfig;->getAppDataIsolationWhitelistedApps()Landroid/util/ArraySet;
+HSPLcom/android/server/SystemConfig;->getAvailableFeatures()Landroid/util/ArrayMap;
+PLcom/android/server/SystemConfig;->getBackupTransportWhitelist()Landroid/util/ArraySet;
+PLcom/android/server/SystemConfig;->getBgRestrictionExemption()Landroid/util/ArraySet;
+PLcom/android/server/SystemConfig;->getBugreportWhitelistedPackages()Landroid/util/ArraySet;
+HPLcom/android/server/SystemConfig;->getComponentsEnabledStates(Ljava/lang/String;)Landroid/util/ArrayMap;
+PLcom/android/server/SystemConfig;->getDisabledUntilUsedPreinstalledCarrierApps()Landroid/util/ArraySet;
+PLcom/android/server/SystemConfig;->getDisabledUntilUsedPreinstalledCarrierAssociatedApps()Landroid/util/ArrayMap;
+PLcom/android/server/SystemConfig;->getEnhancedConfirmationTrustedInstallers()Landroid/util/ArraySet;
+PLcom/android/server/SystemConfig;->getEnhancedConfirmationTrustedPackages()Landroid/util/ArraySet;
+HPLcom/android/server/SystemConfig;->getGlobalGids()[I
+PLcom/android/server/SystemConfig;->getInitialNonStoppedSystemPackages()Ljava/util/Set;
+HSPLcom/android/server/SystemConfig;->getInstance()Lcom/android/server/SystemConfig;
+HPLcom/android/server/SystemConfig;->getLinkedApps()Landroid/util/ArraySet;
+PLcom/android/server/SystemConfig;->getNamedActors()Ljava/util/Map;
+PLcom/android/server/SystemConfig;->getOverlayConfigSignaturePackage()Ljava/lang/String;
+HSPLcom/android/server/SystemConfig;->getPermissionAllowlist()Lcom/android/server/pm/permission/PermissionAllowlist;
+HSPLcom/android/server/SystemConfig;->getPermissions()Landroid/util/ArrayMap;
+PLcom/android/server/SystemConfig;->getPreinstallPackagesWithStrictSignatureCheck()Ljava/util/Set;
+HSPLcom/android/server/SystemConfig;->getSharedLibraries()Landroid/util/ArrayMap;
+HSPLcom/android/server/SystemConfig;->getSplitPermissions()Ljava/util/ArrayList;
+HPLcom/android/server/SystemConfig;->getSystemAppUpdateOwnerPackageName(Ljava/lang/String;)Ljava/lang/String;
+HPLcom/android/server/SystemConfig;->getSystemPermissions()Landroid/util/SparseArray;
+HSPLcom/android/server/SystemConfig;->isErofsSupported()Z
+HSPLcom/android/server/SystemConfig;->isSystemProcess()Z
+HSPLcom/android/server/SystemConfig;->readAllPermissions()V
+HSPLcom/android/server/SystemConfig;->readApexPrivAppPermissions(Lorg/xmlpull/v1/XmlPullParser;Ljava/io/File;Ljava/nio/file/Path;)V
+HSPLcom/android/server/SystemConfig;->readInstallInUserType(Lorg/xmlpull/v1/XmlPullParser;Ljava/util/Map;Ljava/util/Map;)V
+HSPLcom/android/server/SystemConfig;->readPermission(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)V
+HSPLcom/android/server/SystemConfig;->readPermissionAllowlist(Lorg/xmlpull/v1/XmlPullParser;Landroid/util/ArrayMap;Ljava/lang/String;)V
+HSPLcom/android/server/SystemConfig;->readPermissions(Lorg/xmlpull/v1/XmlPullParser;Ljava/io/File;I)V
+HSPLcom/android/server/SystemConfig;->readPermissionsFromXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/io/File;I)V
+HSPLcom/android/server/SystemConfig;->readPrivAppPermissions(Lorg/xmlpull/v1/XmlPullParser;Landroid/util/ArrayMap;)V
+HSPLcom/android/server/SystemConfig;->readPublicLibrariesListFile(Ljava/io/File;)V
+HSPLcom/android/server/SystemConfig;->readPublicNativeLibrariesList()V
+HSPLcom/android/server/SystemConfig;->readSplitPermission(Lorg/xmlpull/v1/XmlPullParser;Ljava/io/File;)V
+PLcom/android/server/SystemConfigService$1$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/SystemConfigService$1;-><init>(Lcom/android/server/SystemConfigService;)V
+PLcom/android/server/SystemConfigService$1;->getDisabledUntilUsedPreinstalledCarrierApps()Ljava/util/List;
+PLcom/android/server/SystemConfigService$1;->getDisabledUntilUsedPreinstalledCarrierAssociatedAppEntries()Ljava/util/Map;
+PLcom/android/server/SystemConfigService$1;->getEnhancedConfirmationTrustedInstallers()Ljava/util/List;
+PLcom/android/server/SystemConfigService$1;->getEnhancedConfirmationTrustedPackages()Ljava/util/List;
+PLcom/android/server/SystemConfigService$1;->getSystemPermissionUids(Ljava/lang/String;)[I
+PLcom/android/server/SystemConfigService;->-$$Nest$fgetmContext(Lcom/android/server/SystemConfigService;)Landroid/content/Context;
+PLcom/android/server/SystemConfigService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/SystemConfigService;->onStart()V
+HSPLcom/android/server/SystemServer$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/SystemServer$$ExternalSyntheticLambda0;->handleApplicationWtf(Landroid/os/IBinder;Ljava/lang/String;ZLandroid/app/ApplicationErrorReport$ParcelableCrashInfo;I)Z
+HSPLcom/android/server/SystemServer$$ExternalSyntheticLambda1;-><init>(III)V
+HSPLcom/android/server/SystemServer$$ExternalSyntheticLambda1;->run()V
+HSPLcom/android/server/SystemServer$$ExternalSyntheticLambda2;-><init>()V
+HSPLcom/android/server/SystemServer$$ExternalSyntheticLambda2;->run()V
+PLcom/android/server/SystemServer$$ExternalSyntheticLambda3;-><init>()V
+PLcom/android/server/SystemServer$$ExternalSyntheticLambda3;->run()V
+PLcom/android/server/SystemServer$$ExternalSyntheticLambda4;-><init>()V
+PLcom/android/server/SystemServer$$ExternalSyntheticLambda4;->run()V
+PLcom/android/server/SystemServer$$ExternalSyntheticLambda5;-><init>()V
+PLcom/android/server/SystemServer$$ExternalSyntheticLambda5;->run()V
+PLcom/android/server/SystemServer$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/SystemServer;Lcom/android/server/utils/TimingsTraceAndSlog;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Lifecycle;ZLandroid/content/Context;ZLandroid/net/ConnectivityManager;Lcom/android/server/net/NetworkManagementService;Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/VpnManagerService;Lcom/android/server/VcnManagementService;Lcom/android/server/HsumBootUserInitializer;Lcom/android/server/CountryDetectorService;Lcom/android/server/timedetector/NetworkTimeUpdateService;Lcom/android/server/input/InputManagerService;Lcom/android/server/TelephonyRegistry;Lcom/android/server/media/MediaRouterService;Lcom/android/server/MmsServiceBroker;)V
+PLcom/android/server/SystemServer$$ExternalSyntheticLambda6;->run()V
+PLcom/android/server/SystemServer$$ExternalSyntheticLambda8;-><init>()V
+PLcom/android/server/SystemServer$$ExternalSyntheticLambda8;->onModuleServiceConnected(Landroid/os/IBinder;)V
+PLcom/android/server/SystemServer$1;-><init>(Lcom/android/server/SystemServer;)V
+PLcom/android/server/SystemServer$1;->onTransactionError(IIII)V
+HSPLcom/android/server/SystemServer$SystemServerDumper;->-$$Nest$maddDumpable(Lcom/android/server/SystemServer$SystemServerDumper;Landroid/util/Dumpable;)V
+HSPLcom/android/server/SystemServer$SystemServerDumper;-><init>(Lcom/android/server/SystemServer;)V
+HSPLcom/android/server/SystemServer$SystemServerDumper;-><init>(Lcom/android/server/SystemServer;Lcom/android/server/SystemServer$SystemServerDumper-IA;)V
+HSPLcom/android/server/SystemServer$SystemServerDumper;->addDumpable(Landroid/util/Dumpable;)V
+PLcom/android/server/SystemServer;->$r8$lambda$0ek3wX68xKbgZMUwZfiBRkUNTFs()V
+HSPLcom/android/server/SystemServer;->$r8$lambda$2PdG6KuU0ZTvilD515PGrttj0sk(III)V
+PLcom/android/server/SystemServer;->$r8$lambda$CJLFlg8wnqihjN12r-2Qq_1qSd8()V
+PLcom/android/server/SystemServer;->$r8$lambda$CKXj3ds6gqFm1f6gBL5oAqAHviY(Landroid/os/IBinder;Ljava/lang/String;ZLandroid/app/ApplicationErrorReport$ParcelableCrashInfo;I)Z
+PLcom/android/server/SystemServer;->$r8$lambda$R8_YVQM1rsXoSgswlNNq9SsFhyw(Lcom/android/server/SystemServer;Lcom/android/server/utils/TimingsTraceAndSlog;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Lifecycle;ZLandroid/content/Context;ZLandroid/net/ConnectivityManager;Lcom/android/server/net/NetworkManagementService;Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/VpnManagerService;Lcom/android/server/VcnManagementService;Lcom/android/server/HsumBootUserInitializer;Lcom/android/server/CountryDetectorService;Lcom/android/server/timedetector/NetworkTimeUpdateService;Lcom/android/server/input/InputManagerService;Lcom/android/server/TelephonyRegistry;Lcom/android/server/media/MediaRouterService;Lcom/android/server/MmsServiceBroker;)V
+PLcom/android/server/SystemServer;->$r8$lambda$SEp7M2CWq7mEDzo8pfMdSQNkGv4()V
+PLcom/android/server/SystemServer;->$r8$lambda$W9fBdZlq2B12i1BBxZIhG9kbSqM(Landroid/os/IBinder;)V
+PLcom/android/server/SystemServer;->-$$Nest$fgetmActivityManagerService(Lcom/android/server/SystemServer;)Lcom/android/server/am/ActivityManagerService;
+HSPLcom/android/server/SystemServer;-><clinit>()V
+HSPLcom/android/server/SystemServer;-><init>()V
+HSPLcom/android/server/SystemServer;->createSystemContext()V
+PLcom/android/server/SystemServer;->deviceHasConfigString(Landroid/content/Context;I)Z
+HSPLcom/android/server/SystemServer;->getDumpableName()Ljava/lang/String;
+HSPLcom/android/server/SystemServer;->getMaxFd()I
+PLcom/android/server/SystemServer;->handleEarlySystemWtf(Landroid/os/IBinder;Ljava/lang/String;ZLandroid/app/ApplicationErrorReport$ParcelableCrashInfo;I)Z
+PLcom/android/server/SystemServer;->isFirstBootOrUpgrade()Z
+HSPLcom/android/server/SystemServer;->lambda$spawnFdLeakCheckThread$0(III)V
+PLcom/android/server/SystemServer;->lambda$startOtherServices$1()V
+PLcom/android/server/SystemServer;->lambda$startOtherServices$2()V
+PLcom/android/server/SystemServer;->lambda$startOtherServices$3()V
+PLcom/android/server/SystemServer;->lambda$startOtherServices$5(Landroid/os/IBinder;)V
+HPLcom/android/server/SystemServer;->lambda$startOtherServices$6(Lcom/android/server/utils/TimingsTraceAndSlog;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Lifecycle;ZLandroid/content/Context;ZLandroid/net/ConnectivityManager;Lcom/android/server/net/NetworkManagementService;Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/VpnManagerService;Lcom/android/server/VcnManagementService;Lcom/android/server/HsumBootUserInitializer;Lcom/android/server/CountryDetectorService;Lcom/android/server/timedetector/NetworkTimeUpdateService;Lcom/android/server/input/InputManagerService;Lcom/android/server/TelephonyRegistry;Lcom/android/server/media/MediaRouterService;Lcom/android/server/MmsServiceBroker;)V
+HSPLcom/android/server/SystemServer;->main([Ljava/lang/String;)V
+HSPLcom/android/server/SystemServer;->performPendingShutdown()V
+HSPLcom/android/server/SystemServer;->run()V
+HSPLcom/android/server/SystemServer;->spawnFdLeakCheckThread()V
+PLcom/android/server/SystemServer;->startApexServices(Lcom/android/server/utils/TimingsTraceAndSlog;)V
+PLcom/android/server/SystemServer;->startAttentionService(Landroid/content/Context;Lcom/android/server/utils/TimingsTraceAndSlog;)V
+HSPLcom/android/server/SystemServer;->startBootstrapServices(Lcom/android/server/utils/TimingsTraceAndSlog;)V
+PLcom/android/server/SystemServer;->startContentCaptureService(Landroid/content/Context;Lcom/android/server/utils/TimingsTraceAndSlog;)V
+HPLcom/android/server/SystemServer;->startCoreServices(Lcom/android/server/utils/TimingsTraceAndSlog;)V
+HPLcom/android/server/SystemServer;->startOtherServices(Lcom/android/server/utils/TimingsTraceAndSlog;)V
+PLcom/android/server/SystemServer;->startRotationResolverService(Landroid/content/Context;Lcom/android/server/utils/TimingsTraceAndSlog;)V
+PLcom/android/server/SystemServer;->startSystemCaptionsManagerService(Landroid/content/Context;Lcom/android/server/utils/TimingsTraceAndSlog;)V
+PLcom/android/server/SystemServer;->startSystemUi(Landroid/content/Context;Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/SystemServer;->startTextToSpeechManagerService(Landroid/content/Context;Lcom/android/server/utils/TimingsTraceAndSlog;)V
+PLcom/android/server/SystemServer;->startWearableSensingService(Lcom/android/server/utils/TimingsTraceAndSlog;)V
+PLcom/android/server/SystemServer;->updateWatchdogTimeout(Lcom/android/server/utils/TimingsTraceAndSlog;)V
+PLcom/android/server/SystemServerInitThreadPool$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/SystemServerInitThreadPool$$ExternalSyntheticLambda0;->execute(Ljava/lang/Runnable;)V
+HSPLcom/android/server/SystemServerInitThreadPool$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/SystemServerInitThreadPool;Ljava/lang/String;Ljava/lang/Runnable;)V
+HSPLcom/android/server/SystemServerInitThreadPool$$ExternalSyntheticLambda1;->run()V
+HSPLcom/android/server/SystemServerInitThreadPool;->$r8$lambda$KBkrFsHiqcxWyjNRg1WxRI4WNHA(Lcom/android/server/SystemServerInitThreadPool;Ljava/lang/String;Ljava/lang/Runnable;)V
+HSPLcom/android/server/SystemServerInitThreadPool;-><clinit>()V
+HSPLcom/android/server/SystemServerInitThreadPool;-><init>()V
+HSPLcom/android/server/SystemServerInitThreadPool;->getDumpableName()Ljava/lang/String;
+HSPLcom/android/server/SystemServerInitThreadPool;->lambda$submitTask$0(Ljava/lang/String;Ljava/lang/Runnable;)V
+PLcom/android/server/SystemServerInitThreadPool;->shutdown()V
+HSPLcom/android/server/SystemServerInitThreadPool;->start()Lcom/android/server/SystemServerInitThreadPool;
+HSPLcom/android/server/SystemServerInitThreadPool;->submit(Ljava/lang/Runnable;Ljava/lang/String;)Ljava/util/concurrent/Future;
+HSPLcom/android/server/SystemServerInitThreadPool;->submitTask(Ljava/lang/Runnable;Ljava/lang/String;)Ljava/util/concurrent/Future;
+PLcom/android/server/SystemService$TargetUser;-><init>(Landroid/content/pm/UserInfo;)V
+PLcom/android/server/SystemService$TargetUser;->getUserHandle()Landroid/os/UserHandle;
+PLcom/android/server/SystemService$TargetUser;->getUserIdentifier()I
+PLcom/android/server/SystemService$TargetUser;->isFull()Z
+PLcom/android/server/SystemService$TargetUser;->isPreCreated()Z
+PLcom/android/server/SystemService$TargetUser;->toString()Ljava/lang/String;
+PLcom/android/server/SystemService$UserCompletedEventType;-><init>(I)V
+HPLcom/android/server/SystemService$UserCompletedEventType;->includesOnUserStarting()Z
+PLcom/android/server/SystemService$UserCompletedEventType;->includesOnUserSwitching()Z
+HPLcom/android/server/SystemService$UserCompletedEventType;->includesOnUserUnlocked()Z
+HPLcom/android/server/SystemService$UserCompletedEventType;->toString()Ljava/lang/String;
+HSPLcom/android/server/SystemService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/SystemService;->getBinderService(Ljava/lang/String;)Landroid/os/IBinder;
+HSPLcom/android/server/SystemService;->getContext()Landroid/content/Context;
+PLcom/android/server/SystemService;->getLocalService(Ljava/lang/Class;)Ljava/lang/Object;
+PLcom/android/server/SystemService;->getManager()Lcom/android/server/SystemServiceManager;
+PLcom/android/server/SystemService;->isSafeMode()Z
+PLcom/android/server/SystemService;->isUserSupported(Lcom/android/server/SystemService$TargetUser;)Z
+HSPLcom/android/server/SystemService;->onBootPhase(I)V
+PLcom/android/server/SystemService;->onUserCompletedEvent(Lcom/android/server/SystemService$TargetUser;Lcom/android/server/SystemService$UserCompletedEventType;)V
+PLcom/android/server/SystemService;->onUserStarting(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/SystemService;->onUserUnlocked(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/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
+HSPLcom/android/server/SystemService;->publishBinderService(Ljava/lang/String;Landroid/os/IBinder;ZI)V
+HSPLcom/android/server/SystemService;->publishLocalService(Ljava/lang/Class;Ljava/lang/Object;)V
+PLcom/android/server/SystemServiceManager$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/SystemServiceManager;Lcom/android/server/utils/TimingsTraceAndSlog;Lcom/android/server/SystemService$TargetUser;Lcom/android/server/SystemService$UserCompletedEventType;Ljava/lang/String;Lcom/android/server/SystemService;)V
+HPLcom/android/server/SystemServiceManager$$ExternalSyntheticLambda0;->run()V
+HPLcom/android/server/SystemServiceManager;->$r8$lambda$-x2iNvPr7Y3U1ISY6dmkmFA351E(Lcom/android/server/SystemServiceManager;Lcom/android/server/utils/TimingsTraceAndSlog;Lcom/android/server/SystemService$TargetUser;Lcom/android/server/SystemService$UserCompletedEventType;Ljava/lang/String;Lcom/android/server/SystemService;)V
+HSPLcom/android/server/SystemServiceManager;-><clinit>()V
+HSPLcom/android/server/SystemServiceManager;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/SystemServiceManager;->ensureSystemDir()Ljava/io/File;
+HSPLcom/android/server/SystemServiceManager;->getDumpableName()Ljava/lang/String;
+PLcom/android/server/SystemServiceManager;->getOnUserCompletedEventRunnable(Lcom/android/server/utils/TimingsTraceAndSlog;Lcom/android/server/SystemService;Ljava/lang/String;Lcom/android/server/SystemService$TargetUser;Lcom/android/server/SystemService$UserCompletedEventType;)Ljava/lang/Runnable;
+PLcom/android/server/SystemServiceManager;->getTargetUser(I)Lcom/android/server/SystemService$TargetUser;
+PLcom/android/server/SystemServiceManager;->isBootCompleted()Z
+HPLcom/android/server/SystemServiceManager;->isJarInTestApex(Ljava/lang/String;)Z
+PLcom/android/server/SystemServiceManager;->isRuntimeRestarted()Z
+PLcom/android/server/SystemServiceManager;->isSafeMode()Z
+HPLcom/android/server/SystemServiceManager;->lambda$getOnUserCompletedEventRunnable$1(Lcom/android/server/utils/TimingsTraceAndSlog;Lcom/android/server/SystemService$TargetUser;Lcom/android/server/SystemService$UserCompletedEventType;Ljava/lang/String;Lcom/android/server/SystemService;)V
+HSPLcom/android/server/SystemServiceManager;->loadClassFromLoader(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
+PLcom/android/server/SystemServiceManager;->newTargetUser(I)Lcom/android/server/SystemService$TargetUser;
+PLcom/android/server/SystemServiceManager;->onUser(Lcom/android/server/utils/TimingsTraceAndSlog;Ljava/lang/String;Lcom/android/server/SystemService$TargetUser;Lcom/android/server/SystemService$TargetUser;)V
+HPLcom/android/server/SystemServiceManager;->onUser(Lcom/android/server/utils/TimingsTraceAndSlog;Ljava/lang/String;Lcom/android/server/SystemService$TargetUser;Lcom/android/server/SystemService$TargetUser;Lcom/android/server/SystemService$UserCompletedEventType;)V
+PLcom/android/server/SystemServiceManager;->onUser(Ljava/lang/String;I)V
+PLcom/android/server/SystemServiceManager;->onUserCompletedEvent(II)V
+PLcom/android/server/SystemServiceManager;->onUserStarting(Lcom/android/server/utils/TimingsTraceAndSlog;I)V
+PLcom/android/server/SystemServiceManager;->onUserUnlocked(I)V
+PLcom/android/server/SystemServiceManager;->onUserUnlocking(I)V
+PLcom/android/server/SystemServiceManager;->preSystemReady()V
+PLcom/android/server/SystemServiceManager;->sealStartedServices()V
+PLcom/android/server/SystemServiceManager;->setSafeMode(Z)V
+HSPLcom/android/server/SystemServiceManager;->setStartInfo(ZJJ)V
+HSPLcom/android/server/SystemServiceManager;->startBootPhase(Lcom/android/server/utils/TimingsTraceAndSlog;I)V
+HSPLcom/android/server/SystemServiceManager;->startService(Lcom/android/server/SystemService;)V
+HSPLcom/android/server/SystemServiceManager;->startService(Ljava/lang/Class;)Lcom/android/server/SystemService;
+HSPLcom/android/server/SystemServiceManager;->startService(Ljava/lang/String;)Lcom/android/server/SystemService;
+PLcom/android/server/SystemServiceManager;->startServiceFromJar(Ljava/lang/String;Ljava/lang/String;)Lcom/android/server/SystemService;
+PLcom/android/server/SystemServiceManager;->updateOtherServicesStartIndex()V
+PLcom/android/server/SystemServiceManager;->useThreadPool(ILjava/lang/String;)Z
+HPLcom/android/server/SystemServiceManager;->useThreadPoolForService(Ljava/lang/String;I)Z
+HSPLcom/android/server/SystemServiceManager;->warnIfTooLong(JLcom/android/server/SystemService;Ljava/lang/String;)V
+HSPLcom/android/server/SystemTimeZone;-><clinit>()V
+PLcom/android/server/SystemTimeZone;->addDebugLogEntry(Ljava/lang/String;)V
+HSPLcom/android/server/SystemTimeZone;->initializeTimeZoneSettingsIfRequired()V
+HSPLcom/android/server/SystemTimeZone;->isValidTimeZoneId(Ljava/lang/String;)Z
+PLcom/android/server/SystemUpdateManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/SystemUpdateManagerService;->loadSystemUpdateInfoLocked()Landroid/os/Bundle;
+PLcom/android/server/SystemUpdateManagerService;->removeInfoFileAndGetDefaultInfoBundleLocked()Landroid/os/Bundle;
+PLcom/android/server/TelephonyRegistry$1;-><init>(Lcom/android/server/TelephonyRegistry;)V
+PLcom/android/server/TelephonyRegistry$1;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/TelephonyRegistry$2;-><init>(Lcom/android/server/TelephonyRegistry;)V
+PLcom/android/server/TelephonyRegistry$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/TelephonyRegistry$ConfigurationProvider$$ExternalSyntheticLambda0;-><init>(Ljava/lang/String;Landroid/os/UserHandle;)V
+PLcom/android/server/TelephonyRegistry$ConfigurationProvider$$ExternalSyntheticLambda0;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/TelephonyRegistry$ConfigurationProvider$$ExternalSyntheticLambda3;-><init>(Ljava/lang/String;Landroid/os/UserHandle;)V
+PLcom/android/server/TelephonyRegistry$ConfigurationProvider$$ExternalSyntheticLambda3;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/TelephonyRegistry$ConfigurationProvider$$ExternalSyntheticLambda6;-><init>()V
+HPLcom/android/server/TelephonyRegistry$ConfigurationProvider$$ExternalSyntheticLambda6;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/TelephonyRegistry$ConfigurationProvider;->$r8$lambda$C6OjoOM6QjWKuvRgmR-CDyixxwM(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/lang/Boolean;
+HPLcom/android/server/TelephonyRegistry$ConfigurationProvider;->$r8$lambda$fiLSZuDgZl0ukk9Pd8o7udet0Lc()Ljava/lang/Integer;
+PLcom/android/server/TelephonyRegistry$ConfigurationProvider;->$r8$lambda$ia5Kj1BuRYcdkS9zbfBdAW8KTno(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/lang/Boolean;
+PLcom/android/server/TelephonyRegistry$ConfigurationProvider;-><init>()V
+HPLcom/android/server/TelephonyRegistry$ConfigurationProvider;->getRegistrationLimit()I
+PLcom/android/server/TelephonyRegistry$ConfigurationProvider;->isActiveDataSubIdReadPhoneStateEnforcedInPlatformCompat(Ljava/lang/String;Landroid/os/UserHandle;)Z
+PLcom/android/server/TelephonyRegistry$ConfigurationProvider;->isCallStateReadPhoneStateEnforcedInPlatformCompat(Ljava/lang/String;Landroid/os/UserHandle;)Z
+HPLcom/android/server/TelephonyRegistry$ConfigurationProvider;->lambda$getRegistrationLimit$0()Ljava/lang/Integer;
+PLcom/android/server/TelephonyRegistry$ConfigurationProvider;->lambda$isActiveDataSubIdReadPhoneStateEnforcedInPlatformCompat$3(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/lang/Boolean;
+PLcom/android/server/TelephonyRegistry$ConfigurationProvider;->lambda$isCallStateReadPhoneStateEnforcedInPlatformCompat$2(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/lang/Boolean;
+HPLcom/android/server/TelephonyRegistry$Record;-><init>()V
+PLcom/android/server/TelephonyRegistry$Record;-><init>(Lcom/android/server/TelephonyRegistry$Record-IA;)V
+PLcom/android/server/TelephonyRegistry$Record;->matchCarrierConfigChangeListener()Z
+PLcom/android/server/TelephonyRegistry$Record;->matchCarrierPrivilegesCallback()Z
+PLcom/android/server/TelephonyRegistry$Record;->matchTelephonyCallbackEvent(I)Z
+PLcom/android/server/TelephonyRegistry$TelephonyRegistryDeathRecipient;-><init>(Lcom/android/server/TelephonyRegistry;Landroid/os/IBinder;)V
+PLcom/android/server/TelephonyRegistry;->-$$Nest$fgetmCellIdentity(Lcom/android/server/TelephonyRegistry;)[Landroid/telephony/CellIdentity;
+PLcom/android/server/TelephonyRegistry;->-$$Nest$fgetmHandler(Lcom/android/server/TelephonyRegistry;)Landroid/os/Handler;
+PLcom/android/server/TelephonyRegistry;->-$$Nest$mgetTelephonyManager(Lcom/android/server/TelephonyRegistry;)Landroid/telephony/TelephonyManager;
+PLcom/android/server/TelephonyRegistry;->-$$Nest$mnotifyCellLocationForSubscriber(Lcom/android/server/TelephonyRegistry;ILandroid/telephony/CellIdentity;Z)V
+PLcom/android/server/TelephonyRegistry;-><clinit>()V
+HPLcom/android/server/TelephonyRegistry;-><init>(Landroid/content/Context;Lcom/android/server/TelephonyRegistry$ConfigurationProvider;)V
+HPLcom/android/server/TelephonyRegistry;->add(Landroid/os/IBinder;IIZ)Lcom/android/server/TelephonyRegistry$Record;
+HPLcom/android/server/TelephonyRegistry;->addCarrierConfigChangeListener(Lcom/android/internal/telephony/ICarrierConfigChangeListener;Ljava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/TelephonyRegistry;->addCarrierPrivilegesCallback(ILcom/android/internal/telephony/ICarrierPrivilegesCallback;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/TelephonyRegistry;->addOnOpportunisticSubscriptionsChangedListener(Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V
+HPLcom/android/server/TelephonyRegistry;->addOnSubscriptionsChangedListener(Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V
+PLcom/android/server/TelephonyRegistry;->broadcastServiceStateChanged(Landroid/telephony/ServiceState;II)V
+PLcom/android/server/TelephonyRegistry;->broadcastSignalStrengthChanged(Landroid/telephony/SignalStrength;II)V
+HPLcom/android/server/TelephonyRegistry;->checkListenerPermission(Ljava/util/Set;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/TelephonyRegistry;->checkNotifyPermission()Z
+PLcom/android/server/TelephonyRegistry;->checkNotifyPermission(Ljava/lang/String;)Z
+PLcom/android/server/TelephonyRegistry;->createCallQuality()Landroid/telephony/CallQuality;
+PLcom/android/server/TelephonyRegistry;->createPreciseCallState()Landroid/telephony/PreciseCallState;
+PLcom/android/server/TelephonyRegistry;->createServiceStateBroadcastOptions(IILjava/lang/String;)Landroid/app/BroadcastOptions;
+PLcom/android/server/TelephonyRegistry;->createServiceStateIntent(Landroid/telephony/ServiceState;IIZ)Landroid/content/Intent;
+PLcom/android/server/TelephonyRegistry;->doesLimitApplyForListeners(II)Z
+PLcom/android/server/TelephonyRegistry;->fillInSignalStrengthNotifierBundle(Landroid/telephony/SignalStrength;Landroid/os/Bundle;)V
+HPLcom/android/server/TelephonyRegistry;->getPhoneIdFromSubId(I)I
+PLcom/android/server/TelephonyRegistry;->getTelephonyManager()Landroid/telephony/TelephonyManager;
+PLcom/android/server/TelephonyRegistry;->handleRemoveListLocked()V
+PLcom/android/server/TelephonyRegistry;->idMatch(Lcom/android/server/TelephonyRegistry$Record;II)Z
+HPLcom/android/server/TelephonyRegistry;->isActiveEmergencySessionPermissionRequired(Ljava/util/Set;)Z
+HPLcom/android/server/TelephonyRegistry;->isLocationPermissionRequired(Ljava/util/Set;)Z
+HPLcom/android/server/TelephonyRegistry;->isPhoneStatePermissionRequired(Ljava/util/Set;Ljava/lang/String;Landroid/os/UserHandle;)Z
+HPLcom/android/server/TelephonyRegistry;->isPrecisePhoneStatePermissionRequired(Ljava/util/Set;)Z
+HPLcom/android/server/TelephonyRegistry;->isPrivilegedPhoneStatePermissionRequired(Ljava/util/Set;)Z
+HPLcom/android/server/TelephonyRegistry;->listen(ZZLjava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/IPhoneStateListener;Ljava/util/Set;ZI)V
+HPLcom/android/server/TelephonyRegistry;->listenWithEventList(ZZILjava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/IPhoneStateListener;[IZ)V
+PLcom/android/server/TelephonyRegistry;->log(Ljava/lang/String;)V
+PLcom/android/server/TelephonyRegistry;->notifyCallForwardingChangedForSubscriber(IZ)V
+PLcom/android/server/TelephonyRegistry;->notifyCarrierConfigChanged(IIII)V
+PLcom/android/server/TelephonyRegistry;->notifyCellLocationForSubscriber(ILandroid/telephony/CellIdentity;Z)V
+PLcom/android/server/TelephonyRegistry;->notifyDataEnabled(IIZI)V
+HPLcom/android/server/TelephonyRegistry;->notifyEmergencyNumberList(II)V
+PLcom/android/server/TelephonyRegistry;->notifyPhoneCapabilityChanged(Landroid/telephony/PhoneCapability;)V
+PLcom/android/server/TelephonyRegistry;->notifyRadioPowerStateChanged(III)V
+PLcom/android/server/TelephonyRegistry;->notifyServiceStateForPhoneId(IILandroid/telephony/ServiceState;)V
+PLcom/android/server/TelephonyRegistry;->notifySignalStrengthForPhoneId(IILandroid/telephony/SignalStrength;)V
+PLcom/android/server/TelephonyRegistry;->onMultiSimConfigChanged()V
+PLcom/android/server/TelephonyRegistry;->pii(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/TelephonyRegistry;->remove(Landroid/os/IBinder;)V
+PLcom/android/server/TelephonyRegistry;->systemRunning()V
+PLcom/android/server/TelephonyRegistry;->validatePhoneId(I)Z
+HSPLcom/android/server/ThreadPriorityBooster$1;-><init>(Lcom/android/server/ThreadPriorityBooster;)V
+HSPLcom/android/server/ThreadPriorityBooster$1;->initialValue()Lcom/android/server/ThreadPriorityBooster$PriorityState;
+HSPLcom/android/server/ThreadPriorityBooster$1;->initialValue()Ljava/lang/Object;
+HSPLcom/android/server/ThreadPriorityBooster$PriorityState;-><init>()V
+HSPLcom/android/server/ThreadPriorityBooster$PriorityState;-><init>(Lcom/android/server/ThreadPriorityBooster$PriorityState-IA;)V
+HSPLcom/android/server/ThreadPriorityBooster;-><init>(II)V
+HSPLcom/android/server/ThreadPriorityBooster;->boost()V
+HSPLcom/android/server/ThreadPriorityBooster;->reset()V
+PLcom/android/server/ThreadPriorityBooster;->setBoostToPriority(I)V
+PLcom/android/server/UiModeManagerInternal;-><init>()V
+PLcom/android/server/UiModeManagerService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/UiModeManagerService;Landroid/content/Context;Landroid/content/res/Resources;)V
+PLcom/android/server/UiModeManagerService$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/UiModeManagerService$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/UiModeManagerService;)V
+PLcom/android/server/UiModeManagerService$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/UiModeManagerService;)V
+PLcom/android/server/UiModeManagerService$10;-><init>(Lcom/android/server/UiModeManagerService;Landroid/os/Handler;)V
+PLcom/android/server/UiModeManagerService$11;-><init>(Lcom/android/server/UiModeManagerService;Landroid/os/Handler;)V
+PLcom/android/server/UiModeManagerService$12;-><init>(Lcom/android/server/UiModeManagerService;)V
+PLcom/android/server/UiModeManagerService$13;-><init>(Lcom/android/server/UiModeManagerService;)V
+PLcom/android/server/UiModeManagerService$1;-><init>(Lcom/android/server/UiModeManagerService;)V
+PLcom/android/server/UiModeManagerService$1;->get()I
+PLcom/android/server/UiModeManagerService$1;->set(I)V
+PLcom/android/server/UiModeManagerService$2;-><init>(Lcom/android/server/UiModeManagerService;)V
+PLcom/android/server/UiModeManagerService$3;-><init>(Lcom/android/server/UiModeManagerService;)V
+PLcom/android/server/UiModeManagerService$4;-><init>(Lcom/android/server/UiModeManagerService;)V
+HPLcom/android/server/UiModeManagerService$4;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/UiModeManagerService$5;-><init>(Lcom/android/server/UiModeManagerService;)V
+PLcom/android/server/UiModeManagerService$6;-><init>(Lcom/android/server/UiModeManagerService;)V
+PLcom/android/server/UiModeManagerService$7;-><init>(Lcom/android/server/UiModeManagerService;)V
+PLcom/android/server/UiModeManagerService$8;-><init>(Lcom/android/server/UiModeManagerService;)V
+PLcom/android/server/UiModeManagerService$9;-><init>(Lcom/android/server/UiModeManagerService;Landroid/os/Handler;)V
+PLcom/android/server/UiModeManagerService$Injector;-><init>()V
+PLcom/android/server/UiModeManagerService$LocalService;-><init>(Lcom/android/server/UiModeManagerService;)V
+PLcom/android/server/UiModeManagerService$Stub;-><init>(Lcom/android/server/UiModeManagerService;Landroid/content/Context;)V
+PLcom/android/server/UiModeManagerService$Stub;->addCallback(Landroid/app/IUiModeManagerCallback;)V
+HPLcom/android/server/UiModeManagerService$Stub;->addOnProjectionStateChangedListener(Landroid/app/IOnProjectionStateChangedListener;I)V
+PLcom/android/server/UiModeManagerService$Stub;->getActiveProjectionTypes()I
+PLcom/android/server/UiModeManagerService$Stub;->getContrast()F
+PLcom/android/server/UiModeManagerService$Stub;->getCurrentModeType()I
+PLcom/android/server/UiModeManagerService;->$r8$lambda$QPwDb2teQBOty6gCNDQwNIaFO6w(Lcom/android/server/UiModeManagerService;Landroid/content/Context;Landroid/content/res/Resources;)V
+PLcom/android/server/UiModeManagerService;->-$$Nest$fgetmLock(Lcom/android/server/UiModeManagerService;)Ljava/lang/Object;
+PLcom/android/server/UiModeManagerService;->-$$Nest$fgetmProjectionHolders(Lcom/android/server/UiModeManagerService;)Landroid/util/SparseArray;
+PLcom/android/server/UiModeManagerService;->-$$Nest$fgetmProjectionListeners(Lcom/android/server/UiModeManagerService;)Landroid/util/SparseArray;
+PLcom/android/server/UiModeManagerService;->-$$Nest$fgetmUiModeManagerCallbacks(Lcom/android/server/UiModeManagerService;)Landroid/util/SparseArray;
+PLcom/android/server/UiModeManagerService;->-$$Nest$fputmCharging(Lcom/android/server/UiModeManagerService;Z)V
+PLcom/android/server/UiModeManagerService;->-$$Nest$fputmProjectionListeners(Lcom/android/server/UiModeManagerService;Landroid/util/SparseArray;)V
+PLcom/android/server/UiModeManagerService;->-$$Nest$mgetContrastLocked(Lcom/android/server/UiModeManagerService;)F
+PLcom/android/server/UiModeManagerService;->-$$Nest$mpopulateWithRelevantActivePackageNames(Lcom/android/server/UiModeManagerService;ILjava/util/List;)I
+PLcom/android/server/UiModeManagerService;-><clinit>()V
+PLcom/android/server/UiModeManagerService;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/UiModeManagerService;-><init>(Landroid/content/Context;ZLcom/android/server/twilight/TwilightManager;Lcom/android/server/UiModeManagerService$Injector;)V
+PLcom/android/server/UiModeManagerService;->applyConfigurationExternallyLocked()V
+PLcom/android/server/UiModeManagerService;->getComputedUiModeConfiguration(I)I
+PLcom/android/server/UiModeManagerService;->getContrastLocked()F
+PLcom/android/server/UiModeManagerService;->initPowerSave()V
+PLcom/android/server/UiModeManagerService;->isDeskDockState(I)Z
+PLcom/android/server/UiModeManagerService;->lambda$onStart$1(Landroid/content/Context;Landroid/content/res/Resources;)V
+HPLcom/android/server/UiModeManagerService;->onBootPhase(I)V
+PLcom/android/server/UiModeManagerService;->onStart()V
+PLcom/android/server/UiModeManagerService;->populateWithRelevantActivePackageNames(ILjava/util/List;)I
+PLcom/android/server/UiModeManagerService;->registerVrStateListener()V
+PLcom/android/server/UiModeManagerService;->resetNightModeOverrideLocked()Z
+PLcom/android/server/UiModeManagerService;->sendConfigurationAndStartDreamOrDockAppLocked(Ljava/lang/String;)V
+PLcom/android/server/UiModeManagerService;->setupWizardCompleteForCurrentUser()Z
+PLcom/android/server/UiModeManagerService;->unregisterTimeChangeEvent()V
+HPLcom/android/server/UiModeManagerService;->updateComputedNightModeLocked(Z)V
+HPLcom/android/server/UiModeManagerService;->updateConfigurationLocked()V
+PLcom/android/server/UiModeManagerService;->updateContrastLocked()Z
+HPLcom/android/server/UiModeManagerService;->updateLocked(II)V
+PLcom/android/server/UiModeManagerService;->updateNightModeFromSettingsLocked(Landroid/content/Context;Landroid/content/res/Resources;I)V
+PLcom/android/server/UiModeManagerService;->updateSystemProperties()V
+PLcom/android/server/UiModeManagerService;->verifySetupWizardCompleted()V
+HSPLcom/android/server/UiThread;-><init>()V
+HSPLcom/android/server/UiThread;->ensureThreadLocked()V
+HSPLcom/android/server/UiThread;->get()Lcom/android/server/UiThread;
+HSPLcom/android/server/UiThread;->getHandler()Landroid/os/Handler;
+HSPLcom/android/server/UiThread;->run()V
+PLcom/android/server/UpdateLockService$LockWatcher;-><init>(Lcom/android/server/UpdateLockService;Landroid/os/Handler;Ljava/lang/String;)V
+PLcom/android/server/UpdateLockService$LockWatcher;->acquired()V
+PLcom/android/server/UpdateLockService$LockWatcher;->released()V
+PLcom/android/server/UpdateLockService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/UpdateLockService;->acquireUpdateLock(Landroid/os/IBinder;Ljava/lang/String;)V
+PLcom/android/server/UpdateLockService;->makeTag(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/UpdateLockService;->releaseUpdateLock(Landroid/os/IBinder;)V
+PLcom/android/server/UpdateLockService;->sendLockChangedBroadcast(Z)V
+PLcom/android/server/UserspaceRebootLogger;->shouldLogUserspaceRebootEvent()Z
+PLcom/android/server/VcnManagementService$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/VcnManagementService;)V
+PLcom/android/server/VcnManagementService$$ExternalSyntheticLambda2;->run()V
+PLcom/android/server/VcnManagementService$Dependencies;-><init>()V
+PLcom/android/server/VcnManagementService$Dependencies;->getLooper()Landroid/os/Looper;
+PLcom/android/server/VcnManagementService$Dependencies;->newPersistableBundleLockingReadWriteHelper(Ljava/lang/String;)Lcom/android/server/vcn/util/PersistableBundleUtils$LockingReadWriteHelper;
+PLcom/android/server/VcnManagementService$Dependencies;->newTelephonySubscriptionTracker(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/vcn/TelephonySubscriptionTracker$TelephonySubscriptionTrackerCallback;)Lcom/android/server/vcn/TelephonySubscriptionTracker;
+PLcom/android/server/VcnManagementService$TrackingNetworkCallback;-><init>(Lcom/android/server/VcnManagementService;)V
+PLcom/android/server/VcnManagementService$TrackingNetworkCallback;-><init>(Lcom/android/server/VcnManagementService;Lcom/android/server/VcnManagementService$TrackingNetworkCallback-IA;)V
+PLcom/android/server/VcnManagementService$VcnBroadcastReceiver;-><init>(Lcom/android/server/VcnManagementService;)V
+PLcom/android/server/VcnManagementService$VcnBroadcastReceiver;-><init>(Lcom/android/server/VcnManagementService;Lcom/android/server/VcnManagementService$VcnBroadcastReceiver-IA;)V
+PLcom/android/server/VcnManagementService$VcnSubscriptionTrackerCallback;-><init>(Lcom/android/server/VcnManagementService;)V
+PLcom/android/server/VcnManagementService$VcnSubscriptionTrackerCallback;-><init>(Lcom/android/server/VcnManagementService;Lcom/android/server/VcnManagementService$VcnSubscriptionTrackerCallback-IA;)V
+PLcom/android/server/VcnManagementService$VcnSubscriptionTrackerCallback;->onNewSnapshot(Lcom/android/server/vcn/TelephonySubscriptionTracker$TelephonySubscriptionSnapshot;)V
+PLcom/android/server/VcnManagementService;->$r8$lambda$Ef7L22K53jlZvoAbNN6oKOpv0Wo(Lcom/android/server/VcnManagementService;)V
+PLcom/android/server/VcnManagementService;->-$$Nest$fgetmConfigs(Lcom/android/server/VcnManagementService;)Ljava/util/Map;
+PLcom/android/server/VcnManagementService;->-$$Nest$fgetmLastSnapshot(Lcom/android/server/VcnManagementService;)Lcom/android/server/vcn/TelephonySubscriptionTracker$TelephonySubscriptionSnapshot;
+PLcom/android/server/VcnManagementService;->-$$Nest$fgetmLock(Lcom/android/server/VcnManagementService;)Ljava/lang/Object;
+PLcom/android/server/VcnManagementService;->-$$Nest$fgetmVcns(Lcom/android/server/VcnManagementService;)Ljava/util/Map;
+PLcom/android/server/VcnManagementService;->-$$Nest$fputmLastSnapshot(Lcom/android/server/VcnManagementService;Lcom/android/server/vcn/TelephonySubscriptionTracker$TelephonySubscriptionSnapshot;)V
+PLcom/android/server/VcnManagementService;->-$$Nest$mgetSubGroupToSubIdMappings(Lcom/android/server/VcnManagementService;Lcom/android/server/vcn/TelephonySubscriptionTracker$TelephonySubscriptionSnapshot;)Ljava/util/Map;
+PLcom/android/server/VcnManagementService;->-$$Nest$mlogInfo(Lcom/android/server/VcnManagementService;Ljava/lang/String;)V
+PLcom/android/server/VcnManagementService;->-$$Nest$sfgetTAG()Ljava/lang/String;
+PLcom/android/server/VcnManagementService;-><clinit>()V
+HPLcom/android/server/VcnManagementService;-><init>(Landroid/content/Context;Lcom/android/server/VcnManagementService$Dependencies;)V
+PLcom/android/server/VcnManagementService;->create(Landroid/content/Context;)Lcom/android/server/VcnManagementService;
+PLcom/android/server/VcnManagementService;->getSubGroupToSubIdMappings(Lcom/android/server/vcn/TelephonySubscriptionTracker$TelephonySubscriptionSnapshot;)Ljava/util/Map;
+PLcom/android/server/VcnManagementService;->lambda$new$0()V
+PLcom/android/server/VcnManagementService;->logInfo(Ljava/lang/String;)V
+PLcom/android/server/VcnManagementService;->systemReady()V
+PLcom/android/server/VpnManagerService$1;-><init>(Lcom/android/server/VpnManagerService;)V
+PLcom/android/server/VpnManagerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/VpnManagerService$2;-><init>(Lcom/android/server/VpnManagerService;)V
+PLcom/android/server/VpnManagerService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/VpnManagerService$Dependencies;-><init>()V
+PLcom/android/server/VpnManagerService$Dependencies;->createVpn(Landroid/os/Looper;Landroid/content/Context;Landroid/os/INetworkManagementService;Landroid/net/INetd;I)Lcom/android/server/connectivity/Vpn;
+PLcom/android/server/VpnManagerService$Dependencies;->getCallingUid()I
+PLcom/android/server/VpnManagerService$Dependencies;->getINetworkManagementService()Landroid/os/INetworkManagementService;
+PLcom/android/server/VpnManagerService$Dependencies;->getMainUserId()I
+PLcom/android/server/VpnManagerService$Dependencies;->getNetd()Landroid/net/INetd;
+PLcom/android/server/VpnManagerService$Dependencies;->getVpnProfileStore()Lcom/android/server/connectivity/VpnProfileStore;
+PLcom/android/server/VpnManagerService$Dependencies;->makeHandlerThread()Landroid/os/HandlerThread;
+PLcom/android/server/VpnManagerService;->-$$Nest$mensureRunningOnHandlerThread(Lcom/android/server/VpnManagerService;)V
+PLcom/android/server/VpnManagerService;->-$$Nest$monUserStarted(Lcom/android/server/VpnManagerService;I)V
+PLcom/android/server/VpnManagerService;->-$$Nest$monUserUnlocked(Lcom/android/server/VpnManagerService;I)V
+PLcom/android/server/VpnManagerService;-><clinit>()V
+PLcom/android/server/VpnManagerService;-><init>(Landroid/content/Context;Lcom/android/server/VpnManagerService$Dependencies;)V
+PLcom/android/server/VpnManagerService;->create(Landroid/content/Context;)Lcom/android/server/VpnManagerService;
+PLcom/android/server/VpnManagerService;->ensureRunningOnHandlerThread()V
+PLcom/android/server/VpnManagerService;->isLockdownVpnEnabled()Z
+PLcom/android/server/VpnManagerService;->log(Ljava/lang/String;)V
+PLcom/android/server/VpnManagerService;->onUserStarted(I)V
+PLcom/android/server/VpnManagerService;->onUserUnlocked(I)V
+PLcom/android/server/VpnManagerService;->registerReceivers()V
+PLcom/android/server/VpnManagerService;->setLockdownTracker(Lcom/android/server/net/LockdownVpnTracker;)V
+PLcom/android/server/VpnManagerService;->startAlwaysOnVpn(I)Z
+PLcom/android/server/VpnManagerService;->systemReady()V
+PLcom/android/server/VpnManagerService;->updateLockdownVpn()Z
+HSPLcom/android/server/Watchdog$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/Watchdog;)V
+HSPLcom/android/server/Watchdog$$ExternalSyntheticLambda0;->run()V
+HSPLcom/android/server/Watchdog$BinderThreadMonitor;-><init>()V
+HSPLcom/android/server/Watchdog$BinderThreadMonitor;-><init>(Lcom/android/server/Watchdog$BinderThreadMonitor-IA;)V
+HSPLcom/android/server/Watchdog$BinderThreadMonitor;->monitor()V
+HSPLcom/android/server/Watchdog$HandlerChecker;-><init>(Landroid/os/Handler;Ljava/lang/String;Ljava/lang/Object;)V
+HSPLcom/android/server/Watchdog$HandlerChecker;-><init>(Landroid/os/Handler;Ljava/lang/String;Ljava/lang/Object;Ljava/time/Clock;)V
+HSPLcom/android/server/Watchdog$HandlerChecker;->addMonitorLocked(Lcom/android/server/Watchdog$Monitor;)V
+HPLcom/android/server/Watchdog$HandlerChecker;->getCompletionStateLocked()I
+HSPLcom/android/server/Watchdog$HandlerChecker;->getThread()Ljava/lang/Thread;
+HSPLcom/android/server/Watchdog$HandlerChecker;->isHandlerPolling()Z
+PLcom/android/server/Watchdog$HandlerChecker;->pauseForLocked(ILjava/lang/String;)V
+HSPLcom/android/server/Watchdog$HandlerChecker;->pauseLocked(Ljava/lang/String;)V
+PLcom/android/server/Watchdog$HandlerChecker;->resumeLocked(Ljava/lang/String;)V
+HSPLcom/android/server/Watchdog$HandlerChecker;->run()V
+HSPLcom/android/server/Watchdog$HandlerChecker;->scheduleCheckLocked(J)V
+HSPLcom/android/server/Watchdog$HandlerCheckerAndTimeout;-><init>(Lcom/android/server/Watchdog$HandlerChecker;Ljava/util/Optional;)V
+HSPLcom/android/server/Watchdog$HandlerCheckerAndTimeout;->checker()Lcom/android/server/Watchdog$HandlerChecker;
+HSPLcom/android/server/Watchdog$HandlerCheckerAndTimeout;->customTimeoutMillis()Ljava/util/Optional;
+HSPLcom/android/server/Watchdog$HandlerCheckerAndTimeout;->withCustomTimeout(Lcom/android/server/Watchdog$HandlerChecker;J)Lcom/android/server/Watchdog$HandlerCheckerAndTimeout;
+HSPLcom/android/server/Watchdog$HandlerCheckerAndTimeout;->withDefaultTimeout(Lcom/android/server/Watchdog$HandlerChecker;)Lcom/android/server/Watchdog$HandlerCheckerAndTimeout;
+PLcom/android/server/Watchdog$RebootRequestReceiver;-><init>(Lcom/android/server/Watchdog;)V
+PLcom/android/server/Watchdog$SettingsObserver;-><init>(Landroid/content/Context;Lcom/android/server/Watchdog;)V
+PLcom/android/server/Watchdog$SettingsObserver;->onChange()V
+HSPLcom/android/server/Watchdog;->$r8$lambda$IHmOjeSmDoiNkZR0B-wv71mYNoM(Lcom/android/server/Watchdog;)V
+HSPLcom/android/server/Watchdog;-><clinit>()V
+HSPLcom/android/server/Watchdog;-><init>()V
+HSPLcom/android/server/Watchdog;->addMonitor(Lcom/android/server/Watchdog$Monitor;)V
+HSPLcom/android/server/Watchdog;->addThread(Landroid/os/Handler;)V
+HSPLcom/android/server/Watchdog;->addThread(Landroid/os/Handler;J)V
+PLcom/android/server/Watchdog;->evaluateCheckerCompletionLocked()I
+HSPLcom/android/server/Watchdog;->getInstance()Lcom/android/server/Watchdog;
+PLcom/android/server/Watchdog;->init(Landroid/content/Context;Lcom/android/server/am/ActivityManagerService;)V
+HPLcom/android/server/Watchdog;->isInterestingJavaProcess(Ljava/lang/String;)Z
+HSPLcom/android/server/Watchdog;->pauseWatchingCurrentThread(Ljava/lang/String;)V
+PLcom/android/server/Watchdog;->pauseWatchingCurrentThreadFor(ILjava/lang/String;)V
+PLcom/android/server/Watchdog;->pauseWatchingMonitorsFor(ILjava/lang/String;)V
+PLcom/android/server/Watchdog;->processDied(Ljava/lang/String;I)V
+HPLcom/android/server/Watchdog;->processStarted(Ljava/lang/String;I)V
+PLcom/android/server/Watchdog;->registerSettingsObserver(Landroid/content/Context;)V
+HPLcom/android/server/Watchdog;->resumeWatchingCurrentThread(Ljava/lang/String;)V
+HSPLcom/android/server/Watchdog;->run()V
+HSPLcom/android/server/Watchdog;->start()V
+PLcom/android/server/Watchdog;->updateWatchdogTimeout(J)V
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection$1;-><init>(Lcom/android/server/accessibility/AbstractAccessibilityServiceConnection;Landroid/os/Looper;)V
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection$1;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection$InvocationHandler;-><init>(Lcom/android/server/accessibility/AbstractAccessibilityServiceConnection;Landroid/os/Looper;)V
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->-$$Nest$mnotifyAccessibilityEventInternal(Lcom/android/server/accessibility/AbstractAccessibilityServiceConnection;ILandroid/view/accessibility/AccessibilityEvent;Z)V
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;-><init>(Landroid/content/Context;Landroid/content/ComponentName;Landroid/accessibilityservice/AccessibilityServiceInfo;ILandroid/os/Handler;Ljava/lang/Object;Lcom/android/server/accessibility/AccessibilitySecurityPolicy;Lcom/android/server/accessibility/AbstractAccessibilityServiceConnection$SystemSupport;Landroid/accessibilityservice/AccessibilityTrace;Lcom/android/server/wm/WindowManagerInternal;Lcom/android/server/accessibility/SystemActionPerformer;Lcom/android/server/accessibility/AccessibilityWindowManager;)V
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->addWindowTokenForDisplay(I)V
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->addWindowTokensForAllDisplays()V
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->canReceiveEventsLocked()Z
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->ensureWindowsAvailableTimedLocked(I)V
+HPLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->findAccessibilityNodeInfoByAccessibilityId(IJILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IJLandroid/os/Bundle;)[Ljava/lang/String;
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->getCapabilities()I
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->getComponentName()Landroid/content/ComponentName;
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->getRelevantEventTypes()I
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->getServiceInfo()Landroid/accessibilityservice/AccessibilityServiceInfo;
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->getWindowTransformationMatrixAndMagnificationSpec(I)Landroid/util/Pair;
+HPLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->getWindows()Landroid/view/accessibility/AccessibilityWindowInfo$WindowListSparseArray;
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->getWindowsByDisplayLocked(I)Ljava/util/List;
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->intConnTracingEnabled()Z
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->notifyAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->notifyAccessibilityEventInternal(ILandroid/view/accessibility/AccessibilityEvent;Z)V
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->replaceCallbackIfNeeded(Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIIJ)Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->resolveAccessibilityWindowIdLocked(I)I
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->setDisplayTypes(I)V
+HPLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->setDynamicallyConfigurableProperties(Landroid/accessibilityservice/AccessibilityServiceInfo;)V
+HPLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->setServiceInfo(Landroid/accessibilityservice/AccessibilityServiceInfo;)V
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->svcClientTracingEnabled()Z
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->svcConnTracingEnabled()Z
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->wantsEventLocked(Landroid/view/accessibility/AccessibilityEvent;)Z
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->wmTracingEnabled()Z
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda12;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda12;->run()V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda13;-><init>()V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda13;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda16;-><init>()V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda18;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda18;->onResult(IZ)V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda19;-><init>()V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda19;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda22;-><init>()V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda22;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda23;-><init>()V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda23;->test(Ljava/lang/Object;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda24;-><init>()V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda25;-><init>(Ljava/util/List;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda30;-><init>()V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda30;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+HSPLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda35;-><init>()V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda38;-><init>()V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda38;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda41;-><init>()V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda41;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda44;-><init>()V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda46;-><init>(Ljava/lang/String;Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda47;-><init>(Ljava/lang/String;Lcom/android/server/accessibility/AccessibilityUserState;Ljava/util/Set;Ljava/util/Set;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda49;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;I)V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda49;->acceptOrThrow(Ljava/lang/Object;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda52;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;J)V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda52;->acceptOrThrow(Ljava/lang/Object;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda54;-><init>()V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda54;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda55;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda55;->acceptOrThrow(Ljava/lang/Object;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda56;-><init>()V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda62;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda62;->acceptOrThrow(Ljava/lang/Object;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda63;-><init>()V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda63;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda8;-><init>()V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda8;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda9;-><init>()V
+PLcom/android/server/accessibility/AccessibilityManagerService$$ExternalSyntheticLambda9;->accept(Ljava/lang/Object;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$1;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$1;->onHandleForceStop(Landroid/content/Intent;[Ljava/lang/String;IZ)Z
+PLcom/android/server/accessibility/AccessibilityManagerService$3;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$4;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityContentObserver;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;Landroid/os/Handler;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityContentObserver;->register(Landroid/content/ContentResolver;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityDisplayListener;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;Landroid/content/Context;Landroid/os/Handler;)V
+HPLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityDisplayListener;->getValidDisplayList()Ljava/util/ArrayList;
+PLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityDisplayListener;->initializeDisplayList()V
+PLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityDisplayListener;->isValidDisplay(Landroid/view/Display;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityDisplayListener;->onDisplayChanged(I)V
+HPLcom/android/server/accessibility/AccessibilityManagerService$Client;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;Landroid/view/accessibility/IAccessibilityManagerClient;ILcom/android/server/accessibility/AccessibilityUserState;I)V
+PLcom/android/server/accessibility/AccessibilityManagerService$Client;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;Landroid/view/accessibility/IAccessibilityManagerClient;ILcom/android/server/accessibility/AccessibilityUserState;ILcom/android/server/accessibility/AccessibilityManagerService$Client-IA;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/accessibility/AccessibilityManagerService$Lifecycle;->onStart()V
+PLcom/android/server/accessibility/AccessibilityManagerService$LocalServiceImpl;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$LocalServiceImpl;->bindInput()V
+PLcom/android/server/accessibility/AccessibilityManagerService$LocalServiceImpl;->createImeSession(Landroid/util/ArraySet;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$LocalServiceImpl;->startInput(Lcom/android/internal/inputmethod/IRemoteAccessibilityInputConnection;Landroid/view/inputmethod/EditorInfo;Z)V
+PLcom/android/server/accessibility/AccessibilityManagerService$MainHandler;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;Landroid/os/Looper;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->$r8$lambda$4Xl_kWd5nUlOJpqnPRLhjur2PxQ(Lcom/android/server/accessibility/AccessibilityManagerService;Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->$r8$lambda$FCnKv_Ut84T3aNcEnU4D12D8l6Y(Lcom/android/server/accessibility/AccessibilityManagerService;Landroid/os/RemoteCallbackList;J)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->$r8$lambda$HPhUjXfCPlcxeEddVlx5oqAs2d4(Lcom/android/server/accessibility/AccessibilityManagerService;JLjava/lang/Object;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->$r8$lambda$IYYIwjVu0bO5FTn9IS3RVPPeDiY(Lcom/android/server/accessibility/AccessibilityManagerService;Lcom/android/server/accessibility/AccessibilityUserState;Lcom/android/server/accessibility/AccessibilityManagerService$Client;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->$r8$lambda$JB6TZPFG0N2h7zdKOCgM4OOCpf8(Lcom/android/server/accessibility/AccessibilityManagerService;Lcom/android/internal/inputmethod/IRemoteAccessibilityInputConnection;Landroid/view/inputmethod/EditorInfo;Z)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->$r8$lambda$KFC275e1a0Nf4HzkH5ujj0liXIg(Lcom/android/server/accessibility/AccessibilityManagerService;II)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->$r8$lambda$Qha0yO4BlErsZ1OeDWa1PxGEaNA(Lcom/android/server/accessibility/AccessibilityManagerService;Landroid/util/ArraySet;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->$r8$lambda$VD7IcTrYlIEbLD7q-dNQxZYFZs4(Lcom/android/server/accessibility/AccessibilityManagerService;Lcom/android/server/accessibility/AccessibilityUserState;Lcom/android/server/accessibility/AccessibilityManagerService$Client;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->$r8$lambda$XpL8pm9VEQwLAqYA1AVZJvP4ZkA(Lcom/android/server/accessibility/AccessibilityManagerService;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->$r8$lambda$_gBIiOvr-Vr0gJkDVFAi3JBURXE(Lcom/android/server/accessibility/AccessibilityManagerService;Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->$r8$lambda$c2sb4fePdTUn6QD12AOuX4CLSEw(Lcom/android/server/accessibility/AccessibilityManagerService;Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->$r8$lambda$cfUn8_rRT4Qib40MwfhpW9o6DZY(Lcom/android/server/accessibility/AccessibilityManagerService;ILjava/lang/Object;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->$r8$lambda$j68DccWKI_ecJheQGTvw8Cpflic(Lcom/android/server/accessibility/AccessibilityManagerService;Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->$r8$lambda$mdjZbluv7Qcd_o_Ype1SGqTxgkY(Landroid/accessibilityservice/AccessibilityServiceInfo;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->$r8$lambda$p1awZzkw3tQaXOYBFrrZx5_PAC0(Lcom/android/server/accessibility/AccessibilityManagerService;II)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->$r8$lambda$wYPfPbaBszuUF6sjhczksiy53FI(Lcom/android/server/accessibility/AccessibilityManagerService;I)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->-$$Nest$fgetmCurrentUserId(Lcom/android/server/accessibility/AccessibilityManagerService;)I
+PLcom/android/server/accessibility/AccessibilityManagerService;->-$$Nest$fgetmLock(Lcom/android/server/accessibility/AccessibilityManagerService;)Ljava/lang/Object;
+PLcom/android/server/accessibility/AccessibilityManagerService;->-$$Nest$fgetmPackageManager(Lcom/android/server/accessibility/AccessibilityManagerService;)Landroid/content/pm/PackageManager;
+PLcom/android/server/accessibility/AccessibilityManagerService;->-$$Nest$fgetmProxyManager(Lcom/android/server/accessibility/AccessibilityManagerService;)Lcom/android/server/accessibility/ProxyManager;
+PLcom/android/server/accessibility/AccessibilityManagerService;->-$$Nest$fgetmTraceManager(Lcom/android/server/accessibility/AccessibilityManagerService;)Lcom/android/server/accessibility/AccessibilityTraceManager;
+PLcom/android/server/accessibility/AccessibilityManagerService;->-$$Nest$mcomputeRelevantEventTypesLocked(Lcom/android/server/accessibility/AccessibilityManagerService;Lcom/android/server/accessibility/AccessibilityUserState;Lcom/android/server/accessibility/AccessibilityManagerService$Client;)I
+PLcom/android/server/accessibility/AccessibilityManagerService;->-$$Nest$mgetUserStateLocked(Lcom/android/server/accessibility/AccessibilityManagerService;I)Lcom/android/server/accessibility/AccessibilityUserState;
+PLcom/android/server/accessibility/AccessibilityManagerService;->-$$Nest$monBootPhase(Lcom/android/server/accessibility/AccessibilityManagerService;I)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->-$$Nest$munlockUser(Lcom/android/server/accessibility/AccessibilityManagerService;I)V
+PLcom/android/server/accessibility/AccessibilityManagerService;-><clinit>()V
+HPLcom/android/server/accessibility/AccessibilityManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->addAccessibilityInteractionConnection(Landroid/view/IWindow;Landroid/os/IBinder;Landroid/view/accessibility/IAccessibilityInteractionConnection;Ljava/lang/String;I)I
+HPLcom/android/server/accessibility/AccessibilityManagerService;->addClient(Landroid/view/accessibility/IAccessibilityManagerClient;I)J
+PLcom/android/server/accessibility/AccessibilityManagerService;->bindInput()V
+PLcom/android/server/accessibility/AccessibilityManagerService;->broadcastToClients(Lcom/android/server/accessibility/AccessibilityUserState;Ljava/util/function/Consumer;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->changeCurrentUserForTestAutomationIfNeededLocked(I)V
+HPLcom/android/server/accessibility/AccessibilityManagerService;->computeRelevantEventTypesLocked(Lcom/android/server/accessibility/AccessibilityUserState;Lcom/android/server/accessibility/AccessibilityManagerService$Client;)I
+PLcom/android/server/accessibility/AccessibilityManagerService;->createImeSession(Landroid/util/ArraySet;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->disableAccessibilityMenuToMigrateIfNeeded()V
+PLcom/android/server/accessibility/AccessibilityManagerService;->dispatchAccessibilityEventLocked(Landroid/view/accessibility/AccessibilityEvent;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->fallBackMagnificationModeSettingsLocked(Lcom/android/server/accessibility/AccessibilityUserState;I)Z
+HPLcom/android/server/accessibility/AccessibilityManagerService;->getClientStateLocked(Lcom/android/server/accessibility/AccessibilityUserState;)I
+PLcom/android/server/accessibility/AccessibilityManagerService;->getCurrentUserIdLocked()I
+HPLcom/android/server/accessibility/AccessibilityManagerService;->getCurrentUserStateLocked()Lcom/android/server/accessibility/AccessibilityUserState;
+HPLcom/android/server/accessibility/AccessibilityManagerService;->getEnabledAccessibilityServiceList(II)Ljava/util/List;
+HPLcom/android/server/accessibility/AccessibilityManagerService;->getFocusColor()I
+HPLcom/android/server/accessibility/AccessibilityManagerService;->getFocusStrokeWidth()I
+PLcom/android/server/accessibility/AccessibilityManagerService;->getInstalledAccessibilityServiceList(I)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/accessibility/AccessibilityManagerService;->getMagnificationConnectionManager()Lcom/android/server/accessibility/magnification/MagnificationConnectionManager;
+HPLcom/android/server/accessibility/AccessibilityManagerService;->getRecommendedTimeoutMillis()J
+PLcom/android/server/accessibility/AccessibilityManagerService;->getRecommendedTimeoutMillisLocked(Lcom/android/server/accessibility/AccessibilityUserState;)J
+PLcom/android/server/accessibility/AccessibilityManagerService;->getSystemActionPerformer()Lcom/android/server/accessibility/SystemActionPerformer;
+PLcom/android/server/accessibility/AccessibilityManagerService;->getTraceManager()Lcom/android/server/accessibility/AccessibilityTraceManager;
+PLcom/android/server/accessibility/AccessibilityManagerService;->getUserState(I)Lcom/android/server/accessibility/AccessibilityUserState;
+HPLcom/android/server/accessibility/AccessibilityManagerService;->getUserStateLocked(I)Lcom/android/server/accessibility/AccessibilityUserState;
+PLcom/android/server/accessibility/AccessibilityManagerService;->getValidDisplayList()Ljava/util/ArrayList;
+HPLcom/android/server/accessibility/AccessibilityManagerService;->getWindowTransformationMatrixAndMagnificationSpec(I)Landroid/util/Pair;
+PLcom/android/server/accessibility/AccessibilityManagerService;->init()V
+PLcom/android/server/accessibility/AccessibilityManagerService;->isClientInPackageAllowlist(Landroid/accessibilityservice/AccessibilityServiceInfo;Lcom/android/server/accessibility/AccessibilityManagerService$Client;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->lambda$notifyClientsOfServicesStateChange$18(JLjava/lang/Object;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->lambda$onPackagesForceStoppedLocked$2(Landroid/accessibilityservice/AccessibilityServiceInfo;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->lambda$sendStateToClients$17(ILjava/lang/Object;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->lambda$updateFocusAppearanceDataLocked$31(Lcom/android/server/accessibility/AccessibilityUserState;Lcom/android/server/accessibility/AccessibilityManagerService$Client;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->lambda$updateFocusAppearanceDataLocked$32(Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->lambda$updateRelevantEventsLocked$12(Lcom/android/server/accessibility/AccessibilityUserState;Lcom/android/server/accessibility/AccessibilityManagerService$Client;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->lambda$updateRelevantEventsLocked$13(Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->migrateAccessibilityButtonSettingsIfNecessaryLocked(Lcom/android/server/accessibility/AccessibilityUserState;Ljava/lang/String;I)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->notifyAccessibilityServicesDelayedLocked(Landroid/view/accessibility/AccessibilityEvent;Z)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->notifyClientsOfServicesStateChange(Landroid/os/RemoteCallbackList;J)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->notifyRefreshMagnificationModeToInputFilter(I)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->onBootPhase(I)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->onClientChangeLocked(Z)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->onClientChangeLocked(ZZ)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->onMagnificationTransitionEndedLocked(IZ)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->onPackagesForceStoppedLocked([Ljava/lang/String;Lcom/android/server/accessibility/AccessibilityUserState;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->onUserStateChangedLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
+HPLcom/android/server/accessibility/AccessibilityManagerService;->onUserStateChangedLocked(Lcom/android/server/accessibility/AccessibilityUserState;Z)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->parseAccessibilityServiceInfos(I)Ljava/util/List;
+PLcom/android/server/accessibility/AccessibilityManagerService;->parseAccessibilityShortcutInfos(I)Ljava/util/List;
+PLcom/android/server/accessibility/AccessibilityManagerService;->readAccessibilityButtonTargetComponentLocked(Lcom/android/server/accessibility/AccessibilityUserState;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->readAccessibilityButtonTargetsLocked(Lcom/android/server/accessibility/AccessibilityUserState;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->readAccessibilityShortcutKeySettingLocked(Lcom/android/server/accessibility/AccessibilityUserState;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->readAlwaysOnMagnificationLocked(Lcom/android/server/accessibility/AccessibilityUserState;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->readAudioDescriptionEnabledSettingLocked(Lcom/android/server/accessibility/AccessibilityUserState;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->readAutoclickEnabledSettingLocked(Lcom/android/server/accessibility/AccessibilityUserState;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->readColonDelimitedSettingToSet(Ljava/lang/String;ILjava/util/function/Function;Ljava/util/Set;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->readColonDelimitedStringToSet(Ljava/lang/String;Ljava/util/function/Function;Ljava/util/Set;Z)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->readComponentNamesFromSettingLocked(Ljava/lang/String;ILjava/util/Set;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->readConfigurationForUserStateLocked(Lcom/android/server/accessibility/AccessibilityUserState;Ljava/util/List;Ljava/util/List;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->readEnabledAccessibilityServicesLocked(Lcom/android/server/accessibility/AccessibilityUserState;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->readHighTextContrastEnabledSettingLocked(Lcom/android/server/accessibility/AccessibilityUserState;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->readInstalledAccessibilityServiceLocked(Lcom/android/server/accessibility/AccessibilityUserState;Ljava/util/List;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->readInstalledAccessibilityShortcutLocked(Lcom/android/server/accessibility/AccessibilityUserState;Ljava/util/List;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->readMagnificationCapabilitiesLocked(Lcom/android/server/accessibility/AccessibilityUserState;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->readMagnificationEnabledSettingsLocked(Lcom/android/server/accessibility/AccessibilityUserState;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->readMagnificationFollowTypingLocked(Lcom/android/server/accessibility/AccessibilityUserState;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->readMagnificationModeForDefaultDisplayLocked(Lcom/android/server/accessibility/AccessibilityUserState;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->readTouchExplorationEnabledSettingLocked(Lcom/android/server/accessibility/AccessibilityUserState;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->readTouchExplorationGrantedAccessibilityServicesLocked(Lcom/android/server/accessibility/AccessibilityUserState;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->readUserRecommendedUiTimeoutSettingsLocked(Lcom/android/server/accessibility/AccessibilityUserState;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->registerBroadcastReceivers()V
+PLcom/android/server/accessibility/AccessibilityManagerService;->registerUiTestAutomationService(Landroid/os/IBinder;Landroid/accessibilityservice/IAccessibilityServiceClient;Landroid/accessibilityservice/AccessibilityServiceInfo;II)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->scheduleBindInput()V
+PLcom/android/server/accessibility/AccessibilityManagerService;->scheduleCreateImeSession(Landroid/util/ArraySet;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->scheduleNotifyClientsOfServicesStateChangeLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->scheduleStartInput(Lcom/android/internal/inputmethod/IRemoteAccessibilityInputConnection;Landroid/view/inputmethod/EditorInfo;Z)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->scheduleUpdateClientsIfNeededLocked(Lcom/android/server/accessibility/AccessibilityUserState;Z)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->scheduleUpdateFingerprintGestureHandling(Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->scheduleUpdateInputFilter(Lcom/android/server/accessibility/AccessibilityUserState;)V
+HPLcom/android/server/accessibility/AccessibilityManagerService;->sendAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;I)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->sendAccessibilityEventForCurrentUserLocked(Landroid/view/accessibility/AccessibilityEvent;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->sendAccessibilityEventLocked(Landroid/view/accessibility/AccessibilityEvent;I)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->sendPendingWindowStateChangedEventsForAvailableWindowLocked(I)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->sendServicesStateChanged(Landroid/os/RemoteCallbackList;J)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->sendStateToAllClients(II)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->sendStateToClients(II)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->sendStateToClients(ILandroid/os/RemoteCallbackList;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->setAccessibilityWindowAttributes(IIILandroid/view/accessibility/AccessibilityWindowAttributes;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->setNonA11yToolNotificationToMatchSafetyCenter()V
+PLcom/android/server/accessibility/AccessibilityManagerService;->startInput(Lcom/android/internal/inputmethod/IRemoteAccessibilityInputConnection;Landroid/view/inputmethod/EditorInfo;Z)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->switchUser(I)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->unlockUser(I)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->updateAccessibilityButtonTargetsLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
+HPLcom/android/server/accessibility/AccessibilityManagerService;->updateAccessibilityEnabledSettingLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->updateAccessibilityShortcutKeyTargetsLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->updateFilterKeyEventsLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->updateFingerprintGestureHandling(Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->updateFocusAppearanceDataLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->updateInputFilter(Lcom/android/server/accessibility/AccessibilityUserState;)V
+HPLcom/android/server/accessibility/AccessibilityManagerService;->updateLegacyCapabilitiesLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
+HPLcom/android/server/accessibility/AccessibilityManagerService;->updateMagnificationCapabilitiesSettingsChangeLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->updateMagnificationConnectionIfNeeded(Lcom/android/server/accessibility/AccessibilityUserState;)V
+HPLcom/android/server/accessibility/AccessibilityManagerService;->updateMagnificationLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->updateMagnificationModeChangeSettingsForAllDisplaysLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->updateMagnificationModeChangeSettingsLocked(Lcom/android/server/accessibility/AccessibilityUserState;I)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->updatePerformGesturesLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->updateRecommendedUiTimeoutLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->updateRelevantEventsLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
+HPLcom/android/server/accessibility/AccessibilityManagerService;->updateServicesLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
+HPLcom/android/server/accessibility/AccessibilityManagerService;->updateTouchExplorationLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
+HPLcom/android/server/accessibility/AccessibilityManagerService;->updateWindowsForAccessibilityCallbackLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->userHasListeningMagnificationServicesLocked(Lcom/android/server/accessibility/AccessibilityUserState;I)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->userHasMagnificationServicesLocked(Lcom/android/server/accessibility/AccessibilityUserState;)Z
+PLcom/android/server/accessibility/AccessibilitySecurityPolicy;-><clinit>()V
+PLcom/android/server/accessibility/AccessibilitySecurityPolicy;-><init>(Lcom/android/server/accessibility/PolicyWarningUIController;Landroid/content/Context;Lcom/android/server/accessibility/AccessibilitySecurityPolicy$AccessibilityUserManager;Landroid/content/pm/PackageManagerInternal;)V
+PLcom/android/server/accessibility/AccessibilitySecurityPolicy;->canDispatchAccessibilityEventLocked(ILandroid/view/accessibility/AccessibilityEvent;)Z
+PLcom/android/server/accessibility/AccessibilitySecurityPolicy;->canGetAccessibilityNodeInfoLocked(ILcom/android/server/accessibility/AbstractAccessibilityServiceConnection;I)Z
+PLcom/android/server/accessibility/AccessibilitySecurityPolicy;->canRegisterService(Landroid/content/pm/ServiceInfo;)Z
+PLcom/android/server/accessibility/AccessibilitySecurityPolicy;->canRetrieveWindowContentLocked(Lcom/android/server/accessibility/AbstractAccessibilityServiceConnection;)Z
+PLcom/android/server/accessibility/AccessibilitySecurityPolicy;->canRetrieveWindowsLocked(Lcom/android/server/accessibility/AbstractAccessibilityServiceConnection;)Z
+PLcom/android/server/accessibility/AccessibilitySecurityPolicy;->checkAccessibilityAccess(Lcom/android/server/accessibility/AbstractAccessibilityServiceConnection;)Z
+PLcom/android/server/accessibility/AccessibilitySecurityPolicy;->computeValidReportedPackages(Ljava/lang/String;I)[Ljava/lang/String;
+PLcom/android/server/accessibility/AccessibilitySecurityPolicy;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/accessibility/AccessibilitySecurityPolicy;->hasPermission(Ljava/lang/String;)Z
+PLcom/android/server/accessibility/AccessibilitySecurityPolicy;->isCallerInteractingAcrossUsers(I)Z
+PLcom/android/server/accessibility/AccessibilitySecurityPolicy;->isRetrievalAllowingWindowLocked(II)Z
+PLcom/android/server/accessibility/AccessibilitySecurityPolicy;->isValidPackageForUid(Ljava/lang/String;I)Z
+PLcom/android/server/accessibility/AccessibilitySecurityPolicy;->onSwitchUserLocked(ILjava/util/Set;)V
+HPLcom/android/server/accessibility/AccessibilitySecurityPolicy;->resolveCallingUserIdEnforcingPermissionsLocked(I)I
+PLcom/android/server/accessibility/AccessibilitySecurityPolicy;->resolveProfileParentLocked(I)I
+PLcom/android/server/accessibility/AccessibilitySecurityPolicy;->resolveValidReportedPackageLocked(Ljava/lang/CharSequence;III)Ljava/lang/String;
+PLcom/android/server/accessibility/AccessibilitySecurityPolicy;->setAccessibilityWindowManager(Lcom/android/server/accessibility/AccessibilityWindowManager;)V
+PLcom/android/server/accessibility/AccessibilitySecurityPolicy;->setSendingNonA11yToolNotificationLocked(Z)V
+PLcom/android/server/accessibility/AccessibilitySecurityPolicy;->updateEventSourceLocked(Landroid/view/accessibility/AccessibilityEvent;)V
+PLcom/android/server/accessibility/AccessibilityTraceManager;-><clinit>()V
+PLcom/android/server/accessibility/AccessibilityTraceManager;-><init>(Lcom/android/server/wm/WindowManagerInternal$AccessibilityControllerInternal;Lcom/android/server/accessibility/AccessibilityManagerService;Ljava/lang/Object;)V
+PLcom/android/server/accessibility/AccessibilityTraceManager;->getInstance(Lcom/android/server/wm/WindowManagerInternal$AccessibilityControllerInternal;Lcom/android/server/accessibility/AccessibilityManagerService;Ljava/lang/Object;)Lcom/android/server/accessibility/AccessibilityTraceManager;
+HPLcom/android/server/accessibility/AccessibilityTraceManager;->getTraceStateForAccessibilityManagerClientState()I
+HPLcom/android/server/accessibility/AccessibilityTraceManager;->isA11yTracingEnabledForTypes(J)Z
+PLcom/android/server/accessibility/AccessibilityUserState;-><clinit>()V
+HPLcom/android/server/accessibility/AccessibilityUserState;-><init>(ILandroid/content/Context;Lcom/android/server/accessibility/AccessibilityUserState$ServiceInfoChangeListener;)V
+PLcom/android/server/accessibility/AccessibilityUserState;->getBindInstantServiceAllowedLocked()Z
+PLcom/android/server/accessibility/AccessibilityUserState;->getBindingServicesLocked()Ljava/util/Set;
+PLcom/android/server/accessibility/AccessibilityUserState;->getClientStateLocked(ZI)I
+PLcom/android/server/accessibility/AccessibilityUserState;->getCrashedServicesLocked()Ljava/util/Set;
+PLcom/android/server/accessibility/AccessibilityUserState;->getFocusColorLocked()I
+PLcom/android/server/accessibility/AccessibilityUserState;->getFocusStrokeWidthLocked()I
+PLcom/android/server/accessibility/AccessibilityUserState;->getInteractiveUiTimeoutLocked()I
+PLcom/android/server/accessibility/AccessibilityUserState;->getLastSentClientStateLocked()I
+PLcom/android/server/accessibility/AccessibilityUserState;->getMagnificationCapabilitiesLocked()I
+PLcom/android/server/accessibility/AccessibilityUserState;->getMagnificationModeLocked(I)I
+PLcom/android/server/accessibility/AccessibilityUserState;->getNonInteractiveUiTimeoutLocked()I
+PLcom/android/server/accessibility/AccessibilityUserState;->getShortcutTargetsLocked(I)Landroid/util/ArraySet;
+PLcom/android/server/accessibility/AccessibilityUserState;->getTargetAssignedToAccessibilityButton()Ljava/lang/String;
+PLcom/android/server/accessibility/AccessibilityUserState;->getUserInteractiveUiTimeoutLocked()I
+PLcom/android/server/accessibility/AccessibilityUserState;->getUserNonInteractiveUiTimeoutLocked()I
+PLcom/android/server/accessibility/AccessibilityUserState;->isAlwaysOnMagnificationEnabled()Z
+PLcom/android/server/accessibility/AccessibilityUserState;->isAudioDescriptionByDefaultEnabledLocked()Z
+PLcom/android/server/accessibility/AccessibilityUserState;->isAutoclickEnabledLocked()Z
+PLcom/android/server/accessibility/AccessibilityUserState;->isFilterKeyEventsEnabledLocked()Z
+PLcom/android/server/accessibility/AccessibilityUserState;->isHandlingAccessibilityEventsLocked()Z
+PLcom/android/server/accessibility/AccessibilityUserState;->isMagnificationFollowTypingEnabled()Z
+PLcom/android/server/accessibility/AccessibilityUserState;->isMagnificationSingleFingerTripleTapEnabledLocked()Z
+PLcom/android/server/accessibility/AccessibilityUserState;->isMagnificationTwoFingerTripleTapEnabledLocked()Z
+PLcom/android/server/accessibility/AccessibilityUserState;->isPerformGesturesEnabledLocked()Z
+PLcom/android/server/accessibility/AccessibilityUserState;->isSendMotionEventsEnabled()Z
+HPLcom/android/server/accessibility/AccessibilityUserState;->isShortcutMagnificationEnabledLocked()Z
+PLcom/android/server/accessibility/AccessibilityUserState;->isTextHighContrastEnabledLocked()Z
+PLcom/android/server/accessibility/AccessibilityUserState;->isTouchExplorationEnabledLocked()Z
+PLcom/android/server/accessibility/AccessibilityUserState;->isValidMagnificationModeLocked(I)Z
+PLcom/android/server/accessibility/AccessibilityUserState;->onSwitchToAnotherUserLocked()V
+PLcom/android/server/accessibility/AccessibilityUserState;->resetServiceDetectsGestures()V
+PLcom/android/server/accessibility/AccessibilityUserState;->setAccessibilityFocusOnlyInActiveWindow(Z)V
+PLcom/android/server/accessibility/AccessibilityUserState;->setFilterKeyEventsEnabledLocked(Z)V
+PLcom/android/server/accessibility/AccessibilityUserState;->setInteractiveUiTimeoutLocked(I)V
+PLcom/android/server/accessibility/AccessibilityUserState;->setLastSentClientStateLocked(I)V
+PLcom/android/server/accessibility/AccessibilityUserState;->setMagnificationCapabilitiesLocked(I)V
+PLcom/android/server/accessibility/AccessibilityUserState;->setMagnificationModeLocked(II)V
+PLcom/android/server/accessibility/AccessibilityUserState;->setMultiFingerGesturesLocked(Z)V
+PLcom/android/server/accessibility/AccessibilityUserState;->setNonInteractiveUiTimeoutLocked(I)V
+PLcom/android/server/accessibility/AccessibilityUserState;->setPerformGesturesEnabledLocked(Z)V
+PLcom/android/server/accessibility/AccessibilityUserState;->setSendMotionEventsEnabled(Z)V
+PLcom/android/server/accessibility/AccessibilityUserState;->setServiceHandlesDoubleTapLocked(Z)V
+PLcom/android/server/accessibility/AccessibilityUserState;->setTwoFingerPassthroughLocked(Z)V
+PLcom/android/server/accessibility/AccessibilityUserState;->unbindAllServicesLocked()V
+PLcom/android/server/accessibility/AccessibilityWindowManager$DisplayWindowsObserver;->-$$Nest$fgetmDisplayId(Lcom/android/server/accessibility/AccessibilityWindowManager$DisplayWindowsObserver;)I
+PLcom/android/server/accessibility/AccessibilityWindowManager$DisplayWindowsObserver;->-$$Nest$fgetmIsProxy(Lcom/android/server/accessibility/AccessibilityWindowManager$DisplayWindowsObserver;)Z
+PLcom/android/server/accessibility/AccessibilityWindowManager$DisplayWindowsObserver;-><init>(Lcom/android/server/accessibility/AccessibilityWindowManager;I)V
+PLcom/android/server/accessibility/AccessibilityWindowManager$DisplayWindowsObserver;->cacheWindows(Ljava/util/List;)V
+HPLcom/android/server/accessibility/AccessibilityWindowManager$DisplayWindowsObserver;->computePartialInteractiveRegionForWindowLocked(IZLandroid/graphics/Region;)Z
+PLcom/android/server/accessibility/AccessibilityWindowManager$DisplayWindowsObserver;->findA11yWindowInfoByIdLocked(I)Landroid/view/accessibility/AccessibilityWindowInfo;
+PLcom/android/server/accessibility/AccessibilityWindowManager$DisplayWindowsObserver;->findWindowInfoByIdLocked(I)Landroid/view/WindowInfo;
+PLcom/android/server/accessibility/AccessibilityWindowManager$DisplayWindowsObserver;->getTypeForWindowManagerWindowType(I)I
+PLcom/android/server/accessibility/AccessibilityWindowManager$DisplayWindowsObserver;->getWindowListLocked()Ljava/util/List;
+PLcom/android/server/accessibility/AccessibilityWindowManager$DisplayWindowsObserver;->isTrackingWindowsLocked()Z
+PLcom/android/server/accessibility/AccessibilityWindowManager$DisplayWindowsObserver;->onWindowsForAccessibilityChanged(ZILandroid/os/IBinder;Ljava/util/List;)V
+PLcom/android/server/accessibility/AccessibilityWindowManager$DisplayWindowsObserver;->populateReportedWindowLocked(ILandroid/view/WindowInfo;Landroid/util/SparseArray;)Landroid/view/accessibility/AccessibilityWindowInfo;
+PLcom/android/server/accessibility/AccessibilityWindowManager$DisplayWindowsObserver;->sendEventsForChangedWindowsLocked(Ljava/util/List;Landroid/util/SparseArray;)V
+PLcom/android/server/accessibility/AccessibilityWindowManager$DisplayWindowsObserver;->shouldUpdateWindowsLocked(ZLjava/util/List;)Z
+PLcom/android/server/accessibility/AccessibilityWindowManager$DisplayWindowsObserver;->startTrackingWindowsLocked()V
+PLcom/android/server/accessibility/AccessibilityWindowManager$DisplayWindowsObserver;->updateWindowWithWindowAttributes(Landroid/view/WindowInfo;Landroid/view/accessibility/AccessibilityWindowAttributes;)V
+PLcom/android/server/accessibility/AccessibilityWindowManager$DisplayWindowsObserver;->updateWindowsByWindowAttributesLocked(Ljava/util/List;)V
+HPLcom/android/server/accessibility/AccessibilityWindowManager$DisplayWindowsObserver;->updateWindowsLocked(ILjava/util/List;)V
+PLcom/android/server/accessibility/AccessibilityWindowManager$DisplayWindowsObserver;->windowChangedNoLayer(Landroid/view/WindowInfo;Landroid/view/WindowInfo;)Z
+PLcom/android/server/accessibility/AccessibilityWindowManager$RemoteAccessibilityConnection;-><init>(Lcom/android/server/accessibility/AccessibilityWindowManager;ILandroid/view/accessibility/IAccessibilityInteractionConnection;Ljava/lang/String;II)V
+PLcom/android/server/accessibility/AccessibilityWindowManager$RemoteAccessibilityConnection;->getPackageName()Ljava/lang/String;
+PLcom/android/server/accessibility/AccessibilityWindowManager$RemoteAccessibilityConnection;->getRemote()Landroid/view/accessibility/IAccessibilityInteractionConnection;
+PLcom/android/server/accessibility/AccessibilityWindowManager$RemoteAccessibilityConnection;->getUid()I
+PLcom/android/server/accessibility/AccessibilityWindowManager$RemoteAccessibilityConnection;->linkToDeath()V
+PLcom/android/server/accessibility/AccessibilityWindowManager;->-$$Nest$fgetmAccessibilityEventSender(Lcom/android/server/accessibility/AccessibilityWindowManager;)Lcom/android/server/accessibility/AccessibilityWindowManager$AccessibilityEventSender;
+PLcom/android/server/accessibility/AccessibilityWindowManager;->-$$Nest$fgetmAccessibilityFocusedDisplayId(Lcom/android/server/accessibility/AccessibilityWindowManager;)I
+PLcom/android/server/accessibility/AccessibilityWindowManager;->-$$Nest$fgetmAccessibilityFocusedWindowId(Lcom/android/server/accessibility/AccessibilityWindowManager;)I
+PLcom/android/server/accessibility/AccessibilityWindowManager;->-$$Nest$fgetmAccessibilityUserManager(Lcom/android/server/accessibility/AccessibilityWindowManager;)Lcom/android/server/accessibility/AccessibilitySecurityPolicy$AccessibilityUserManager;
+PLcom/android/server/accessibility/AccessibilityWindowManager;->-$$Nest$fgetmActiveWindowId(Lcom/android/server/accessibility/AccessibilityWindowManager;)I
+PLcom/android/server/accessibility/AccessibilityWindowManager;->-$$Nest$fgetmLock(Lcom/android/server/accessibility/AccessibilityWindowManager;)Ljava/lang/Object;
+PLcom/android/server/accessibility/AccessibilityWindowManager;->-$$Nest$fgetmTopFocusedDisplayId(Lcom/android/server/accessibility/AccessibilityWindowManager;)I
+PLcom/android/server/accessibility/AccessibilityWindowManager;->-$$Nest$fgetmTopFocusedWindowToken(Lcom/android/server/accessibility/AccessibilityWindowManager;)Landroid/os/IBinder;
+PLcom/android/server/accessibility/AccessibilityWindowManager;->-$$Nest$fgetmTouchInteractionInProgress(Lcom/android/server/accessibility/AccessibilityWindowManager;)Z
+PLcom/android/server/accessibility/AccessibilityWindowManager;->-$$Nest$fgetmWindowAttributes(Lcom/android/server/accessibility/AccessibilityWindowManager;)Landroid/util/SparseArray;
+PLcom/android/server/accessibility/AccessibilityWindowManager;->-$$Nest$fgetmWindowManagerInternal(Lcom/android/server/accessibility/AccessibilityWindowManager;)Lcom/android/server/wm/WindowManagerInternal;
+PLcom/android/server/accessibility/AccessibilityWindowManager;->-$$Nest$fputmActiveWindowId(Lcom/android/server/accessibility/AccessibilityWindowManager;I)V
+PLcom/android/server/accessibility/AccessibilityWindowManager;->-$$Nest$fputmLastNonProxyTopFocusedDisplayId(Lcom/android/server/accessibility/AccessibilityWindowManager;I)V
+PLcom/android/server/accessibility/AccessibilityWindowManager;->-$$Nest$fputmTopFocusedDisplayId(Lcom/android/server/accessibility/AccessibilityWindowManager;I)V
+PLcom/android/server/accessibility/AccessibilityWindowManager;->-$$Nest$fputmTopFocusedWindowId(Lcom/android/server/accessibility/AccessibilityWindowManager;I)V
+PLcom/android/server/accessibility/AccessibilityWindowManager;->-$$Nest$fputmTopFocusedWindowToken(Lcom/android/server/accessibility/AccessibilityWindowManager;Landroid/os/IBinder;)V
+PLcom/android/server/accessibility/AccessibilityWindowManager;->-$$Nest$misProxyed(Lcom/android/server/accessibility/AccessibilityWindowManager;I)Z
+PLcom/android/server/accessibility/AccessibilityWindowManager;->-$$Nest$mtraceWMEnabled(Lcom/android/server/accessibility/AccessibilityWindowManager;)Z
+PLcom/android/server/accessibility/AccessibilityWindowManager;-><init>(Ljava/lang/Object;Landroid/os/Handler;Lcom/android/server/wm/WindowManagerInternal;Lcom/android/server/accessibility/AccessibilityWindowManager$AccessibilityEventSender;Lcom/android/server/accessibility/AccessibilitySecurityPolicy;Lcom/android/server/accessibility/AccessibilitySecurityPolicy$AccessibilityUserManager;Lcom/android/server/accessibility/AccessibilityTraceManager;)V
+HPLcom/android/server/accessibility/AccessibilityWindowManager;->addAccessibilityInteractionConnection(Landroid/view/IWindow;Landroid/os/IBinder;Landroid/view/accessibility/IAccessibilityInteractionConnection;Ljava/lang/String;I)I
+PLcom/android/server/accessibility/AccessibilityWindowManager;->computePartialInteractiveRegionForWindowLocked(ILandroid/graphics/Region;)Z
+PLcom/android/server/accessibility/AccessibilityWindowManager;->findA11yWindowInfoByIdLocked(I)Landroid/view/accessibility/AccessibilityWindowInfo;
+PLcom/android/server/accessibility/AccessibilityWindowManager;->findFocusedWindowId(I)I
+PLcom/android/server/accessibility/AccessibilityWindowManager;->findWindowIdLocked(ILandroid/os/IBinder;)I
+PLcom/android/server/accessibility/AccessibilityWindowManager;->findWindowInfoByIdLocked(I)Landroid/view/WindowInfo;
+PLcom/android/server/accessibility/AccessibilityWindowManager;->getActiveWindowId(I)I
+PLcom/android/server/accessibility/AccessibilityWindowManager;->getConnectionLocked(II)Lcom/android/server/accessibility/AccessibilityWindowManager$RemoteAccessibilityConnection;
+PLcom/android/server/accessibility/AccessibilityWindowManager;->getDisplayIdByUserIdAndWindowIdLocked(II)I
+PLcom/android/server/accessibility/AccessibilityWindowManager;->getDisplayListLocked(I)Ljava/util/ArrayList;
+HPLcom/android/server/accessibility/AccessibilityWindowManager;->getDisplayWindowObserverByWindowIdLocked(I)Lcom/android/server/accessibility/AccessibilityWindowManager$DisplayWindowsObserver;
+HPLcom/android/server/accessibility/AccessibilityWindowManager;->getHostTokenLocked(Landroid/os/IBinder;)Landroid/os/IBinder;
+PLcom/android/server/accessibility/AccessibilityWindowManager;->getInteractionConnectionsForUserLocked(I)Landroid/util/SparseArray;
+HPLcom/android/server/accessibility/AccessibilityWindowManager;->getLeashTokenLocked(I)Landroid/os/IBinder;
+PLcom/android/server/accessibility/AccessibilityWindowManager;->getPictureInPictureActionReplacingConnection()Lcom/android/server/accessibility/AccessibilityWindowManager$RemoteAccessibilityConnection;
+HPLcom/android/server/accessibility/AccessibilityWindowManager;->getWindowIdLocked(Landroid/os/IBinder;)I
+PLcom/android/server/accessibility/AccessibilityWindowManager;->getWindowListLocked(I)Ljava/util/List;
+PLcom/android/server/accessibility/AccessibilityWindowManager;->getWindowTokenForUserAndWindowIdLocked(II)Landroid/os/IBinder;
+PLcom/android/server/accessibility/AccessibilityWindowManager;->getWindowTokensForUserLocked(I)Landroid/util/SparseArray;
+PLcom/android/server/accessibility/AccessibilityWindowManager;->isEmbeddedHierarchyWindowsLocked(I)Z
+PLcom/android/server/accessibility/AccessibilityWindowManager;->isProxyed(I)Z
+PLcom/android/server/accessibility/AccessibilityWindowManager;->isTrackingWindowsLocked()Z
+PLcom/android/server/accessibility/AccessibilityWindowManager;->isTrackingWindowsLocked(I)Z
+PLcom/android/server/accessibility/AccessibilityWindowManager;->isValidUserForInteractionConnectionsLocked(I)Z
+PLcom/android/server/accessibility/AccessibilityWindowManager;->isValidUserForWindowTokensLocked(I)Z
+PLcom/android/server/accessibility/AccessibilityWindowManager;->registerIdLocked(Landroid/os/IBinder;I)V
+PLcom/android/server/accessibility/AccessibilityWindowManager;->resetHasProxyIfNeededLocked()V
+PLcom/android/server/accessibility/AccessibilityWindowManager;->resolveParentWindowIdLocked(I)I
+PLcom/android/server/accessibility/AccessibilityWindowManager;->resolveTopParentTokenLocked(Landroid/os/IBinder;)Landroid/os/IBinder;
+PLcom/android/server/accessibility/AccessibilityWindowManager;->setAccessibilityWindowAttributes(IIILandroid/view/accessibility/AccessibilityWindowAttributes;)V
+PLcom/android/server/accessibility/AccessibilityWindowManager;->startTrackingWindows(IZ)V
+PLcom/android/server/accessibility/AccessibilityWindowManager;->stopTrackingWindows(I)V
+PLcom/android/server/accessibility/AccessibilityWindowManager;->traceWMEnabled()Z
+PLcom/android/server/accessibility/AccessibilityWindowManager;->updateActiveAndAccessibilityFocusedWindowLocked(IIJII)V
+PLcom/android/server/accessibility/AccessibilityWindowManager;->windowIdBelongsToDisplayType(II)Z
+PLcom/android/server/accessibility/CaptioningManagerImpl;-><init>(Landroid/content/Context;)V
+PLcom/android/server/accessibility/FeatureFlagsImpl;-><clinit>()V
+PLcom/android/server/accessibility/FeatureFlagsImpl;-><init>()V
+PLcom/android/server/accessibility/FeatureFlagsImpl;->addWindowTokenWithoutLock()Z
+PLcom/android/server/accessibility/FeatureFlagsImpl;->deprecatePackageListObserver()Z
+PLcom/android/server/accessibility/FeatureFlagsImpl;->disableContinuousShortcutOnForceStop()Z
+PLcom/android/server/accessibility/FeatureFlagsImpl;->enableMagnificationMultipleFingerMultipleTapGesture()Z
+PLcom/android/server/accessibility/FeatureFlagsImpl;->load_overrides_accessibility()V
+PLcom/android/server/accessibility/FeatureFlagsImpl;->scanPackagesWithoutLock()Z
+PLcom/android/server/accessibility/Flags;-><clinit>()V
+PLcom/android/server/accessibility/Flags;->addWindowTokenWithoutLock()Z
+PLcom/android/server/accessibility/Flags;->deprecatePackageListObserver()Z
+PLcom/android/server/accessibility/Flags;->disableContinuousShortcutOnForceStop()Z
+PLcom/android/server/accessibility/Flags;->enableMagnificationMultipleFingerMultipleTapGesture()Z
+PLcom/android/server/accessibility/Flags;->scanPackagesWithoutLock()Z
+PLcom/android/server/accessibility/FlashNotificationsController$1;-><init>(Lcom/android/server/accessibility/FlashNotificationsController;)V
+PLcom/android/server/accessibility/FlashNotificationsController$2;-><init>(Lcom/android/server/accessibility/FlashNotificationsController;)V
+PLcom/android/server/accessibility/FlashNotificationsController$3;-><init>(Lcom/android/server/accessibility/FlashNotificationsController;)V
+PLcom/android/server/accessibility/FlashNotificationsController$4;-><init>(Lcom/android/server/accessibility/FlashNotificationsController;)V
+PLcom/android/server/accessibility/FlashNotificationsController$4;->onDisplayChanged(I)V
+PLcom/android/server/accessibility/FlashNotificationsController$FlashBroadcastReceiver;-><init>(Lcom/android/server/accessibility/FlashNotificationsController;)V
+PLcom/android/server/accessibility/FlashNotificationsController$FlashBroadcastReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/accessibility/FlashNotificationsController$FlashContentObserver;-><init>(Lcom/android/server/accessibility/FlashNotificationsController;Landroid/os/Handler;)V
+PLcom/android/server/accessibility/FlashNotificationsController$FlashContentObserver;->register(Landroid/content/ContentResolver;)V
+PLcom/android/server/accessibility/FlashNotificationsController;->-$$Nest$fgetmAudioPlaybackCallback(Lcom/android/server/accessibility/FlashNotificationsController;)Landroid/media/AudioManager$AudioPlaybackCallback;
+PLcom/android/server/accessibility/FlashNotificationsController;->-$$Nest$fgetmCallbackHandler(Lcom/android/server/accessibility/FlashNotificationsController;)Landroid/os/Handler;
+PLcom/android/server/accessibility/FlashNotificationsController;->-$$Nest$fgetmCameraManager(Lcom/android/server/accessibility/FlashNotificationsController;)Landroid/hardware/camera2/CameraManager;
+PLcom/android/server/accessibility/FlashNotificationsController;->-$$Nest$fgetmContext(Lcom/android/server/accessibility/FlashNotificationsController;)Landroid/content/Context;
+PLcom/android/server/accessibility/FlashNotificationsController;->-$$Nest$fgetmDisplayManager(Lcom/android/server/accessibility/FlashNotificationsController;)Landroid/hardware/display/DisplayManager;
+PLcom/android/server/accessibility/FlashNotificationsController;->-$$Nest$fgetmIsCameraFlashNotificationEnabled(Lcom/android/server/accessibility/FlashNotificationsController;)Z
+PLcom/android/server/accessibility/FlashNotificationsController;->-$$Nest$fputmCameraManager(Lcom/android/server/accessibility/FlashNotificationsController;Landroid/hardware/camera2/CameraManager;)V
+PLcom/android/server/accessibility/FlashNotificationsController;->-$$Nest$fputmDisplayState(Lcom/android/server/accessibility/FlashNotificationsController;I)V
+PLcom/android/server/accessibility/FlashNotificationsController;->-$$Nest$fputmIsCameraFlashNotificationEnabled(Lcom/android/server/accessibility/FlashNotificationsController;Z)V
+PLcom/android/server/accessibility/FlashNotificationsController;-><init>(Landroid/content/Context;)V
+PLcom/android/server/accessibility/FlashNotificationsController;-><init>(Landroid/content/Context;Landroid/os/Handler;Landroid/os/Handler;)V
+PLcom/android/server/accessibility/FlashNotificationsController;->getStartedHandler(Ljava/lang/String;)Landroid/os/Handler;
+PLcom/android/server/accessibility/PolicyWarningUIController$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/accessibility/PolicyWarningUIController;)V
+PLcom/android/server/accessibility/PolicyWarningUIController$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
+PLcom/android/server/accessibility/PolicyWarningUIController$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/accessibility/PolicyWarningUIController;)V
+PLcom/android/server/accessibility/PolicyWarningUIController$$ExternalSyntheticLambda4;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/accessibility/PolicyWarningUIController$NotificationController$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/accessibility/PolicyWarningUIController$NotificationController;)V
+PLcom/android/server/accessibility/PolicyWarningUIController$NotificationController;-><init>(Landroid/content/Context;)V
+PLcom/android/server/accessibility/PolicyWarningUIController$NotificationController;->cancelSentNotifications()V
+PLcom/android/server/accessibility/PolicyWarningUIController$NotificationController;->onSwitchUser(I)V
+PLcom/android/server/accessibility/PolicyWarningUIController$NotificationController;->readNotifiedServiceList(I)Landroid/util/ArraySet;
+PLcom/android/server/accessibility/PolicyWarningUIController$NotificationController;->setSendingNotification(Z)V
+PLcom/android/server/accessibility/PolicyWarningUIController;->$r8$lambda$FLmotYt3XsdyYeosV5FvzhGVtLY(Lcom/android/server/accessibility/PolicyWarningUIController;Z)V
+PLcom/android/server/accessibility/PolicyWarningUIController;->$r8$lambda$Gr6qzlAd0Ku36cCnv-sLqB_nbeM(Lcom/android/server/accessibility/PolicyWarningUIController;ILjava/util/Set;)V
+PLcom/android/server/accessibility/PolicyWarningUIController;-><clinit>()V
+PLcom/android/server/accessibility/PolicyWarningUIController;-><init>(Landroid/os/Handler;Landroid/content/Context;Lcom/android/server/accessibility/PolicyWarningUIController$NotificationController;)V
+PLcom/android/server/accessibility/PolicyWarningUIController;->enableSendingNonA11yToolNotification(Z)V
+PLcom/android/server/accessibility/PolicyWarningUIController;->enableSendingNonA11yToolNotificationInternal(Z)V
+PLcom/android/server/accessibility/PolicyWarningUIController;->onSwitchUser(ILjava/util/Set;)V
+PLcom/android/server/accessibility/PolicyWarningUIController;->onSwitchUserInternal(ILjava/util/Set;)V
+PLcom/android/server/accessibility/ProxyManager;-><clinit>()V
+PLcom/android/server/accessibility/ProxyManager;-><init>(Ljava/lang/Object;Lcom/android/server/accessibility/AccessibilityWindowManager;Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/accessibility/UiAutomationManager;Lcom/android/server/accessibility/ProxyManager$SystemSupport;)V
+PLcom/android/server/accessibility/ProxyManager;->canRetrieveInteractiveWindowsLocked()Z
+HPLcom/android/server/accessibility/ProxyManager;->getFirstDeviceIdForUidLocked(I)I
+HPLcom/android/server/accessibility/ProxyManager;->getLocalVdm()Lcom/android/server/companion/virtual/VirtualDeviceManagerInternal;
+PLcom/android/server/accessibility/ProxyManager;->isProxyedDeviceId(I)Z
+PLcom/android/server/accessibility/ProxyManager;->isProxyedDisplay(I)Z
+PLcom/android/server/accessibility/ProxyManager;->updateTimeoutsIfNeeded(II)V
+PLcom/android/server/accessibility/SystemActionPerformer;-><init>(Landroid/content/Context;Lcom/android/server/wm/WindowManagerInternal;Ljava/util/function/Supplier;Lcom/android/server/accessibility/SystemActionPerformer$SystemActionsChangedListener;Lcom/android/server/accessibility/SystemActionPerformer$DisplayUpdateCallBack;)V
+PLcom/android/server/accessibility/UiAutomationManager$1;-><init>(Lcom/android/server/accessibility/UiAutomationManager;)V
+PLcom/android/server/accessibility/UiAutomationManager$UiAutomationService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/accessibility/UiAutomationManager$UiAutomationService;)V
+PLcom/android/server/accessibility/UiAutomationManager$UiAutomationService$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/accessibility/UiAutomationManager$UiAutomationService;->$r8$lambda$EBbVjiQaLueOGoICPHv_0YkCzl4(Lcom/android/server/accessibility/UiAutomationManager$UiAutomationService;)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;Landroid/accessibilityservice/AccessibilityTrace;Lcom/android/server/wm/WindowManagerInternal;Lcom/android/server/accessibility/SystemActionPerformer;Lcom/android/server/accessibility/AccessibilityWindowManager;)V
+PLcom/android/server/accessibility/UiAutomationManager$UiAutomationService;->connectServiceUnknownThread()V
+PLcom/android/server/accessibility/UiAutomationManager$UiAutomationService;->hasRightsToCurrentUserLocked()Z
+PLcom/android/server/accessibility/UiAutomationManager$UiAutomationService;->lambda$connectServiceUnknownThread$0()V
+PLcom/android/server/accessibility/UiAutomationManager$UiAutomationService;->supportsFlagForNotImportantViews(Landroid/accessibilityservice/AccessibilityServiceInfo;)Z
+PLcom/android/server/accessibility/UiAutomationManager;->-$$Nest$fgetmUiAutomationService(Lcom/android/server/accessibility/UiAutomationManager;)Lcom/android/server/accessibility/UiAutomationManager$UiAutomationService;
+PLcom/android/server/accessibility/UiAutomationManager;->-$$Nest$sfgetCOMPONENT_NAME()Landroid/content/ComponentName;
+PLcom/android/server/accessibility/UiAutomationManager;-><clinit>()V
+PLcom/android/server/accessibility/UiAutomationManager;-><init>(Ljava/lang/Object;)V
+PLcom/android/server/accessibility/UiAutomationManager;->canIntrospect()Z
+PLcom/android/server/accessibility/UiAutomationManager;->canRetrieveInteractiveWindowsLocked()Z
+PLcom/android/server/accessibility/UiAutomationManager;->getRelevantEventTypes()I
+PLcom/android/server/accessibility/UiAutomationManager;->getServiceInfo()Landroid/accessibilityservice/AccessibilityServiceInfo;
+PLcom/android/server/accessibility/UiAutomationManager;->isTouchExplorationEnabledLocked()Z
+PLcom/android/server/accessibility/UiAutomationManager;->registerUiTestAutomationServiceLocked(Landroid/os/IBinder;Landroid/accessibilityservice/IAccessibilityServiceClient;Landroid/content/Context;Landroid/accessibilityservice/AccessibilityServiceInfo;ILandroid/os/Handler;Lcom/android/server/accessibility/AccessibilitySecurityPolicy;Lcom/android/server/accessibility/AbstractAccessibilityServiceConnection$SystemSupport;Landroid/accessibilityservice/AccessibilityTrace;Lcom/android/server/wm/WindowManagerInternal;Lcom/android/server/accessibility/SystemActionPerformer;Lcom/android/server/accessibility/AccessibilityWindowManager;I)V
+PLcom/android/server/accessibility/UiAutomationManager;->sendAccessibilityEventLocked(Landroid/view/accessibility/AccessibilityEvent;)V
+PLcom/android/server/accessibility/UiAutomationManager;->suppressingAccessibilityServicesLocked()Z
+PLcom/android/server/accessibility/UiAutomationManager;->useAccessibility()Z
+PLcom/android/server/accessibility/magnification/AlwaysOnMagnificationFeatureFlag;-><init>(Landroid/content/Context;)V
+PLcom/android/server/accessibility/magnification/AlwaysOnMagnificationFeatureFlag;->addOnChangedListener(Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)Landroid/provider/DeviceConfig$OnPropertiesChangedListener;
+PLcom/android/server/accessibility/magnification/AlwaysOnMagnificationFeatureFlag;->getDefaultValue()Z
+PLcom/android/server/accessibility/magnification/AlwaysOnMagnificationFeatureFlag;->getFeatureName()Ljava/lang/String;
+PLcom/android/server/accessibility/magnification/AlwaysOnMagnificationFeatureFlag;->getNamespace()Ljava/lang/String;
+PLcom/android/server/accessibility/magnification/AlwaysOnMagnificationFeatureFlag;->isFeatureFlagEnabled()Z
+PLcom/android/server/accessibility/magnification/MagnificationConnectionManager$1;-><init>(Lcom/android/server/accessibility/magnification/MagnificationConnectionManager;)V
+PLcom/android/server/accessibility/magnification/MagnificationConnectionManager;-><init>(Landroid/content/Context;Ljava/lang/Object;Lcom/android/server/accessibility/magnification/MagnificationConnectionManager$Callback;Lcom/android/server/accessibility/AccessibilityTraceManager;Lcom/android/server/accessibility/magnification/MagnificationScaleProvider;)V
+PLcom/android/server/accessibility/magnification/MagnificationConnectionManager;->isWindowMagnifierEnabled(I)Z
+PLcom/android/server/accessibility/magnification/MagnificationConnectionManager;->removeMagnificationButton(I)Z
+PLcom/android/server/accessibility/magnification/MagnificationController$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;)V
+PLcom/android/server/accessibility/magnification/MagnificationController;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;Ljava/lang/Object;Landroid/content/Context;Lcom/android/server/accessibility/magnification/MagnificationScaleProvider;Ljava/util/concurrent/Executor;)V
+PLcom/android/server/accessibility/magnification/MagnificationController;->getCurrentMagnificationCenterLocked(II)Landroid/graphics/PointF;
+PLcom/android/server/accessibility/magnification/MagnificationController;->getDisableMagnificationEndRunnableLocked(I)Lcom/android/server/accessibility/magnification/MagnificationController$DisableMagnificationCallback;
+PLcom/android/server/accessibility/magnification/MagnificationController;->getMagnificationConnectionManager()Lcom/android/server/accessibility/magnification/MagnificationConnectionManager;
+PLcom/android/server/accessibility/magnification/MagnificationController;->isActivated(II)Z
+PLcom/android/server/accessibility/magnification/MagnificationController;->isAlwaysOnMagnificationFeatureFlagEnabled()Z
+PLcom/android/server/accessibility/magnification/MagnificationController;->isFullScreenMagnificationControllerInitialized()Z
+PLcom/android/server/accessibility/magnification/MagnificationController;->onRectangleOnScreenRequested(IIIII)V
+PLcom/android/server/accessibility/magnification/MagnificationController;->setMagnificationCapabilities(I)V
+PLcom/android/server/accessibility/magnification/MagnificationController;->supportWindowMagnification()Z
+PLcom/android/server/accessibility/magnification/MagnificationController;->transitionMagnificationModeLocked(IILcom/android/server/accessibility/magnification/MagnificationController$TransitionCallBack;)V
+PLcom/android/server/accessibility/magnification/MagnificationController;->updateUserIdIfNeeded(I)V
+PLcom/android/server/accessibility/magnification/MagnificationFeatureFlagBase$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/accessibility/magnification/MagnificationFeatureFlagBase;Ljava/lang/Runnable;)V
+PLcom/android/server/accessibility/magnification/MagnificationFeatureFlagBase$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/accessibility/magnification/MagnificationFeatureFlagBase;Ljava/util/concurrent/Executor;Landroid/provider/DeviceConfig$OnPropertiesChangedListener;)V
+PLcom/android/server/accessibility/magnification/MagnificationFeatureFlagBase$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/accessibility/magnification/MagnificationFeatureFlagBase$$ExternalSyntheticLambda2;-><init>()V
+PLcom/android/server/accessibility/magnification/MagnificationFeatureFlagBase$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/accessibility/magnification/MagnificationFeatureFlagBase;Ljava/util/concurrent/atomic/AtomicBoolean;)V
+PLcom/android/server/accessibility/magnification/MagnificationFeatureFlagBase$$ExternalSyntheticLambda3;->run()V
+PLcom/android/server/accessibility/magnification/MagnificationFeatureFlagBase$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/accessibility/magnification/MagnificationFeatureFlagBase;Ljava/util/concurrent/atomic/AtomicBoolean;)V
+PLcom/android/server/accessibility/magnification/MagnificationFeatureFlagBase$$ExternalSyntheticLambda7;-><init>(Ljava/lang/Runnable;)V
+PLcom/android/server/accessibility/magnification/MagnificationFeatureFlagBase$$ExternalSyntheticLambda7;->runOrThrow()V
+PLcom/android/server/accessibility/magnification/MagnificationFeatureFlagBase;->$r8$lambda$-Kf-nTTxGJWSQrXs1QThaOrkPek(Ljava/lang/Runnable;)V
+PLcom/android/server/accessibility/magnification/MagnificationFeatureFlagBase;->$r8$lambda$KXsRNBwfYHScpt3V4aI4KVvs4mk(Lcom/android/server/accessibility/magnification/MagnificationFeatureFlagBase;Ljava/util/concurrent/atomic/AtomicBoolean;)V
+PLcom/android/server/accessibility/magnification/MagnificationFeatureFlagBase;->$r8$lambda$axYtYuWd7ezeyobLYU1aL4M31Ak(Lcom/android/server/accessibility/magnification/MagnificationFeatureFlagBase;Ljava/util/concurrent/Executor;Landroid/provider/DeviceConfig$OnPropertiesChangedListener;)V
+PLcom/android/server/accessibility/magnification/MagnificationFeatureFlagBase;-><init>()V
+PLcom/android/server/accessibility/magnification/MagnificationFeatureFlagBase;->addOnChangedListener(Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)Landroid/provider/DeviceConfig$OnPropertiesChangedListener;
+PLcom/android/server/accessibility/magnification/MagnificationFeatureFlagBase;->clearCallingIdentifyAndTryCatch(Ljava/lang/Runnable;Ljava/lang/Runnable;)V
+PLcom/android/server/accessibility/magnification/MagnificationFeatureFlagBase;->isFeatureFlagEnabled()Z
+PLcom/android/server/accessibility/magnification/MagnificationFeatureFlagBase;->lambda$addOnChangedListener$6(Ljava/util/concurrent/Executor;Landroid/provider/DeviceConfig$OnPropertiesChangedListener;)V
+PLcom/android/server/accessibility/magnification/MagnificationFeatureFlagBase;->lambda$clearCallingIdentifyAndTryCatch$0(Ljava/lang/Runnable;)V
+PLcom/android/server/accessibility/magnification/MagnificationFeatureFlagBase;->lambda$isFeatureFlagEnabled$1(Ljava/util/concurrent/atomic/AtomicBoolean;)V
+PLcom/android/server/accessibility/magnification/MagnificationProcessor;-><init>(Lcom/android/server/accessibility/magnification/MagnificationController;)V
+PLcom/android/server/accessibility/magnification/MagnificationScaleProvider;-><init>(Landroid/content/Context;)V
+PLcom/android/server/accounts/AccountAuthenticatorCache$MySerializer;-><init>()V
+PLcom/android/server/accounts/AccountAuthenticatorCache$MySerializer;-><init>(Lcom/android/server/accounts/AccountAuthenticatorCache$MySerializer-IA;)V
+PLcom/android/server/accounts/AccountAuthenticatorCache$MySerializer;->createFromXml(Lcom/android/modules/utils/TypedXmlPullParser;)Landroid/accounts/AuthenticatorDescription;
+PLcom/android/server/accounts/AccountAuthenticatorCache$MySerializer;->createFromXml(Lcom/android/modules/utils/TypedXmlPullParser;)Ljava/lang/Object;
+PLcom/android/server/accounts/AccountAuthenticatorCache;-><clinit>()V
+PLcom/android/server/accounts/AccountAuthenticatorCache;-><init>(Landroid/content/Context;)V
+PLcom/android/server/accounts/AccountAuthenticatorCache;->getServiceInfo(Landroid/accounts/AuthenticatorDescription;I)Landroid/content/pm/RegisteredServicesCache$ServiceInfo;
+HPLcom/android/server/accounts/AccountAuthenticatorCache;->parseServiceAttributes(Landroid/content/res/Resources;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/accounts/AuthenticatorDescription;
+PLcom/android/server/accounts/AccountAuthenticatorCache;->parseServiceAttributes(Landroid/content/res/Resources;Ljava/lang/String;Landroid/util/AttributeSet;)Ljava/lang/Object;
+PLcom/android/server/accounts/AccountManagerService$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/accounts/AccountManagerService;)V
+PLcom/android/server/accounts/AccountManagerService$1;-><init>(Lcom/android/server/accounts/AccountManagerService;)V
+PLcom/android/server/accounts/AccountManagerService$2;-><init>(Lcom/android/server/accounts/AccountManagerService;)V
+PLcom/android/server/accounts/AccountManagerService$3;-><init>(Lcom/android/server/accounts/AccountManagerService;)V
+PLcom/android/server/accounts/AccountManagerService$4;-><init>(Lcom/android/server/accounts/AccountManagerService;)V
+PLcom/android/server/accounts/AccountManagerService$AccountManagerInternalImpl;-><init>(Lcom/android/server/accounts/AccountManagerService;)V
+PLcom/android/server/accounts/AccountManagerService$AccountManagerInternalImpl;-><init>(Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService$AccountManagerInternalImpl-IA;)V
+PLcom/android/server/accounts/AccountManagerService$AccountManagerInternalImpl;->addOnAppPermissionChangeListener(Landroid/accounts/AccountManagerInternal$OnAppPermissionChangeListener;)V
+PLcom/android/server/accounts/AccountManagerService$GetAccountsByTypeAndFeatureSession;-><init>(Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;[Ljava/lang/String;ILjava/lang/String;Z)V
+PLcom/android/server/accounts/AccountManagerService$GetAccountsByTypeAndFeatureSession;->checkAccount()V
+HPLcom/android/server/accounts/AccountManagerService$GetAccountsByTypeAndFeatureSession;->run()V
+HPLcom/android/server/accounts/AccountManagerService$GetAccountsByTypeAndFeatureSession;->sendResult()V
+PLcom/android/server/accounts/AccountManagerService$Injector;-><init>(Landroid/content/Context;)V
+PLcom/android/server/accounts/AccountManagerService$Injector;->addLocalService(Landroid/accounts/AccountManagerInternal;)V
+PLcom/android/server/accounts/AccountManagerService$Injector;->getAccountAuthenticatorCache()Lcom/android/server/accounts/IAccountAuthenticatorCache;
+PLcom/android/server/accounts/AccountManagerService$Injector;->getCeDatabaseName(I)Ljava/lang/String;
+PLcom/android/server/accounts/AccountManagerService$Injector;->getContext()Landroid/content/Context;
+PLcom/android/server/accounts/AccountManagerService$Injector;->getDeDatabaseName(I)Ljava/lang/String;
+PLcom/android/server/accounts/AccountManagerService$Injector;->getMessageHandlerLooper()Landroid/os/Looper;
+PLcom/android/server/accounts/AccountManagerService$Injector;->getPreNDatabaseName(I)Ljava/lang/String;
+PLcom/android/server/accounts/AccountManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/accounts/AccountManagerService$Lifecycle;->onStart()V
+PLcom/android/server/accounts/AccountManagerService$Lifecycle;->onUserUnlocking(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/accounts/AccountManagerService$MessageHandler;-><init>(Lcom/android/server/accounts/AccountManagerService;Landroid/os/Looper;)V
+PLcom/android/server/accounts/AccountManagerService$Session;-><init>(Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;ZZLjava/lang/String;Z)V
+HPLcom/android/server/accounts/AccountManagerService$Session;-><init>(Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;ZZLjava/lang/String;ZZ)V
+PLcom/android/server/accounts/AccountManagerService$Session;->bind()V
+HPLcom/android/server/accounts/AccountManagerService$Session;->bindToAuthenticator(Ljava/lang/String;)Z
+PLcom/android/server/accounts/AccountManagerService$Session;->cancelTimeout()V
+HPLcom/android/server/accounts/AccountManagerService$Session;->close()V
+PLcom/android/server/accounts/AccountManagerService$Session;->getResponseAndClose()Landroid/accounts/IAccountManagerResponse;
+PLcom/android/server/accounts/AccountManagerService$Session;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/accounts/AccountManagerService$Session;->scheduleTimeout()V
+PLcom/android/server/accounts/AccountManagerService$Session;->unbind()V
+PLcom/android/server/accounts/AccountManagerService$UserAccounts;->-$$Nest$fgetmReceiversForType(Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Ljava/util/Map;
+PLcom/android/server/accounts/AccountManagerService$UserAccounts;->-$$Nest$fgetuserId(Lcom/android/server/accounts/AccountManagerService$UserAccounts;)I
+PLcom/android/server/accounts/AccountManagerService$UserAccounts;->-$$Nest$fgetvisibilityCache(Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Ljava/util/Map;
+PLcom/android/server/accounts/AccountManagerService$UserAccounts;-><init>(Landroid/content/Context;ILjava/io/File;Ljava/io/File;)V
+PLcom/android/server/accounts/AccountManagerService;->-$$Nest$fgetmAppPermissionChangeListeners(Lcom/android/server/accounts/AccountManagerService;)Ljava/util/concurrent/CopyOnWriteArrayList;
+PLcom/android/server/accounts/AccountManagerService;->-$$Nest$fgetmAuthenticatorCache(Lcom/android/server/accounts/AccountManagerService;)Lcom/android/server/accounts/IAccountAuthenticatorCache;
+PLcom/android/server/accounts/AccountManagerService;->-$$Nest$fgetmSessions(Lcom/android/server/accounts/AccountManagerService;)Ljava/util/LinkedHashMap;
+PLcom/android/server/accounts/AccountManagerService;->-$$Nest$misLocalUnlockedUser(Lcom/android/server/accounts/AccountManagerService;I)Z
+PLcom/android/server/accounts/AccountManagerService;-><clinit>()V
+HPLcom/android/server/accounts/AccountManagerService;-><init>(Lcom/android/server/accounts/AccountManagerService$Injector;)V
+PLcom/android/server/accounts/AccountManagerService;->getAccounts(ILjava/lang/String;)[Landroid/accounts/Account;
+HPLcom/android/server/accounts/AccountManagerService;->getAccountsAsUser(Ljava/lang/String;ILjava/lang/String;)[Landroid/accounts/Account;
+HPLcom/android/server/accounts/AccountManagerService;->getAccountsAsUserForPackage(Ljava/lang/String;ILjava/lang/String;ILjava/lang/String;Z)[Landroid/accounts/Account;
+HPLcom/android/server/accounts/AccountManagerService;->getAccountsByFeatures(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/accounts/AccountManagerService;->getAccountsByTypeForPackage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[Landroid/accounts/Account;
+PLcom/android/server/accounts/AccountManagerService;->getAccountsForSystem([I)[Landroid/accounts/AccountAndUser;
+HPLcom/android/server/accounts/AccountManagerService;->getAccountsFromCache(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Ljava/lang/String;ILjava/lang/String;Z)[Landroid/accounts/Account;
+HPLcom/android/server/accounts/AccountManagerService;->getAccountsInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;ILjava/lang/String;Ljava/util/List;Z)[Landroid/accounts/Account;
+PLcom/android/server/accounts/AccountManagerService;->getAllAccountsForSystemProcess()[Landroid/accounts/AccountAndUser;
+PLcom/android/server/accounts/AccountManagerService;->getAuthenticatorTypeAndUIDForUser(Lcom/android/server/accounts/IAccountAuthenticatorCache;I)Ljava/util/HashMap;
+PLcom/android/server/accounts/AccountManagerService;->getRunningAccountsForSystem()[Landroid/accounts/AccountAndUser;
+PLcom/android/server/accounts/AccountManagerService;->getSingleton()Lcom/android/server/accounts/AccountManagerService;
+HPLcom/android/server/accounts/AccountManagerService;->getTypesForCaller(IIZ)Ljava/util/List;
+HPLcom/android/server/accounts/AccountManagerService;->getTypesManagedByCaller(II)Ljava/util/List;
+HPLcom/android/server/accounts/AccountManagerService;->getTypesVisibleToCaller(IILjava/lang/String;)Ljava/util/List;
+HPLcom/android/server/accounts/AccountManagerService;->getUserAccounts(I)Lcom/android/server/accounts/AccountManagerService$UserAccounts;
+HPLcom/android/server/accounts/AccountManagerService;->getUserAccountsNotChecked(I)Lcom/android/server/accounts/AccountManagerService$UserAccounts;
+PLcom/android/server/accounts/AccountManagerService;->getUserManager()Landroid/os/UserManager;
+PLcom/android/server/accounts/AccountManagerService;->isAccountManagedByCaller(Ljava/lang/String;II)Z
+PLcom/android/server/accounts/AccountManagerService;->isLocalUnlockedUser(I)Z
+HPLcom/android/server/accounts/AccountManagerService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLcom/android/server/accounts/AccountManagerService;->onUnlockUser(I)V
+PLcom/android/server/accounts/AccountManagerService;->purgeOldGrants(Lcom/android/server/accounts/AccountManagerService$UserAccounts;)V
+HPLcom/android/server/accounts/AccountManagerService;->registerAccountListener([Ljava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/accounts/AccountManagerService;->registerAccountListener([Ljava/lang/String;Ljava/lang/String;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)V
+PLcom/android/server/accounts/AccountManagerService;->syncDeCeAccountsLocked(Lcom/android/server/accounts/AccountManagerService$UserAccounts;)V
+PLcom/android/server/accounts/AccountManagerService;->unregisterAccountListener([Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/accounts/AccountManagerService;->unregisterAccountListener([Ljava/lang/String;Ljava/lang/String;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)V
+PLcom/android/server/accounts/AccountManagerService;->validateAccounts(I)V
+HPLcom/android/server/accounts/AccountManagerService;->validateAccountsInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Z)V
+PLcom/android/server/accounts/AccountsDb$CeDatabaseHelper;-><init>(Landroid/content/Context;Ljava/lang/String;)V
+PLcom/android/server/accounts/AccountsDb$CeDatabaseHelper;->create(Landroid/content/Context;Ljava/io/File;Ljava/io/File;)Lcom/android/server/accounts/AccountsDb$CeDatabaseHelper;
+PLcom/android/server/accounts/AccountsDb$CeDatabaseHelper;->onOpen(Landroid/database/sqlite/SQLiteDatabase;)V
+HPLcom/android/server/accounts/AccountsDb$DeDatabaseHelper;->-$$Nest$fgetmCeAttached(Lcom/android/server/accounts/AccountsDb$DeDatabaseHelper;)Z
+PLcom/android/server/accounts/AccountsDb$DeDatabaseHelper;->-$$Nest$fputmCeAttached(Lcom/android/server/accounts/AccountsDb$DeDatabaseHelper;Z)V
+PLcom/android/server/accounts/AccountsDb$DeDatabaseHelper;-><init>(Landroid/content/Context;ILjava/lang/String;)V
+PLcom/android/server/accounts/AccountsDb$DeDatabaseHelper;-><init>(Landroid/content/Context;ILjava/lang/String;Lcom/android/server/accounts/AccountsDb$DeDatabaseHelper-IA;)V
+PLcom/android/server/accounts/AccountsDb$DeDatabaseHelper;->getReadableDatabaseUserIsUnlocked()Landroid/database/sqlite/SQLiteDatabase;
+PLcom/android/server/accounts/AccountsDb$DeDatabaseHelper;->onOpen(Landroid/database/sqlite/SQLiteDatabase;)V
+PLcom/android/server/accounts/AccountsDb;-><clinit>()V
+PLcom/android/server/accounts/AccountsDb;-><init>(Lcom/android/server/accounts/AccountsDb$DeDatabaseHelper;Landroid/content/Context;Ljava/io/File;)V
+PLcom/android/server/accounts/AccountsDb;->attachCeDatabase(Ljava/io/File;)V
+PLcom/android/server/accounts/AccountsDb;->create(Landroid/content/Context;ILjava/io/File;Ljava/io/File;)Lcom/android/server/accounts/AccountsDb;
+PLcom/android/server/accounts/AccountsDb;->findAllDeAccounts()Ljava/util/Map;
+PLcom/android/server/accounts/AccountsDb;->findAllUidGrants()Ljava/util/List;
+PLcom/android/server/accounts/AccountsDb;->findAllVisibilityValues()Ljava/util/Map;
+PLcom/android/server/accounts/AccountsDb;->findCeAccountsNotInDe()Ljava/util/List;
+PLcom/android/server/accounts/AccountsDb;->findMetaAuthUid()Ljava/util/Map;
+HPLcom/android/server/accounts/AccountsDb;->isCeDatabaseAttached()Z
+PLcom/android/server/accounts/TokenCache$TokenLruCache;-><init>()V
+PLcom/android/server/accounts/TokenCache;-><init>()V
+PLcom/android/server/adb/AdbDebuggingManager$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/adb/AdbDebuggingManager$$ExternalSyntheticLambda0;->currentTimeMillis()J
+PLcom/android/server/adb/AdbDebuggingManager$AdbConnectionInfo;-><init>()V
+PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler$1;-><init>(Lcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler;)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;-><init>(Lcom/android/server/adb/AdbDebuggingManager;Landroid/os/Looper;Lcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;)V
+PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler;->cancelJobToUpdateAdbKeyStore()V
+PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler;->initKeyStore()V
+PLcom/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;->startAdbDebuggingThread()V
+PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;-><init>()V
+PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;->closeSocketLocked()V
+PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;->listenToSocket()V
+PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;->openSocketLocked()V
+PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;->run()V
+PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;->setHandler(Landroid/os/Handler;)V
+PLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;-><init>(Lcom/android/server/adb/AdbDebuggingManager;)V
+PLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->addExistingUserKeysToKeyStore()V
+PLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->deleteKeyStore()V
+PLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->filterOutOldKeys()Z
+PLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->getAllowedConnectionTime()J
+PLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->getLastConnectionTime(Ljava/lang/String;)J
+PLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->getNextExpirationTime()J
+PLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->getSystemKeysFromFile(Ljava/lang/String;)Ljava/util/Set;
+PLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->initKeyFile()V
+PLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->persistKeyStore()V
+PLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->readTempKeysFile()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
+PLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->updateKeyStore()V
+PLcom/android/server/adb/AdbDebuggingManager$PortListenerImpl;-><init>(Lcom/android/server/adb/AdbDebuggingManager;)V
+PLcom/android/server/adb/AdbDebuggingManager;->$r8$lambda$I3NlJTMol-2JFN3dPyCB7gKkrsk()J
+PLcom/android/server/adb/AdbDebuggingManager;->-$$Nest$fgetmAdbUsbEnabled(Lcom/android/server/adb/AdbDebuggingManager;)Z
+PLcom/android/server/adb/AdbDebuggingManager;->-$$Nest$fgetmAdbWifiEnabled(Lcom/android/server/adb/AdbDebuggingManager;)Z
+PLcom/android/server/adb/AdbDebuggingManager;->-$$Nest$fgetmConnectedKeys(Lcom/android/server/adb/AdbDebuggingManager;)Ljava/util/Map;
+PLcom/android/server/adb/AdbDebuggingManager;->-$$Nest$fgetmConnectionPortPoller(Lcom/android/server/adb/AdbDebuggingManager;)Lcom/android/server/adb/AdbDebuggingManager$AdbConnectionPortPoller;
+PLcom/android/server/adb/AdbDebuggingManager;->-$$Nest$fgetmContext(Lcom/android/server/adb/AdbDebuggingManager;)Landroid/content/Context;
+PLcom/android/server/adb/AdbDebuggingManager;->-$$Nest$fgetmTempKeysFile(Lcom/android/server/adb/AdbDebuggingManager;)Ljava/io/File;
+PLcom/android/server/adb/AdbDebuggingManager;->-$$Nest$fgetmThread(Lcom/android/server/adb/AdbDebuggingManager;)Lcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;
+PLcom/android/server/adb/AdbDebuggingManager;->-$$Nest$fgetmTicker(Lcom/android/server/adb/AdbDebuggingManager;)Lcom/android/server/adb/AdbDebuggingManager$Ticker;
+PLcom/android/server/adb/AdbDebuggingManager;->-$$Nest$fgetmUserKeyFile(Lcom/android/server/adb/AdbDebuggingManager;)Ljava/io/File;
+PLcom/android/server/adb/AdbDebuggingManager;->-$$Nest$fputmAdbUsbEnabled(Lcom/android/server/adb/AdbDebuggingManager;Z)V
+PLcom/android/server/adb/AdbDebuggingManager;->-$$Nest$fputmThread(Lcom/android/server/adb/AdbDebuggingManager;Lcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;)V
+PLcom/android/server/adb/AdbDebuggingManager;->-$$Nest$msendPersistKeyStoreMessage(Lcom/android/server/adb/AdbDebuggingManager;)V
+PLcom/android/server/adb/AdbDebuggingManager;->-$$Nest$sfgetTAG()Ljava/lang/String;
+PLcom/android/server/adb/AdbDebuggingManager;-><clinit>()V
+PLcom/android/server/adb/AdbDebuggingManager;-><init>(Landroid/content/Context;)V
+PLcom/android/server/adb/AdbDebuggingManager;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/io/File;Ljava/io/File;Lcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;Lcom/android/server/adb/AdbDebuggingManager$Ticker;)V
+PLcom/android/server/adb/AdbDebuggingManager;->getAdbFile(Ljava/lang/String;)Ljava/io/File;
+PLcom/android/server/adb/AdbDebuggingManager;->lambda$static$0()J
+PLcom/android/server/adb/AdbDebuggingManager;->sendPersistKeyStoreMessage()V
+PLcom/android/server/adb/AdbDebuggingManager;->setAdbEnabled(ZB)V
+PLcom/android/server/adb/AdbService$AdbConnectionPortListener;-><init>(Lcom/android/server/adb/AdbService;)V
+PLcom/android/server/adb/AdbService$AdbManagerInternalImpl;-><init>(Lcom/android/server/adb/AdbService;)V
+PLcom/android/server/adb/AdbService$AdbManagerInternalImpl;-><init>(Lcom/android/server/adb/AdbService;Lcom/android/server/adb/AdbService$AdbManagerInternalImpl-IA;)V
+PLcom/android/server/adb/AdbService$AdbManagerInternalImpl;->isAdbEnabled(B)Z
+PLcom/android/server/adb/AdbService$AdbManagerInternalImpl;->registerTransport(Landroid/debug/IAdbTransport;)V
+PLcom/android/server/adb/AdbService$AdbSettingsObserver;-><init>(Lcom/android/server/adb/AdbService;)V
+PLcom/android/server/adb/AdbService$Lifecycle$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/adb/AdbService$Lifecycle$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
+PLcom/android/server/adb/AdbService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/adb/AdbService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/adb/AdbService$Lifecycle;->onStart()V
+PLcom/android/server/adb/AdbService;->-$$Nest$fgetmIsAdbUsbEnabled(Lcom/android/server/adb/AdbService;)Z
+PLcom/android/server/adb/AdbService;->-$$Nest$fgetmTransports(Lcom/android/server/adb/AdbService;)Landroid/util/ArrayMap;
+PLcom/android/server/adb/AdbService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/adb/AdbService;-><init>(Landroid/content/Context;Lcom/android/server/adb/AdbService-IA;)V
+PLcom/android/server/adb/AdbService;->bootCompleted()V
+PLcom/android/server/adb/AdbService;->containsFunction(Ljava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/adb/AdbService;->registerContentObservers()V
+PLcom/android/server/adb/AdbService;->systemReady()V
+HPLcom/android/server/alarm/Alarm$Snapshot;-><init>(Lcom/android/server/alarm/Alarm;)V
+PLcom/android/server/alarm/Alarm;->-$$Nest$fgetmPolicyWhenElapsed(Lcom/android/server/alarm/Alarm;)[J
+HPLcom/android/server/alarm/Alarm;-><init>(IJJJJLandroid/app/PendingIntent;Landroid/app/IAlarmListener;Ljava/lang/String;Landroid/os/WorkSource;ILandroid/app/AlarmManager$AlarmClockInfo;ILjava/lang/String;Landroid/os/Bundle;I)V
+PLcom/android/server/alarm/Alarm;->getMaxWhenElapsed()J
+PLcom/android/server/alarm/Alarm;->getRequestedElapsed()J
+PLcom/android/server/alarm/Alarm;->getWhenElapsed()J
+HPLcom/android/server/alarm/Alarm;->makeTag(Landroid/app/PendingIntent;Ljava/lang/String;I)Ljava/lang/String;
+HPLcom/android/server/alarm/Alarm;->matches(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;)Z
+HPLcom/android/server/alarm/Alarm;->setPolicyElapsed(IJ)Z
+HPLcom/android/server/alarm/Alarm;->updateWhenElapsed()Z
+PLcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/alarm/AlarmManagerService;)V
+HPLcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda11;-><init>(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;)V
+HPLcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda11;->test(Ljava/lang/Object;)Z
+PLcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda14;-><init>(I)V
+PLcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda14;->test(Ljava/lang/Object;)Z
+HPLcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda15;-><init>(Lcom/android/server/alarm/AlarmManagerService;Landroid/util/ArraySet;)V
+HPLcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda15;->updateAlarmDelivery(Lcom/android/server/alarm/Alarm;)Z
+PLcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/alarm/AlarmManagerService;I)V
+PLcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda22;-><init>(Lcom/android/server/alarm/AlarmManagerService;)V
+PLcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda22;->updateAlarmDelivery(Lcom/android/server/alarm/Alarm;)Z
+PLcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/alarm/AlarmManagerService;)V
+PLcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/alarm/AlarmManagerService;)V
+PLcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda3;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+PLcom/android/server/alarm/AlarmManagerService$1;-><init>(Lcom/android/server/alarm/AlarmManagerService;)V
+PLcom/android/server/alarm/AlarmManagerService$2$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/alarm/AlarmManagerService$2;Landroid/app/IAlarmCompleteListener;)V
+PLcom/android/server/alarm/AlarmManagerService$2$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/alarm/AlarmManagerService$2;->$r8$lambda$FzGTY398wY7rsveJl5qWIzqCYlQ(Lcom/android/server/alarm/AlarmManagerService$2;Landroid/app/IAlarmCompleteListener;)V
+PLcom/android/server/alarm/AlarmManagerService$2;-><init>(Lcom/android/server/alarm/AlarmManagerService;)V
+HPLcom/android/server/alarm/AlarmManagerService$2;->doAlarm(Landroid/app/IAlarmCompleteListener;)V
+HPLcom/android/server/alarm/AlarmManagerService$2;->lambda$doAlarm$0(Landroid/app/IAlarmCompleteListener;)V
+PLcom/android/server/alarm/AlarmManagerService$3;-><init>(Lcom/android/server/alarm/AlarmManagerService;)V
+PLcom/android/server/alarm/AlarmManagerService$4;-><init>(Lcom/android/server/alarm/AlarmManagerService;)V
+PLcom/android/server/alarm/AlarmManagerService$4;->canScheduleExactAlarms(Ljava/lang/String;)Z
+PLcom/android/server/alarm/AlarmManagerService$4;->getNextAlarmClock(I)Landroid/app/AlarmManager$AlarmClockInfo;
+HPLcom/android/server/alarm/AlarmManagerService$4;->remove(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;)V
+HPLcom/android/server/alarm/AlarmManagerService$4;->set(Ljava/lang/String;IJJJILandroid/app/PendingIntent;Landroid/app/IAlarmListener;Ljava/lang/String;Landroid/os/WorkSource;Landroid/app/AlarmManager$AlarmClockInfo;)V
+PLcom/android/server/alarm/AlarmManagerService$7;-><init>(Lcom/android/server/alarm/AlarmManagerService;)V
+PLcom/android/server/alarm/AlarmManagerService$8$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/alarm/AlarmManagerService$8;)V
+PLcom/android/server/alarm/AlarmManagerService$8$$ExternalSyntheticLambda0;->updateAlarmDelivery(Lcom/android/server/alarm/Alarm;)Z
+HPLcom/android/server/alarm/AlarmManagerService$8$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/alarm/AlarmManagerService$8;I)V
+HPLcom/android/server/alarm/AlarmManagerService$8$$ExternalSyntheticLambda1;->updateAlarmDelivery(Lcom/android/server/alarm/Alarm;)Z
+HPLcom/android/server/alarm/AlarmManagerService$8;->$r8$lambda$HnHZA72qLxi-ubEMVN7MFMyc2DI(Lcom/android/server/alarm/AlarmManagerService$8;ILcom/android/server/alarm/Alarm;)Z
+PLcom/android/server/alarm/AlarmManagerService$8;->$r8$lambda$R67M3X63FHlLLApwXe7t37Hv1Ao(Lcom/android/server/alarm/AlarmManagerService$8;Lcom/android/server/alarm/Alarm;)Z
+PLcom/android/server/alarm/AlarmManagerService$8;-><init>(Lcom/android/server/alarm/AlarmManagerService;)V
+HPLcom/android/server/alarm/AlarmManagerService$8;->handleUidCachedChanged(IZ)V
+HPLcom/android/server/alarm/AlarmManagerService$8;->lambda$updateAlarmsForUid$1(ILcom/android/server/alarm/Alarm;)Z
+PLcom/android/server/alarm/AlarmManagerService$8;->lambda$updateAllAlarms$0(Lcom/android/server/alarm/Alarm;)Z
+HPLcom/android/server/alarm/AlarmManagerService$8;->unblockAlarmsForUid(I)V
+HPLcom/android/server/alarm/AlarmManagerService$8;->updateAlarmsForUid(I)V
+PLcom/android/server/alarm/AlarmManagerService$8;->updateAllAlarms()V
+PLcom/android/server/alarm/AlarmManagerService$AlarmHandler$$ExternalSyntheticLambda0;-><init>(I)V
+HPLcom/android/server/alarm/AlarmManagerService$AlarmHandler$$ExternalSyntheticLambda0;->test(Ljava/lang/Object;)Z
+PLcom/android/server/alarm/AlarmManagerService$AlarmHandler;->$r8$lambda$fGF9k_ZLsVmKzJSadhA1hLMfPXM(ILcom/android/server/alarm/Alarm;)Z
+PLcom/android/server/alarm/AlarmManagerService$AlarmHandler;-><init>(Lcom/android/server/alarm/AlarmManagerService;)V
+HPLcom/android/server/alarm/AlarmManagerService$AlarmHandler;->handleMessage(Landroid/os/Message;)V
+HPLcom/android/server/alarm/AlarmManagerService$AlarmHandler;->lambda$handleMessage$0(ILcom/android/server/alarm/Alarm;)Z
+PLcom/android/server/alarm/AlarmManagerService$AlarmThread;-><init>(Lcom/android/server/alarm/AlarmManagerService;)V
+HPLcom/android/server/alarm/AlarmManagerService$AlarmThread;->run()V
+PLcom/android/server/alarm/AlarmManagerService$AppStandbyTracker;-><init>(Lcom/android/server/alarm/AlarmManagerService;)V
+PLcom/android/server/alarm/AlarmManagerService$AppStandbyTracker;-><init>(Lcom/android/server/alarm/AlarmManagerService;Lcom/android/server/alarm/AlarmManagerService$AppStandbyTracker-IA;)V
+HPLcom/android/server/alarm/AlarmManagerService$AppStandbyTracker;->onAppIdleStateChanged(Ljava/lang/String;IZII)V
+PLcom/android/server/alarm/AlarmManagerService$AppWakeupHistory;-><init>(J)V
+HPLcom/android/server/alarm/AlarmManagerService$AppWakeupHistory;->recordAlarmForPackage(Ljava/lang/String;IJ)V
+PLcom/android/server/alarm/AlarmManagerService$AppWakeupHistory;->removeForPackage(Ljava/lang/String;I)V
+PLcom/android/server/alarm/AlarmManagerService$AppWakeupHistory;->snapToWindow(Landroid/util/LongArrayQueue;)V
+PLcom/android/server/alarm/AlarmManagerService$BroadcastStats;-><init>(ILjava/lang/String;)V
+PLcom/android/server/alarm/AlarmManagerService$ChargingReceiver;-><init>(Lcom/android/server/alarm/AlarmManagerService;)V
+PLcom/android/server/alarm/AlarmManagerService$ClockReceiver;-><init>(Lcom/android/server/alarm/AlarmManagerService;)V
+PLcom/android/server/alarm/AlarmManagerService$ClockReceiver;->scheduleDateChangedEvent()V
+HPLcom/android/server/alarm/AlarmManagerService$ClockReceiver;->scheduleTimeTickEvent()V
+PLcom/android/server/alarm/AlarmManagerService$Constants;-><init>(Lcom/android/server/alarm/AlarmManagerService;Landroid/os/Handler;)V
+PLcom/android/server/alarm/AlarmManagerService$Constants;->onPropertiesChanged(Landroid/provider/DeviceConfig$Properties;)V
+PLcom/android/server/alarm/AlarmManagerService$Constants;->onTareEnabledModeChanged(I)V
+PLcom/android/server/alarm/AlarmManagerService$Constants;->start()V
+PLcom/android/server/alarm/AlarmManagerService$Constants;->updateAllowWhileIdleWhitelistDurationLocked()V
+PLcom/android/server/alarm/AlarmManagerService$Constants;->updateTareSettings(I)V
+PLcom/android/server/alarm/AlarmManagerService$DeliveryTracker;-><init>(Lcom/android/server/alarm/AlarmManagerService;)V
+HPLcom/android/server/alarm/AlarmManagerService$DeliveryTracker;->alarmComplete(Landroid/os/IBinder;)V
+HPLcom/android/server/alarm/AlarmManagerService$DeliveryTracker;->deliverLocked(Lcom/android/server/alarm/Alarm;J)V
+HPLcom/android/server/alarm/AlarmManagerService$DeliveryTracker;->onSendFinished(Landroid/app/PendingIntent;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;)V
+HPLcom/android/server/alarm/AlarmManagerService$DeliveryTracker;->removeLocked(Landroid/app/PendingIntent;Landroid/content/Intent;)Lcom/android/server/alarm/AlarmManagerService$InFlight;
+HPLcom/android/server/alarm/AlarmManagerService$DeliveryTracker;->removeLocked(Landroid/os/IBinder;)Lcom/android/server/alarm/AlarmManagerService$InFlight;
+HPLcom/android/server/alarm/AlarmManagerService$DeliveryTracker;->updateStatsLocked(Lcom/android/server/alarm/AlarmManagerService$InFlight;)V
+HPLcom/android/server/alarm/AlarmManagerService$DeliveryTracker;->updateTrackingLocked(Lcom/android/server/alarm/AlarmManagerService$InFlight;)V
+PLcom/android/server/alarm/AlarmManagerService$FilterStats;-><init>(Lcom/android/server/alarm/AlarmManagerService$BroadcastStats;Ljava/lang/String;)V
+HPLcom/android/server/alarm/AlarmManagerService$InFlight;-><init>(Lcom/android/server/alarm/AlarmManagerService;Lcom/android/server/alarm/Alarm;J)V
+PLcom/android/server/alarm/AlarmManagerService$InFlight;->isBroadcast()Z
+PLcom/android/server/alarm/AlarmManagerService$Injector;-><init>(Landroid/content/Context;)V
+PLcom/android/server/alarm/AlarmManagerService$Injector;->getAlarmWakeLock()Landroid/os/PowerManager$WakeLock;
+PLcom/android/server/alarm/AlarmManagerService$Injector;->getAppOpsService()Lcom/android/internal/app/IAppOpsService;
+HPLcom/android/server/alarm/AlarmManagerService$Injector;->getCallingUid()I
+PLcom/android/server/alarm/AlarmManagerService$Injector;->getClockReceiver(Lcom/android/server/alarm/AlarmManagerService;)Lcom/android/server/alarm/AlarmManagerService$ClockReceiver;
+HPLcom/android/server/alarm/AlarmManagerService$Injector;->getCurrentTimeMillis()J
+HPLcom/android/server/alarm/AlarmManagerService$Injector;->getElapsedRealtimeMillis()J
+PLcom/android/server/alarm/AlarmManagerService$Injector;->getSystemUiUid(Landroid/content/pm/PackageManagerInternal;)I
+PLcom/android/server/alarm/AlarmManagerService$Injector;->init()V
+PLcom/android/server/alarm/AlarmManagerService$Injector;->initializeTimeIfRequired()V
+HPLcom/android/server/alarm/AlarmManagerService$Injector;->isAlarmDriverPresent()Z
+PLcom/android/server/alarm/AlarmManagerService$Injector;->registerDeviceConfigListener(Landroid/provider/DeviceConfig$OnPropertiesChangedListener;)V
+HPLcom/android/server/alarm/AlarmManagerService$Injector;->setAlarm(IJ)V
+PLcom/android/server/alarm/AlarmManagerService$Injector;->waitForAlarm()I
+PLcom/android/server/alarm/AlarmManagerService$InteractiveStateReceiver;-><init>(Lcom/android/server/alarm/AlarmManagerService;)V
+PLcom/android/server/alarm/AlarmManagerService$LocalService;-><init>(Lcom/android/server/alarm/AlarmManagerService;)V
+PLcom/android/server/alarm/AlarmManagerService$LocalService;-><init>(Lcom/android/server/alarm/AlarmManagerService;Lcom/android/server/alarm/AlarmManagerService$LocalService-IA;)V
+HPLcom/android/server/alarm/AlarmManagerService$LocalService;->remove(Landroid/app/PendingIntent;)V
+HPLcom/android/server/alarm/AlarmManagerService$LocalService;->shouldGetBucketElevation(Ljava/lang/String;I)Z
+HPLcom/android/server/alarm/AlarmManagerService$RemovedAlarm;-><init>(Lcom/android/server/alarm/Alarm;IJJ)V
+PLcom/android/server/alarm/AlarmManagerService$RemovedAlarm;->isLoggable(I)Z
+PLcom/android/server/alarm/AlarmManagerService$TemporaryQuotaReserve;-><init>(J)V
+PLcom/android/server/alarm/AlarmManagerService$TemporaryQuotaReserve;->cleanUpExpiredQuotas(J)V
+PLcom/android/server/alarm/AlarmManagerService$TemporaryQuotaReserve;->removeForPackage(Ljava/lang/String;I)V
+PLcom/android/server/alarm/AlarmManagerService$UninstallReceiver;-><init>(Lcom/android/server/alarm/AlarmManagerService;)V
+PLcom/android/server/alarm/AlarmManagerService$UninstallReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/alarm/AlarmManagerService;->$r8$lambda$-ljxB-II3TsrNDjjSE-gaVuQkPU(Lcom/android/server/alarm/AlarmManagerService;I)V
+PLcom/android/server/alarm/AlarmManagerService;->$r8$lambda$ADG0EAACpycMPBOZGFyKeH7UxXU(ILcom/android/server/alarm/Alarm;)Z
+PLcom/android/server/alarm/AlarmManagerService;->$r8$lambda$L82siL18ro7TYb8gZPPKO1HL33E(Lcom/android/server/alarm/AlarmManagerService;Lcom/android/server/alarm/Alarm;Lcom/android/server/alarm/Alarm;)I
+PLcom/android/server/alarm/AlarmManagerService;->$r8$lambda$gTBrLqI8lRe-eLGhoAoKns8vULU(Lcom/android/server/alarm/AlarmManagerService;Landroid/util/ArraySet;Lcom/android/server/alarm/Alarm;)Z
+PLcom/android/server/alarm/AlarmManagerService;->$r8$lambda$lO7FlqYCXbhzV969DpFL5GaI-Ko(Lcom/android/server/alarm/AlarmManagerService;Lcom/android/server/alarm/Alarm;)Z
+HPLcom/android/server/alarm/AlarmManagerService;->$r8$lambda$tqdFahJPkNbOEr_3mNLrRNcYMTM(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;Lcom/android/server/alarm/Alarm;)Z
+PLcom/android/server/alarm/AlarmManagerService;->-$$Nest$fgetmActivityManagerInternal(Lcom/android/server/alarm/AlarmManagerService;)Landroid/app/ActivityManagerInternal;
+PLcom/android/server/alarm/AlarmManagerService;->-$$Nest$fgetmAppStateTracker(Lcom/android/server/alarm/AlarmManagerService;)Lcom/android/server/AppStateTrackerImpl;
+PLcom/android/server/alarm/AlarmManagerService;->-$$Nest$fgetmBackgroundIntent(Lcom/android/server/alarm/AlarmManagerService;)Landroid/content/Intent;
+PLcom/android/server/alarm/AlarmManagerService;->-$$Nest$fgetmBatteryStatsInternal(Lcom/android/server/alarm/AlarmManagerService;)Landroid/os/BatteryStatsInternal;
+HPLcom/android/server/alarm/AlarmManagerService;->-$$Nest$fgetmInjector(Lcom/android/server/alarm/AlarmManagerService;)Lcom/android/server/alarm/AlarmManagerService$Injector;
+PLcom/android/server/alarm/AlarmManagerService;->-$$Nest$fgetmListenerCount(Lcom/android/server/alarm/AlarmManagerService;)I
+PLcom/android/server/alarm/AlarmManagerService;->-$$Nest$fgetmListenerFinishCount(Lcom/android/server/alarm/AlarmManagerService;)I
+PLcom/android/server/alarm/AlarmManagerService;->-$$Nest$fgetmNextTickHistory(Lcom/android/server/alarm/AlarmManagerService;)I
+HPLcom/android/server/alarm/AlarmManagerService;->-$$Nest$fgetmPackageManagerInternal(Lcom/android/server/alarm/AlarmManagerService;)Landroid/content/pm/PackageManagerInternal;
+PLcom/android/server/alarm/AlarmManagerService;->-$$Nest$fgetmSendCount(Lcom/android/server/alarm/AlarmManagerService;)I
+PLcom/android/server/alarm/AlarmManagerService;->-$$Nest$fgetmSendFinishCount(Lcom/android/server/alarm/AlarmManagerService;)I
+PLcom/android/server/alarm/AlarmManagerService;->-$$Nest$fgetmTickHistory(Lcom/android/server/alarm/AlarmManagerService;)[J
+PLcom/android/server/alarm/AlarmManagerService;->-$$Nest$fputmLastTickReceived(Lcom/android/server/alarm/AlarmManagerService;J)V
+PLcom/android/server/alarm/AlarmManagerService;->-$$Nest$fputmLastTickSet(Lcom/android/server/alarm/AlarmManagerService;J)V
+PLcom/android/server/alarm/AlarmManagerService;->-$$Nest$fputmLastTrigger(Lcom/android/server/alarm/AlarmManagerService;J)V
+PLcom/android/server/alarm/AlarmManagerService;->-$$Nest$fputmLastWakeup(Lcom/android/server/alarm/AlarmManagerService;J)V
+PLcom/android/server/alarm/AlarmManagerService;->-$$Nest$fputmListenerCount(Lcom/android/server/alarm/AlarmManagerService;I)V
+PLcom/android/server/alarm/AlarmManagerService;->-$$Nest$fputmListenerFinishCount(Lcom/android/server/alarm/AlarmManagerService;I)V
+PLcom/android/server/alarm/AlarmManagerService;->-$$Nest$fputmNextTickHistory(Lcom/android/server/alarm/AlarmManagerService;I)V
+PLcom/android/server/alarm/AlarmManagerService;->-$$Nest$fputmSendCount(Lcom/android/server/alarm/AlarmManagerService;I)V
+PLcom/android/server/alarm/AlarmManagerService;->-$$Nest$fputmSendFinishCount(Lcom/android/server/alarm/AlarmManagerService;I)V
+PLcom/android/server/alarm/AlarmManagerService;->-$$Nest$madjustDeliveryTimeBasedOnBatterySaver(Lcom/android/server/alarm/AlarmManagerService;Lcom/android/server/alarm/Alarm;)Z
+PLcom/android/server/alarm/AlarmManagerService;->-$$Nest$mgetAlarmOperationBundle(Lcom/android/server/alarm/AlarmManagerService;Lcom/android/server/alarm/Alarm;)Landroid/os/Bundle;
+PLcom/android/server/alarm/AlarmManagerService;->-$$Nest$mgetStatsLocked(Lcom/android/server/alarm/AlarmManagerService;ILjava/lang/String;)Lcom/android/server/alarm/AlarmManagerService$BroadcastStats;
+PLcom/android/server/alarm/AlarmManagerService;->-$$Nest$mgetStatsLocked(Lcom/android/server/alarm/AlarmManagerService;Landroid/app/PendingIntent;)Lcom/android/server/alarm/AlarmManagerService$BroadcastStats;
+PLcom/android/server/alarm/AlarmManagerService;->-$$Nest$mlogAlarmBatchDelivered(Lcom/android/server/alarm/AlarmManagerService;IILandroid/util/SparseIntArray;Landroid/util/SparseIntArray;)V
+PLcom/android/server/alarm/AlarmManagerService;->-$$Nest$mnotifyBroadcastAlarmCompleteLocked(Lcom/android/server/alarm/AlarmManagerService;I)V
+PLcom/android/server/alarm/AlarmManagerService;->-$$Nest$mnotifyBroadcastAlarmPendingLocked(Lcom/android/server/alarm/AlarmManagerService;I)V
+PLcom/android/server/alarm/AlarmManagerService;->-$$Nest$mremoveAlarmsInternalLocked(Lcom/android/server/alarm/AlarmManagerService;Ljava/util/function/Predicate;I)V
+PLcom/android/server/alarm/AlarmManagerService;->-$$Nest$mupdateNextAlarmClockLocked(Lcom/android/server/alarm/AlarmManagerService;)V
+PLcom/android/server/alarm/AlarmManagerService;->-$$Nest$smgetAlarmAttributionUid(Lcom/android/server/alarm/Alarm;)I
+PLcom/android/server/alarm/AlarmManagerService;->-$$Nest$smincrement(Landroid/util/SparseIntArray;I)V
+PLcom/android/server/alarm/AlarmManagerService;->-$$Nest$sminit()J
+PLcom/android/server/alarm/AlarmManagerService;->-$$Nest$smisExactAlarmChangeEnabled(Ljava/lang/String;I)Z
+HPLcom/android/server/alarm/AlarmManagerService;->-$$Nest$smset(JIJJ)I
+PLcom/android/server/alarm/AlarmManagerService;->-$$Nest$smwaitForAlarm(J)I
+PLcom/android/server/alarm/AlarmManagerService;-><clinit>()V
+PLcom/android/server/alarm/AlarmManagerService;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/alarm/AlarmManagerService;-><init>(Landroid/content/Context;Lcom/android/server/alarm/AlarmManagerService$Injector;)V
+PLcom/android/server/alarm/AlarmManagerService;->addClampPositive(JJ)J
+HPLcom/android/server/alarm/AlarmManagerService;->adjustDeliveryTimeBasedOnBatterySaver(Lcom/android/server/alarm/Alarm;)Z
+HPLcom/android/server/alarm/AlarmManagerService;->adjustDeliveryTimeBasedOnBucketLocked(Lcom/android/server/alarm/Alarm;)Z
+HPLcom/android/server/alarm/AlarmManagerService;->adjustDeliveryTimeBasedOnTareLocked(Lcom/android/server/alarm/Alarm;)Z
+HPLcom/android/server/alarm/AlarmManagerService;->calculateDeliveryPriorities(Ljava/util/ArrayList;)V
+PLcom/android/server/alarm/AlarmManagerService;->checkAllowNonWakeupDelayLocked(J)Z
+HPLcom/android/server/alarm/AlarmManagerService;->convertToElapsed(JI)J
+HPLcom/android/server/alarm/AlarmManagerService;->decrementAlarmCount(II)V
+HPLcom/android/server/alarm/AlarmManagerService;->deliverAlarmsLocked(Ljava/util/ArrayList;J)V
+PLcom/android/server/alarm/AlarmManagerService;->getAlarmAttributionUid(Lcom/android/server/alarm/Alarm;)I
+PLcom/android/server/alarm/AlarmManagerService;->getAlarmOperationBundle(Lcom/android/server/alarm/Alarm;)Landroid/os/Bundle;
+PLcom/android/server/alarm/AlarmManagerService;->getMinimumAllowedWindow(JJ)J
+PLcom/android/server/alarm/AlarmManagerService;->getNextAlarmClockImpl(I)Landroid/app/AlarmManager$AlarmClockInfo;
+HPLcom/android/server/alarm/AlarmManagerService;->getStatsLocked(ILjava/lang/String;)Lcom/android/server/alarm/AlarmManagerService$BroadcastStats;
+PLcom/android/server/alarm/AlarmManagerService;->getStatsLocked(Landroid/app/PendingIntent;)Lcom/android/server/alarm/AlarmManagerService$BroadcastStats;
+HPLcom/android/server/alarm/AlarmManagerService;->hasScheduleExactAlarmInternal(Ljava/lang/String;I)Z
+HPLcom/android/server/alarm/AlarmManagerService;->hasUseExactAlarmInternal(Ljava/lang/String;I)Z
+HPLcom/android/server/alarm/AlarmManagerService;->increment(Landroid/util/SparseIntArray;I)V
+HPLcom/android/server/alarm/AlarmManagerService;->incrementAlarmCount(I)V
+HPLcom/android/server/alarm/AlarmManagerService;->isBackgroundRestricted(Lcom/android/server/alarm/Alarm;)Z
+HPLcom/android/server/alarm/AlarmManagerService;->isExactAlarmChangeEnabled(Ljava/lang/String;I)Z
+HPLcom/android/server/alarm/AlarmManagerService;->isExemptFromAppStandby(Lcom/android/server/alarm/Alarm;)Z
+HPLcom/android/server/alarm/AlarmManagerService;->isExemptFromBatterySaver(Lcom/android/server/alarm/Alarm;)Z
+HPLcom/android/server/alarm/AlarmManagerService;->isExemptFromExactAlarmPermissionNoLock(I)Z
+PLcom/android/server/alarm/AlarmManagerService;->isRtc(I)Z
+PLcom/android/server/alarm/AlarmManagerService;->isScheduleExactAlarmDeniedByDefault(Ljava/lang/String;I)Z
+HPLcom/android/server/alarm/AlarmManagerService;->isTimeTickAlarm(Lcom/android/server/alarm/Alarm;)Z
+HPLcom/android/server/alarm/AlarmManagerService;->isUseExactAlarmEnabled(Ljava/lang/String;I)Z
+PLcom/android/server/alarm/AlarmManagerService;->lambda$new$1(Lcom/android/server/alarm/Alarm;Lcom/android/server/alarm/Alarm;)I
+HPLcom/android/server/alarm/AlarmManagerService;->lambda$onUserStarting$7(I)V
+PLcom/android/server/alarm/AlarmManagerService;->lambda$reevaluateRtcAlarms$2(Lcom/android/server/alarm/Alarm;)Z
+HPLcom/android/server/alarm/AlarmManagerService;->lambda$removeLocked$17(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;Lcom/android/server/alarm/Alarm;)Z
+PLcom/android/server/alarm/AlarmManagerService;->lambda$removeLocked$18(ILcom/android/server/alarm/Alarm;)Z
+HPLcom/android/server/alarm/AlarmManagerService;->lambda$reorderAlarmsBasedOnStandbyBuckets$5(Landroid/util/ArraySet;Lcom/android/server/alarm/Alarm;)Z
+HPLcom/android/server/alarm/AlarmManagerService;->logAlarmBatchDelivered(IILandroid/util/SparseIntArray;Landroid/util/SparseIntArray;)V
+PLcom/android/server/alarm/AlarmManagerService;->makeBasicAlarmBroadcastOptions()Landroid/app/BroadcastOptions;
+HPLcom/android/server/alarm/AlarmManagerService;->maxTriggerTime(JJJ)J
+HPLcom/android/server/alarm/AlarmManagerService;->maybeUnregisterTareListenerLocked(Lcom/android/server/alarm/Alarm;)V
+PLcom/android/server/alarm/AlarmManagerService;->notifyBroadcastAlarmCompleteLocked(I)V
+PLcom/android/server/alarm/AlarmManagerService;->notifyBroadcastAlarmPendingLocked(I)V
+PLcom/android/server/alarm/AlarmManagerService;->onBootPhase(I)V
+HPLcom/android/server/alarm/AlarmManagerService;->onStart()V
+PLcom/android/server/alarm/AlarmManagerService;->onUserStarting(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/alarm/AlarmManagerService;->reevaluateRtcAlarms()V
+PLcom/android/server/alarm/AlarmManagerService;->refreshExactAlarmCandidates()V
+HPLcom/android/server/alarm/AlarmManagerService;->registerTareListener(Lcom/android/server/alarm/Alarm;)V
+HPLcom/android/server/alarm/AlarmManagerService;->removeAlarmsInternalLocked(Ljava/util/function/Predicate;I)V
+PLcom/android/server/alarm/AlarmManagerService;->removeImpl(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;)V
+PLcom/android/server/alarm/AlarmManagerService;->removeLocked(II)V
+HPLcom/android/server/alarm/AlarmManagerService;->removeLocked(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;I)V
+HPLcom/android/server/alarm/AlarmManagerService;->reorderAlarmsBasedOnStandbyBuckets(Landroid/util/ArraySet;)Z
+PLcom/android/server/alarm/AlarmManagerService;->reportAlarmEventToTare(Lcom/android/server/alarm/Alarm;)V
+HPLcom/android/server/alarm/AlarmManagerService;->rescheduleKernelAlarmsLocked()V
+PLcom/android/server/alarm/AlarmManagerService;->restoreRequestedTime(Lcom/android/server/alarm/Alarm;)Z
+HPLcom/android/server/alarm/AlarmManagerService;->sendPendingBackgroundAlarmsLocked(ILjava/lang/String;)V
+HPLcom/android/server/alarm/AlarmManagerService;->setImpl(IJJJLandroid/app/PendingIntent;Landroid/app/IAlarmListener;Ljava/lang/String;ILandroid/os/WorkSource;Landroid/app/AlarmManager$AlarmClockInfo;ILjava/lang/String;Landroid/os/Bundle;I)V
+HPLcom/android/server/alarm/AlarmManagerService;->setImplLocked(IJJJJLandroid/app/PendingIntent;Landroid/app/IAlarmListener;Ljava/lang/String;ILandroid/os/WorkSource;Landroid/app/AlarmManager$AlarmClockInfo;ILjava/lang/String;Landroid/os/Bundle;I)V
+HPLcom/android/server/alarm/AlarmManagerService;->setImplLocked(Lcom/android/server/alarm/Alarm;)V
+HPLcom/android/server/alarm/AlarmManagerService;->setLocked(IJ)V
+HPLcom/android/server/alarm/AlarmManagerService;->setWakelockWorkSource(Landroid/os/WorkSource;ILjava/lang/String;Z)V
+HPLcom/android/server/alarm/AlarmManagerService;->triggerAlarmsLocked(Ljava/util/ArrayList;J)I
+HPLcom/android/server/alarm/AlarmManagerService;->updateNextAlarmClockLocked()V
+PLcom/android/server/alarm/LazyAlarmStore$$ExternalSyntheticLambda0;-><init>()V
+HPLcom/android/server/alarm/LazyAlarmStore$$ExternalSyntheticLambda0;->applyAsLong(Ljava/lang/Object;)J
+PLcom/android/server/alarm/LazyAlarmStore;-><clinit>()V
+PLcom/android/server/alarm/LazyAlarmStore;-><init>()V
+HPLcom/android/server/alarm/LazyAlarmStore;->add(Lcom/android/server/alarm/Alarm;)V
+HPLcom/android/server/alarm/LazyAlarmStore;->addAll(Ljava/util/ArrayList;)V
+HPLcom/android/server/alarm/LazyAlarmStore;->getNextDeliveryTime()J
+HPLcom/android/server/alarm/LazyAlarmStore;->getNextWakeupDeliveryTime()J
+HPLcom/android/server/alarm/LazyAlarmStore;->remove(Ljava/util/function/Predicate;)Ljava/util/ArrayList;
+HPLcom/android/server/alarm/LazyAlarmStore;->removePendingAlarms(J)Ljava/util/ArrayList;
+PLcom/android/server/alarm/LazyAlarmStore;->setAlarmClockRemovalListener(Ljava/lang/Runnable;)V
+HPLcom/android/server/alarm/LazyAlarmStore;->size()I
+HPLcom/android/server/alarm/LazyAlarmStore;->updateAlarmDeliveries(Lcom/android/server/alarm/AlarmStore$AlarmDeliveryCalculator;)Z
+PLcom/android/server/alarm/MetricsHelper$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/alarm/MetricsHelper;Ljava/util/function/Supplier;)V
+PLcom/android/server/alarm/MetricsHelper;-><init>(Landroid/content/Context;Ljava/lang/Object;)V
+PLcom/android/server/alarm/MetricsHelper;->pushAlarmBatchDelivered(II[I[I[I)V
+HPLcom/android/server/alarm/MetricsHelper;->pushAlarmScheduled(Lcom/android/server/alarm/Alarm;I)V
+PLcom/android/server/alarm/MetricsHelper;->reasonToStatsReason(I)I
+PLcom/android/server/alarm/MetricsHelper;->registerPuller(Ljava/util/function/Supplier;)V
+PLcom/android/server/am/ActiveInstrumentation;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ActiveServices$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/am/ActiveServices;ILandroid/util/ArraySet;)V
+PLcom/android/server/am/ActiveServices$$ExternalSyntheticLambda1;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/am/ActiveServices$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/am/ActiveServices;)V
+PLcom/android/server/am/ActiveServices$$ExternalSyntheticLambda2;->run()V
+PLcom/android/server/am/ActiveServices$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/am/ActiveServices;IZ)V
+HPLcom/android/server/am/ActiveServices$$ExternalSyntheticLambda5;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/am/ActiveServices$$ExternalSyntheticLambda6;-><init>(I)V
+HPLcom/android/server/am/ActiveServices$$ExternalSyntheticLambda6;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HPLcom/android/server/am/ActiveServices$$ExternalSyntheticLambda8;-><init>(Lcom/android/server/am/ActiveServices;ILandroid/util/ArraySet;)V
+HPLcom/android/server/am/ActiveServices$$ExternalSyntheticLambda8;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/am/ActiveServices$$ExternalSyntheticLambda9;-><init>()V
+HSPLcom/android/server/am/ActiveServices$1;-><init>(Lcom/android/server/am/ActiveServices;)V
+HSPLcom/android/server/am/ActiveServices$5;-><init>(Lcom/android/server/am/ActiveServices;)V
+PLcom/android/server/am/ActiveServices$5;->run()V
+PLcom/android/server/am/ActiveServices$ActiveForegroundApp;-><init>()V
+PLcom/android/server/am/ActiveServices$AppOpCallback$1;-><init>(Lcom/android/server/am/ActiveServices$AppOpCallback;)V
+PLcom/android/server/am/ActiveServices$AppOpCallback$1;->onOpNoted(IILjava/lang/String;Ljava/lang/String;II)V
+PLcom/android/server/am/ActiveServices$AppOpCallback$2;-><init>(Lcom/android/server/am/ActiveServices$AppOpCallback;)V
+PLcom/android/server/am/ActiveServices$AppOpCallback;->-$$Nest$mincrementOpCountIfNeeded(Lcom/android/server/am/ActiveServices$AppOpCallback;III)V
+PLcom/android/server/am/ActiveServices$AppOpCallback;-><clinit>()V
+HPLcom/android/server/am/ActiveServices$AppOpCallback;-><init>(Lcom/android/server/am/ProcessRecord;Landroid/app/AppOpsManager;)V
+PLcom/android/server/am/ActiveServices$AppOpCallback;->incrementOpCountIfNeeded(III)V
+PLcom/android/server/am/ActiveServices$AppOpCallback;->isNotTop()Z
+PLcom/android/server/am/ActiveServices$AppOpCallback;->isObsoleteLocked()Z
+PLcom/android/server/am/ActiveServices$AppOpCallback;->registerLocked()V
+PLcom/android/server/am/ActiveServices$BackgroundRestrictedListener;-><init>(Lcom/android/server/am/ActiveServices;)V
+PLcom/android/server/am/ActiveServices$MediaProjectionFgsTypeCustomPermission;-><init>(Lcom/android/server/am/ActiveServices;)V
+HSPLcom/android/server/am/ActiveServices$ProcessAnrTimer;-><init>(Lcom/android/server/am/ActivityManagerService;ILjava/lang/String;)V
+HPLcom/android/server/am/ActiveServices$ProcessAnrTimer;->start(Lcom/android/server/am/ProcessRecord;J)V
+HSPLcom/android/server/am/ActiveServices$ServiceAnrTimer;-><init>(Lcom/android/server/am/ActivityManagerService;ILjava/lang/String;)V
+PLcom/android/server/am/ActiveServices$ServiceAnrTimer;->start(Lcom/android/server/am/ServiceRecord;J)V
+HPLcom/android/server/am/ActiveServices$ServiceLookupResult;-><init>(Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ServiceRecord;Landroid/content/ComponentName;)V
+PLcom/android/server/am/ActiveServices$ServiceMap;-><init>(Lcom/android/server/am/ActiveServices;Landroid/os/Looper;I)V
+HPLcom/android/server/am/ActiveServices$ServiceMap;->ensureNotStartingBackgroundLocked(Lcom/android/server/am/ServiceRecord;)V
+PLcom/android/server/am/ActiveServices$ServiceMap;->handleMessage(Landroid/os/Message;)V
+HPLcom/android/server/am/ActiveServices$ServiceMap;->rescheduleDelayedStartsLocked()V
+PLcom/android/server/am/ActiveServices$ServiceRestarter;-><init>(Lcom/android/server/am/ActiveServices;)V
+HPLcom/android/server/am/ActiveServices$ServiceRestarter;-><init>(Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices$ServiceRestarter-IA;)V
+PLcom/android/server/am/ActiveServices$ServiceRestarter;->run()V
+HPLcom/android/server/am/ActiveServices$ServiceRestarter;->setService(Lcom/android/server/am/ServiceRecord;)V
+PLcom/android/server/am/ActiveServices$SystemExemptedFgsTypePermission;-><init>(Lcom/android/server/am/ActiveServices;)V
+PLcom/android/server/am/ActiveServices$SystemExemptedFgsTypePermission;->checkPermission(Landroid/content/Context;IILjava/lang/String;Z)I
+PLcom/android/server/am/ActiveServices;->$r8$lambda$0qkjeNpxaTsg0ZNHkscOuBnZYxA(Lcom/android/server/am/ActiveServices;)V
+HPLcom/android/server/am/ActiveServices;->$r8$lambda$btpRyn2QvHxPy1BXkZJjoK5OB78(Lcom/android/server/am/ActiveServices;IZLcom/android/server/am/ProcessRecord;)Ljava/lang/Integer;
+HPLcom/android/server/am/ActiveServices;->$r8$lambda$dtupl9fjxv8RDOZGvTs4p44nKJI(Lcom/android/server/am/ActiveServices;ILandroid/util/ArraySet;Lcom/android/server/am/ProcessRecord;)Ljava/lang/Integer;
+HPLcom/android/server/am/ActiveServices;->$r8$lambda$jK_UxrI6agW1buIHNND7c_BI120(ILcom/android/server/am/ProcessRecord;)Ljava/lang/Integer;
+PLcom/android/server/am/ActiveServices;->$r8$lambda$p_X4sOJTkojjyDKVG3R4by9T9zs(Lcom/android/server/am/ActiveServices;ILandroid/util/ArraySet;Lcom/android/server/am/ProcessRecord;)Landroid/util/Pair;
+HSPLcom/android/server/am/ActiveServices;-><clinit>()V
+HSPLcom/android/server/am/ActiveServices;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+HPLcom/android/server/am/ActiveServices;->appRestrictedAnyInBackground(ILjava/lang/String;)Z
+HPLcom/android/server/am/ActiveServices;->applyForegroundServiceNotificationLocked(Landroid/app/Notification;Ljava/lang/String;ILjava/lang/String;I)Landroid/app/ActivityManagerInternal$ServiceNotificationPolicy;
+HPLcom/android/server/am/ActiveServices;->attachApplicationLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;)Z
+HPLcom/android/server/am/ActiveServices;->bindServiceLocked(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IServiceConnection;JLjava/lang/String;ZILjava/lang/String;Landroid/app/IApplicationThread;Ljava/lang/String;I)I
+PLcom/android/server/am/ActiveServices;->bringDownDisabledPackageServicesLocked(Ljava/lang/String;Ljava/util/Set;IZZZ)Z
+HPLcom/android/server/am/ActiveServices;->bringDownServiceIfNeededLocked(Lcom/android/server/am/ServiceRecord;ZZZLjava/lang/String;)V
+HPLcom/android/server/am/ActiveServices;->bringDownServiceLocked(Lcom/android/server/am/ServiceRecord;Z)V
+HPLcom/android/server/am/ActiveServices;->bringUpServiceInnerLocked(Lcom/android/server/am/ServiceRecord;IZZZZZI)Ljava/lang/String;
+HPLcom/android/server/am/ActiveServices;->bringUpServiceLocked(Lcom/android/server/am/ServiceRecord;IZZZZZI)Ljava/lang/String;
+HPLcom/android/server/am/ActiveServices;->bumpServiceExecutingLocked(Lcom/android/server/am/ServiceRecord;ZLjava/lang/String;IZ)Z
+PLcom/android/server/am/ActiveServices;->canBindingClientStartFgsLocked(I)Ljava/lang/String;
+HPLcom/android/server/am/ActiveServices;->cancelForegroundNotificationLocked(Lcom/android/server/am/ServiceRecord;)V
+HPLcom/android/server/am/ActiveServices;->clearRestartingIfNeededLocked(Lcom/android/server/am/ServiceRecord;)V
+PLcom/android/server/am/ActiveServices;->collectPackageServicesLocked(Ljava/lang/String;Ljava/util/Set;ZZLandroid/util/ArrayMap;)Z
+HPLcom/android/server/am/ActiveServices;->deferServiceBringupIfFrozenLocked(Lcom/android/server/am/ServiceRecord;Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;IZZILandroid/app/BackgroundStartPrivileges;ZLandroid/app/IServiceConnection;)Z
+HPLcom/android/server/am/ActiveServices;->dropFgsNotificationStateLocked(Lcom/android/server/am/ServiceRecord;)V
+HPLcom/android/server/am/ActiveServices;->dumpService(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/lang/String;[I[Ljava/lang/String;IZ)Z
+HPLcom/android/server/am/ActiveServices;->dumpService(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Lcom/android/server/am/ServiceRecord;[Ljava/lang/String;Z)V
+PLcom/android/server/am/ActiveServices;->fgsStopReasonToString(I)Ljava/lang/String;
+HPLcom/android/server/am/ActiveServices;->findServiceLocked(Landroid/content/ComponentName;Landroid/os/IBinder;I)Lcom/android/server/am/ServiceRecord;
+PLcom/android/server/am/ActiveServices;->forceStopPackageLocked(Ljava/lang/String;I)V
+HPLcom/android/server/am/ActiveServices;->foregroundServiceProcStateChangedLocked(Lcom/android/server/am/UidRecord;)V
+HPLcom/android/server/am/ActiveServices;->generateAdditionalSeInfoFromService(Landroid/content/Intent;)Ljava/lang/String;
+HPLcom/android/server/am/ActiveServices;->getAllowMode(Landroid/content/Intent;Ljava/lang/String;)I
+HPLcom/android/server/am/ActiveServices;->getAppStateTracker()Lcom/android/server/AppStateTracker;
+PLcom/android/server/am/ActiveServices;->getExtraRestartTimeInBetweenLocked()J
+HPLcom/android/server/am/ActiveServices;->getHostingRecordTriggerType(Lcom/android/server/am/ServiceRecord;)Ljava/lang/String;
+HPLcom/android/server/am/ActiveServices;->getProcessNameForService(Landroid/content/pm/ServiceInfo;Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;ZZZ)Ljava/lang/String;
+HPLcom/android/server/am/ActiveServices;->getRunningServiceInfoLocked(IIIZZ)Ljava/util/List;
+HPLcom/android/server/am/ActiveServices;->getServiceBindingOomAdjPolicyForAddLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ConnectionRecord;)I
+HPLcom/android/server/am/ActiveServices;->getServiceBindingOomAdjPolicyForRemovalLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ConnectionRecord;)I
+HPLcom/android/server/am/ActiveServices;->getServiceByNameLocked(Landroid/content/ComponentName;I)Lcom/android/server/am/ServiceRecord;
+HPLcom/android/server/am/ActiveServices;->getServiceMapLocked(I)Lcom/android/server/am/ActiveServices$ServiceMap;
+PLcom/android/server/am/ActiveServices;->getServicesLocked(I)Landroid/util/ArrayMap;
+HPLcom/android/server/am/ActiveServices;->getShortProcessNameForStats(ILjava/lang/String;)Ljava/lang/String;
+HPLcom/android/server/am/ActiveServices;->getShortServiceNameForStats(Lcom/android/server/am/ServiceRecord;)Ljava/lang/String;
+HPLcom/android/server/am/ActiveServices;->hasForegroundServiceNotificationLocked(Ljava/lang/String;ILjava/lang/String;)Z
+PLcom/android/server/am/ActiveServices;->initMediaProjectFgsTypeCustomPermission()V
+PLcom/android/server/am/ActiveServices;->initSystemExemptedFgsTypePermission()V
+PLcom/android/server/am/ActiveServices;->isBgFgsRestrictionEnabled(Lcom/android/server/am/ServiceRecord;I)Z
+PLcom/android/server/am/ActiveServices;->isDeviceProvisioningPackage(Ljava/lang/String;)Z
+PLcom/android/server/am/ActiveServices;->isForegroundServiceAllowedInBackgroundRestricted(ILjava/lang/String;)Z
+PLcom/android/server/am/ActiveServices;->isForegroundServiceAllowedInBackgroundRestricted(Lcom/android/server/am/ProcessRecord;)Z
+HPLcom/android/server/am/ActiveServices;->isServiceNeededLocked(Lcom/android/server/am/ServiceRecord;ZZ)Z
+PLcom/android/server/am/ActiveServices;->isServiceRestartBackoffEnabledLocked(Ljava/lang/String;)Z
+HPLcom/android/server/am/ActiveServices;->killServicesLocked(Lcom/android/server/am/ProcessRecord;Z)V
+PLcom/android/server/am/ActiveServices;->lambda$attachApplicationLocked$2()V
+PLcom/android/server/am/ActiveServices;->lambda$canBindingClientStartFgsLocked$6(ILandroid/util/ArraySet;Lcom/android/server/am/ProcessRecord;)Landroid/util/Pair;
+HPLcom/android/server/am/ActiveServices;->lambda$shouldAllowFgsStartForegroundNoBindingCheckLocked$7(IZLcom/android/server/am/ProcessRecord;)Ljava/lang/Integer;
+HPLcom/android/server/am/ActiveServices;->lambda$shouldAllowFgsWhileInUsePermissionByBindingsLocked$5(ILandroid/util/ArraySet;Lcom/android/server/am/ProcessRecord;)Ljava/lang/Integer;
+HPLcom/android/server/am/ActiveServices;->lambda$shouldAllowFgsWhileInUsePermissionLocked$4(ILcom/android/server/am/ProcessRecord;)Ljava/lang/Integer;
+HPLcom/android/server/am/ActiveServices;->logFGSStateChangeLocked(Lcom/android/server/am/ServiceRecord;IIIIIZ)V
+PLcom/android/server/am/ActiveServices;->logFgsApiBeginLocked(III)V
+PLcom/android/server/am/ActiveServices;->logFgsApiEndLocked(III)V
+HPLcom/android/server/am/ActiveServices;->logFgsBackgroundStart(Lcom/android/server/am/ServiceRecord;)V
+HPLcom/android/server/am/ActiveServices;->makeRunningServiceInfoLocked(Lcom/android/server/am/ServiceRecord;)Landroid/app/ActivityManager$RunningServiceInfo;
+HPLcom/android/server/am/ActiveServices;->maybeLogBindCrossProfileService(ILjava/lang/String;I)V
+HPLcom/android/server/am/ActiveServices;->maybeStopShortFgsTimeoutLocked(Lcom/android/server/am/ServiceRecord;)V
+PLcom/android/server/am/ActiveServices;->maybeUpdateShortFgsTrackingLocked(Lcom/android/server/am/ServiceRecord;Z)V
+HPLcom/android/server/am/ActiveServices;->notifyBindingServiceEventLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;)V
+HPLcom/android/server/am/ActiveServices;->onForegroundServiceNotificationUpdateLocked(ZLandroid/app/Notification;ILjava/lang/String;I)V
+HPLcom/android/server/am/ActiveServices;->performRescheduleServiceRestartOnMemoryPressureLocked(JJLjava/lang/String;J)V
+HPLcom/android/server/am/ActiveServices;->performScheduleRestartLocked(Lcom/android/server/am/ServiceRecord;Ljava/lang/String;Ljava/lang/String;J)V
+PLcom/android/server/am/ActiveServices;->performServiceRestartLocked(Lcom/android/server/am/ServiceRecord;)V
+HPLcom/android/server/am/ActiveServices;->publishServiceLocked(Lcom/android/server/am/ServiceRecord;Landroid/content/Intent;Landroid/os/IBinder;)V
+HPLcom/android/server/am/ActiveServices;->realStartServiceLocked(Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ProcessRecord;Landroid/app/IApplicationThread;ILcom/android/server/am/UidRecord;ZZI)V
+PLcom/android/server/am/ActiveServices;->registerAppOpCallbackLocked(Lcom/android/server/am/ServiceRecord;)V
+HPLcom/android/server/am/ActiveServices;->removeConnectionLocked(Lcom/android/server/am/ConnectionRecord;Lcom/android/server/am/ProcessRecord;Lcom/android/server/wm/ActivityServiceConnectionsHolder;Z)I
+PLcom/android/server/am/ActiveServices;->removeServiceNotificationDeferralsLocked(Ljava/lang/String;I)V
+PLcom/android/server/am/ActiveServices;->removeServiceRestartBackoffEnabledLocked(Ljava/lang/String;)V
+HPLcom/android/server/am/ActiveServices;->requestServiceBindingLocked(Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/IntentBindRecord;ZZI)Z
+HPLcom/android/server/am/ActiveServices;->requestServiceBindingsLocked(Lcom/android/server/am/ServiceRecord;ZI)V
+HPLcom/android/server/am/ActiveServices;->requestStartTargetPermissionsReviewIfNeededLocked(Lcom/android/server/am/ServiceRecord;Ljava/lang/String;Ljava/lang/String;ILandroid/content/Intent;ZIZLandroid/app/IServiceConnection;)Z
+PLcom/android/server/am/ActiveServices;->requestUpdateActiveForegroundAppsLocked(Lcom/android/server/am/ActiveServices$ServiceMap;J)V
+PLcom/android/server/am/ActiveServices;->rescheduleServiceRestartIfPossibleLocked(JJLjava/lang/String;J)V
+HPLcom/android/server/am/ActiveServices;->rescheduleServiceRestartOnMemoryPressureIfNeededLocked(IILjava/lang/String;J)V
+HPLcom/android/server/am/ActiveServices;->resetFgsRestrictionLocked(Lcom/android/server/am/ServiceRecord;)V
+HPLcom/android/server/am/ActiveServices;->retrieveServiceLocked(Landroid/content/Intent;Ljava/lang/String;ZILjava/lang/String;Ljava/lang/String;Ljava/lang/String;IIIZZZZLandroid/app/ForegroundServiceDelegationOptions;ZZ)Lcom/android/server/am/ActiveServices$ServiceLookupResult;
+HPLcom/android/server/am/ActiveServices;->retrieveServiceLocked(Landroid/content/Intent;Ljava/lang/String;ZILjava/lang/String;Ljava/lang/String;Ljava/lang/String;IIIZZZZLandroid/app/ForegroundServiceDelegationOptions;ZZZ)Lcom/android/server/am/ActiveServices$ServiceLookupResult;
+PLcom/android/server/am/ActiveServices;->scheduleServiceForegroundTransitionTimeoutLocked(Lcom/android/server/am/ServiceRecord;)V
+HPLcom/android/server/am/ActiveServices;->scheduleServiceRestartLocked(Lcom/android/server/am/ServiceRecord;Z)Z
+HPLcom/android/server/am/ActiveServices;->scheduleServiceTimeoutLocked(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/ActiveServices;->sendServiceArgsLocked(Lcom/android/server/am/ServiceRecord;ZZ)V
+HPLcom/android/server/am/ActiveServices;->serviceDoneExecutingLocked(Lcom/android/server/am/ServiceRecord;IIIZLandroid/content/Intent;)V
+HPLcom/android/server/am/ActiveServices;->serviceDoneExecutingLocked(Lcom/android/server/am/ServiceRecord;ZZZI)V
+PLcom/android/server/am/ActiveServices;->serviceTimeout(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/ActiveServices;->setAllowListWhileInUsePermissionInFgs()V
+HPLcom/android/server/am/ActiveServices;->setFgsRestrictionLocked(Ljava/lang/String;IILandroid/content/Intent;Lcom/android/server/am/ServiceRecord;ILandroid/app/BackgroundStartPrivileges;Z)V
+HPLcom/android/server/am/ActiveServices;->setFgsRestrictionLocked(Ljava/lang/String;IILandroid/content/Intent;Lcom/android/server/am/ServiceRecord;ILandroid/app/BackgroundStartPrivileges;ZZ)V
+HPLcom/android/server/am/ActiveServices;->setServiceForegroundInnerLocked(Lcom/android/server/am/ServiceRecord;ILandroid/app/Notification;III)V
+PLcom/android/server/am/ActiveServices;->setServiceForegroundLocked(Landroid/content/ComponentName;Landroid/os/IBinder;ILandroid/app/Notification;II)V
+PLcom/android/server/am/ActiveServices;->shouldAllowBootCompletedStart(Lcom/android/server/am/ServiceRecord;I)Z
+HPLcom/android/server/am/ActiveServices;->shouldAllowFgsStartForegroundNoBindingCheckLocked(IIILjava/lang/String;Lcom/android/server/am/ServiceRecord;Landroid/app/BackgroundStartPrivileges;)I
+HPLcom/android/server/am/ActiveServices;->shouldAllowFgsStartForegroundWithBindingCheckLocked(ILjava/lang/String;IILandroid/content/Intent;Lcom/android/server/am/ServiceRecord;Landroid/app/BackgroundStartPrivileges;Z)I
+HPLcom/android/server/am/ActiveServices;->shouldAllowFgsWhileInUsePermissionByBindingsLocked(I)I
+HPLcom/android/server/am/ActiveServices;->shouldAllowFgsWhileInUsePermissionLocked(Ljava/lang/String;IILcom/android/server/am/ProcessRecord;Landroid/app/BackgroundStartPrivileges;)I
+PLcom/android/server/am/ActiveServices;->shouldShowFgsNotificationLocked(Lcom/android/server/am/ServiceRecord;)Z
+PLcom/android/server/am/ActiveServices;->signalForegroundServiceObserversLocked(Lcom/android/server/am/ServiceRecord;)V
+HPLcom/android/server/am/ActiveServices;->startFgsDeferralTimerLocked(Lcom/android/server/am/ServiceRecord;)V
+HPLcom/android/server/am/ActiveServices;->startServiceInnerLocked(Lcom/android/server/am/ActiveServices$ServiceMap;Landroid/content/Intent;Lcom/android/server/am/ServiceRecord;ZZILjava/lang/String;IZLjava/lang/String;)Landroid/content/ComponentName;
+HPLcom/android/server/am/ActiveServices;->startServiceInnerLocked(Lcom/android/server/am/ServiceRecord;Landroid/content/Intent;IILjava/lang/String;IZZLandroid/app/BackgroundStartPrivileges;Ljava/lang/String;)Landroid/content/ComponentName;
+PLcom/android/server/am/ActiveServices;->startServiceLocked(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;IIZLjava/lang/String;Ljava/lang/String;ILandroid/app/BackgroundStartPrivileges;)Landroid/content/ComponentName;
+HPLcom/android/server/am/ActiveServices;->startServiceLocked(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;IIZLjava/lang/String;Ljava/lang/String;ILandroid/app/BackgroundStartPrivileges;ZILjava/lang/String;Ljava/lang/String;)Landroid/content/ComponentName;
+HPLcom/android/server/am/ActiveServices;->startServiceLocked(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;IIZLjava/lang/String;Ljava/lang/String;IZILjava/lang/String;Ljava/lang/String;)Landroid/content/ComponentName;
+HPLcom/android/server/am/ActiveServices;->stopInBackgroundLocked(I)V
+HPLcom/android/server/am/ActiveServices;->stopServiceAndUpdateAllowlistManagerLocked(Lcom/android/server/am/ServiceRecord;)V
+PLcom/android/server/am/ActiveServices;->stopServiceLocked(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;IZILjava/lang/String;Ljava/lang/String;)I
+HPLcom/android/server/am/ActiveServices;->stopServiceTokenLocked(Landroid/content/ComponentName;Landroid/os/IBinder;I)Z
+PLcom/android/server/am/ActiveServices;->systemServicesReady()V
+HPLcom/android/server/am/ActiveServices;->traceInstant(Ljava/lang/String;Lcom/android/server/am/ServiceRecord;)V
+HPLcom/android/server/am/ActiveServices;->unbindFinishedLocked(Lcom/android/server/am/ServiceRecord;Landroid/content/Intent;Z)V
+HPLcom/android/server/am/ActiveServices;->unbindServiceLocked(Landroid/app/IServiceConnection;)Z
+HPLcom/android/server/am/ActiveServices;->unscheduleServiceRestartLocked(Lcom/android/server/am/ServiceRecord;IZ)Z
+PLcom/android/server/am/ActiveServices;->unscheduleShortFgsTimeoutLocked(Lcom/android/server/am/ServiceRecord;)V
+PLcom/android/server/am/ActiveServices;->updateAllowlistManagerLocked(Lcom/android/server/am/ProcessServiceRecord;)V
+HPLcom/android/server/am/ActiveServices;->updateForegroundApps(Lcom/android/server/am/ActiveServices$ServiceMap;)V
+HPLcom/android/server/am/ActiveServices;->updateNumForegroundServicesLocked()V
+HPLcom/android/server/am/ActiveServices;->updateServiceClientActivitiesLocked(Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ConnectionRecord;Z)Z
+HPLcom/android/server/am/ActiveServices;->updateServiceConnectionActivitiesLocked(Lcom/android/server/am/ProcessServiceRecord;)V
+HPLcom/android/server/am/ActiveServices;->updateServiceForegroundLocked(Lcom/android/server/am/ProcessServiceRecord;Z)V
+HPLcom/android/server/am/ActiveServices;->validateForegroundServiceType(Lcom/android/server/am/ServiceRecord;III)Landroid/util/Pair;
+PLcom/android/server/am/ActiveServices;->verifyPackage(Ljava/lang/String;I)Z
+PLcom/android/server/am/ActiveServices;->withinFgsDeferRateLimit(Lcom/android/server/am/ServiceRecord;J)Z
+HSPLcom/android/server/am/ActiveUids;-><init>(Lcom/android/server/am/ActivityManagerService;Z)V
+HSPLcom/android/server/am/ActiveUids;->clear()V
+HPLcom/android/server/am/ActiveUids;->get(I)Lcom/android/server/am/UidRecord;
+HPLcom/android/server/am/ActiveUids;->put(ILcom/android/server/am/UidRecord;)V
+HPLcom/android/server/am/ActiveUids;->remove(I)V
+HSPLcom/android/server/am/ActiveUids;->size()I
+HPLcom/android/server/am/ActiveUids;->valueAt(I)Lcom/android/server/am/UidRecord;
+HSPLcom/android/server/am/ActivityManagerConstants$1;-><init>(Lcom/android/server/am/ActivityManagerConstants;)V
+PLcom/android/server/am/ActivityManagerConstants$1;->onPropertiesChanged(Landroid/provider/DeviceConfig$Properties;)V
+HSPLcom/android/server/am/ActivityManagerConstants$2;-><init>(Lcom/android/server/am/ActivityManagerConstants;)V
+PLcom/android/server/am/ActivityManagerConstants$2;->onPropertiesChanged(Landroid/provider/DeviceConfig$Properties;)V
+HSPLcom/android/server/am/ActivityManagerConstants;-><clinit>()V
+HSPLcom/android/server/am/ActivityManagerConstants;-><init>(Landroid/content/Context;Lcom/android/server/am/ActivityManagerService;Landroid/os/Handler;)V
+HSPLcom/android/server/am/ActivityManagerConstants;->computeEmptyProcessLimit(I)I
+PLcom/android/server/am/ActivityManagerConstants;->loadDeviceConfigConstants()V
+HSPLcom/android/server/am/ActivityManagerConstants;->loadNativeBootDeviceConfigConstants()V
+PLcom/android/server/am/ActivityManagerConstants;->start(Landroid/content/ContentResolver;)V
+PLcom/android/server/am/ActivityManagerConstants;->updateActivityStartsLoggingEnabled()V
+HPLcom/android/server/am/ActivityManagerConstants;->updateConstants()V
+PLcom/android/server/am/ActivityManagerConstants;->updateForceEnablePssProfiling()V
+PLcom/android/server/am/ActivityManagerConstants;->updateForegroundServiceStartsLoggingEnabled()V
+PLcom/android/server/am/ActivityManagerDebugConfig;-><clinit>()V
+HSPLcom/android/server/am/ActivityManagerProcLock;-><init>()V
+PLcom/android/server/am/ActivityManagerService$$ExternalSyntheticLambda0;-><init>([ILjava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
+PLcom/android/server/am/ActivityManagerService$$ExternalSyntheticLambda18;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/util/LinkedList;)V
+PLcom/android/server/am/ActivityManagerService$$ExternalSyntheticLambda18;->run()V
+PLcom/android/server/am/ActivityManagerService$$ExternalSyntheticLambda19;-><init>(Lcom/android/server/am/ActivityManagerService;JJZZ)V
+HPLcom/android/server/am/ActivityManagerService$$ExternalSyntheticLambda19;->accept(Ljava/lang/Object;)V
+HPLcom/android/server/am/ActivityManagerService$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessRecord;)V
+HSPLcom/android/server/am/ActivityManagerService$$ExternalSyntheticLambda20;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+HSPLcom/android/server/am/ActivityManagerService$$ExternalSyntheticLambda20;->run()V
+PLcom/android/server/am/ActivityManagerService$$ExternalSyntheticLambda22;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ActivityManagerService$$ExternalSyntheticLambda23;-><init>(Lcom/android/server/wm/ActivityTaskManagerInternal;)V
+PLcom/android/server/am/ActivityManagerService$$ExternalSyntheticLambda23;->run()V
+PLcom/android/server/am/ActivityManagerService$$ExternalSyntheticLambda24;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+HPLcom/android/server/am/ActivityManagerService$$ExternalSyntheticLambda29;-><init>(Lcom/android/server/am/ActivityManagerService;JZLcom/android/server/am/ProcessRecord;IJ)V
+PLcom/android/server/am/ActivityManagerService$$ExternalSyntheticLambda3;-><init>(Ljava/lang/StringBuilder;Landroid/content/pm/IPackageManager;I)V
+PLcom/android/server/am/ActivityManagerService$$ExternalSyntheticLambda3;->accept(Ljava/lang/Object;)V
+PLcom/android/server/am/ActivityManagerService$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/app/IUnsafeIntentStrictModeCallback;Landroid/content/Intent;I)V
+PLcom/android/server/am/ActivityManagerService$$ExternalSyntheticLambda6;->run()V
+HPLcom/android/server/am/ActivityManagerService$$ExternalSyntheticLambda7;-><init>(Landroid/os/DropBoxManager;Ljava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/am/ActivityManagerService$$ExternalSyntheticLambda7;->run()V
+HPLcom/android/server/am/ActivityManagerService$14;-><init>(Lcom/android/server/am/ActivityManagerService;I)V
+PLcom/android/server/am/ActivityManagerService$14;->binderDied()V
+HPLcom/android/server/am/ActivityManagerService$15;-><init>(Lcom/android/server/am/ActivityManagerService;IILandroid/os/IBinder;Ljava/lang/String;Landroid/app/ApplicationErrorReport$ParcelableCrashInfo;)V
+HPLcom/android/server/am/ActivityManagerService$15;->run()V
+PLcom/android/server/am/ActivityManagerService$16;-><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;ZLandroid/os/DropBoxManager;)V
+PLcom/android/server/am/ActivityManagerService$16;->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
+HSPLcom/android/server/am/ActivityManagerService$2;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ActivityManagerService$2;->onActivityLaunchFinished(JLandroid/content/ComponentName;JI)V
+PLcom/android/server/am/ActivityManagerService$2;->onActivityLaunched(JLandroid/content/ComponentName;II)V
+PLcom/android/server/am/ActivityManagerService$2;->onIntentStarted(Landroid/content/Intent;J)V
+PLcom/android/server/am/ActivityManagerService$2;->onReportFullyDrawn(JJ)V
+HSPLcom/android/server/am/ActivityManagerService$3;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+HPLcom/android/server/am/ActivityManagerService$3;->allowFilterResult(Lcom/android/server/am/BroadcastFilter;Ljava/util/List;)Z
+HPLcom/android/server/am/ActivityManagerService$3;->allowFilterResult(Ljava/lang/Object;Ljava/util/List;)Z
+PLcom/android/server/am/ActivityManagerService$3;->getIntentFilter(Lcom/android/server/am/BroadcastFilter;)Landroid/content/IntentFilter;
+HPLcom/android/server/am/ActivityManagerService$3;->getIntentFilter(Ljava/lang/Object;)Landroid/content/IntentFilter;
+HPLcom/android/server/am/ActivityManagerService$3;->isPackageForFilter(Ljava/lang/String;Lcom/android/server/am/BroadcastFilter;)Z
+HPLcom/android/server/am/ActivityManagerService$3;->isPackageForFilter(Ljava/lang/String;Ljava/lang/Object;)Z
+HPLcom/android/server/am/ActivityManagerService$3;->newArray(I)[Lcom/android/server/am/BroadcastFilter;
+HPLcom/android/server/am/ActivityManagerService$3;->newArray(I)[Ljava/lang/Object;
+HPLcom/android/server/am/ActivityManagerService$3;->newResult(Lcom/android/server/pm/Computer;Lcom/android/server/am/BroadcastFilter;IIJ)Lcom/android/server/am/BroadcastFilter;
+HPLcom/android/server/am/ActivityManagerService$3;->newResult(Lcom/android/server/pm/Computer;Ljava/lang/Object;IIJ)Ljava/lang/Object;
+PLcom/android/server/am/ActivityManagerService$4;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ActivityManagerService$5;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ActivityManagerService$8;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ActivityManagerService$9$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/am/ActivityManagerService$9;)V
+PLcom/android/server/am/ActivityManagerService$9;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ActivityManagerService$9;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
+HPLcom/android/server/am/ActivityManagerService$AppDeathRecipient;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessRecord;ILandroid/app/IApplicationThread;)V
+HPLcom/android/server/am/ActivityManagerService$AppDeathRecipient;->binderDied()V
+PLcom/android/server/am/ActivityManagerService$CacheBinder;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ActivityManagerService$DbBinder;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+HSPLcom/android/server/am/ActivityManagerService$FgsTempAllowListItem;-><init>(JILjava/lang/String;I)V
+HSPLcom/android/server/am/ActivityManagerService$GetBackgroundStartPrivilegesFunctor;-><init>()V
+HSPLcom/android/server/am/ActivityManagerService$GetBackgroundStartPrivilegesFunctor;-><init>(Lcom/android/server/am/ActivityManagerService$GetBackgroundStartPrivilegesFunctor-IA;)V
+PLcom/android/server/am/ActivityManagerService$GraphicsBinder;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+HSPLcom/android/server/am/ActivityManagerService$HiddenApiSettings;-><init>(Landroid/os/Handler;Landroid/content/Context;)V
+PLcom/android/server/am/ActivityManagerService$HiddenApiSettings;->getPolicy()I
+PLcom/android/server/am/ActivityManagerService$HiddenApiSettings;->getValidEnforcementPolicy(Ljava/lang/String;)I
+PLcom/android/server/am/ActivityManagerService$HiddenApiSettings;->isDisabled()Z
+PLcom/android/server/am/ActivityManagerService$HiddenApiSettings;->registerObserver()V
+PLcom/android/server/am/ActivityManagerService$HiddenApiSettings;->update()V
+HSPLcom/android/server/am/ActivityManagerService$Injector;->-$$Nest$fputmUserController(Lcom/android/server/am/ActivityManagerService$Injector;Lcom/android/server/am/UserController;)V
+HSPLcom/android/server/am/ActivityManagerService$Injector;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/am/ActivityManagerService$Injector;->clearCallingIdentity()J
+HPLcom/android/server/am/ActivityManagerService$Injector;->ensureHasNetworkManagementInternal()Z
+HSPLcom/android/server/am/ActivityManagerService$Injector;->getAppOpsService(Ljava/io/File;Ljava/io/File;Landroid/os/Handler;)Lcom/android/server/appop/AppOpsService;
+HSPLcom/android/server/am/ActivityManagerService$Injector;->getBroadcastQueues(Lcom/android/server/am/ActivityManagerService;)[Lcom/android/server/am/BroadcastQueue;
+HPLcom/android/server/am/ActivityManagerService$Injector;->getCallingPid()I
+HPLcom/android/server/am/ActivityManagerService$Injector;->getCallingUid()I
+HSPLcom/android/server/am/ActivityManagerService$Injector;->getContext()Landroid/content/Context;
+HSPLcom/android/server/am/ActivityManagerService$Injector;->getProcessList(Lcom/android/server/am/ActivityManagerService;)Lcom/android/server/am/ProcessList;
+HSPLcom/android/server/am/ActivityManagerService$Injector;->getUiHandler(Lcom/android/server/am/ActivityManagerService;)Landroid/os/Handler;
+HPLcom/android/server/am/ActivityManagerService$Injector;->isNetworkRestrictedForUid(I)Z
+HPLcom/android/server/am/ActivityManagerService$Injector;->restoreCallingIdentity(J)V
+HSPLcom/android/server/am/ActivityManagerService$IntentFirewallInterface;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+HSPLcom/android/server/am/ActivityManagerService$IntentFirewallInterface;->getAMSLock()Ljava/lang/Object;
+PLcom/android/server/am/ActivityManagerService$ItemMatcher;-><init>()V
+PLcom/android/server/am/ActivityManagerService$ItemMatcher;->build(Ljava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService$ItemMatcher;->match(Ljava/lang/Object;Landroid/content/ComponentName;)Z
+HSPLcom/android/server/am/ActivityManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/am/ActivityManagerService$Lifecycle;->getService()Lcom/android/server/am/ActivityManagerService;
+HSPLcom/android/server/am/ActivityManagerService$Lifecycle;->onBootPhase(I)V
+HSPLcom/android/server/am/ActivityManagerService$Lifecycle;->onStart()V
+HSPLcom/android/server/am/ActivityManagerService$Lifecycle;->startService(Lcom/android/server/SystemServiceManager;Lcom/android/server/wm/ActivityTaskManagerService;)Lcom/android/server/am/ActivityManagerService;
+HSPLcom/android/server/am/ActivityManagerService$LocalService;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->addAppBackgroundRestrictionListener(Landroid/app/ActivityManagerInternal$AppBackgroundRestrictionListener;)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->addBindServiceEventListener(Landroid/app/ActivityManagerInternal$BindServiceEventListener;)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->addBroadcastEventListener(Landroid/app/ActivityManagerInternal$BroadcastEventListener;)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->addForegroundServiceStateListener(Landroid/app/ActivityManagerInternal$ForegroundServiceStateListener;)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->addPendingTopUid(IILandroid/app/IApplicationThread;)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->applyForegroundServiceNotification(Landroid/app/Notification;Ljava/lang/String;ILjava/lang/String;I)Landroid/app/ActivityManagerInternal$ServiceNotificationPolicy;
+PLcom/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[ILjava/util/function/BiFunction;Landroid/os/Bundle;)I
+PLcom/android/server/am/ActivityManagerService$LocalService;->broadcastIntentInPackage(Ljava/lang/String;Ljava/lang/String;IIILandroid/content/Intent;Ljava/lang/String;Landroid/app/IApplicationThread;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;Landroid/os/Bundle;ZZILandroid/app/BackgroundStartPrivileges;[I)I
+HPLcom/android/server/am/ActivityManagerService$LocalService;->checkContentProviderAccess(Ljava/lang/String;I)Ljava/lang/String;
+HPLcom/android/server/am/ActivityManagerService$LocalService;->deletePendingTopUid(IJ)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->enforceBroadcastOptionsPermissions(Landroid/os/Bundle;I)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->finishBooting()V
+PLcom/android/server/am/ActivityManagerService$LocalService;->getBootTimeTempAllowListDuration()J
+PLcom/android/server/am/ActivityManagerService$LocalService;->getCurrentProfileIds()[I
+HPLcom/android/server/am/ActivityManagerService$LocalService;->getCurrentUserId()I
+PLcom/android/server/am/ActivityManagerService$LocalService;->getInstrumentationSourceUid(I)I
+HPLcom/android/server/am/ActivityManagerService$LocalService;->getRestrictionLevel(I)I
+PLcom/android/server/am/ActivityManagerService$LocalService;->getServiceStartForegroundTimeout()I
+HPLcom/android/server/am/ActivityManagerService$LocalService;->getUidProcessState(I)I
+HPLcom/android/server/am/ActivityManagerService$LocalService;->handleIncomingUser(IIIZILjava/lang/String;Ljava/lang/String;)I
+HPLcom/android/server/am/ActivityManagerService$LocalService;->hasForegroundServiceNotification(Ljava/lang/String;ILjava/lang/String;)Z
+PLcom/android/server/am/ActivityManagerService$LocalService;->hasStartedUserState(I)Z
+HPLcom/android/server/am/ActivityManagerService$LocalService;->isAppBad(Ljava/lang/String;I)Z
+HPLcom/android/server/am/ActivityManagerService$LocalService;->isAppStartModeDisabled(ILjava/lang/String;)Z
+HPLcom/android/server/am/ActivityManagerService$LocalService;->isAssociatedCompanionApp(II)Z
+HPLcom/android/server/am/ActivityManagerService$LocalService;->isBgAutoRestrictedBucketFeatureFlagEnabled()Z
+PLcom/android/server/am/ActivityManagerService$LocalService;->isBooted()Z
+PLcom/android/server/am/ActivityManagerService$LocalService;->isBooting()Z
+HPLcom/android/server/am/ActivityManagerService$LocalService;->isDeviceOwner(I)Z
+PLcom/android/server/am/ActivityManagerService$LocalService;->isModernQueueEnabled()Z
+HPLcom/android/server/am/ActivityManagerService$LocalService;->isPendingTopUid(I)Z
+HPLcom/android/server/am/ActivityManagerService$LocalService;->isProfileOwner(I)Z
+PLcom/android/server/am/ActivityManagerService$LocalService;->isSplitConfigurationChange(I)Z
+PLcom/android/server/am/ActivityManagerService$LocalService;->isSystemReady()Z
+HPLcom/android/server/am/ActivityManagerService$LocalService;->isTempAllowlistedForFgsWhileInUse(I)Z
+HPLcom/android/server/am/ActivityManagerService$LocalService;->isUidActive(I)Z
+PLcom/android/server/am/ActivityManagerService$LocalService;->isUserRunning(II)Z
+PLcom/android/server/am/ActivityManagerService$LocalService;->killAllBackgroundProcessesExcept(II)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->logFgsApiBegin(III)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->logFgsApiEnd(III)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->noteAlarmFinish(Landroid/app/PendingIntent;Landroid/os/WorkSource;ILjava/lang/String;)V
+HPLcom/android/server/am/ActivityManagerService$LocalService;->noteAlarmStart(Landroid/app/PendingIntent;Landroid/os/WorkSource;ILjava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->noteWakeupAlarm(Landroid/app/PendingIntent;Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/am/ActivityManagerService$LocalService;->notifyNetworkPolicyRulesUpdated(IJ)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->onForegroundServiceNotificationUpdate(ZLandroid/app/Notification;ILjava/lang/String;I)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->registerAnrController(Landroid/app/AnrController;)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->registerNetworkPolicyUidObserver(Landroid/app/IUidObserver;IILjava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->registerProcessObserver(Landroid/app/IProcessObserver;)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->scheduleAppGcs()V
+PLcom/android/server/am/ActivityManagerService$LocalService;->setBooted(Z)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->setBooting(Z)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->setCompanionAppUids(ILjava/util/Set;)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->setDeviceIdleAllowlist([I[I)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->setDeviceOwnerUid(I)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->setHasOverlayUi(IZ)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->setPendingIntentAllowBgActivityStarts(Landroid/content/IIntentSender;Landroid/os/IBinder;I)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->setPendingIntentAllowlistDuration(Landroid/content/IIntentSender;Landroid/os/IBinder;JIILjava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->setProfileOwnerUid(Landroid/util/ArraySet;)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->setVoiceInteractionManagerProvider(Landroid/app/ActivityManagerInternal$VoiceInteractionManagerProvider;)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->shouldConfirmCredentials(I)Z
+PLcom/android/server/am/ActivityManagerService$LocalService;->shouldWaitForNetworkRulesUpdate(I)Z
+HPLcom/android/server/am/ActivityManagerService$LocalService;->startProcess(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;ZZLjava/lang/String;Landroid/content/ComponentName;)V
+HPLcom/android/server/am/ActivityManagerService$LocalService;->startServiceInPackage(ILandroid/content/Intent;Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;ILandroid/app/BackgroundStartPrivileges;)Landroid/content/ComponentName;
+PLcom/android/server/am/ActivityManagerService$LocalService;->trimApplications()V
+PLcom/android/server/am/ActivityManagerService$LocalService;->updateActivityUsageStats(Landroid/content/ComponentName;IILandroid/os/IBinder;Landroid/content/ComponentName;Landroid/app/assist/ActivityId;)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->updateBatteryStats(Landroid/content/ComponentName;IIZ)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->updateCpuStats()V
+HPLcom/android/server/am/ActivityManagerService$LocalService;->updateDeviceIdleTempAllowlist([IIZJIILjava/lang/String;I)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->updateForegroundTimeIfOnBattery(Ljava/lang/String;IJ)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->updateOomLevelsForDisplay(I)V
+PLcom/android/server/am/ActivityManagerService$MainHandler$$ExternalSyntheticLambda1;-><init>(Landroid/os/Message;)V
+HPLcom/android/server/am/ActivityManagerService$MainHandler$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;)V
+PLcom/android/server/am/ActivityManagerService$MainHandler$$ExternalSyntheticLambda2;-><init>(Landroid/os/Message;)V
+HPLcom/android/server/am/ActivityManagerService$MainHandler$$ExternalSyntheticLambda2;->accept(Ljava/lang/Object;)V
+HPLcom/android/server/am/ActivityManagerService$MainHandler;->$r8$lambda$-BaOH0nhWmB1j4fAdRCLVwJvRCA(Landroid/os/Message;Landroid/app/ActivityManagerInternal$BindServiceEventListener;)V
+HPLcom/android/server/am/ActivityManagerService$MainHandler;->$r8$lambda$bz9CTa7TXqawLiiOdBfpNP_dnbI(Landroid/os/Message;Landroid/app/ActivityManagerInternal$BroadcastEventListener;)V
+HSPLcom/android/server/am/ActivityManagerService$MainHandler;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/os/Looper;)V
+HPLcom/android/server/am/ActivityManagerService$MainHandler;->handleMessage(Landroid/os/Message;)V
+HPLcom/android/server/am/ActivityManagerService$MainHandler;->lambda$handleMessage$1(Landroid/os/Message;Landroid/app/ActivityManagerInternal$BroadcastEventListener;)V
+HPLcom/android/server/am/ActivityManagerService$MainHandler;->lambda$handleMessage$2(Landroid/os/Message;Landroid/app/ActivityManagerInternal$BindServiceEventListener;)V
+PLcom/android/server/am/ActivityManagerService$MemBinder$1;-><init>(Lcom/android/server/am/ActivityManagerService$MemBinder;)V
+PLcom/android/server/am/ActivityManagerService$MemBinder;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+HPLcom/android/server/am/ActivityManagerService$PendingTempAllowlist;-><init>(IJILjava/lang/String;II)V
+PLcom/android/server/am/ActivityManagerService$PermissionController;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+HPLcom/android/server/am/ActivityManagerService$PermissionController;->checkPermission(Ljava/lang/String;II)Z
+PLcom/android/server/am/ActivityManagerService$PermissionController;->getPackagesForUid(I)[Ljava/lang/String;
+PLcom/android/server/am/ActivityManagerService$PermissionController;->isRuntimePermission(Ljava/lang/String;)Z
+HSPLcom/android/server/am/ActivityManagerService$PidMap;-><init>()V
+HPLcom/android/server/am/ActivityManagerService$PidMap;->doAddInternal(ILcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/ActivityManagerService$PidMap;->doRemoveInternal(ILcom/android/server/am/ProcessRecord;)Z
+HPLcom/android/server/am/ActivityManagerService$PidMap;->get(I)Lcom/android/server/am/ProcessRecord;
+PLcom/android/server/am/ActivityManagerService$PidMap;->size()I
+PLcom/android/server/am/ActivityManagerService$PidMap;->valueAt(I)Lcom/android/server/am/ProcessRecord;
+PLcom/android/server/am/ActivityManagerService$ProcessChangeItem;-><init>()V
+PLcom/android/server/am/ActivityManagerService$ProcessInfoService;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ActivityManagerService$StickyBroadcast;-><init>()V
+HPLcom/android/server/am/ActivityManagerService$StickyBroadcast;->create(Landroid/content/Intent;ZII)Lcom/android/server/am/ActivityManagerService$StickyBroadcast;
+HSPLcom/android/server/am/ActivityManagerService$UiHandler;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+HPLcom/android/server/am/ActivityManagerService$UiHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/am/ActivityManagerService$VolatileDropboxEntryStates;-><init>(Ljava/lang/Boolean;)V
+PLcom/android/server/am/ActivityManagerService$VolatileDropboxEntryStates;->isProcessFrozen()Ljava/lang/Boolean;
+PLcom/android/server/am/ActivityManagerService$VolatileDropboxEntryStates;->withProcessFrozenState(Z)Lcom/android/server/am/ActivityManagerService$VolatileDropboxEntryStates;
+HSPLcom/android/server/am/ActivityManagerService;->$r8$lambda$4jAnBrF-SmuZoSRgfVhHQN2lKao(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ActivityManagerService;->$r8$lambda$Dp0egYYO_wvfUqcu1s5QAPQddjA([ILjava/lang/String;Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/ActivityManagerService;->$r8$lambda$IE8SqRKSFsLlY7GC_8cKvVDeK0g(Lcom/android/server/am/ActivityManagerService;Ljava/util/LinkedList;)V
+PLcom/android/server/am/ActivityManagerService;->$r8$lambda$IzjUh_o8KWqydvYO0dnNprsu32k(Lcom/android/server/am/ActivityManagerService;JJZZLcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/ActivityManagerService;->$r8$lambda$e8WnLKSH7e6sDHRELddgL3PL_d8(Landroid/os/DropBoxManager;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService;->$r8$lambda$gwpxWp5Qwn61kRYqtmpQ9WyBNik(Lcom/android/server/am/ActivityManagerService;Landroid/app/IUnsafeIntentStrictModeCallback;Landroid/content/Intent;I)V
+PLcom/android/server/am/ActivityManagerService;->$r8$lambda$p1-L-hA5wy-OdXKEh0TX_hvZ7h0(Ljava/lang/StringBuilder;Landroid/content/pm/IPackageManager;ILjava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService;->-$$Nest$fgetmCompanionAppUidsMap(Lcom/android/server/am/ActivityManagerService;)Ljava/util/Map;
+HPLcom/android/server/am/ActivityManagerService;->-$$Nest$fgetmDeviceOwnerUid(Lcom/android/server/am/ActivityManagerService;)I
+HPLcom/android/server/am/ActivityManagerService;->-$$Nest$fgetmFgsWhileInUseTempAllowList(Lcom/android/server/am/ActivityManagerService;)Lcom/android/server/am/FgsTempAllowList;
+PLcom/android/server/am/ActivityManagerService;->-$$Nest$fgetmNetworkPolicyUidObserver(Lcom/android/server/am/ActivityManagerService;)Landroid/app/IUidObserver;
+HPLcom/android/server/am/ActivityManagerService;->-$$Nest$fgetmPendingStartActivityUids(Lcom/android/server/am/ActivityManagerService;)Lcom/android/server/am/PendingStartActivityUids;
+HPLcom/android/server/am/ActivityManagerService;->-$$Nest$fgetmProfileOwnerUids(Lcom/android/server/am/ActivityManagerService;)Landroid/util/ArraySet;
+PLcom/android/server/am/ActivityManagerService;->-$$Nest$fgetmStrictModeCallbacks(Lcom/android/server/am/ActivityManagerService;)Landroid/util/SparseArray;
+PLcom/android/server/am/ActivityManagerService;->-$$Nest$fgetmUidNetworkBlockedReasons(Lcom/android/server/am/ActivityManagerService;)Landroid/util/SparseIntArray;
+PLcom/android/server/am/ActivityManagerService;->-$$Nest$fputmDeviceOwnerUid(Lcom/android/server/am/ActivityManagerService;I)V
+PLcom/android/server/am/ActivityManagerService;->-$$Nest$fputmNetworkPolicyUidObserver(Lcom/android/server/am/ActivityManagerService;Landroid/app/IUidObserver;)V
+PLcom/android/server/am/ActivityManagerService;->-$$Nest$fputmProfileOwnerUids(Lcom/android/server/am/ActivityManagerService;Landroid/util/ArraySet;)V
+PLcom/android/server/am/ActivityManagerService;->-$$Nest$mdoDump(Lcom/android/server/am/ActivityManagerService;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;Z)V
+PLcom/android/server/am/ActivityManagerService;->-$$Nest$mhandleBindApplicationTimeoutHard(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/ActivityManagerService;->-$$Nest$mhandleBindApplicationTimeoutSoft(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessRecord;I)V
+HPLcom/android/server/am/ActivityManagerService;->-$$Nest$misAppBad(Lcom/android/server/am/ActivityManagerService;Ljava/lang/String;I)Z
+PLcom/android/server/am/ActivityManagerService;->-$$Nest$msetHomeTimeout(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ActivityManagerService;->-$$Nest$msetVoiceInteractionManagerProvider(Lcom/android/server/am/ActivityManagerService;Landroid/app/ActivityManagerInternal$VoiceInteractionManagerProvider;)V
+HSPLcom/android/server/am/ActivityManagerService;->-$$Nest$mstart(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ActivityManagerService;->-$$Nest$mstartBroadcastObservers(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ActivityManagerService;->-$$Nest$mtrimApplications(Lcom/android/server/am/ActivityManagerService;ZI)V
+HSPLcom/android/server/am/ActivityManagerService;-><clinit>()V
+HSPLcom/android/server/am/ActivityManagerService;-><init>(Landroid/content/Context;Lcom/android/server/wm/ActivityTaskManagerService;)V
+PLcom/android/server/am/ActivityManagerService;->addAppLocked(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;ZLjava/lang/String;I)Lcom/android/server/am/ProcessRecord;
+HPLcom/android/server/am/ActivityManagerService;->addAppLocked(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;ZZILjava/lang/String;ZZLjava/lang/String;I)Lcom/android/server/am/ProcessRecord;
+PLcom/android/server/am/ActivityManagerService;->addAppLocked(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;ZZLjava/lang/String;I)Lcom/android/server/am/ProcessRecord;
+PLcom/android/server/am/ActivityManagerService;->addAppLocked(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;ZZZLjava/lang/String;I)Lcom/android/server/am/ProcessRecord;
+HPLcom/android/server/am/ActivityManagerService;->addBackgroundCheckViolationLocked(Ljava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/am/ActivityManagerService;->addBroadcastStatLocked(Ljava/lang/String;Ljava/lang/String;IIJ)V
+HPLcom/android/server/am/ActivityManagerService;->addErrorToDropBox(Ljava/lang/String;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Ljava/io/File;Landroid/app/ApplicationErrorReport$CrashInfo;Ljava/lang/Float;Landroid/os/incremental/IncrementalMetrics;Ljava/util/UUID;Lcom/android/server/am/ActivityManagerService$VolatileDropboxEntryStates;)V
+HPLcom/android/server/am/ActivityManagerService;->addPackageDependency(Ljava/lang/String;)V
+HPLcom/android/server/am/ActivityManagerService;->addPidLocked(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/ActivityManagerService;->addServiceToMap(Landroid/util/ArrayMap;Ljava/lang/String;)V
+HPLcom/android/server/am/ActivityManagerService;->appDiedLocked(Lcom/android/server/am/ProcessRecord;ILandroid/app/IApplicationThread;ZLjava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService;->appDiedLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService;->appRestrictedInBackgroundLOSP(ILjava/lang/String;I)I
+PLcom/android/server/am/ActivityManagerService;->appServicesRestrictedInBackgroundLOSP(ILjava/lang/String;I)I
+HPLcom/android/server/am/ActivityManagerService;->appendDropBoxProcessHeaders(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Lcom/android/server/am/ActivityManagerService$VolatileDropboxEntryStates;Ljava/lang/StringBuilder;)V
+HPLcom/android/server/am/ActivityManagerService;->attachApplication(Landroid/app/IApplicationThread;J)V
+HPLcom/android/server/am/ActivityManagerService;->attachApplicationLocked(Landroid/app/IApplicationThread;IIJ)V
+PLcom/android/server/am/ActivityManagerService;->backgroundServicesFinishedLocked(I)V
+PLcom/android/server/am/ActivityManagerService;->batteryNeedsCpuUpdate()V
+HPLcom/android/server/am/ActivityManagerService;->bindServiceInstance(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IServiceConnection;JLjava/lang/String;Ljava/lang/String;I)I
+HPLcom/android/server/am/ActivityManagerService;->bindServiceInstance(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IServiceConnection;JLjava/lang/String;ZILjava/lang/String;Landroid/app/IApplicationThread;Ljava/lang/String;I)I
+HPLcom/android/server/am/ActivityManagerService;->boostPriorityForLockedSection()V
+HSPLcom/android/server/am/ActivityManagerService;->boostPriorityForProcLockedSection()V
+PLcom/android/server/am/ActivityManagerService;->bootAnimationComplete()V
+PLcom/android/server/am/ActivityManagerService;->broadcastIntentInPackage(Ljava/lang/String;Ljava/lang/String;IIILandroid/content/Intent;Ljava/lang/String;Lcom/android/server/am/ProcessRecord;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;Landroid/os/Bundle;ZZILandroid/app/BackgroundStartPrivileges;[I)I
+PLcom/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;[Ljava/lang/String;[Ljava/lang/String;ILandroid/os/Bundle;ZZIIIII)I
+HPLcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Lcom/android/server/am/ProcessRecord;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/os/Bundle;ZZIIIIILandroid/app/BackgroundStartPrivileges;[ILjava/util/function/BiFunction;)I
+HPLcom/android/server/am/ActivityManagerService;->broadcastIntentLockedTraced(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Lcom/android/server/am/ProcessRecord;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/app/BroadcastOptions;ZZIIIIILandroid/app/BackgroundStartPrivileges;[ILjava/util/function/BiFunction;)I
+HPLcom/android/server/am/ActivityManagerService;->broadcastIntentWithFeature(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/os/Bundle;ZZI)I
+HPLcom/android/server/am/ActivityManagerService;->broadcastQueueForFlags(I)Lcom/android/server/am/BroadcastQueue;
+HPLcom/android/server/am/ActivityManagerService;->broadcastQueueForFlags(ILjava/lang/Object;)Lcom/android/server/am/BroadcastQueue;
+HPLcom/android/server/am/ActivityManagerService;->broadcastQueueForIntent(Landroid/content/Intent;)Lcom/android/server/am/BroadcastQueue;
+HPLcom/android/server/am/ActivityManagerService;->cancelIntentSender(Landroid/content/IIntentSender;)V
+HPLcom/android/server/am/ActivityManagerService;->checkBroadcastFromSystem(Landroid/content/Intent;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;IZLjava/util/List;)V
+HPLcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
+HPLcom/android/server/am/ActivityManagerService;->checkComponentPermission(Ljava/lang/String;IIIIZ)I
+HPLcom/android/server/am/ActivityManagerService;->checkComponentPermission(Ljava/lang/String;IIIZ)I
+PLcom/android/server/am/ActivityManagerService;->checkExcessivePowerUsage()V
+HPLcom/android/server/am/ActivityManagerService;->checkPermission(Ljava/lang/String;II)I
+HPLcom/android/server/am/ActivityManagerService;->checkPermissionForDevice(Ljava/lang/String;III)I
+HPLcom/android/server/am/ActivityManagerService;->checkTime(JLjava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService;->checkUriPermission(Landroid/net/Uri;IIIILandroid/os/IBinder;)I
+PLcom/android/server/am/ActivityManagerService;->checkUriPermission(Landroid/net/Uri;IIIIZLjava/lang/String;)I
+HPLcom/android/server/am/ActivityManagerService;->cleanUpApplicationRecordLocked(Lcom/android/server/am/ProcessRecord;IZZIZZ)Z
+HPLcom/android/server/am/ActivityManagerService;->clearProcessForegroundLocked(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/ActivityManagerService;->collectReceiverComponents(Landroid/content/Intent;Ljava/lang/String;I[I[I)Ljava/util/List;
+HPLcom/android/server/am/ActivityManagerService;->compatibilityInfoForPackage(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo;
+HPLcom/android/server/am/ActivityManagerService;->doDump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;Z)V
+PLcom/android/server/am/ActivityManagerService;->doStopUidLocked(ILcom/android/server/am/UidRecord;)V
+PLcom/android/server/am/ActivityManagerService;->doesReasonCodeAllowSchedulingUserInitiatedJobs(I)Z
+PLcom/android/server/am/ActivityManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/server/am/ActivityManagerService;->enforceAllowedToStartOrBindServiceIfSdkSandbox(Landroid/content/Intent;)V
+PLcom/android/server/am/ActivityManagerService;->enforceBroadcastOptionPermissionsInternal(Landroid/app/BroadcastOptions;I)V
+HPLcom/android/server/am/ActivityManagerService;->enforceBroadcastOptionPermissionsInternal(Landroid/os/Bundle;I)V
+HPLcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/am/ActivityManagerService;->enforceDumpPermissionForPackage(Ljava/lang/String;IILjava/lang/String;)I
+HPLcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
+HPLcom/android/server/am/ActivityManagerService;->enforceNotIsolatedOrSdkSandboxCaller(Ljava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService;->enforcePermission(Ljava/lang/String;IILjava/lang/String;)V
+HPLcom/android/server/am/ActivityManagerService;->enqueueOomAdjTargetLocked(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/ActivityManagerService;->enqueueUidChangeLocked(Lcom/android/server/am/UidRecord;II)V
+HPLcom/android/server/am/ActivityManagerService;->ensureAllowedAssociations()V
+HPLcom/android/server/am/ActivityManagerService;->filterNonExportedComponents(Landroid/content/Intent;IILjava/util/List;Lcom/android/server/compat/PlatformCompat;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService;->findAppProcess(Landroid/os/IBinder;Ljava/lang/String;)Lcom/android/server/am/ProcessRecord;
+HPLcom/android/server/am/ActivityManagerService;->finishAttachApplication(J)V
+HPLcom/android/server/am/ActivityManagerService;->finishAttachApplicationInner(JII)V
+HPLcom/android/server/am/ActivityManagerService;->finishBooting()V
+PLcom/android/server/am/ActivityManagerService;->finishForceStopPackageLocked(Ljava/lang/String;I)V
+HPLcom/android/server/am/ActivityManagerService;->finishReceiver(Landroid/os/IBinder;ILjava/lang/String;Landroid/os/Bundle;ZI)V
+PLcom/android/server/am/ActivityManagerService;->forceStopPackage(Ljava/lang/String;I)V
+PLcom/android/server/am/ActivityManagerService;->forceStopPackage(Ljava/lang/String;IILjava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService;->forceStopPackageLocked(Ljava/lang/String;IZZZZZZILjava/lang/String;)Z
+HPLcom/android/server/am/ActivityManagerService;->forceStopPackageLocked(Ljava/lang/String;IZZZZZZILjava/lang/String;I)Z
+PLcom/android/server/am/ActivityManagerService;->frozenBinderTransactionDetected(IIII)V
+PLcom/android/server/am/ActivityManagerService;->getAppId(Ljava/lang/String;)I
+PLcom/android/server/am/ActivityManagerService;->getAppInfoForUser(Landroid/content/pm/ApplicationInfo;I)Landroid/content/pm/ApplicationInfo;
+HPLcom/android/server/am/ActivityManagerService;->getAppOpsManager()Landroid/app/AppOpsManager;
+HPLcom/android/server/am/ActivityManagerService;->getAppStartModeLOSP(ILjava/lang/String;IIZZZ)I
+HPLcom/android/server/am/ActivityManagerService;->getBackgroundLaunchBroadcasts()Landroid/util/ArraySet;
+HPLcom/android/server/am/ActivityManagerService;->getCommonServicesLocked(Z)Landroid/util/ArrayMap;
+PLcom/android/server/am/ActivityManagerService;->getConfiguration()Landroid/content/res/Configuration;
+HPLcom/android/server/am/ActivityManagerService;->getContentProvider(Landroid/app/IApplicationThread;Ljava/lang/String;Ljava/lang/String;IZ)Landroid/app/ContentProviderHolder;
+PLcom/android/server/am/ActivityManagerService;->getContentProviderHelper()Lcom/android/server/am/ContentProviderHelper;
+PLcom/android/server/am/ActivityManagerService;->getCurrentUser()Landroid/content/pm/UserInfo;
+HPLcom/android/server/am/ActivityManagerService;->getCurrentUserId()I
+HPLcom/android/server/am/ActivityManagerService;->getHistoricalProcessExitReasons(Ljava/lang/String;III)Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/am/ActivityManagerService;->getInfoForIntentSender(Landroid/content/IIntentSender;)Landroid/app/ActivityManager$PendingIntentInfo;
+HPLcom/android/server/am/ActivityManagerService;->getIntentSenderWithFeature(ILjava/lang/String;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILandroid/os/Bundle;I)Landroid/content/IIntentSender;
+HPLcom/android/server/am/ActivityManagerService;->getIntentSenderWithFeatureAsApp(ILjava/lang/String;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILandroid/os/Bundle;II)Landroid/content/IIntentSender;
+PLcom/android/server/am/ActivityManagerService;->getMemoryInfo(Landroid/app/ActivityManager$MemoryInfo;)V
+HPLcom/android/server/am/ActivityManagerService;->getMemoryTrimLevel()I
+HPLcom/android/server/am/ActivityManagerService;->getMyMemoryState(Landroid/app/ActivityManager$RunningAppProcessInfo;)V
+HPLcom/android/server/am/ActivityManagerService;->getPackageManagerInternal()Landroid/content/pm/PackageManagerInternal;
+PLcom/android/server/am/ActivityManagerService;->getPackageProcessState(Ljava/lang/String;Ljava/lang/String;)I
+HPLcom/android/server/am/ActivityManagerService;->getProcessRecordLocked(Ljava/lang/String;I)Lcom/android/server/am/ProcessRecord;
+HPLcom/android/server/am/ActivityManagerService;->getRealProcessStateLocked(Lcom/android/server/am/ProcessRecord;I)I
+HPLcom/android/server/am/ActivityManagerService;->getRecordForAppLOSP(Landroid/app/IApplicationThread;)Lcom/android/server/am/ProcessRecord;
+HPLcom/android/server/am/ActivityManagerService;->getRecordForAppLOSP(Landroid/os/IBinder;)Lcom/android/server/am/ProcessRecord;
+HPLcom/android/server/am/ActivityManagerService;->getRunningAppProcesses()Ljava/util/List;
+HPLcom/android/server/am/ActivityManagerService;->getRunningUserIds()[I
+PLcom/android/server/am/ActivityManagerService;->getServices(II)Ljava/util/List;
+HPLcom/android/server/am/ActivityManagerService;->getShortAction(Ljava/lang/String;)Ljava/lang/String;
+HPLcom/android/server/am/ActivityManagerService;->getTagForIntentSender(Landroid/content/IIntentSender;Ljava/lang/String;)Ljava/lang/String;
+HPLcom/android/server/am/ActivityManagerService;->getTagForIntentSenderLocked(Lcom/android/server/am/PendingIntentRecord;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/am/ActivityManagerService;->getTaskForActivity(Landroid/os/IBinder;Z)I
+HSPLcom/android/server/am/ActivityManagerService;->getTopApp()Lcom/android/server/am/ProcessRecord;
+HPLcom/android/server/am/ActivityManagerService;->getUidProcessCapabilityLocked(I)I
+HPLcom/android/server/am/ActivityManagerService;->getUidProcessState(ILjava/lang/String;)I
+PLcom/android/server/am/ActivityManagerService;->getUidProcessStateInnerLOSP(I)I
+HPLcom/android/server/am/ActivityManagerService;->getUidState(I)I
+HPLcom/android/server/am/ActivityManagerService;->getUidStateLocked(I)I
+HPLcom/android/server/am/ActivityManagerService;->grantImplicitAccess(ILandroid/content/Intent;II)V
+HPLcom/android/server/am/ActivityManagerService;->handleAppDiedLocked(Lcom/android/server/am/ProcessRecord;IZZZ)V
+HPLcom/android/server/am/ActivityManagerService;->handleApplicationStrictModeViolation(Landroid/os/IBinder;ILandroid/os/StrictMode$ViolationInfo;)V
+HPLcom/android/server/am/ActivityManagerService;->handleApplicationWtf(Landroid/os/IBinder;Ljava/lang/String;ZLandroid/app/ApplicationErrorReport$ParcelableCrashInfo;I)Z
+HPLcom/android/server/am/ActivityManagerService;->handleApplicationWtfInner(IILandroid/os/IBinder;Ljava/lang/String;Landroid/app/ApplicationErrorReport$CrashInfo;)Lcom/android/server/am/ProcessRecord;
+PLcom/android/server/am/ActivityManagerService;->handleBindApplicationTimeoutHard(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/ActivityManagerService;->handleBindApplicationTimeoutSoft(Lcom/android/server/am/ProcessRecord;I)V
+HPLcom/android/server/am/ActivityManagerService;->handleIncomingUser(IIIZZLjava/lang/String;Ljava/lang/String;)I
+PLcom/android/server/am/ActivityManagerService;->handlePendingSystemServerWtfs(Ljava/util/LinkedList;)V
+HPLcom/android/server/am/ActivityManagerService;->hasUsageStatsPermission(Ljava/lang/String;)Z
+HPLcom/android/server/am/ActivityManagerService;->hasUsageStatsPermission(Ljava/lang/String;II)Z
+HPLcom/android/server/am/ActivityManagerService;->idleUids()V
+PLcom/android/server/am/ActivityManagerService;->initDropboxRateLimiter()V
+HSPLcom/android/server/am/ActivityManagerService;->initPowerManagement()V
+PLcom/android/server/am/ActivityManagerService;->isAllowedWhileBooting(Landroid/content/pm/ApplicationInfo;)Z
+HPLcom/android/server/am/ActivityManagerService;->isAllowlistedForFgsStartLOSP(I)Lcom/android/server/am/ActivityManagerService$FgsTempAllowListItem;
+HPLcom/android/server/am/ActivityManagerService;->isAppBad(Ljava/lang/String;I)Z
+HPLcom/android/server/am/ActivityManagerService;->isAppFreezerExemptInstPkg()Z
+HPLcom/android/server/am/ActivityManagerService;->isAppStartModeDisabled(ILjava/lang/String;)Z
+PLcom/android/server/am/ActivityManagerService;->isDeviceProvisioned(Landroid/content/Context;)Z
+HPLcom/android/server/am/ActivityManagerService;->isInstantApp(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;I)Z
+PLcom/android/server/am/ActivityManagerService;->isOnDeviceIdleAllowlistLOSP(IZ)Z
+HPLcom/android/server/am/ActivityManagerService;->isReceivingBroadcastLocked(Lcom/android/server/am/ProcessRecord;[I)Z
+HPLcom/android/server/am/ActivityManagerService;->isSingleton(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;I)Z
+PLcom/android/server/am/ActivityManagerService;->isSystemUserOnly(I)Z
+HPLcom/android/server/am/ActivityManagerService;->isUidActive(ILjava/lang/String;)Z
+HPLcom/android/server/am/ActivityManagerService;->isUidActiveLOSP(I)Z
+HPLcom/android/server/am/ActivityManagerService;->isUserAMonkey()Z
+PLcom/android/server/am/ActivityManagerService;->isUserRunning(II)Z
+PLcom/android/server/am/ActivityManagerService;->killAllBackgroundProcessesExcept(II)V
+HPLcom/android/server/am/ActivityManagerService;->lambda$appendDropBoxProcessHeaders$12(Ljava/lang/StringBuilder;Landroid/content/pm/IPackageManager;ILjava/lang/String;)V
+HPLcom/android/server/am/ActivityManagerService;->lambda$checkExcessivePowerUsage$20(JJZZLcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/ActivityManagerService;->lambda$filterNonExportedComponents$19(Landroid/app/IUnsafeIntentStrictModeCallback;Landroid/content/Intent;I)V
+PLcom/android/server/am/ActivityManagerService;->lambda$getPackageProcessState$0([ILjava/lang/String;Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/ActivityManagerService;->lambda$logStrictModeViolationToDropBox$10(Landroid/os/DropBoxManager;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService;->lambda$schedulePendingSystemServerWtfs$11(Ljava/util/LinkedList;)V
+HSPLcom/android/server/am/ActivityManagerService;->lambda$scheduleUpdateBinderHeavyHitterWatcherConfig$33()V
+PLcom/android/server/am/ActivityManagerService;->logFgsApiBegin(III)V
+PLcom/android/server/am/ActivityManagerService;->logFgsApiEnd(III)V
+HPLcom/android/server/am/ActivityManagerService;->logStrictModeViolationToDropBox(Lcom/android/server/am/ProcessRecord;Landroid/os/StrictMode$ViolationInfo;)V
+PLcom/android/server/am/ActivityManagerService;->maybeLogUserspaceRebootEvent()V
+HPLcom/android/server/am/ActivityManagerService;->maybeSendBootCompletedLocked(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/ActivityManagerService;->monitor()V
+PLcom/android/server/am/ActivityManagerService;->noteAlarmFinish(Landroid/content/IIntentSender;Landroid/os/WorkSource;ILjava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService;->noteAlarmStart(Landroid/content/IIntentSender;Landroid/os/WorkSource;ILjava/lang/String;)V
+HPLcom/android/server/am/ActivityManagerService;->noteUidProcessState(III)V
+PLcom/android/server/am/ActivityManagerService;->noteWakeupAlarm(Landroid/content/IIntentSender;Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/am/ActivityManagerService;->notifyBroadcastFinishedLocked(Lcom/android/server/am/BroadcastRecord;)V
+HPLcom/android/server/am/ActivityManagerService;->notifyPackageUse(Ljava/lang/String;I)V
+PLcom/android/server/am/ActivityManagerService;->onCoreSettingsChange(Landroid/os/Bundle;)V
+HPLcom/android/server/am/ActivityManagerService;->onProcessFreezableChangedLocked(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/ActivityManagerService;->onShellCommand(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/lang/String;Landroid/os/ShellCallback;Landroid/os/ResultReceiver;)V
+HPLcom/android/server/am/ActivityManagerService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLcom/android/server/am/ActivityManagerService;->processClass(Lcom/android/server/am/ProcessRecord;)Ljava/lang/String;
+HPLcom/android/server/am/ActivityManagerService;->publishContentProviders(Landroid/app/IApplicationThread;Ljava/util/List;)V
+HPLcom/android/server/am/ActivityManagerService;->publishService(Landroid/os/IBinder;Landroid/content/Intent;Landroid/os/IBinder;)V
+HPLcom/android/server/am/ActivityManagerService;->pushTempAllowlist()V
+HPLcom/android/server/am/ActivityManagerService;->refContentProvider(Landroid/os/IBinder;II)Z
+PLcom/android/server/am/ActivityManagerService;->registerProcessObserver(Landroid/app/IProcessObserver;)V
+HPLcom/android/server/am/ActivityManagerService;->registerReceiverWithFeature(Landroid/app/IApplicationThread;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/content/IIntentReceiver;Landroid/content/IntentFilter;Ljava/lang/String;II)Landroid/content/Intent;
+HPLcom/android/server/am/ActivityManagerService;->registerStrictModeCallback(Landroid/os/IBinder;)V
+PLcom/android/server/am/ActivityManagerService;->registerUidObserver(Landroid/app/IUidObserver;IILjava/lang/String;)V
+HPLcom/android/server/am/ActivityManagerService;->registerUidObserverForUids(Landroid/app/IUidObserver;IILjava/lang/String;[I)Landroid/os/IBinder;
+PLcom/android/server/am/ActivityManagerService;->registerUserSwitchObserver(Landroid/app/IUserSwitchObserver;Ljava/lang/String;)V
+HPLcom/android/server/am/ActivityManagerService;->removeContentProvider(Landroid/os/IBinder;Z)V
+PLcom/android/server/am/ActivityManagerService;->removeLruProcessLocked(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/ActivityManagerService;->removeOomAdjTargetLocked(Lcom/android/server/am/ProcessRecord;Z)V
+HPLcom/android/server/am/ActivityManagerService;->removePidLocked(ILcom/android/server/am/ProcessRecord;)Z
+HPLcom/android/server/am/ActivityManagerService;->removeReceiverLocked(Lcom/android/server/am/ReceiverList;)V
+PLcom/android/server/am/ActivityManagerService;->reportCurWakefulnessUsageEvent()V
+PLcom/android/server/am/ActivityManagerService;->reportGlobalUsageEvent(I)V
+HPLcom/android/server/am/ActivityManagerService;->reportUidFrozenStateChanged([I[I)V
+HPLcom/android/server/am/ActivityManagerService;->reportUidInfoMessageLocked(Ljava/lang/String;Ljava/lang/String;I)V
+HPLcom/android/server/am/ActivityManagerService;->resetPriorityAfterLockedSection()V
+HSPLcom/android/server/am/ActivityManagerService;->resetPriorityAfterProcLockedSection()V
+PLcom/android/server/am/ActivityManagerService;->retrieveSettings()V
+PLcom/android/server/am/ActivityManagerService;->revokeUriPermission(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/net/Uri;II)V
+HPLcom/android/server/am/ActivityManagerService;->rotateBroadcastStatsIfNeededLocked()V
+PLcom/android/server/am/ActivityManagerService;->scheduleApplicationInfoChanged(Ljava/util/List;I)V
+PLcom/android/server/am/ActivityManagerService;->scheduleAsFifoPriority(IZ)Z
+PLcom/android/server/am/ActivityManagerService;->schedulePendingSystemServerWtfs(Ljava/util/LinkedList;)V
+HSPLcom/android/server/am/ActivityManagerService;->scheduleUpdateBinderHeavyHitterWatcherConfig()V
+PLcom/android/server/am/ActivityManagerService;->sendBootBroadcastToAppLocked(Lcom/android/server/am/ProcessRecord;Landroid/content/Intent;I)V
+HPLcom/android/server/am/ActivityManagerService;->sendIntentSender(Landroid/app/IApplicationThread;Landroid/content/IIntentSender;Landroid/os/IBinder;ILandroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;Ljava/lang/String;Landroid/os/Bundle;)I
+HPLcom/android/server/am/ActivityManagerService;->serviceDoneExecuting(Landroid/os/IBinder;IIILandroid/content/Intent;)V
+HPLcom/android/server/am/ActivityManagerService;->setAppIdTempAllowlistStateLSP(IZ)V
+PLcom/android/server/am/ActivityManagerService;->setAppOpsPolicy(Landroid/app/AppOpsManagerInternal$CheckOpsDelegate;)V
+PLcom/android/server/am/ActivityManagerService;->setHomeTimeout()V
+HSPLcom/android/server/am/ActivityManagerService;->setInstaller(Lcom/android/server/pm/Installer;)V
+HPLcom/android/server/am/ActivityManagerService;->setProcessTrackerStateLOSP(Lcom/android/server/am/ProcessRecord;I)V
+HPLcom/android/server/am/ActivityManagerService;->setRenderThread(I)V
+PLcom/android/server/am/ActivityManagerService;->setServiceForeground(Landroid/content/ComponentName;Landroid/os/IBinder;ILandroid/app/Notification;II)V
+HPLcom/android/server/am/ActivityManagerService;->setSystemProcess()V
+HSPLcom/android/server/am/ActivityManagerService;->setSystemServiceManager(Lcom/android/server/SystemServiceManager;)V
+HPLcom/android/server/am/ActivityManagerService;->setUidTempAllowlistStateLSP(IZ)V
+PLcom/android/server/am/ActivityManagerService;->setUsageStatsManager(Landroid/app/usage/UsageStatsManagerInternal;)V
+PLcom/android/server/am/ActivityManagerService;->setVoiceInteractionManagerProvider(Landroid/app/ActivityManagerInternal$VoiceInteractionManagerProvider;)V
+PLcom/android/server/am/ActivityManagerService;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V
+HPLcom/android/server/am/ActivityManagerService;->shouldIgnoreDeliveryGroupPolicy(Ljava/lang/String;)Z
+PLcom/android/server/am/ActivityManagerService;->showConsoleNotificationIfActive()V
+PLcom/android/server/am/ActivityManagerService;->showMteOverrideNotificationIfActive()V
+HSPLcom/android/server/am/ActivityManagerService;->start()V
+HPLcom/android/server/am/ActivityManagerService;->startAssociationLocked(ILjava/lang/String;IIJLandroid/content/ComponentName;Ljava/lang/String;)Lcom/android/server/am/ActivityManagerService$Association;
+PLcom/android/server/am/ActivityManagerService;->startBroadcastObservers()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
+PLcom/android/server/am/ActivityManagerService;->startObservingNativeCrashes()V
+HPLcom/android/server/am/ActivityManagerService;->startPersistentApps(I)V
+HPLcom/android/server/am/ActivityManagerService;->startProcessLocked(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;ZILcom/android/server/am/HostingRecord;IZZ)Lcom/android/server/am/ProcessRecord;
+HPLcom/android/server/am/ActivityManagerService;->startService(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;I)Landroid/content/ComponentName;
+HPLcom/android/server/am/ActivityManagerService;->startService(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;IZILjava/lang/String;Ljava/lang/String;)Landroid/content/ComponentName;
+HPLcom/android/server/am/ActivityManagerService;->stopAssociationLocked(ILjava/lang/String;IJLandroid/content/ComponentName;Ljava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService;->stopService(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;I)I
+PLcom/android/server/am/ActivityManagerService;->stopService(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;IZILjava/lang/String;Ljava/lang/String;)I
+HPLcom/android/server/am/ActivityManagerService;->stopServiceToken(Landroid/content/ComponentName;Landroid/os/IBinder;I)Z
+HPLcom/android/server/am/ActivityManagerService;->systemReady(Ljava/lang/Runnable;Lcom/android/server/utils/TimingsTraceAndSlog;)V
+HPLcom/android/server/am/ActivityManagerService;->tempAllowlistUidLocked(IJILjava/lang/String;II)V
+HPLcom/android/server/am/ActivityManagerService;->traceBegin(JLjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService;->trimApplications(ZI)V
+HPLcom/android/server/am/ActivityManagerService;->trimApplicationsLocked(ZI)V
+PLcom/android/server/am/ActivityManagerService;->uidOnBackgroundAllowlistLOSP(I)Z
+PLcom/android/server/am/ActivityManagerService;->unbindFinished(Landroid/os/IBinder;Landroid/content/Intent;Z)V
+HPLcom/android/server/am/ActivityManagerService;->unbindService(Landroid/app/IServiceConnection;)Z
+HPLcom/android/server/am/ActivityManagerService;->unregisterReceiver(Landroid/content/IIntentReceiver;)V
+PLcom/android/server/am/ActivityManagerService;->unstableProviderDied(Landroid/os/IBinder;)V
+PLcom/android/server/am/ActivityManagerService;->updateActivityUsageStats(Landroid/content/ComponentName;IILandroid/os/IBinder;Landroid/content/ComponentName;Landroid/app/assist/ActivityId;)V
+PLcom/android/server/am/ActivityManagerService;->updateAppProcessCpuTimeLPr(JZJILcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/ActivityManagerService;->updateApplicationInfoLOSP(Ljava/util/List;ZI)V
+PLcom/android/server/am/ActivityManagerService;->updateBatteryStats(Landroid/content/ComponentName;IIZ)V
+HPLcom/android/server/am/ActivityManagerService;->updateCpuStats()V
+PLcom/android/server/am/ActivityManagerService;->updateCpuStatsNow()V
+PLcom/android/server/am/ActivityManagerService;->updateForceBackgroundCheck(Z)V
+PLcom/android/server/am/ActivityManagerService;->updateForegroundServiceUsageStats(Landroid/content/ComponentName;IZ)V
+HPLcom/android/server/am/ActivityManagerService;->updateLruProcessLocked(Lcom/android/server/am/ProcessRecord;ZLcom/android/server/am/ProcessRecord;)V
+HSPLcom/android/server/am/ActivityManagerService;->updateOomAdjLocked(I)V
+HPLcom/android/server/am/ActivityManagerService;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;I)Z
+HPLcom/android/server/am/ActivityManagerService;->updateOomAdjPendingTargetsLocked(I)V
+PLcom/android/server/am/ActivityManagerService;->updatePhantomProcessCpuTimeLPr(JZJILcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/ActivityManagerService;->updateProcessForegroundLocked(Lcom/android/server/am/ProcessRecord;ZIZZ)V
+HPLcom/android/server/am/ActivityManagerService;->validateAssociationAllowedLocked(Ljava/lang/String;ILjava/lang/String;I)Z
+PLcom/android/server/am/ActivityManagerService;->validateServiceInstanceName(Ljava/lang/String;)V
+HPLcom/android/server/am/ActivityManagerService;->verifyBroadcastLocked(Landroid/content/Intent;)Landroid/content/Intent;
+PLcom/android/server/am/ActivityManagerService;->watchDeviceProvisioning(Landroid/content/Context;)V
+PLcom/android/server/am/ActivityManagerShellCommand$1;-><init>(Lcom/android/server/am/ActivityManagerShellCommand;)V
+PLcom/android/server/am/ActivityManagerShellCommand$IntentReceiver;-><init>(Ljava/io/PrintWriter;)V
+PLcom/android/server/am/ActivityManagerShellCommand$IntentReceiver;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
+PLcom/android/server/am/ActivityManagerShellCommand$IntentReceiver;->waitForFinish()V
+PLcom/android/server/am/ActivityManagerShellCommand;-><clinit>()V
+PLcom/android/server/am/ActivityManagerShellCommand;-><init>(Lcom/android/server/am/ActivityManagerService;Z)V
+PLcom/android/server/am/ActivityManagerShellCommand;->makeIntent(I)Landroid/content/Intent;
+PLcom/android/server/am/ActivityManagerShellCommand;->onCommand(Ljava/lang/String;)I
+PLcom/android/server/am/ActivityManagerShellCommand;->runForceStop(Ljava/io/PrintWriter;)I
+HPLcom/android/server/am/ActivityManagerShellCommand;->runSendBroadcast(Ljava/io/PrintWriter;)I
+PLcom/android/server/am/ActivityManagerUtils;-><clinit>()V
+PLcom/android/server/am/ActivityManagerUtils;->extractByte([BI)I
+PLcom/android/server/am/ActivityManagerUtils;->getAndroidIdHash()I
+PLcom/android/server/am/ActivityManagerUtils;->getUnsignedHashCached(Ljava/lang/String;)I
+PLcom/android/server/am/ActivityManagerUtils;->getUnsignedHashUnCached(Ljava/lang/String;)I
+PLcom/android/server/am/ActivityManagerUtils;->logUnsafeIntentEvent(IILandroid/content/Intent;Ljava/lang/String;Z)V
+PLcom/android/server/am/ActivityManagerUtils;->shouldSamplePackageForAtom(Ljava/lang/String;F)Z
+PLcom/android/server/am/ActivityManagerUtils;->unsignedIntFromBytes([B)I
+HSPLcom/android/server/am/AnrHelper$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/am/AnrHelper$$ExternalSyntheticLambda0;->newThread(Ljava/lang/Runnable;)Ljava/lang/Thread;
+HSPLcom/android/server/am/AnrHelper$$ExternalSyntheticLambda1;-><init>()V
+PLcom/android/server/am/AnrHelper$$ExternalSyntheticLambda1;->newThread(Ljava/lang/Runnable;)Ljava/lang/Thread;
+PLcom/android/server/am/AnrHelper$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/am/AnrHelper;ILcom/android/internal/os/TimeoutRecord;)V
+PLcom/android/server/am/AnrHelper$$ExternalSyntheticLambda2;->call()Ljava/lang/Object;
+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;
+PLcom/android/server/am/AnrHelper$AnrConsumerThread;->run()V
+PLcom/android/server/am/AnrHelper$AnrRecord;-><init>(Lcom/android/server/am/AnrHelper;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;Lcom/android/server/wm/WindowProcessController;ZLcom/android/internal/os/TimeoutRecord;ZLjava/util/concurrent/Future;)V
+PLcom/android/server/am/AnrHelper$AnrRecord;->appNotResponding(Z)V
+PLcom/android/server/am/AnrHelper;->$r8$lambda$o4U1b8DdepzPilDk5ASRfiFAv34(Lcom/android/server/am/AnrHelper;ILcom/android/internal/os/TimeoutRecord;)Ljava/io/File;
+PLcom/android/server/am/AnrHelper;->$r8$lambda$w_5HmdP7xJVX9IY4uygDlAQ5zxQ(Ljava/lang/Runnable;)Ljava/lang/Thread;
+PLcom/android/server/am/AnrHelper;->$r8$lambda$y7RFlsVN6Rac_UO6nHdK_btKHW0(Ljava/lang/Runnable;)Ljava/lang/Thread;
+PLcom/android/server/am/AnrHelper;->-$$Nest$fgetmAnrRecords(Lcom/android/server/am/AnrHelper;)Ljava/util/ArrayList;
+PLcom/android/server/am/AnrHelper;->-$$Nest$fgetmAuxiliaryTaskExecutor(Lcom/android/server/am/AnrHelper;)Ljava/util/concurrent/ExecutorService;
+PLcom/android/server/am/AnrHelper;->-$$Nest$fgetmRunning(Lcom/android/server/am/AnrHelper;)Ljava/util/concurrent/atomic/AtomicBoolean;
+PLcom/android/server/am/AnrHelper;->-$$Nest$fputmProcessingPid(Lcom/android/server/am/AnrHelper;I)V
+PLcom/android/server/am/AnrHelper;->-$$Nest$mscheduleBinderHeavyHitterAutoSamplerIfNecessary(Lcom/android/server/am/AnrHelper;)V
+PLcom/android/server/am/AnrHelper;->-$$Nest$sfgetEXPIRED_REPORT_TIME_MS()J
+PLcom/android/server/am/AnrHelper;->-$$Nest$sfgetSELF_ONLY_AFTER_BOOT_MS()J
+HSPLcom/android/server/am/AnrHelper;-><clinit>()V
+HSPLcom/android/server/am/AnrHelper;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+HSPLcom/android/server/am/AnrHelper;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/util/concurrent/ExecutorService;Ljava/util/concurrent/ExecutorService;)V
+PLcom/android/server/am/AnrHelper;->appNotResponding(Lcom/android/server/am/ProcessRecord;Lcom/android/internal/os/TimeoutRecord;)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;ZLcom/android/internal/os/TimeoutRecord;Z)V
+PLcom/android/server/am/AnrHelper;->lambda$appNotResponding$2(ILcom/android/internal/os/TimeoutRecord;)Ljava/io/File;
+PLcom/android/server/am/AnrHelper;->lambda$static$0(Ljava/lang/Runnable;)Ljava/lang/Thread;
+PLcom/android/server/am/AnrHelper;->lambda$static$1(Ljava/lang/Runnable;)Ljava/lang/Thread;
+HSPLcom/android/server/am/AnrHelper;->makeExpiringThreadPoolWithSize(ILjava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ThreadPoolExecutor;
+PLcom/android/server/am/AnrHelper;->scheduleBinderHeavyHitterAutoSamplerIfNecessary()V
+PLcom/android/server/am/AnrHelper;->startAnrConsumerIfNeeded()V
+PLcom/android/server/am/AppBatteryExemptionTracker$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/am/AppBatteryExemptionTracker;)V
+PLcom/android/server/am/AppBatteryExemptionTracker$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
+PLcom/android/server/am/AppBatteryExemptionTracker$AppBatteryExemptionPolicy$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/am/AppBatteryExemptionTracker;)V
+PLcom/android/server/am/AppBatteryExemptionTracker$AppBatteryExemptionPolicy$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/am/AppBatteryExemptionTracker$AppBatteryExemptionPolicy;->$r8$lambda$jMixVCQDkf-BsCQ_bwWqAgEzrk0(Lcom/android/server/am/AppBatteryExemptionTracker;)V
+HSPLcom/android/server/am/AppBatteryExemptionTracker$AppBatteryExemptionPolicy;-><init>(Lcom/android/server/am/BaseAppStateTracker$Injector;Lcom/android/server/am/AppBatteryExemptionTracker;)V
+PLcom/android/server/am/AppBatteryExemptionTracker$AppBatteryExemptionPolicy;->onMaxTrackingDurationChanged(J)V
+PLcom/android/server/am/AppBatteryExemptionTracker;->$r8$lambda$iWmJGcyLLkDvNkQor9pOnxtCJY0(Lcom/android/server/am/AppBatteryExemptionTracker;Lcom/android/server/am/BaseAppStateTracker;)V
+PLcom/android/server/am/AppBatteryExemptionTracker;->-$$Nest$mtrimDurations(Lcom/android/server/am/AppBatteryExemptionTracker;)V
+HSPLcom/android/server/am/AppBatteryExemptionTracker;-><init>(Landroid/content/Context;Lcom/android/server/am/AppRestrictionController;)V
+HSPLcom/android/server/am/AppBatteryExemptionTracker;-><init>(Landroid/content/Context;Lcom/android/server/am/AppRestrictionController;Ljava/lang/reflect/Constructor;Ljava/lang/Object;)V
+PLcom/android/server/am/AppBatteryExemptionTracker;->lambda$onSystemReady$0(Lcom/android/server/am/BaseAppStateTracker;)V
+PLcom/android/server/am/AppBatteryExemptionTracker;->onStateChange(ILjava/lang/String;ZJI)V
+PLcom/android/server/am/AppBatteryExemptionTracker;->onSystemReady()V
+PLcom/android/server/am/AppBatteryExemptionTracker;->trimDurations()V
+HSPLcom/android/server/am/AppBatteryTracker$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/am/AppBatteryTracker;)V
+HSPLcom/android/server/am/AppBatteryTracker$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/am/AppBatteryTracker;)V
+HSPLcom/android/server/am/AppBatteryTracker$AppBatteryPolicy;-><init>(Lcom/android/server/am/BaseAppStateTracker$Injector;Lcom/android/server/am/AppBatteryTracker;)V
+HSPLcom/android/server/am/AppBatteryTracker$AppBatteryPolicy;->getFloatArray(Landroid/content/res/TypedArray;)[F
+PLcom/android/server/am/AppBatteryTracker$AppBatteryPolicy;->getProposedRestrictionLevel(Ljava/lang/String;II)I
+PLcom/android/server/am/AppBatteryTracker$AppBatteryPolicy;->onSystemReady()V
+PLcom/android/server/am/AppBatteryTracker$AppBatteryPolicy;->onUserInteractionStarted(Ljava/lang/String;I)V
+PLcom/android/server/am/AppBatteryTracker$AppBatteryPolicy;->updateBgCurrentDrainAutoRestrictAbusiveAppsEnabled()V
+PLcom/android/server/am/AppBatteryTracker$AppBatteryPolicy;->updateCurrentDrainDecoupleThresholds()V
+PLcom/android/server/am/AppBatteryTracker$AppBatteryPolicy;->updateCurrentDrainEventDurationBasedThresholdEnabled()V
+PLcom/android/server/am/AppBatteryTracker$AppBatteryPolicy;->updateCurrentDrainExemptedTypes()V
+PLcom/android/server/am/AppBatteryTracker$AppBatteryPolicy;->updateCurrentDrainInteractionGracePeriod()V
+PLcom/android/server/am/AppBatteryTracker$AppBatteryPolicy;->updateCurrentDrainLocationMinDuration()V
+PLcom/android/server/am/AppBatteryTracker$AppBatteryPolicy;->updateCurrentDrainMediaPlaybackMinDuration()V
+PLcom/android/server/am/AppBatteryTracker$AppBatteryPolicy;->updateCurrentDrainThreshold()V
+PLcom/android/server/am/AppBatteryTracker$AppBatteryPolicy;->updateCurrentDrainWindow()V
+PLcom/android/server/am/AppBatteryTracker$AppBatteryPolicy;->updateTrackerEnabled()V
+HSPLcom/android/server/am/AppBatteryTracker$BatteryUsage;-><clinit>()V
+HSPLcom/android/server/am/AppBatteryTracker$BatteryUsage;-><init>()V
+HSPLcom/android/server/am/AppBatteryTracker$BatteryUsage;-><init>(DDDDD)V
+HSPLcom/android/server/am/AppBatteryTracker$ImmutableBatteryUsage;-><init>()V
+HSPLcom/android/server/am/AppBatteryTracker;-><clinit>()V
+HSPLcom/android/server/am/AppBatteryTracker;-><init>(Landroid/content/Context;Lcom/android/server/am/AppRestrictionController;)V
+HSPLcom/android/server/am/AppBatteryTracker;-><init>(Landroid/content/Context;Lcom/android/server/am/AppRestrictionController;Ljava/lang/reflect/Constructor;Ljava/lang/Object;)V
+PLcom/android/server/am/AppBatteryTracker;->onSystemReady()V
+PLcom/android/server/am/AppBatteryTracker;->onUserInteractionStarted(Ljava/lang/String;I)V
+PLcom/android/server/am/AppBatteryTracker;->scheduleBatteryUsageStatsUpdateIfNecessary(J)V
+HPLcom/android/server/am/AppBindRecord;-><init>(Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/IntentBindRecord;Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/AppBindRecord;->dumpInIntentBind(Ljava/io/PrintWriter;Ljava/lang/String;)V
+HSPLcom/android/server/am/AppBindServiceEventsTracker$AppBindServiceEventsPolicy;-><init>(Lcom/android/server/am/BaseAppStateTracker$Injector;Lcom/android/server/am/AppBindServiceEventsTracker;)V
+HSPLcom/android/server/am/AppBindServiceEventsTracker;-><init>(Landroid/content/Context;Lcom/android/server/am/AppRestrictionController;)V
+HSPLcom/android/server/am/AppBindServiceEventsTracker;-><init>(Landroid/content/Context;Lcom/android/server/am/AppRestrictionController;Ljava/lang/reflect/Constructor;Ljava/lang/Object;)V
+PLcom/android/server/am/AppBindServiceEventsTracker;->createAppStateEvents(ILjava/lang/String;)Lcom/android/server/am/BaseAppStateEvents;
+HPLcom/android/server/am/AppBindServiceEventsTracker;->createAppStateEvents(ILjava/lang/String;)Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker$SimpleAppStateTimeslotEvents;
+PLcom/android/server/am/AppBindServiceEventsTracker;->getTrackerInfoForStatsd(I)[B
+PLcom/android/server/am/AppBindServiceEventsTracker;->getType()I
+HPLcom/android/server/am/AppBindServiceEventsTracker;->onBindingService(Ljava/lang/String;I)V
+PLcom/android/server/am/AppBindServiceEventsTracker;->onSystemReady()V
+HSPLcom/android/server/am/AppBroadcastEventsTracker$AppBroadcastEventsPolicy;-><init>(Lcom/android/server/am/BaseAppStateTracker$Injector;Lcom/android/server/am/AppBroadcastEventsTracker;)V
+HSPLcom/android/server/am/AppBroadcastEventsTracker;-><init>(Landroid/content/Context;Lcom/android/server/am/AppRestrictionController;)V
+HSPLcom/android/server/am/AppBroadcastEventsTracker;-><init>(Landroid/content/Context;Lcom/android/server/am/AppRestrictionController;Ljava/lang/reflect/Constructor;Ljava/lang/Object;)V
+PLcom/android/server/am/AppBroadcastEventsTracker;->createAppStateEvents(ILjava/lang/String;)Lcom/android/server/am/BaseAppStateEvents;
+PLcom/android/server/am/AppBroadcastEventsTracker;->createAppStateEvents(ILjava/lang/String;)Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker$SimpleAppStateTimeslotEvents;
+HPLcom/android/server/am/AppBroadcastEventsTracker;->onSendingBroadcast(Ljava/lang/String;I)V
+PLcom/android/server/am/AppBroadcastEventsTracker;->onSystemReady()V
+HSPLcom/android/server/am/AppErrors;-><init>(Landroid/content/Context;Lcom/android/server/am/ActivityManagerService;Lcom/android/server/PackageWatchdog;)V
+HPLcom/android/server/am/AppErrors;->isBadProcess(Ljava/lang/String;I)Z
+PLcom/android/server/am/AppErrors;->loadAppsNotReportingCrashesFromConfig(Ljava/lang/String;)V
+HPLcom/android/server/am/AppErrors;->resetProcessCrashTime(Ljava/lang/String;I)V
+PLcom/android/server/am/AppErrors;->resetProcessCrashTime(ZII)V
+PLcom/android/server/am/AppExitInfoTracker$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/am/AppExitInfoTracker;ILjava/util/ArrayList;I)V
+HPLcom/android/server/am/AppExitInfoTracker$$ExternalSyntheticLambda0;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/am/AppExitInfoTracker$$ExternalSyntheticLambda12;-><init>()V
+PLcom/android/server/am/AppExitInfoTracker$$ExternalSyntheticLambda15;-><init>(Lcom/android/server/am/AppExitInfoTracker;)V
+PLcom/android/server/am/AppExitInfoTracker$$ExternalSyntheticLambda15;->run()V
+PLcom/android/server/am/AppExitInfoTracker$$ExternalSyntheticLambda16;-><init>(Lcom/android/server/am/AppExitInfoTracker;)V
+PLcom/android/server/am/AppExitInfoTracker$$ExternalSyntheticLambda16;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+HPLcom/android/server/am/AppExitInfoTracker$$ExternalSyntheticLambda17;-><init>(Lcom/android/server/am/AppExitInfoTracker;ILjava/util/ArrayList;ILjava/lang/Integer;Ljava/lang/Integer;)V
+HPLcom/android/server/am/AppExitInfoTracker$$ExternalSyntheticLambda17;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/am/AppExitInfoTracker$$ExternalSyntheticLambda1;-><init>()V
+PLcom/android/server/am/AppExitInfoTracker$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/am/AppExitInfoTracker;)V
+PLcom/android/server/am/AppExitInfoTracker$$ExternalSyntheticLambda7;-><init>()V
+PLcom/android/server/am/AppExitInfoTracker$$ExternalSyntheticLambda7;->get()Ljava/lang/Object;
+PLcom/android/server/am/AppExitInfoTracker$1;-><init>(Lcom/android/server/am/AppExitInfoTracker;)V
+PLcom/android/server/am/AppExitInfoTracker$2;-><init>(Lcom/android/server/am/AppExitInfoTracker;)V
+PLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer$$ExternalSyntheticLambda0;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+PLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;->$r8$lambda$Y4wPp1NAYnFwArAHF0m1DTLetnA(Landroid/app/ApplicationExitInfo;Landroid/app/ApplicationExitInfo;)I
+PLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;->-$$Nest$fputmUid(Lcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;I)V
+HPLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;-><init>(Lcom/android/server/am/AppExitInfoTracker;I)V
+PLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;->addExitInfoLocked(Landroid/app/ApplicationExitInfo;)V
+HPLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;->addInfoLocked(Landroid/util/SparseArray;Landroid/app/ApplicationExitInfo;)V
+PLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;->getExitInfoLocked(IILjava/util/ArrayList;)V
+PLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;->getInfosLocked(Landroid/util/SparseArray;IILjava/util/ArrayList;)V
+PLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;->lambda$getInfosLocked$0(Landroid/app/ApplicationExitInfo;Landroid/app/ApplicationExitInfo;)I
+PLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;->toListLocked(Ljava/util/List;I)Ljava/util/List;
+HSPLcom/android/server/am/AppExitInfoTracker$AppExitInfoExternalSource;-><init>(Lcom/android/server/am/AppExitInfoTracker;Ljava/lang/String;Ljava/lang/Integer;)V
+HPLcom/android/server/am/AppExitInfoTracker$AppExitInfoExternalSource;->addLocked(IILjava/lang/Object;)V
+HPLcom/android/server/am/AppExitInfoTracker$AppExitInfoExternalSource;->onProcDied(IILjava/lang/Integer;)V
+HPLcom/android/server/am/AppExitInfoTracker$AppExitInfoExternalSource;->remove(II)Landroid/util/Pair;
+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
+PLcom/android/server/am/AppExitInfoTracker$IsolatedUidRecords;->getUidByIsolatedUid(I)Ljava/lang/Integer;
+PLcom/android/server/am/AppExitInfoTracker$IsolatedUidRecords;->removeIsolatedUidLocked(I)I
+HSPLcom/android/server/am/AppExitInfoTracker$KillHandler;-><init>(Lcom/android/server/am/AppExitInfoTracker;Landroid/os/Looper;)V
+HPLcom/android/server/am/AppExitInfoTracker$KillHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/am/AppExitInfoTracker;->$r8$lambda$4bSqVHM7qj6v6DxMNp66FfiZ0SQ(Lcom/android/server/am/AppExitInfoTracker;ILjava/util/ArrayList;ILjava/lang/String;Landroid/util/SparseArray;)Ljava/lang/Integer;
+PLcom/android/server/am/AppExitInfoTracker;->$r8$lambda$8ldOFQfwVDb6WsbCLIHcgkKxIAI(Lcom/android/server/am/AppExitInfoTracker;ILjava/util/ArrayList;ILjava/lang/Integer;Ljava/lang/Integer;Ljava/lang/String;Landroid/util/SparseArray;)Ljava/lang/Integer;
+PLcom/android/server/am/AppExitInfoTracker;->$r8$lambda$h-8YP32HtmCPcUbOWTowipwKDNc(Lcom/android/server/am/AppExitInfoTracker;)V
+HPLcom/android/server/am/AppExitInfoTracker;->-$$Nest$fgetmLock(Lcom/android/server/am/AppExitInfoTracker;)Ljava/lang/Object;
+PLcom/android/server/am/AppExitInfoTracker;->-$$Nest$fgetmService(Lcom/android/server/am/AppExitInfoTracker;)Lcom/android/server/am/ActivityManagerService;
+PLcom/android/server/am/AppExitInfoTracker;->-$$Nest$mupdateExitInfoIfNecessaryLocked(Lcom/android/server/am/AppExitInfoTracker;IILjava/lang/Integer;Ljava/lang/Integer;)Z
+PLcom/android/server/am/AppExitInfoTracker;->-$$Nest$smfindAndRemoveFromSparse2dArray(Landroid/util/SparseArray;II)Ljava/lang/Object;
+HSPLcom/android/server/am/AppExitInfoTracker;-><clinit>()V
+HSPLcom/android/server/am/AppExitInfoTracker;-><init>()V
+HPLcom/android/server/am/AppExitInfoTracker;->addExitInfoInnerLocked(Ljava/lang/String;ILandroid/app/ApplicationExitInfo;Z)V
+PLcom/android/server/am/AppExitInfoTracker;->addExitInfoLocked(Landroid/app/ApplicationExitInfo;)Landroid/app/ApplicationExitInfo;
+HPLcom/android/server/am/AppExitInfoTracker;->addExitInfoLocked(Landroid/app/ApplicationExitInfo;Z)Landroid/app/ApplicationExitInfo;
+PLcom/android/server/am/AppExitInfoTracker;->copyToGzFile(Ljava/io/File;Ljava/io/File;JJ)Z
+PLcom/android/server/am/AppExitInfoTracker;->findAndRemoveFromSparse2dArray(Landroid/util/SparseArray;II)Ljava/lang/Object;
+HPLcom/android/server/am/AppExitInfoTracker;->forEachPackageLocked(Ljava/util/function/BiFunction;)V
+HPLcom/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;
+PLcom/android/server/am/AppExitInfoTracker;->handleLogAnrTrace(II[Ljava/lang/String;Ljava/io/File;JJ)V
+PLcom/android/server/am/AppExitInfoTracker;->handleNoteAppKillLocked(Landroid/app/ApplicationExitInfo;)V
+HPLcom/android/server/am/AppExitInfoTracker;->handleNoteProcessDiedLocked(Landroid/app/ApplicationExitInfo;)V
+PLcom/android/server/am/AppExitInfoTracker;->handleZygoteSigChld(III)V
+HSPLcom/android/server/am/AppExitInfoTracker;->init(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/AppExitInfoTracker;->isFresh(J)Z
+HPLcom/android/server/am/AppExitInfoTracker;->lambda$getExitInfo$3(ILjava/util/ArrayList;ILjava/lang/String;Landroid/util/SparseArray;)Ljava/lang/Integer;
+PLcom/android/server/am/AppExitInfoTracker;->lambda$onSystemReady$0()V
+HPLcom/android/server/am/AppExitInfoTracker;->lambda$updateExitInfoIfNecessaryLocked$2(ILjava/util/ArrayList;ILjava/lang/Integer;Ljava/lang/Integer;Ljava/lang/String;Landroid/util/SparseArray;)Ljava/lang/Integer;
+PLcom/android/server/am/AppExitInfoTracker;->loadExistingProcessExitInfo()V
+HPLcom/android/server/am/AppExitInfoTracker;->obtainRawRecord(Lcom/android/server/am/ProcessRecord;J)Landroid/app/ApplicationExitInfo;
+PLcom/android/server/am/AppExitInfoTracker;->onSystemReady()V
+HPLcom/android/server/am/AppExitInfoTracker;->performLogToStatsdLocked(Landroid/app/ApplicationExitInfo;)V
+PLcom/android/server/am/AppExitInfoTracker;->putToSparse2dArray(Landroid/util/SparseArray;IILjava/lang/Object;Ljava/util/function/Supplier;Ljava/util/function/Consumer;)V
+HPLcom/android/server/am/AppExitInfoTracker;->recycleRawRecord(Landroid/app/ApplicationExitInfo;)V
+PLcom/android/server/am/AppExitInfoTracker;->registerForPackageRemoval()V
+PLcom/android/server/am/AppExitInfoTracker;->registerForUserRemoval()V
+PLcom/android/server/am/AppExitInfoTracker;->scheduleChildProcDied(III)V
+PLcom/android/server/am/AppExitInfoTracker;->scheduleLogAnrTrace(II[Ljava/lang/String;Ljava/io/File;JJ)V
+HPLcom/android/server/am/AppExitInfoTracker;->scheduleLogToStatsdLocked(Landroid/app/ApplicationExitInfo;Z)V
+PLcom/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
+HPLcom/android/server/am/AppExitInfoTracker;->schedulePersistProcessExitInfo(Z)V
+HPLcom/android/server/am/AppExitInfoTracker;->updateExistingExitInfoRecordLocked(Landroid/app/ApplicationExitInfo;Ljava/lang/Integer;Ljava/lang/Integer;)V
+HPLcom/android/server/am/AppExitInfoTracker;->updateExitInfoIfNecessaryLocked(IILjava/lang/Integer;Ljava/lang/Integer;)Z
+HSPLcom/android/server/am/AppFGSTracker$1;-><init>(Lcom/android/server/am/AppFGSTracker;)V
+PLcom/android/server/am/AppFGSTracker$1;->onForegroundActivitiesChanged(IIZ)V
+PLcom/android/server/am/AppFGSTracker$1;->onForegroundServicesChanged(III)V
+PLcom/android/server/am/AppFGSTracker$1;->onProcessDied(II)V
+HSPLcom/android/server/am/AppFGSTracker$AppFGSPolicy;-><init>(Lcom/android/server/am/BaseAppStateTracker$Injector;Lcom/android/server/am/AppFGSTracker;)V
+PLcom/android/server/am/AppFGSTracker$AppFGSPolicy;->getFgsLongRunningThreshold()J
+PLcom/android/server/am/AppFGSTracker$AppFGSPolicy;->onMaxTrackingDurationChanged(J)V
+PLcom/android/server/am/AppFGSTracker$AppFGSPolicy;->onSystemReady()V
+PLcom/android/server/am/AppFGSTracker$AppFGSPolicy;->onTrackerEnabled(Z)V
+PLcom/android/server/am/AppFGSTracker$AppFGSPolicy;->updateBgFgsLocationThreshold()V
+PLcom/android/server/am/AppFGSTracker$AppFGSPolicy;->updateBgFgsLongRunningThreshold()V
+PLcom/android/server/am/AppFGSTracker$AppFGSPolicy;->updateBgFgsMediaPlaybackThreshold()V
+HSPLcom/android/server/am/AppFGSTracker$MyHandler;-><init>(Lcom/android/server/am/AppFGSTracker;)V
+HPLcom/android/server/am/AppFGSTracker$MyHandler;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/server/am/AppFGSTracker$NotificationListener;-><init>(Lcom/android/server/am/AppFGSTracker;)V
+PLcom/android/server/am/AppFGSTracker$NotificationListener;->onNotificationPosted(Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationListenerService$RankingMap;)V
+PLcom/android/server/am/AppFGSTracker$PackageDurations;-><clinit>()V
+PLcom/android/server/am/AppFGSTracker$PackageDurations;-><init>(ILjava/lang/String;Lcom/android/server/am/BaseAppStateEvents$MaxTrackingDurationConfig;Lcom/android/server/am/AppFGSTracker;)V
+PLcom/android/server/am/AppFGSTracker$PackageDurations;-><init>(Lcom/android/server/am/AppFGSTracker$PackageDurations;)V
+PLcom/android/server/am/AppFGSTracker$PackageDurations;->addEvent(ZJ)V
+PLcom/android/server/am/AppFGSTracker$PackageDurations;->hasForegroundServices()Z
+PLcom/android/server/am/AppFGSTracker$PackageDurations;->isLongRunning()Z
+PLcom/android/server/am/AppFGSTracker$PackageDurations;->notifyListenersOnStateChangeIfNecessary(ZJI)V
+PLcom/android/server/am/AppFGSTracker$PackageDurations;->setForegroundServiceType(IJ)V
+PLcom/android/server/am/AppFGSTracker;->-$$Nest$fgetmHandler(Lcom/android/server/am/AppFGSTracker;)Lcom/android/server/am/AppFGSTracker$MyHandler;
+PLcom/android/server/am/AppFGSTracker;->-$$Nest$mhandleForegroundServiceNotificationUpdated(Lcom/android/server/am/AppFGSTracker;Ljava/lang/String;IIZ)V
+PLcom/android/server/am/AppFGSTracker;->-$$Nest$mhandleForegroundServicesChanged(Lcom/android/server/am/AppFGSTracker;Ljava/lang/String;II)V
+PLcom/android/server/am/AppFGSTracker;->-$$Nest$mhandleForegroundServicesChanged(Lcom/android/server/am/AppFGSTracker;Ljava/lang/String;IIZ)V
+PLcom/android/server/am/AppFGSTracker;->-$$Nest$mhandleNotificationPosted(Lcom/android/server/am/AppFGSTracker;Ljava/lang/String;II)V
+PLcom/android/server/am/AppFGSTracker;->-$$Nest$monBgFgsLongRunningThresholdChanged(Lcom/android/server/am/AppFGSTracker;)V
+PLcom/android/server/am/AppFGSTracker;->-$$Nest$monBgFgsMonitorEnabled(Lcom/android/server/am/AppFGSTracker;Z)V
+HSPLcom/android/server/am/AppFGSTracker;-><init>(Landroid/content/Context;Lcom/android/server/am/AppRestrictionController;)V
+HSPLcom/android/server/am/AppFGSTracker;-><init>(Landroid/content/Context;Lcom/android/server/am/AppRestrictionController;Ljava/lang/reflect/Constructor;Ljava/lang/Object;)V
+PLcom/android/server/am/AppFGSTracker;->createAppStateEvents(ILjava/lang/String;)Lcom/android/server/am/AppFGSTracker$PackageDurations;
+PLcom/android/server/am/AppFGSTracker;->createAppStateEvents(Lcom/android/server/am/AppFGSTracker$PackageDurations;)Lcom/android/server/am/AppFGSTracker$PackageDurations;
+PLcom/android/server/am/AppFGSTracker;->createAppStateEvents(Lcom/android/server/am/BaseAppStateEvents;)Lcom/android/server/am/BaseAppStateEvents;
+PLcom/android/server/am/AppFGSTracker;->foregroundServiceTypeToIndex(I)I
+PLcom/android/server/am/AppFGSTracker;->getTotalDurations(Lcom/android/server/am/AppFGSTracker$PackageDurations;J)J
+PLcom/android/server/am/AppFGSTracker;->handleForegroundServiceNotificationUpdated(Ljava/lang/String;IIZ)V
+PLcom/android/server/am/AppFGSTracker;->handleForegroundServicesChanged(Ljava/lang/String;II)V
+PLcom/android/server/am/AppFGSTracker;->handleForegroundServicesChanged(Ljava/lang/String;IIZ)V
+PLcom/android/server/am/AppFGSTracker;->handleNotificationPosted(Ljava/lang/String;II)V
+HPLcom/android/server/am/AppFGSTracker;->hasForegroundServices(Ljava/lang/String;I)Z
+PLcom/android/server/am/AppFGSTracker;->onBgFgsLongRunningThresholdChanged()V
+PLcom/android/server/am/AppFGSTracker;->onBgFgsMonitorEnabled(Z)V
+PLcom/android/server/am/AppFGSTracker;->onForegroundServiceNotificationUpdated(Ljava/lang/String;IIZ)V
+PLcom/android/server/am/AppFGSTracker;->onForegroundServiceStateChanged(Ljava/lang/String;IIZ)V
+PLcom/android/server/am/AppFGSTracker;->onSystemReady()V
+HPLcom/android/server/am/AppFGSTracker;->scheduleDurationCheckLocked(J)V
+HSPLcom/android/server/am/AppMediaSessionTracker$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/am/AppMediaSessionTracker;)V
+PLcom/android/server/am/AppMediaSessionTracker$$ExternalSyntheticLambda0;->onActiveSessionsChanged(Ljava/util/List;)V
+PLcom/android/server/am/AppMediaSessionTracker$AppMediaSessionPolicy$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/am/AppMediaSessionTracker;)V
+PLcom/android/server/am/AppMediaSessionTracker$AppMediaSessionPolicy$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/am/AppMediaSessionTracker$AppMediaSessionPolicy;->$r8$lambda$vU9Y6O_Ak5yd1fFgiQvvDQnuaxQ(Lcom/android/server/am/AppMediaSessionTracker;)V
+HSPLcom/android/server/am/AppMediaSessionTracker$AppMediaSessionPolicy;-><init>(Lcom/android/server/am/BaseAppStateTracker$Injector;Lcom/android/server/am/AppMediaSessionTracker;)V
+PLcom/android/server/am/AppMediaSessionTracker$AppMediaSessionPolicy;->onMaxTrackingDurationChanged(J)V
+PLcom/android/server/am/AppMediaSessionTracker$AppMediaSessionPolicy;->onTrackerEnabled(Z)V
+PLcom/android/server/am/AppMediaSessionTracker;->$r8$lambda$QGd-MrvifawKK7V_H96hUv85JPk(Lcom/android/server/am/AppMediaSessionTracker;Ljava/util/List;)V
+PLcom/android/server/am/AppMediaSessionTracker;->-$$Nest$monBgMediaSessionMonitorEnabled(Lcom/android/server/am/AppMediaSessionTracker;Z)V
+PLcom/android/server/am/AppMediaSessionTracker;->-$$Nest$mtrimDurations(Lcom/android/server/am/AppMediaSessionTracker;)V
+HSPLcom/android/server/am/AppMediaSessionTracker;-><init>(Landroid/content/Context;Lcom/android/server/am/AppRestrictionController;)V
+HSPLcom/android/server/am/AppMediaSessionTracker;-><init>(Landroid/content/Context;Lcom/android/server/am/AppRestrictionController;Ljava/lang/reflect/Constructor;Ljava/lang/Object;)V
+PLcom/android/server/am/AppMediaSessionTracker;->handleMediaSessionChanged(Ljava/util/List;)V
+PLcom/android/server/am/AppMediaSessionTracker;->onBgMediaSessionMonitorEnabled(Z)V
+PLcom/android/server/am/AppMediaSessionTracker;->trimDurations()V
+HSPLcom/android/server/am/AppPermissionTracker$AppPermissionPolicy;-><clinit>()V
+HSPLcom/android/server/am/AppPermissionTracker$AppPermissionPolicy;-><init>(Lcom/android/server/am/BaseAppStateTracker$Injector;Lcom/android/server/am/AppPermissionTracker;)V
+PLcom/android/server/am/AppPermissionTracker$AppPermissionPolicy;->getBgPermissionsInMonitor()[Landroid/util/Pair;
+PLcom/android/server/am/AppPermissionTracker$AppPermissionPolicy;->onSystemReady()V
+PLcom/android/server/am/AppPermissionTracker$AppPermissionPolicy;->onTrackerEnabled(Z)V
+HSPLcom/android/server/am/AppPermissionTracker$AppPermissionPolicy;->parsePermissionConfig([Ljava/lang/String;)[Landroid/util/Pair;
+PLcom/android/server/am/AppPermissionTracker$AppPermissionPolicy;->updateBgPermissionsInMonitor()V
+PLcom/android/server/am/AppPermissionTracker$MyAppOpsCallback;-><init>(Lcom/android/server/am/AppPermissionTracker;)V
+PLcom/android/server/am/AppPermissionTracker$MyAppOpsCallback;-><init>(Lcom/android/server/am/AppPermissionTracker;Lcom/android/server/am/AppPermissionTracker$MyAppOpsCallback-IA;)V
+PLcom/android/server/am/AppPermissionTracker$MyAppOpsCallback;->opChanged(IILjava/lang/String;Ljava/lang/String;)V
+HSPLcom/android/server/am/AppPermissionTracker$MyHandler;-><init>(Lcom/android/server/am/AppPermissionTracker;)V
+PLcom/android/server/am/AppPermissionTracker$MyHandler;->handleMessage(Landroid/os/Message;)V
+HPLcom/android/server/am/AppPermissionTracker$UidGrantedPermissionState;-><init>(Lcom/android/server/am/AppPermissionTracker;ILjava/lang/String;I)V
+HPLcom/android/server/am/AppPermissionTracker$UidGrantedPermissionState;->equals(Ljava/lang/Object;)Z
+HPLcom/android/server/am/AppPermissionTracker$UidGrantedPermissionState;->hashCode()I
+HPLcom/android/server/am/AppPermissionTracker$UidGrantedPermissionState;->isGranted()Z
+HPLcom/android/server/am/AppPermissionTracker$UidGrantedPermissionState;->updateAppOps()V
+HPLcom/android/server/am/AppPermissionTracker$UidGrantedPermissionState;->updatePermissionState()V
+PLcom/android/server/am/AppPermissionTracker;->-$$Nest$fgetmHandler(Lcom/android/server/am/AppPermissionTracker;)Lcom/android/server/am/AppPermissionTracker$MyHandler;
+PLcom/android/server/am/AppPermissionTracker;->-$$Nest$mhandleAppOpsInit(Lcom/android/server/am/AppPermissionTracker;)V
+PLcom/android/server/am/AppPermissionTracker;->-$$Nest$mhandleOpChanged(Lcom/android/server/am/AppPermissionTracker;IILjava/lang/String;)V
+PLcom/android/server/am/AppPermissionTracker;->-$$Nest$mhandlePermissionsInit(Lcom/android/server/am/AppPermissionTracker;)V
+PLcom/android/server/am/AppPermissionTracker;->-$$Nest$monPermissionTrackerEnabled(Lcom/android/server/am/AppPermissionTracker;Z)V
+HSPLcom/android/server/am/AppPermissionTracker;-><init>(Landroid/content/Context;Lcom/android/server/am/AppRestrictionController;)V
+HSPLcom/android/server/am/AppPermissionTracker;-><init>(Landroid/content/Context;Lcom/android/server/am/AppRestrictionController;Ljava/lang/reflect/Constructor;Ljava/lang/Object;)V
+PLcom/android/server/am/AppPermissionTracker;->handleAppOpsInit()V
+PLcom/android/server/am/AppPermissionTracker;->handleOpChanged(IILjava/lang/String;)V
+PLcom/android/server/am/AppPermissionTracker;->handlePermissionsChangedLocked(I[Lcom/android/server/am/AppPermissionTracker$UidGrantedPermissionState;)V
+HPLcom/android/server/am/AppPermissionTracker;->handlePermissionsInit()V
+PLcom/android/server/am/AppPermissionTracker;->onLockedBootCompleted()V
+PLcom/android/server/am/AppPermissionTracker;->onPermissionTrackerEnabled(Z)V
+PLcom/android/server/am/AppPermissionTracker;->startWatchingMode([Ljava/lang/Integer;)V
+PLcom/android/server/am/AppPermissionTracker;->stopWatchingMode()V
+HSPLcom/android/server/am/AppProfiler$$ExternalSyntheticLambda0;-><init>()V
+HPLcom/android/server/am/AppProfiler$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
+HSPLcom/android/server/am/AppProfiler$1;-><init>(Lcom/android/server/am/AppProfiler;)V
+HSPLcom/android/server/am/AppProfiler$BgHandler;-><init>(Lcom/android/server/am/AppProfiler;Landroid/os/Looper;)V
+HPLcom/android/server/am/AppProfiler$BgHandler;->handleMessage(Landroid/os/Message;)V
+HPLcom/android/server/am/AppProfiler$CachedAppsWatermarkData$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/am/AppProfiler$CachedAppsWatermarkData;J)V
+HPLcom/android/server/am/AppProfiler$CachedAppsWatermarkData$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
+PLcom/android/server/am/AppProfiler$CachedAppsWatermarkData;->$r8$lambda$zI0BBTvUIJgiEIeZIL8U6fuo_8Y(Lcom/android/server/am/AppProfiler$CachedAppsWatermarkData;JLcom/android/server/am/ProcessRecord;)V
+HSPLcom/android/server/am/AppProfiler$CachedAppsWatermarkData;-><init>(Lcom/android/server/am/AppProfiler;)V
+HPLcom/android/server/am/AppProfiler$CachedAppsWatermarkData;->lambda$updateCachedAppsSnapshot$0(JLcom/android/server/am/ProcessRecord;)V
+HSPLcom/android/server/am/AppProfiler$CachedAppsWatermarkData;->updateCachedAppsHighWatermarkIfNecessaryLocked(IJ)V
+HPLcom/android/server/am/AppProfiler$CachedAppsWatermarkData;->updateCachedAppsSnapshot(J)V
+PLcom/android/server/am/AppProfiler$CpuBinder$1;-><init>(Lcom/android/server/am/AppProfiler$CpuBinder;)V
+PLcom/android/server/am/AppProfiler$CpuBinder;-><init>(Lcom/android/server/am/AppProfiler;)V
+HSPLcom/android/server/am/AppProfiler$ProcessCpuThread;-><init>(Lcom/android/server/am/AppProfiler;Ljava/lang/String;)V
+HSPLcom/android/server/am/AppProfiler$ProcessCpuThread;->run()V
+HSPLcom/android/server/am/AppProfiler$ProfileData;-><init>(Lcom/android/server/am/AppProfiler;)V
+HSPLcom/android/server/am/AppProfiler$ProfileData;-><init>(Lcom/android/server/am/AppProfiler;Lcom/android/server/am/AppProfiler$ProfileData-IA;)V
+PLcom/android/server/am/AppProfiler$ProfileData;->getProfileApp()Ljava/lang/String;
+PLcom/android/server/am/AppProfiler$ProfileData;->getProfileProc()Lcom/android/server/am/ProcessRecord;
+HPLcom/android/server/am/AppProfiler;->$r8$lambda$O0KXijwG7-p0M_PB8ZuTBcOSGho(Lcom/android/server/am/ProcessRecord;)V
+HSPLcom/android/server/am/AppProfiler;->-$$Nest$fgetmLastCpuTime(Lcom/android/server/am/AppProfiler;)Ljava/util/concurrent/atomic/AtomicLong;
+HSPLcom/android/server/am/AppProfiler;->-$$Nest$fgetmLastWriteTime(Lcom/android/server/am/AppProfiler;)J
+HSPLcom/android/server/am/AppProfiler;->-$$Nest$fgetmProcessCpuInitLatch(Lcom/android/server/am/AppProfiler;)Ljava/util/concurrent/CountDownLatch;
+HSPLcom/android/server/am/AppProfiler;->-$$Nest$fgetmProcessCpuMutexFree(Lcom/android/server/am/AppProfiler;)Ljava/util/concurrent/atomic/AtomicBoolean;
+HSPLcom/android/server/am/AppProfiler;->-$$Nest$fgetmProcessCpuTracker(Lcom/android/server/am/AppProfiler;)Lcom/android/internal/os/ProcessCpuTracker;
+HPLcom/android/server/am/AppProfiler;->-$$Nest$fgetmService(Lcom/android/server/am/AppProfiler;)Lcom/android/server/am/ActivityManagerService;
+PLcom/android/server/am/AppProfiler;->-$$Nest$mhandleMemoryPressureChangedLocked(Lcom/android/server/am/AppProfiler;II)V
+HSPLcom/android/server/am/AppProfiler;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/os/Looper;Lcom/android/server/am/LowMemDetector;)V
+HPLcom/android/server/am/AppProfiler;->doLowMemReportIfNeededLocked(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/AppProfiler;->getCpuDelayTimeForPid(I)J
+PLcom/android/server/am/AppProfiler;->getCpuTimeForPid(I)J
+PLcom/android/server/am/AppProfiler;->getLastMemoryLevelLocked()I
+HPLcom/android/server/am/AppProfiler;->handleMemoryPressureChangedLocked(II)V
+HPLcom/android/server/am/AppProfiler;->isLastMemoryLevelNormal()Z
+HPLcom/android/server/am/AppProfiler;->isProfilingPss()Z
+HPLcom/android/server/am/AppProfiler;->lambda$updateLowMemStateLSP$3(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/AppProfiler;->onActivityLaunched()V
+HSPLcom/android/server/am/AppProfiler;->onActivityManagerInternalAdded()V
+HPLcom/android/server/am/AppProfiler;->onAppDiedLocked(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/AppProfiler;->onCleanupApplicationRecordLocked(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/AppProfiler;->printCurrentCpuState(Ljava/lang/StringBuilder;J)V
+PLcom/android/server/am/AppProfiler;->retrieveSettings()V
+HPLcom/android/server/am/AppProfiler;->scheduleAppGcsLPf()V
+PLcom/android/server/am/AppProfiler;->setAllowLowerMemLevelLocked(Z)V
+PLcom/android/server/am/AppProfiler;->setCpuInfoService()V
+HPLcom/android/server/am/AppProfiler;->setupProfilerInfoLocked(Landroid/app/IApplicationThread;Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ActiveInstrumentation;)Landroid/app/ProfilerInfo;
+HPLcom/android/server/am/AppProfiler;->updateCpuStats()V
+HPLcom/android/server/am/AppProfiler;->updateCpuStatsNow()V
+HSPLcom/android/server/am/AppProfiler;->updateLowMemStateLSP(IIIJ)Z
+HPLcom/android/server/am/AppProfiler;->updateNextPssTimeLPf(ILcom/android/server/am/ProcessProfileRecord;JZ)V
+HSPLcom/android/server/am/AppRestrictionController$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/am/AppRestrictionController;)V
+HPLcom/android/server/am/AppRestrictionController$$ExternalSyntheticLambda2;-><init>(ILjava/lang/String;I)V
+HPLcom/android/server/am/AppRestrictionController$$ExternalSyntheticLambda2;->accept(Ljava/lang/Object;)V
+HPLcom/android/server/am/AppRestrictionController$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/am/AppRestrictionController;ILcom/android/server/usage/AppStandbyInternal;I)V
+HPLcom/android/server/am/AppRestrictionController$$ExternalSyntheticLambda3;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/am/AppRestrictionController$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/am/AppRestrictionController;)V
+PLcom/android/server/am/AppRestrictionController$$ExternalSyntheticLambda4;->run()V
+HSPLcom/android/server/am/AppRestrictionController$1;-><init>(Lcom/android/server/am/AppRestrictionController;)V
+HSPLcom/android/server/am/AppRestrictionController$2;-><init>(Lcom/android/server/am/AppRestrictionController;)V
+PLcom/android/server/am/AppRestrictionController$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+HSPLcom/android/server/am/AppRestrictionController$3;-><init>(Lcom/android/server/am/AppRestrictionController;)V
+HSPLcom/android/server/am/AppRestrictionController$4;-><init>(Lcom/android/server/am/AppRestrictionController;)V
+HPLcom/android/server/am/AppRestrictionController$4;->onAppIdleStateChanged(Ljava/lang/String;IZII)V
+PLcom/android/server/am/AppRestrictionController$4;->onUserInteractionStarted(Ljava/lang/String;I)V
+HSPLcom/android/server/am/AppRestrictionController$5;-><init>(Lcom/android/server/am/AppRestrictionController;)V
+HPLcom/android/server/am/AppRestrictionController$5;->onUidActive(I)V
+HPLcom/android/server/am/AppRestrictionController$5;->onUidGone(IZ)V
+HPLcom/android/server/am/AppRestrictionController$5;->onUidIdle(IZ)V
+HPLcom/android/server/am/AppRestrictionController$5;->onUidStateChanged(IIJI)V
+HSPLcom/android/server/am/AppRestrictionController$BgHandler;-><init>(Landroid/os/Looper;Lcom/android/server/am/AppRestrictionController$Injector;)V
+HPLcom/android/server/am/AppRestrictionController$BgHandler;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/server/am/AppRestrictionController$ConstantsObserver;-><init>(Lcom/android/server/am/AppRestrictionController;Landroid/os/Handler;Landroid/content/Context;)V
+PLcom/android/server/am/AppRestrictionController$ConstantsObserver;->start()V
+PLcom/android/server/am/AppRestrictionController$ConstantsObserver;->updateBgAbusiveNotificationMinimalInterval()V
+PLcom/android/server/am/AppRestrictionController$ConstantsObserver;->updateBgAutoRestrictAbusiveApps()V
+PLcom/android/server/am/AppRestrictionController$ConstantsObserver;->updateBgAutoRestrictedBucketChanged()V
+PLcom/android/server/am/AppRestrictionController$ConstantsObserver;->updateBgLongFgsNotificationMinimalInterval()V
+PLcom/android/server/am/AppRestrictionController$ConstantsObserver;->updateBgPromptAbusiveAppToBgRestricted()V
+PLcom/android/server/am/AppRestrictionController$ConstantsObserver;->updateBgPromptFgsOnLongRunning()V
+PLcom/android/server/am/AppRestrictionController$ConstantsObserver;->updateBgPromptFgsWithNotiOnLongRunning()V
+PLcom/android/server/am/AppRestrictionController$ConstantsObserver;->updateBgPromptFgsWithNotiToBgRestricted()V
+PLcom/android/server/am/AppRestrictionController$ConstantsObserver;->updateBgRestrictionExemptedPackages()V
+PLcom/android/server/am/AppRestrictionController$ConstantsObserver;->updateDeviceConfig()V
+HSPLcom/android/server/am/AppRestrictionController$Injector;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/am/AppRestrictionController$Injector;->currentTimeMillis()J
+HPLcom/android/server/am/AppRestrictionController$Injector;->getActivityManagerInternal()Landroid/app/ActivityManagerInternal;
+HPLcom/android/server/am/AppRestrictionController$Injector;->getActivityManagerService()Lcom/android/server/am/ActivityManagerService;
+PLcom/android/server/am/AppRestrictionController$Injector;->getAppFGSTracker()Lcom/android/server/am/AppFGSTracker;
+HPLcom/android/server/am/AppRestrictionController$Injector;->getAppHibernationInternal()Lcom/android/server/apphibernation/AppHibernationManagerInternal;
+HPLcom/android/server/am/AppRestrictionController$Injector;->getAppOpsManager()Landroid/app/AppOpsManager;
+PLcom/android/server/am/AppRestrictionController$Injector;->getAppRestrictionController()Lcom/android/server/am/AppRestrictionController;
+HPLcom/android/server/am/AppRestrictionController$Injector;->getAppStandbyInternal()Lcom/android/server/usage/AppStandbyInternal;
+HPLcom/android/server/am/AppRestrictionController$Injector;->getAppStateTracker()Lcom/android/server/AppStateTracker;
+HSPLcom/android/server/am/AppRestrictionController$Injector;->getContext()Landroid/content/Context;
+PLcom/android/server/am/AppRestrictionController$Injector;->getDataSystemDeDirectory(I)Ljava/io/File;
+PLcom/android/server/am/AppRestrictionController$Injector;->getIActivityManager()Landroid/app/IActivityManager;
+HSPLcom/android/server/am/AppRestrictionController$Injector;->getNotificationManager()Landroid/app/NotificationManager;
+HPLcom/android/server/am/AppRestrictionController$Injector;->getPackageManager()Landroid/content/pm/PackageManager;
+HPLcom/android/server/am/AppRestrictionController$Injector;->getPackageManagerInternal()Landroid/content/pm/PackageManagerInternal;
+PLcom/android/server/am/AppRestrictionController$Injector;->getPackageName(I)Ljava/lang/String;
+PLcom/android/server/am/AppRestrictionController$Injector;->getRoleManager()Landroid/app/role/RoleManager;
+PLcom/android/server/am/AppRestrictionController$Injector;->getTelephonyManager()Landroid/telephony/TelephonyManager;
+HPLcom/android/server/am/AppRestrictionController$Injector;->getUserManagerInternal()Lcom/android/server/pm/UserManagerInternal;
+HSPLcom/android/server/am/AppRestrictionController$Injector;->initAppStateTrackers(Lcom/android/server/am/AppRestrictionController;)V
+PLcom/android/server/am/AppRestrictionController$Injector;->isTest()Z
+PLcom/android/server/am/AppRestrictionController$Injector;->scheduleInitTrackers(Landroid/os/Handler;Ljava/lang/Runnable;)V
+HSPLcom/android/server/am/AppRestrictionController$NotificationHelper$1;-><init>(Lcom/android/server/am/AppRestrictionController$NotificationHelper;)V
+HSPLcom/android/server/am/AppRestrictionController$NotificationHelper;-><clinit>()V
+HSPLcom/android/server/am/AppRestrictionController$NotificationHelper;-><init>(Lcom/android/server/am/AppRestrictionController;)V
+HPLcom/android/server/am/AppRestrictionController$NotificationHelper;->notificationTimeAttrToType(Ljava/lang/String;)I
+PLcom/android/server/am/AppRestrictionController$NotificationHelper;->notificationTypeToTimeAttr(I)Ljava/lang/String;
+PLcom/android/server/am/AppRestrictionController$NotificationHelper;->onSystemReady()V
+PLcom/android/server/am/AppRestrictionController$PhoneCarrierPrivilegesCallback;-><init>(Lcom/android/server/am/AppRestrictionController;I)V
+PLcom/android/server/am/AppRestrictionController$PhoneCarrierPrivilegesCallback;->onCarrierPrivilegesChanged(Ljava/util/Set;Ljava/util/Set;)V
+HPLcom/android/server/am/AppRestrictionController$RestrictionSettings$PkgSettings;->-$$Nest$fgetmCurrentRestrictionLevel(Lcom/android/server/am/AppRestrictionController$RestrictionSettings$PkgSettings;)I
+HPLcom/android/server/am/AppRestrictionController$RestrictionSettings$PkgSettings;->-$$Nest$fgetmLevelChangeTime(Lcom/android/server/am/AppRestrictionController$RestrictionSettings$PkgSettings;)J
+PLcom/android/server/am/AppRestrictionController$RestrictionSettings$PkgSettings;->-$$Nest$fgetmReason(Lcom/android/server/am/AppRestrictionController$RestrictionSettings$PkgSettings;)I
+HPLcom/android/server/am/AppRestrictionController$RestrictionSettings$PkgSettings;-><init>(Lcom/android/server/am/AppRestrictionController$RestrictionSettings;Ljava/lang/String;I)V
+PLcom/android/server/am/AppRestrictionController$RestrictionSettings$PkgSettings;->getCurrentRestrictionLevel()I
+HPLcom/android/server/am/AppRestrictionController$RestrictionSettings$PkgSettings;->getLastNotificationTime(I)J
+PLcom/android/server/am/AppRestrictionController$RestrictionSettings$PkgSettings;->getPackageName()Ljava/lang/String;
+HPLcom/android/server/am/AppRestrictionController$RestrictionSettings$PkgSettings;->getReason()I
+PLcom/android/server/am/AppRestrictionController$RestrictionSettings$PkgSettings;->getUid()I
+PLcom/android/server/am/AppRestrictionController$RestrictionSettings$PkgSettings;->setLevelChangeTime(J)V
+HPLcom/android/server/am/AppRestrictionController$RestrictionSettings$PkgSettings;->update(III)I
+HSPLcom/android/server/am/AppRestrictionController$RestrictionSettings;-><init>(Lcom/android/server/am/AppRestrictionController;)V
+HPLcom/android/server/am/AppRestrictionController$RestrictionSettings;->forEachPackageInUidLocked(ILcom/android/internal/util/function/TriConsumer;)V
+HPLcom/android/server/am/AppRestrictionController$RestrictionSettings;->getReason(Ljava/lang/String;I)I
+HPLcom/android/server/am/AppRestrictionController$RestrictionSettings;->getRestrictionLevel(I)I
+HPLcom/android/server/am/AppRestrictionController$RestrictionSettings;->getRestrictionLevel(ILjava/lang/String;)I
+HPLcom/android/server/am/AppRestrictionController$RestrictionSettings;->getRestrictionSettingsLocked(ILjava/lang/String;)Lcom/android/server/am/AppRestrictionController$RestrictionSettings$PkgSettings;
+PLcom/android/server/am/AppRestrictionController$RestrictionSettings;->getXmlFileNameForUser(I)Ljava/io/File;
+HPLcom/android/server/am/AppRestrictionController$RestrictionSettings;->loadFromXml(IZ)V
+PLcom/android/server/am/AppRestrictionController$RestrictionSettings;->loadFromXml(Z)V
+HPLcom/android/server/am/AppRestrictionController$RestrictionSettings;->loadOneFromXml(Lcom/android/modules/utils/TypedXmlPullParser;J[JZ)V
+PLcom/android/server/am/AppRestrictionController$RestrictionSettings;->persistToXml(I)V
+PLcom/android/server/am/AppRestrictionController$RestrictionSettings;->scheduleLoadFromXml()V
+PLcom/android/server/am/AppRestrictionController$RestrictionSettings;->schedulePersistToXml(I)V
+HPLcom/android/server/am/AppRestrictionController$RestrictionSettings;->toXmlByteArray(I)[B
+HPLcom/android/server/am/AppRestrictionController$RestrictionSettings;->update(Ljava/lang/String;IIII)I
+HSPLcom/android/server/am/AppRestrictionController$TrackerInfo;-><init>(Lcom/android/server/am/AppRestrictionController;)V
+PLcom/android/server/am/AppRestrictionController$TrackerInfo;-><init>(Lcom/android/server/am/AppRestrictionController;I[B)V
+PLcom/android/server/am/AppRestrictionController;->$r8$lambda$_ydL4E-eseJqSvYCC9_LF-yu1d4(ILjava/lang/String;ILandroid/app/ActivityManagerInternal$AppBackgroundRestrictionListener;)V
+PLcom/android/server/am/AppRestrictionController;->$r8$lambda$cCOwIzhwVMmMXJ70sQK3rFQtGL0(Lcom/android/server/am/AppRestrictionController;)V
+PLcom/android/server/am/AppRestrictionController;->$r8$lambda$oY7vGD6ZBYgVNvNPzUZAGcXnf7g(Lcom/android/server/am/AppRestrictionController;ILcom/android/server/usage/AppStandbyInternal;ILjava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;)V
+HSPLcom/android/server/am/AppRestrictionController;->-$$Nest$fgetmAppStateTrackers(Lcom/android/server/am/AppRestrictionController;)Ljava/util/ArrayList;
+HPLcom/android/server/am/AppRestrictionController;->-$$Nest$fgetmBgHandler(Lcom/android/server/am/AppRestrictionController;)Lcom/android/server/am/AppRestrictionController$BgHandler;
+PLcom/android/server/am/AppRestrictionController;->-$$Nest$fgetmCarrierPrivilegedApps(Lcom/android/server/am/AppRestrictionController;)Landroid/util/SparseArray;
+PLcom/android/server/am/AppRestrictionController;->-$$Nest$fgetmCarrierPrivilegedLock(Lcom/android/server/am/AppRestrictionController;)Ljava/lang/Object;
+PLcom/android/server/am/AppRestrictionController;->-$$Nest$fgetmEmptyTrackerInfo(Lcom/android/server/am/AppRestrictionController;)Lcom/android/server/am/AppRestrictionController$TrackerInfo;
+HSPLcom/android/server/am/AppRestrictionController;->-$$Nest$fgetmInjector(Lcom/android/server/am/AppRestrictionController;)Lcom/android/server/am/AppRestrictionController$Injector;
+HSPLcom/android/server/am/AppRestrictionController;->-$$Nest$fgetmLock(Lcom/android/server/am/AppRestrictionController;)Ljava/lang/Object;
+PLcom/android/server/am/AppRestrictionController;->-$$Nest$fgetmRestrictionSettingsXmlLoaded(Lcom/android/server/am/AppRestrictionController;)Ljava/util/concurrent/atomic/AtomicBoolean;
+HSPLcom/android/server/am/AppRestrictionController;->-$$Nest$fgetmSettingsLock(Lcom/android/server/am/AppRestrictionController;)Ljava/lang/Object;
+PLcom/android/server/am/AppRestrictionController;->-$$Nest$mdispatchAppRestrictionLevelChanges(Lcom/android/server/am/AppRestrictionController;ILjava/lang/String;I)V
+PLcom/android/server/am/AppRestrictionController;->-$$Nest$monLockedBootCompleted(Lcom/android/server/am/AppRestrictionController;)V
+HSPLcom/android/server/am/AppRestrictionController;-><clinit>()V
+HSPLcom/android/server/am/AppRestrictionController;-><init>(Landroid/content/Context;Lcom/android/server/am/ActivityManagerService;)V
+HSPLcom/android/server/am/AppRestrictionController;-><init>(Lcom/android/server/am/AppRestrictionController$Injector;Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/AppRestrictionController;->addAppBackgroundRestrictionListener(Landroid/app/ActivityManagerInternal$AppBackgroundRestrictionListener;)V
+HPLcom/android/server/am/AppRestrictionController;->applyRestrictionLevel(Ljava/lang/String;IILcom/android/server/am/AppRestrictionController$TrackerInfo;IZII)V
+HPLcom/android/server/am/AppRestrictionController;->calcAppRestrictionLevel(IILjava/lang/String;IZZ)Landroid/util/Pair;
+HPLcom/android/server/am/AppRestrictionController;->calcAppRestrictionLevelFromTackers(ILjava/lang/String;I)Landroid/util/Pair;
+HPLcom/android/server/am/AppRestrictionController;->dispatchAppRestrictionLevelChanges(ILjava/lang/String;I)V
+PLcom/android/server/am/AppRestrictionController;->forEachTracker(Ljava/util/function/Consumer;)V
+HSPLcom/android/server/am/AppRestrictionController;->getBackgroundHandler()Landroid/os/Handler;
+HPLcom/android/server/am/AppRestrictionController;->getBackgroundRestrictionExemptionReason(I)I
+HSPLcom/android/server/am/AppRestrictionController;->getLock()Ljava/lang/Object;
+PLcom/android/server/am/AppRestrictionController;->getPackageName(I)Ljava/lang/String;
+HPLcom/android/server/am/AppRestrictionController;->getPotentialSystemExemptionReason(I)I
+HPLcom/android/server/am/AppRestrictionController;->getPotentialSystemExemptionReason(ILjava/lang/String;)I
+HPLcom/android/server/am/AppRestrictionController;->getPotentialUserAllowedExemptionReason(ILjava/lang/String;)I
+HPLcom/android/server/am/AppRestrictionController;->getRestrictionLevel(I)I
+HPLcom/android/server/am/AppRestrictionController;->getRestrictionLevel(ILjava/lang/String;)I
+HPLcom/android/server/am/AppRestrictionController;->handleAppStandbyBucketChanged(ILjava/lang/String;I)V
+HPLcom/android/server/am/AppRestrictionController;->handleUidActive(I)V
+HPLcom/android/server/am/AppRestrictionController;->handleUidGone(I)V
+HPLcom/android/server/am/AppRestrictionController;->handleUidInactive(IZ)V
+HPLcom/android/server/am/AppRestrictionController;->handleUidProcStateChanged(II)V
+HPLcom/android/server/am/AppRestrictionController;->hasForegroundServices(Ljava/lang/String;I)Z
+PLcom/android/server/am/AppRestrictionController;->initBgRestrictionExemptioFromSysConfig()V
+PLcom/android/server/am/AppRestrictionController;->initRestrictionStates()V
+PLcom/android/server/am/AppRestrictionController;->initRolesInInterest()V
+PLcom/android/server/am/AppRestrictionController;->initSystemModuleNames()V
+HPLcom/android/server/am/AppRestrictionController;->isBgAutoRestrictedBucketFeatureFlagEnabled()Z
+HPLcom/android/server/am/AppRestrictionController;->isCarrierApp(Ljava/lang/String;)Z
+HPLcom/android/server/am/AppRestrictionController;->isExemptedFromSysConfig(Ljava/lang/String;)Z
+HPLcom/android/server/am/AppRestrictionController;->isOnDeviceIdleAllowlist(I)Z
+HPLcom/android/server/am/AppRestrictionController;->isOnSystemDeviceIdleAllowlist(I)Z
+HPLcom/android/server/am/AppRestrictionController;->isRoleHeldByUid(Ljava/lang/String;I)Z
+HPLcom/android/server/am/AppRestrictionController;->isSystemModule(Ljava/lang/String;)Z
+PLcom/android/server/am/AppRestrictionController;->lambda$dispatchAppRestrictionLevelChanges$2(ILjava/lang/String;ILandroid/app/ActivityManagerInternal$AppBackgroundRestrictionListener;)V
+HPLcom/android/server/am/AppRestrictionController;->lambda$handleUidActive$9(ILcom/android/server/usage/AppStandbyInternal;ILjava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;)V
+PLcom/android/server/am/AppRestrictionController;->lambda$onSystemReady$0()V
+PLcom/android/server/am/AppRestrictionController;->loadAppIdsFromPackageList(Landroid/util/ArraySet;Landroid/util/ArraySet;)V
+PLcom/android/server/am/AppRestrictionController;->onLockedBootCompleted()V
+PLcom/android/server/am/AppRestrictionController;->onRoleHoldersChanged(Ljava/lang/String;Landroid/os/UserHandle;)V
+PLcom/android/server/am/AppRestrictionController;->onSystemReady()V
+PLcom/android/server/am/AppRestrictionController;->onUserInteractionStarted(Ljava/lang/String;I)V
+HPLcom/android/server/am/AppRestrictionController;->refreshAppRestrictionLevelForUid(IIIZ)V
+HPLcom/android/server/am/AppRestrictionController;->refreshAppRestrictionLevelForUser(III)V
+PLcom/android/server/am/AppRestrictionController;->registerCarrierPrivilegesCallbacks()V
+PLcom/android/server/am/AppRestrictionController;->registerForSystemBroadcasts()V
+PLcom/android/server/am/AppRestrictionController;->registerForUidObservers()V
+PLcom/android/server/am/AppRestrictionController;->setDeviceIdleAllowlist([I[I)V
+PLcom/android/server/am/AppRestrictionController;->standbyBucketToRestrictionLevel(I)I
+PLcom/android/server/am/AppStartInfoTracker$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/am/AppStartInfoTracker;)V
+PLcom/android/server/am/AppStartInfoTracker$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/am/AppStartInfoTracker;)V
+PLcom/android/server/am/AppStartInfoTracker$$ExternalSyntheticLambda6;->run()V
+PLcom/android/server/am/AppStartInfoTracker$1;-><init>(Lcom/android/server/am/AppStartInfoTracker;)V
+PLcom/android/server/am/AppStartInfoTracker$2;-><init>(Lcom/android/server/am/AppStartInfoTracker;)V
+PLcom/android/server/am/AppStartInfoTracker$AppStartInfoContainer$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/am/AppStartInfoTracker$AppStartInfoContainer$$ExternalSyntheticLambda0;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+PLcom/android/server/am/AppStartInfoTracker$AppStartInfoContainer;->$r8$lambda$m8mTdqn0Kp9LC0IM3Ch2QHqUGag(Landroid/app/ApplicationStartInfo;Landroid/app/ApplicationStartInfo;)I
+PLcom/android/server/am/AppStartInfoTracker$AppStartInfoContainer;->-$$Nest$fputmUid(Lcom/android/server/am/AppStartInfoTracker$AppStartInfoContainer;I)V
+HPLcom/android/server/am/AppStartInfoTracker$AppStartInfoContainer;-><init>(Lcom/android/server/am/AppStartInfoTracker;I)V
+HPLcom/android/server/am/AppStartInfoTracker$AppStartInfoContainer;->addStartInfoLocked(Landroid/app/ApplicationStartInfo;)V
+HPLcom/android/server/am/AppStartInfoTracker$AppStartInfoContainer;->addTimestampToStartLocked(IJ)V
+PLcom/android/server/am/AppStartInfoTracker$AppStartInfoContainer;->lambda$addStartInfoLocked$0(Landroid/app/ApplicationStartInfo;Landroid/app/ApplicationStartInfo;)I
+PLcom/android/server/am/AppStartInfoTracker;->$r8$lambda$VdR_UMu5lcdcEkpdcV9tz9DCksE(Lcom/android/server/am/AppStartInfoTracker;)V
+PLcom/android/server/am/AppStartInfoTracker;->-$$Nest$smgetStartTimestamp(Landroid/app/ApplicationStartInfo;)J
+HSPLcom/android/server/am/AppStartInfoTracker;-><clinit>()V
+HSPLcom/android/server/am/AppStartInfoTracker;-><init>()V
+HPLcom/android/server/am/AppStartInfoTracker;->addBaseFieldsFromProcessRecord(Landroid/app/ApplicationStartInfo;Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/AppStartInfoTracker;->addStartInfoLocked(Landroid/app/ApplicationStartInfo;)Landroid/app/ApplicationStartInfo;
+HPLcom/android/server/am/AppStartInfoTracker;->addTimestampToStart(Lcom/android/server/am/ProcessRecord;JI)V
+HPLcom/android/server/am/AppStartInfoTracker;->addTimestampToStart(Ljava/lang/String;IJI)V
+PLcom/android/server/am/AppStartInfoTracker;->checkCompletenessAndCallback(Landroid/app/ApplicationStartInfo;)V
+HPLcom/android/server/am/AppStartInfoTracker;->getStartTimestamp(Landroid/app/ApplicationStartInfo;)J
+HPLcom/android/server/am/AppStartInfoTracker;->handleProcessServiceStart(JLcom/android/server/am/ProcessRecord;Lcom/android/server/am/ServiceRecord;Z)V
+HSPLcom/android/server/am/AppStartInfoTracker;->init(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/AppStartInfoTracker;->lambda$onSystemReady$0()V
+PLcom/android/server/am/AppStartInfoTracker;->loadExistingProcessStartInfo()V
+PLcom/android/server/am/AppStartInfoTracker;->onActivityLaunchFinished(JLandroid/content/ComponentName;JI)V
+PLcom/android/server/am/AppStartInfoTracker;->onActivityLaunched(JLandroid/content/ComponentName;JLcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/AppStartInfoTracker;->onIntentStarted(Landroid/content/Intent;J)V
+PLcom/android/server/am/AppStartInfoTracker;->onReportFullyDrawn(JJ)V
+PLcom/android/server/am/AppStartInfoTracker;->onSystemReady()V
+PLcom/android/server/am/AppStartInfoTracker;->registerForPackageRemoval()V
+PLcom/android/server/am/AppStartInfoTracker;->registerForUserRemoval()V
+HPLcom/android/server/am/AppStartInfoTracker;->reportBindApplicationTimeNanos(Lcom/android/server/am/ProcessRecord;J)V
+HPLcom/android/server/am/AppStartInfoTracker;->schedulePersistProcessStartInfo(Z)V
+PLcom/android/server/am/BaseAppStateDurations;-><init>(ILjava/lang/String;ILjava/lang/String;Lcom/android/server/am/BaseAppStateEvents$MaxTrackingDurationConfig;)V
+PLcom/android/server/am/BaseAppStateDurations;-><init>(Lcom/android/server/am/BaseAppStateDurations;)V
+PLcom/android/server/am/BaseAppStateDurations;->addEvent(ZLcom/android/server/am/BaseAppStateTimeEvents$BaseTimeEvent;I)V
+PLcom/android/server/am/BaseAppStateDurations;->getTotalDurations(JI)J
+PLcom/android/server/am/BaseAppStateDurations;->getTotalDurationsSince(JJI)J
+PLcom/android/server/am/BaseAppStateDurations;->isActive(I)Z
+PLcom/android/server/am/BaseAppStateDurations;->subtract(Lcom/android/server/am/BaseAppStateDurations;II)V
+PLcom/android/server/am/BaseAppStateDurations;->subtract(Ljava/util/LinkedList;Ljava/util/LinkedList;)Ljava/util/LinkedList;
+PLcom/android/server/am/BaseAppStateDurations;->trimEvents(JI)V
+PLcom/android/server/am/BaseAppStateDurations;->trimEvents(JLjava/util/LinkedList;)V
+PLcom/android/server/am/BaseAppStateDurationsTracker$SimplePackageDurations;-><init>(ILjava/lang/String;Lcom/android/server/am/BaseAppStateEvents$MaxTrackingDurationConfig;)V
+PLcom/android/server/am/BaseAppStateDurationsTracker$SimplePackageDurations;->addEvent(ZJ)V
+PLcom/android/server/am/BaseAppStateDurationsTracker$UidStateDurations;-><init>(ILcom/android/server/am/BaseAppStateEvents$MaxTrackingDurationConfig;)V
+HSPLcom/android/server/am/BaseAppStateDurationsTracker;-><init>(Landroid/content/Context;Lcom/android/server/am/AppRestrictionController;Ljava/lang/reflect/Constructor;Ljava/lang/Object;)V
+PLcom/android/server/am/BaseAppStateDurationsTracker;->getTotalDurations(Ljava/lang/String;IJI)J
+PLcom/android/server/am/BaseAppStateDurationsTracker;->getTotalDurations(Ljava/lang/String;IJIZ)J
+PLcom/android/server/am/BaseAppStateDurationsTracker;->onUidGone(I)V
+HPLcom/android/server/am/BaseAppStateDurationsTracker;->onUidProcStateChanged(II)V
+PLcom/android/server/am/BaseAppStateDurationsTracker;->trimLocked(J)V
+HPLcom/android/server/am/BaseAppStateEvents;-><init>(ILjava/lang/String;ILjava/lang/String;Lcom/android/server/am/BaseAppStateEvents$MaxTrackingDurationConfig;)V
+PLcom/android/server/am/BaseAppStateEvents;-><init>(Lcom/android/server/am/BaseAppStateEvents;)V
+HPLcom/android/server/am/BaseAppStateEvents;->getEarliest(J)J
+HPLcom/android/server/am/BaseAppStateEvents;->getTotalEvents(JI)I
+PLcom/android/server/am/BaseAppStateEvents;->isEmpty()Z
+HSPLcom/android/server/am/BaseAppStateEventsTracker$BaseAppStateEventsPolicy;-><init>(Lcom/android/server/am/BaseAppStateTracker$Injector;Lcom/android/server/am/BaseAppStateEventsTracker;Ljava/lang/String;ZLjava/lang/String;J)V
+HPLcom/android/server/am/BaseAppStateEventsTracker$BaseAppStateEventsPolicy;->getMaxTrackingDuration()J
+PLcom/android/server/am/BaseAppStateEventsTracker$BaseAppStateEventsPolicy;->onSystemReady()V
+PLcom/android/server/am/BaseAppStateEventsTracker$BaseAppStateEventsPolicy;->updateMaxTrackingDuration()V
+HSPLcom/android/server/am/BaseAppStateEventsTracker;-><init>(Landroid/content/Context;Lcom/android/server/am/AppRestrictionController;Ljava/lang/reflect/Constructor;Ljava/lang/Object;)V
+PLcom/android/server/am/BaseAppStateEventsTracker;->getUidEventsLocked(I)Lcom/android/server/am/BaseAppStateEvents;
+HPLcom/android/server/am/BaseAppStateEventsTracker;->isUidOnTop(I)Z
+HPLcom/android/server/am/BaseAppStateEventsTracker;->onUidGone(I)V
+HPLcom/android/server/am/BaseAppStateEventsTracker;->onUidProcStateChanged(II)V
+PLcom/android/server/am/BaseAppStateEventsTracker;->onUidProcStateChangedUncheckedLocked(II)V
+PLcom/android/server/am/BaseAppStateEventsTracker;->trim(J)V
+PLcom/android/server/am/BaseAppStateEventsTracker;->trimLocked(J)V
+HSPLcom/android/server/am/BaseAppStatePolicy;-><init>(Lcom/android/server/am/BaseAppStateTracker$Injector;Lcom/android/server/am/BaseAppStateTracker;Ljava/lang/String;Z)V
+PLcom/android/server/am/BaseAppStatePolicy;->getProposedRestrictionLevel(Ljava/lang/String;II)I
+HPLcom/android/server/am/BaseAppStatePolicy;->isEnabled()Z
+PLcom/android/server/am/BaseAppStatePolicy;->onSystemReady()V
+HPLcom/android/server/am/BaseAppStatePolicy;->shouldExemptUid(I)I
+PLcom/android/server/am/BaseAppStatePolicy;->updateTrackerEnabled()V
+PLcom/android/server/am/BaseAppStateTimeEvents$BaseTimeEvent;-><init>(J)V
+PLcom/android/server/am/BaseAppStateTimeEvents$BaseTimeEvent;-><init>(Lcom/android/server/am/BaseAppStateTimeEvents$BaseTimeEvent;)V
+PLcom/android/server/am/BaseAppStateTimeEvents$BaseTimeEvent;->clone()Ljava/lang/Object;
+PLcom/android/server/am/BaseAppStateTimeEvents$BaseTimeEvent;->getTimestamp()J
+PLcom/android/server/am/BaseAppStateTimeEvents$BaseTimeEvent;->trimTo(J)V
+PLcom/android/server/am/BaseAppStateTimeEvents;-><init>(ILjava/lang/String;ILjava/lang/String;Lcom/android/server/am/BaseAppStateEvents$MaxTrackingDurationConfig;)V
+PLcom/android/server/am/BaseAppStateTimeEvents;-><init>(Lcom/android/server/am/BaseAppStateTimeEvents;)V
+PLcom/android/server/am/BaseAppStateTimeSlotEvents;-><init>(ILjava/lang/String;IJLjava/lang/String;Lcom/android/server/am/BaseAppStateEvents$MaxTrackingDurationConfig;)V
+HPLcom/android/server/am/BaseAppStateTimeSlotEvents;->addEvent(JI)V
+HPLcom/android/server/am/BaseAppStateTimeSlotEvents;->getSlotStartTime(J)J
+HPLcom/android/server/am/BaseAppStateTimeSlotEvents;->getTotalEventsSince(JJI)I
+HPLcom/android/server/am/BaseAppStateTimeSlotEvents;->trimEvents(JI)V
+PLcom/android/server/am/BaseAppStateTimeSlotEventsTracker$BaseAppStateTimeSlotEventsPolicy$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker;)V
+PLcom/android/server/am/BaseAppStateTimeSlotEventsTracker$BaseAppStateTimeSlotEventsPolicy$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/am/BaseAppStateTimeSlotEventsTracker$BaseAppStateTimeSlotEventsPolicy;->$r8$lambda$kd2ZnF50Kq1e96018ClxXCBOF9w(Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker;)V
+HSPLcom/android/server/am/BaseAppStateTimeSlotEventsTracker$BaseAppStateTimeSlotEventsPolicy;-><init>(Lcom/android/server/am/BaseAppStateTracker$Injector;Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker;Ljava/lang/String;ZLjava/lang/String;JLjava/lang/String;I)V
+HPLcom/android/server/am/BaseAppStateTimeSlotEventsTracker$BaseAppStateTimeSlotEventsPolicy;->getNumOfEventsThreshold()I
+PLcom/android/server/am/BaseAppStateTimeSlotEventsTracker$BaseAppStateTimeSlotEventsPolicy;->getProposedRestrictionLevel(Ljava/lang/String;II)I
+PLcom/android/server/am/BaseAppStateTimeSlotEventsTracker$BaseAppStateTimeSlotEventsPolicy;->getTimeSlotSize()J
+PLcom/android/server/am/BaseAppStateTimeSlotEventsTracker$BaseAppStateTimeSlotEventsPolicy;->onMaxTrackingDurationChanged(J)V
+PLcom/android/server/am/BaseAppStateTimeSlotEventsTracker$BaseAppStateTimeSlotEventsPolicy;->onSystemReady()V
+PLcom/android/server/am/BaseAppStateTimeSlotEventsTracker$BaseAppStateTimeSlotEventsPolicy;->onTrackerEnabled(Z)V
+PLcom/android/server/am/BaseAppStateTimeSlotEventsTracker$BaseAppStateTimeSlotEventsPolicy;->onUserInteractionStarted(Ljava/lang/String;I)V
+HPLcom/android/server/am/BaseAppStateTimeSlotEventsTracker$BaseAppStateTimeSlotEventsPolicy;->shouldExempt(Ljava/lang/String;I)I
+PLcom/android/server/am/BaseAppStateTimeSlotEventsTracker$BaseAppStateTimeSlotEventsPolicy;->updateNumOfEventsThreshold()V
+HSPLcom/android/server/am/BaseAppStateTimeSlotEventsTracker$H;-><init>(Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker;)V
+HPLcom/android/server/am/BaseAppStateTimeSlotEventsTracker$H;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/am/BaseAppStateTimeSlotEventsTracker$SimpleAppStateTimeslotEvents;-><init>(ILjava/lang/String;JLjava/lang/String;Lcom/android/server/am/BaseAppStateEvents$MaxTrackingDurationConfig;)V
+PLcom/android/server/am/BaseAppStateTimeSlotEventsTracker;->-$$Nest$mtrimEvents(Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker;)V
+HSPLcom/android/server/am/BaseAppStateTimeSlotEventsTracker;-><init>(Landroid/content/Context;Lcom/android/server/am/AppRestrictionController;Ljava/lang/reflect/Constructor;Ljava/lang/Object;)V
+PLcom/android/server/am/BaseAppStateTimeSlotEventsTracker;->getTotalEventsLocked(IJ)I
+HPLcom/android/server/am/BaseAppStateTimeSlotEventsTracker;->handleNewEvent(Ljava/lang/String;I)V
+PLcom/android/server/am/BaseAppStateTimeSlotEventsTracker;->onMonitorEnabled(Z)V
+HPLcom/android/server/am/BaseAppStateTimeSlotEventsTracker;->onNewEvent(Ljava/lang/String;I)V
+PLcom/android/server/am/BaseAppStateTimeSlotEventsTracker;->onNumOfEventsThresholdChanged(I)V
+PLcom/android/server/am/BaseAppStateTimeSlotEventsTracker;->onUserInteractionStarted(Ljava/lang/String;I)V
+PLcom/android/server/am/BaseAppStateTimeSlotEventsTracker;->trimEvents()V
+HSPLcom/android/server/am/BaseAppStateTracker$Injector;-><init>()V
+PLcom/android/server/am/BaseAppStateTracker$Injector;->getActivityManagerInternal()Landroid/app/ActivityManagerInternal;
+PLcom/android/server/am/BaseAppStateTracker$Injector;->getBatteryManagerInternal()Landroid/os/BatteryManagerInternal;
+PLcom/android/server/am/BaseAppStateTracker$Injector;->getIAppOpsService()Lcom/android/internal/app/IAppOpsService;
+PLcom/android/server/am/BaseAppStateTracker$Injector;->getMediaSessionManager()Landroid/media/session/MediaSessionManager;
+PLcom/android/server/am/BaseAppStateTracker$Injector;->getPackageManager()Landroid/content/pm/PackageManager;
+PLcom/android/server/am/BaseAppStateTracker$Injector;->getPackageManagerInternal()Landroid/content/pm/PackageManagerInternal;
+PLcom/android/server/am/BaseAppStateTracker$Injector;->getPermissionManager()Landroid/permission/PermissionManager;
+PLcom/android/server/am/BaseAppStateTracker$Injector;->getPermissionManagerServiceInternal()Lcom/android/server/pm/permission/PermissionManagerServiceInternal;
+PLcom/android/server/am/BaseAppStateTracker$Injector;->getPolicy()Lcom/android/server/am/BaseAppStatePolicy;
+PLcom/android/server/am/BaseAppStateTracker$Injector;->getServiceStartForegroundTimeout()J
+PLcom/android/server/am/BaseAppStateTracker$Injector;->getUserManagerInternal()Lcom/android/server/pm/UserManagerInternal;
+HPLcom/android/server/am/BaseAppStateTracker$Injector;->onSystemReady()V
+HSPLcom/android/server/am/BaseAppStateTracker$Injector;->setPolicy(Lcom/android/server/am/BaseAppStatePolicy;)V
+HSPLcom/android/server/am/BaseAppStateTracker;-><init>(Landroid/content/Context;Lcom/android/server/am/AppRestrictionController;Ljava/lang/reflect/Constructor;Ljava/lang/Object;)V
+PLcom/android/server/am/BaseAppStateTracker;->getPolicy()Lcom/android/server/am/BaseAppStatePolicy;
+HPLcom/android/server/am/BaseAppStateTracker;->notifyListenersOnStateChange(ILjava/lang/String;ZJI)V
+PLcom/android/server/am/BaseAppStateTracker;->onLockedBootCompleted()V
+PLcom/android/server/am/BaseAppStateTracker;->onSystemReady()V
+PLcom/android/server/am/BaseAppStateTracker;->onUidGone(I)V
+PLcom/android/server/am/BaseAppStateTracker;->onUidProcStateChanged(II)V
+PLcom/android/server/am/BaseAppStateTracker;->onUserInteractionStarted(Ljava/lang/String;I)V
+PLcom/android/server/am/BaseAppStateTracker;->registerStateListener(Lcom/android/server/am/BaseAppStateTracker$StateListener;)V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda100;-><init>(Lcom/android/server/am/BatteryStatsService;ILjava/lang/String;Ljava/lang/String;JJ)V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda100;->run()V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda101;-><init>(Lcom/android/server/am/BatteryStatsService;ZJ)V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda101;->run()V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda104;-><init>(Lcom/android/server/am/BatteryStatsService;IIIIIIIIJJJJ)V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda104;->run()V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda106;-><init>(Lcom/android/server/am/BatteryStatsService;Ljava/lang/String;IJJ)V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda106;->run()V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda10;-><init>(Lcom/android/server/am/BatteryStatsService;JJJ)V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda10;->run()V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda11;-><init>(Lcom/android/server/am/BatteryStatsService;IIIIIIIIJJJJ)V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda11;->run()V
+HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda14;-><init>(Lcom/android/server/am/BatteryStatsService;)V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda14;->scheduleAlarm(JLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;)V
+HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda15;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl;)V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda15;->run()V
+HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda16;-><init>(Lcom/android/server/am/BatteryStatsService;)V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda16;->get()Ljava/lang/Object;
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda17;-><init>(Lcom/android/server/am/BatteryStatsService;IJ[I)V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda17;->run()V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda18;-><init>(Lcom/android/server/am/BatteryStatsService;ZIJJ)V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda18;->run()V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda19;-><init>(Lcom/android/server/am/BatteryStatsService;ILjava/lang/String;Ljava/lang/String;JJ)V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda19;->run()V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/am/BatteryStatsService;IILjava/lang/String;Ljava/lang/String;IZJJ)V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda1;->run()V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda20;-><init>(Lcom/android/server/am/BatteryStatsService;Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZJJ)V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda20;->run()V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda23;-><init>(Lcom/android/server/am/BatteryStatsService;IJJ)V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda23;->run()V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda28;-><init>(Lcom/android/server/am/BatteryStatsService;Ljava/lang/String;Landroid/os/WorkSource;IJJ)V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda28;->run()V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda31;-><init>(Lcom/android/server/am/BatteryStatsService;IIJJ)V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda31;->run()V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda32;-><init>(Lcom/android/server/am/BatteryStatsService;Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;ILandroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZJJ)V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda32;->run()V
+HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda33;-><init>(Lcom/android/server/am/BatteryStatsService;)V
+HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda33;->run()V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda34;-><init>(Lcom/android/server/am/BatteryStatsService;IJJ)V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda34;->run()V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda35;-><init>(Lcom/android/server/am/BatteryStatsService;Ljava/lang/String;IJJ)V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda35;->run()V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda38;-><init>(Lcom/android/server/am/BatteryStatsService;Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IJJ)V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda38;->run()V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda39;-><init>(Lcom/android/server/am/BatteryStatsService;JJ)V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda39;->run()V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda41;-><init>(Lcom/android/server/am/BatteryStatsService;IZJJ)V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda41;->run()V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda43;-><init>(Lcom/android/server/am/BatteryStatsService;JJ)V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda43;->run()V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda52;-><init>(Lcom/android/server/am/BatteryStatsService;IJJ)V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda52;->run()V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda54;-><init>(Lcom/android/server/am/BatteryStatsService;Ljava/lang/String;IJJ)V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda54;->run()V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda55;-><init>(Lcom/android/server/am/BatteryStatsService;IIJJ)V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda55;->run()V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/am/BatteryStatsService;ILjava/lang/String;Ljava/lang/String;JJ)V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda5;->run()V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda61;-><init>(Lcom/android/server/am/BatteryStatsService;Ljava/lang/String;Landroid/os/WorkSource;IJJ)V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda61;->run()V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda65;-><init>(Lcom/android/server/am/BatteryStatsService;ILjava/lang/String;JJJ)V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda65;->run()V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda67;-><init>(Lcom/android/server/am/BatteryStatsService;)V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda67;->run()V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda68;-><init>(Lcom/android/server/am/BatteryStatsService;Ljava/lang/String;IIJJ)V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda68;->run()V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda71;-><init>(Lcom/android/server/am/BatteryStatsService;Landroid/telephony/SignalStrength;JJ)V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda71;->run()V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda73;-><init>(Lcom/android/server/am/BatteryStatsService;II)V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda73;->run()V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda75;-><init>(Lcom/android/server/am/BatteryStatsService;IJJ)V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda75;->run()V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda76;-><init>(Lcom/android/server/am/BatteryStatsService;IJJJ)V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda76;->run()V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda77;-><init>(Lcom/android/server/am/BatteryStatsService;ILjava/lang/String;IJJ)V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda77;->run()V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda7;-><init>(Lcom/android/server/am/BatteryStatsService;Ljava/lang/String;IJJ)V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda7;->run()V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda80;-><init>(Lcom/android/server/am/BatteryStatsService;IIJJ)V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda80;->run()V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda82;-><init>(Lcom/android/server/am/BatteryStatsService;IIJJ)V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda82;->run()V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda84;-><init>(Lcom/android/server/am/BatteryStatsService;Ljava/lang/String;ILandroid/os/WorkSource;Ljava/lang/String;JJ)V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda84;->run()V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda93;-><init>(Lcom/android/server/am/BatteryStatsService;IJJJ)V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda93;->run()V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda94;-><init>(Lcom/android/server/am/BatteryStatsService;IJJ)V
+PLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda94;->run()V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda98;-><init>(Lcom/android/server/am/BatteryStatsService;ILjava/lang/String;Ljava/lang/String;JJ)V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda98;->run()V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda9;-><init>(Lcom/android/server/am/BatteryStatsService;IILjava/lang/String;Ljava/lang/String;IJJ)V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda9;->run()V
+HSPLcom/android/server/am/BatteryStatsService$1;-><init>(Lcom/android/server/am/BatteryStatsService;)V
+HSPLcom/android/server/am/BatteryStatsService$2;-><init>(Lcom/android/server/am/BatteryStatsService;)V
+HSPLcom/android/server/am/BatteryStatsService$3;-><init>(Lcom/android/server/am/BatteryStatsService;)V
+HSPLcom/android/server/am/BatteryStatsService$LocalService;-><init>(Lcom/android/server/am/BatteryStatsService;)V
+HSPLcom/android/server/am/BatteryStatsService$LocalService;-><init>(Lcom/android/server/am/BatteryStatsService;Lcom/android/server/am/BatteryStatsService$LocalService-IA;)V
+PLcom/android/server/am/BatteryStatsService$LocalService;->noteWakingAlarmBatch(J[I)V
+PLcom/android/server/am/BatteryStatsService$StatsPullAtomCallbackImpl;-><init>(Lcom/android/server/am/BatteryStatsService;)V
+PLcom/android/server/am/BatteryStatsService$StatsPullAtomCallbackImpl;-><init>(Lcom/android/server/am/BatteryStatsService;Lcom/android/server/am/BatteryStatsService$StatsPullAtomCallbackImpl-IA;)V
+HSPLcom/android/server/am/BatteryStatsService$WakeupReasonThread;-><init>(Lcom/android/server/am/BatteryStatsService;)V
+HSPLcom/android/server/am/BatteryStatsService$WakeupReasonThread;->run()V
+HSPLcom/android/server/am/BatteryStatsService$WakeupReasonThread;->waitWakeup()Ljava/lang/String;
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$05VuxEHPxv9bihz9kfDhxNYcUeg(Lcom/android/server/am/BatteryStatsService;II)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$0fzjwUAJJ2V4v0Cay7jzrTdU40o(Lcom/android/server/am/BatteryStatsService;IJJ)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$5NUW-CFGVE8WF6xUKrwN74CSvqk(Lcom/android/server/am/BatteryStatsService;Ljava/lang/String;ILandroid/os/WorkSource;Ljava/lang/String;JJ)V
+HPLcom/android/server/am/BatteryStatsService;->$r8$lambda$5c9rjGQgA92fhsoBQw9Y09QbGbc(Lcom/android/server/am/BatteryStatsService;IILjava/lang/String;Ljava/lang/String;IZJJ)V
+HPLcom/android/server/am/BatteryStatsService;->$r8$lambda$66TrSI7HPB2r78-NHdlVdzcoo0I(Lcom/android/server/am/BatteryStatsService;ILjava/lang/String;Ljava/lang/String;JJ)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$6bEZ99kbZB3XX6HcnBga24l6aUc(Lcom/android/server/am/BatteryStatsService;IJJ)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$70eN_K-s58p6l5EY1KYPtppqPbc(Lcom/android/server/am/BatteryStatsService;Ljava/lang/String;IJJ)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$9YKwtw1IoxWGgto0UI2p_sj-9dQ(Lcom/android/server/am/BatteryStatsService;ILjava/lang/String;Ljava/lang/String;JJ)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$9grG_uws1JUn8unR54WcHbhwn5c(Lcom/android/server/am/BatteryStatsService;ILjava/lang/String;JJJ)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$9w4mwgpslyOzt3AR9Ha0zPYHpwA(Lcom/android/server/am/BatteryStatsService;)Ljava/lang/Long;
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$AVovY0AMHiiXsBa6jBuOU51vHcs(Lcom/android/server/am/BatteryStatsService;Landroid/telephony/SignalStrength;JJ)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$Aja08BbHSMMTwusvvYTiqkGKBAQ(Lcom/android/server/am/BatteryStatsService;ZIJJ)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$C6FpWSABUutRWNI5WWUNUMlbhX8(Lcom/android/server/am/BatteryStatsService;Ljava/lang/String;IJJ)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$DU-o6h6aLnoKPvLYt0hicwKfF64(Lcom/android/server/am/BatteryStatsService;Ljava/lang/String;IIJJ)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$E2zZySja-QLWcx-iSOhrqHJf6yg(Lcom/android/server/am/BatteryStatsService;IIIIIIIIJJJJ)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$EgeH5604sbT6COs9ssH7Gnc9_UY(Lcom/android/server/am/BatteryStatsService;ZJ)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$HB6PHpsf2JO-bV8EaT-6cBmi25g(Lcom/android/server/am/BatteryStatsService;Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;ILandroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZJJ)V
+HPLcom/android/server/am/BatteryStatsService;->$r8$lambda$HPK3ieJxw8HM__PfnZB13lFXngg(Lcom/android/server/am/BatteryStatsService;ILjava/lang/String;Ljava/lang/String;JJ)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$I4JXgMyze7aO4AYNI9qaJb5DHnE(Lcom/android/server/am/BatteryStatsService;IIJJ)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$IupxpBj-T3QQ4VPpQdAn45060Bk(Lcom/android/server/am/BatteryStatsService;JJJ)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$KWnpYgez9XnIYTdHYwFXQBEtGWA(Lcom/android/server/am/BatteryStatsService;IZJJ)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$L6Emotnq_h9BsIXrMev47t-2ues(Lcom/android/server/am/BatteryStatsService;)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$OMr0PYqqN0qekZ4Oq5EyCc3f6yY(Lcom/android/server/am/BatteryStatsService;IIJJ)V
+HPLcom/android/server/am/BatteryStatsService;->$r8$lambda$QChUd1G6g1_FJ1G5zg2vCcUJr6g(Lcom/android/server/am/BatteryStatsService;IIJJ)V
+HPLcom/android/server/am/BatteryStatsService;->$r8$lambda$S2EACvTzdacLK36CDf9BLXIiBdE(Lcom/android/server/am/BatteryStatsService;Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IJJ)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$TItPRlBD8FUMtanBE_REU0Bc7wI(Lcom/android/server/am/BatteryStatsService;IILjava/lang/String;Ljava/lang/String;IJJ)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$TQviDJidtGDxQAAKQbSr5Ay1c4w(Lcom/android/server/am/BatteryStatsService;Ljava/lang/String;IJJ)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$UvPVJvfLJUv7DtJ03YLFls1_iP0(Lcom/android/server/am/BatteryStatsService;JLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;)V
+HPLcom/android/server/am/BatteryStatsService;->$r8$lambda$VOEBeS3jOU02rZfcXEfni9PuRDQ(Lcom/android/server/am/BatteryStatsService;Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZJJ)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$WhP3tsKNyaWq4EKerIaU2_tdTiA(Lcom/android/server/am/BatteryStatsService;JJ)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$WkwX9rcT9mMOtA9bjNLRt0WfrYM(Lcom/android/server/am/BatteryStatsService;JJ)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$YruM32EUvUPcBIsiSaEzCqeUrpI(Lcom/android/server/am/BatteryStatsService;Ljava/lang/String;Landroid/os/WorkSource;IJJ)V
+HPLcom/android/server/am/BatteryStatsService;->$r8$lambda$ZbDBcGr7GIjhlP9uVlhIJ6H-yI0(Lcom/android/server/am/BatteryStatsService;ILjava/lang/String;Ljava/lang/String;JJ)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$_wc9i2CN7elpRhTTxnndgHftIik(Lcom/android/server/am/BatteryStatsService;Ljava/lang/String;IJJ)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$dF-U_JxRR-TXS-G38yOId48wzV8(Lcom/android/server/am/BatteryStatsService;IJJ)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$f7YTA7KXLeuJfd9ui_uSHE_x4U4(Lcom/android/server/am/BatteryStatsService;IIJJ)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$g5F2iod5rkuBWKW51BpAD_uY9EM(Lcom/android/server/am/BatteryStatsService;Ljava/lang/String;Landroid/os/WorkSource;IJJ)V
+HSPLcom/android/server/am/BatteryStatsService;->$r8$lambda$hQPDLi0WrcPIkhfpv4ZQEEC1HwU(Lcom/android/server/am/BatteryStatsService;)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$hobJ83HHMdRmCpAK-IwwsUAHx5I(Lcom/android/server/am/BatteryStatsService;IJJJ)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$rbX6PWNefdfv6B_50VnXELEMDf0(Lcom/android/server/am/BatteryStatsService;IJJ)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$sqB_0NoPbXgwuh-ZQaJfwVslwMU(Lcom/android/server/am/BatteryStatsService;IJJ)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$v5i86d7gh9jhycRQIAW4bfFGFFo(Lcom/android/server/am/BatteryStatsService;IJ[I)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$vLt9HebbnK7vzU1AuoOmeTlgDO4(Lcom/android/server/am/BatteryStatsService;IIIIIIIIJJJJ)V
+PLcom/android/server/am/BatteryStatsService;->$r8$lambda$xojdHRayd8rEc5I8EnGVfIYEOYE(Lcom/android/server/am/BatteryStatsService;IJJJ)V
+HPLcom/android/server/am/BatteryStatsService;->$r8$lambda$zkXyGfuKC6HI4x68m_-LppSuQG4(Lcom/android/server/am/BatteryStatsService;ILjava/lang/String;IJJ)V
+HSPLcom/android/server/am/BatteryStatsService;->-$$Nest$smnativeWaitWakeup(Ljava/nio/ByteBuffer;)I
+HSPLcom/android/server/am/BatteryStatsService;-><init>(Landroid/content/Context;Ljava/io/File;)V
+HSPLcom/android/server/am/BatteryStatsService;->create(Landroid/content/Context;Ljava/io/File;Landroid/os/Handler;Lcom/android/server/power/stats/BatteryStatsImpl$BatteryCallback;)Lcom/android/server/am/BatteryStatsService;
+HSPLcom/android/server/am/BatteryStatsService;->createAggregatedPowerStatsConfig()Lcom/android/server/power/stats/AggregatedPowerStatsConfig;
+HSPLcom/android/server/am/BatteryStatsService;->createPowerStatsScheduler(Landroid/content/Context;)Lcom/android/server/power/stats/PowerStatsScheduler;
+HSPLcom/android/server/am/BatteryStatsService;->fillLowPowerStats(Lcom/android/internal/os/RpmStats;)V
+HSPLcom/android/server/am/BatteryStatsService;->fillRailDataStats(Lcom/android/internal/os/RailStats;)V
+HSPLcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/server/power/stats/BatteryStatsImpl;
+PLcom/android/server/am/BatteryStatsService;->getService()Lcom/android/internal/app/IBatteryStats;
+PLcom/android/server/am/BatteryStatsService;->getSubsystemLowPowerStats()Ljava/lang/String;
+HSPLcom/android/server/am/BatteryStatsService;->initPowerManagement()V
+PLcom/android/server/am/BatteryStatsService;->isCharging()Z
+PLcom/android/server/am/BatteryStatsService;->isOnBattery()Z
+PLcom/android/server/am/BatteryStatsService;->lambda$createPowerStatsScheduler$0(JLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;)V
+PLcom/android/server/am/BatteryStatsService;->lambda$createPowerStatsScheduler$1()Ljava/lang/Long;
+PLcom/android/server/am/BatteryStatsService;->lambda$noteAlarmFinish$22(Ljava/lang/String;Landroid/os/WorkSource;IJJ)V
+HPLcom/android/server/am/BatteryStatsService;->lambda$noteAlarmStart$21(Ljava/lang/String;Landroid/os/WorkSource;IJJ)V
+PLcom/android/server/am/BatteryStatsService;->lambda$noteBleScanReset$90(JJ)V
+PLcom/android/server/am/BatteryStatsService;->lambda$noteChangeWakelockFromSource$26(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;ILandroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZJJ)V
+PLcom/android/server/am/BatteryStatsService;->lambda$noteCpuWakingActivity$2(IJ[I)V
+PLcom/android/server/am/BatteryStatsService;->lambda$noteCurrentTimeChanged$99(JJJ)V
+HPLcom/android/server/am/BatteryStatsService;->lambda$noteEvent$14(ILjava/lang/String;IJJ)V
+PLcom/android/server/am/BatteryStatsService;->lambda$noteInteractive$42(ZJ)V
+PLcom/android/server/am/BatteryStatsService;->lambda$noteJobFinish$18(Ljava/lang/String;IIJJ)V
+PLcom/android/server/am/BatteryStatsService;->lambda$noteJobStart$17(Ljava/lang/String;IJJ)V
+PLcom/android/server/am/BatteryStatsService;->lambda$noteNetworkStatsEnabled$84()V
+PLcom/android/server/am/BatteryStatsService;->lambda$notePhoneSignalStrength$47(Landroid/telephony/SignalStrength;JJ)V
+PLcom/android/server/am/BatteryStatsService;->lambda$notePhoneState$49(IJJ)V
+PLcom/android/server/am/BatteryStatsService;->lambda$noteProcessAnr$11(Ljava/lang/String;IJJ)V
+HPLcom/android/server/am/BatteryStatsService;->lambda$noteProcessDied$101(II)V
+PLcom/android/server/am/BatteryStatsService;->lambda$noteProcessFinish$12(Ljava/lang/String;IJJ)V
+HPLcom/android/server/am/BatteryStatsService;->lambda$noteProcessStart$9(Ljava/lang/String;IJJ)V
+PLcom/android/server/am/BatteryStatsService;->lambda$noteScreenBrightness$39(IJJ)V
+PLcom/android/server/am/BatteryStatsService;->lambda$noteScreenState$38(IJJJ)V
+HPLcom/android/server/am/BatteryStatsService;->lambda$noteServiceStartLaunch$105(ILjava/lang/String;Ljava/lang/String;JJ)V
+HPLcom/android/server/am/BatteryStatsService;->lambda$noteServiceStartRunning$103(ILjava/lang/String;Ljava/lang/String;JJ)V
+HPLcom/android/server/am/BatteryStatsService;->lambda$noteServiceStopLaunch$106(ILjava/lang/String;Ljava/lang/String;JJ)V
+HPLcom/android/server/am/BatteryStatsService;->lambda$noteServiceStopRunning$104(ILjava/lang/String;Ljava/lang/String;JJ)V
+PLcom/android/server/am/BatteryStatsService;->lambda$noteStartAudio$52(IJJ)V
+PLcom/android/server/am/BatteryStatsService;->lambda$noteStartSensor$32(IIJJ)V
+HPLcom/android/server/am/BatteryStatsService;->lambda$noteStartWakelock$23(IILjava/lang/String;Ljava/lang/String;IZJJ)V
+HPLcom/android/server/am/BatteryStatsService;->lambda$noteStartWakelockFromSource$25(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZJJ)V
+PLcom/android/server/am/BatteryStatsService;->lambda$noteStopAudio$53(IJJ)V
+PLcom/android/server/am/BatteryStatsService;->lambda$noteStopSensor$33(IIJJ)V
+HPLcom/android/server/am/BatteryStatsService;->lambda$noteStopWakelock$24(IILjava/lang/String;Ljava/lang/String;IJJ)V
+HPLcom/android/server/am/BatteryStatsService;->lambda$noteStopWakelockFromSource$27(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IJJ)V
+HPLcom/android/server/am/BatteryStatsService;->lambda$noteUidProcessState$13(IIJJ)V
+PLcom/android/server/am/BatteryStatsService;->lambda$noteUserActivity$40(IIJJ)V
+PLcom/android/server/am/BatteryStatsService;->lambda$noteVibratorOff$35(IJJ)V
+PLcom/android/server/am/BatteryStatsService;->lambda$noteVibratorOn$34(IJJJ)V
+PLcom/android/server/am/BatteryStatsService;->lambda$noteWakupAlarm$20(Ljava/lang/String;ILandroid/os/WorkSource;Ljava/lang/String;JJ)V
+PLcom/android/server/am/BatteryStatsService;->lambda$noteWifiOn$50(JJ)V
+PLcom/android/server/am/BatteryStatsService;->lambda$noteWifiSupplicantStateChanged$69(IZJJ)V
+HSPLcom/android/server/am/BatteryStatsService;->lambda$scheduleWriteToDisk$5()V
+PLcom/android/server/am/BatteryStatsService;->lambda$setBatteryState$96(IIIIIIIIJJJJ)V
+PLcom/android/server/am/BatteryStatsService;->lambda$setBatteryState$97(IIIIIIIIJJJJ)V
+PLcom/android/server/am/BatteryStatsService;->lambda$updateBatteryStatsOnActivityUsage$100(ZIJJ)V
+PLcom/android/server/am/BatteryStatsService;->lambda$updateForegroundTimeIfOnBattery$98(ILjava/lang/String;JJJ)V
+HPLcom/android/server/am/BatteryStatsService;->monitor()V
+HPLcom/android/server/am/BatteryStatsService;->noteAlarmFinish(Ljava/lang/String;Landroid/os/WorkSource;I)V
+HPLcom/android/server/am/BatteryStatsService;->noteAlarmStart(Ljava/lang/String;Landroid/os/WorkSource;I)V
+PLcom/android/server/am/BatteryStatsService;->noteBleScanReset()V
+PLcom/android/server/am/BatteryStatsService;->noteChangeWakelockFromSource(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;ILandroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZ)V
+PLcom/android/server/am/BatteryStatsService;->noteCpuWakingActivity(IJ[I)V
+PLcom/android/server/am/BatteryStatsService;->noteCurrentTimeChanged()V
+HPLcom/android/server/am/BatteryStatsService;->noteEvent(ILjava/lang/String;I)V
+PLcom/android/server/am/BatteryStatsService;->noteInteractive(Z)V
+HPLcom/android/server/am/BatteryStatsService;->noteJobFinish(Ljava/lang/String;II)V
+HPLcom/android/server/am/BatteryStatsService;->noteJobStart(Ljava/lang/String;I)V
+PLcom/android/server/am/BatteryStatsService;->noteNetworkStatsEnabled()V
+PLcom/android/server/am/BatteryStatsService;->notePhoneSignalStrength(Landroid/telephony/SignalStrength;)V
+PLcom/android/server/am/BatteryStatsService;->notePhoneState(I)V
+PLcom/android/server/am/BatteryStatsService;->noteProcessAnr(Ljava/lang/String;I)V
+HPLcom/android/server/am/BatteryStatsService;->noteProcessDied(II)V
+HPLcom/android/server/am/BatteryStatsService;->noteProcessFinish(Ljava/lang/String;I)V
+HPLcom/android/server/am/BatteryStatsService;->noteProcessStart(Ljava/lang/String;I)V
+PLcom/android/server/am/BatteryStatsService;->noteScreenBrightness(I)V
+PLcom/android/server/am/BatteryStatsService;->noteScreenState(I)V
+HPLcom/android/server/am/BatteryStatsService;->noteServiceStartLaunch(ILjava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/am/BatteryStatsService;->noteServiceStartRunning(ILjava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/am/BatteryStatsService;->noteServiceStopLaunch(ILjava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/am/BatteryStatsService;->noteServiceStopRunning(ILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/am/BatteryStatsService;->noteStartAudio(I)V
+PLcom/android/server/am/BatteryStatsService;->noteStartSensor(II)V
+HPLcom/android/server/am/BatteryStatsService;->noteStartWakelock(IILjava/lang/String;Ljava/lang/String;IZ)V
+HPLcom/android/server/am/BatteryStatsService;->noteStartWakelockFromSource(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZ)V
+PLcom/android/server/am/BatteryStatsService;->noteStopAudio(I)V
+PLcom/android/server/am/BatteryStatsService;->noteStopSensor(II)V
+HPLcom/android/server/am/BatteryStatsService;->noteStopWakelock(IILjava/lang/String;Ljava/lang/String;I)V
+HPLcom/android/server/am/BatteryStatsService;->noteStopWakelockFromSource(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;I)V
+HPLcom/android/server/am/BatteryStatsService;->noteUidProcessState(II)V
+PLcom/android/server/am/BatteryStatsService;->noteUserActivity(II)V
+PLcom/android/server/am/BatteryStatsService;->noteVibratorOff(I)V
+PLcom/android/server/am/BatteryStatsService;->noteVibratorOn(IJ)V
+PLcom/android/server/am/BatteryStatsService;->noteWakeupSensorEvent(JII)V
+HPLcom/android/server/am/BatteryStatsService;->noteWakupAlarm(Ljava/lang/String;ILandroid/os/WorkSource;Ljava/lang/String;)V
+PLcom/android/server/am/BatteryStatsService;->noteWifiOn()V
+PLcom/android/server/am/BatteryStatsService;->noteWifiSupplicantStateChanged(IZ)V
+PLcom/android/server/am/BatteryStatsService;->onSystemReady()V
+PLcom/android/server/am/BatteryStatsService;->populatePowerEntityMaps()V
+HSPLcom/android/server/am/BatteryStatsService;->publish()V
+PLcom/android/server/am/BatteryStatsService;->registerStatsCallbacks()V
+HSPLcom/android/server/am/BatteryStatsService;->scheduleWriteToDisk()V
+HPLcom/android/server/am/BatteryStatsService;->setBatteryState(IIIIIIIIJ)V
+PLcom/android/server/am/BatteryStatsService;->systemServicesReady()V
+PLcom/android/server/am/BatteryStatsService;->updateBatteryStatsOnActivityUsage(Ljava/lang/String;Ljava/lang/String;IIZ)V
+PLcom/android/server/am/BatteryStatsService;->updateForegroundTimeIfOnBattery(Ljava/lang/String;IJ)V
+PLcom/android/server/am/BroadcastConstants$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/am/BroadcastConstants;)V
+PLcom/android/server/am/BroadcastConstants$SettingsObserver;-><init>(Lcom/android/server/am/BroadcastConstants;Landroid/os/Handler;)V
+HSPLcom/android/server/am/BroadcastConstants;-><clinit>()V
+HSPLcom/android/server/am/BroadcastConstants;-><init>(Ljava/lang/String;)V
+HSPLcom/android/server/am/BroadcastConstants;->getDeviceConfigBoolean(Ljava/lang/String;Z)Z
+HSPLcom/android/server/am/BroadcastConstants;->getDeviceConfigInt(Ljava/lang/String;I)I
+HSPLcom/android/server/am/BroadcastConstants;->getDeviceConfigLong(Ljava/lang/String;J)J
+HSPLcom/android/server/am/BroadcastConstants;->getMaxRunningQueues()I
+HSPLcom/android/server/am/BroadcastConstants;->propertyFor(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/server/am/BroadcastConstants;->propertyOverrideFor(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/am/BroadcastConstants;->startObserving(Landroid/os/Handler;Landroid/content/ContentResolver;)V
+HSPLcom/android/server/am/BroadcastConstants;->updateDeviceConfigConstants()V
+PLcom/android/server/am/BroadcastConstants;->updateSettingsConstants()V
+HPLcom/android/server/am/BroadcastFilter;-><init>(Landroid/content/IntentFilter;Lcom/android/server/am/ReceiverList;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIZZZ)V
+HSPLcom/android/server/am/BroadcastHistory;-><init>(Lcom/android/server/am/BroadcastConstants;)V
+HPLcom/android/server/am/BroadcastHistory;->addBroadcastToHistoryLocked(Lcom/android/server/am/BroadcastRecord;)V
+HPLcom/android/server/am/BroadcastHistory;->onBroadcastEnqueuedLocked(Lcom/android/server/am/BroadcastRecord;)V
+HPLcom/android/server/am/BroadcastHistory;->onBroadcastFinishedLocked(Lcom/android/server/am/BroadcastRecord;)V
+PLcom/android/server/am/BroadcastHistory;->ringAdvance(III)I
+PLcom/android/server/am/BroadcastLoopers;-><clinit>()V
+HPLcom/android/server/am/BroadcastLoopers;->addMyLooper()V
+PLcom/android/server/am/BroadcastProcessQueue$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/am/BroadcastProcessQueue$$ExternalSyntheticLambda0;->test(Lcom/android/server/am/BroadcastRecord;I)Z
+PLcom/android/server/am/BroadcastProcessQueue$$ExternalSyntheticLambda1;-><init>()V
+PLcom/android/server/am/BroadcastProcessQueue$$ExternalSyntheticLambda1;->test(Lcom/android/server/am/BroadcastRecord;I)Z
+PLcom/android/server/am/BroadcastProcessQueue;->$r8$lambda$7jvfHufVyE3JdVe4Li1zoeZOhgw(Lcom/android/server/am/BroadcastRecord;I)Z
+PLcom/android/server/am/BroadcastProcessQueue;->$r8$lambda$uTkPoca9PFx_MiK361g77-Nbtxk(Lcom/android/server/am/BroadcastRecord;I)Z
+HPLcom/android/server/am/BroadcastProcessQueue;-><init>(Lcom/android/server/am/BroadcastConstants;Ljava/lang/String;I)V
+HPLcom/android/server/am/BroadcastProcessQueue;->assertHealthLocked()V
+HPLcom/android/server/am/BroadcastProcessQueue;->assertHealthLocked(Ljava/util/ArrayDeque;)V
+HPLcom/android/server/am/BroadcastProcessQueue;->clearDeferredStates(Lcom/android/server/am/BroadcastProcessQueue$BroadcastConsumer;)V
+HPLcom/android/server/am/BroadcastProcessQueue;->enqueueOrReplaceBroadcast(Lcom/android/server/am/BroadcastRecord;ILcom/android/server/am/BroadcastProcessQueue$BroadcastConsumer;)Lcom/android/server/am/BroadcastRecord;
+HPLcom/android/server/am/BroadcastProcessQueue;->forEachMatchingBroadcast(Lcom/android/server/am/BroadcastProcessQueue$BroadcastPredicate;Lcom/android/server/am/BroadcastProcessQueue$BroadcastConsumer;Z)Z
+HPLcom/android/server/am/BroadcastProcessQueue;->forEachMatchingBroadcastInQueue(Ljava/util/ArrayDeque;Lcom/android/server/am/BroadcastProcessQueue$BroadcastPredicate;Lcom/android/server/am/BroadcastProcessQueue$BroadcastConsumer;Z)Z
+HPLcom/android/server/am/BroadcastProcessQueue;->getActive()Lcom/android/server/am/BroadcastRecord;
+HPLcom/android/server/am/BroadcastProcessQueue;->getActiveAssumedDeliveryCountSinceIdle()I
+HPLcom/android/server/am/BroadcastProcessQueue;->getActiveCountSinceIdle()I
+HPLcom/android/server/am/BroadcastProcessQueue;->getActiveIndex()I
+HPLcom/android/server/am/BroadcastProcessQueue;->getActiveViaColdStart()Z
+HPLcom/android/server/am/BroadcastProcessQueue;->getActiveWasStopped()Z
+HPLcom/android/server/am/BroadcastProcessQueue;->getPreferredSchedulingGroupLocked()I
+HPLcom/android/server/am/BroadcastProcessQueue;->getQueueForBroadcast(Lcom/android/server/am/BroadcastRecord;)Ljava/util/ArrayDeque;
+HPLcom/android/server/am/BroadcastProcessQueue;->getRunnableAt()J
+HPLcom/android/server/am/BroadcastProcessQueue;->insertIntoRunnableList(Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue;)Lcom/android/server/am/BroadcastProcessQueue;
+HPLcom/android/server/am/BroadcastProcessQueue;->invalidateRunnableAt()V
+HPLcom/android/server/am/BroadcastProcessQueue;->isActive()Z
+HPLcom/android/server/am/BroadcastProcessQueue;->isEmpty()Z
+HPLcom/android/server/am/BroadcastProcessQueue;->isPendingManifest()Z
+HPLcom/android/server/am/BroadcastProcessQueue;->isPendingOrdered()Z
+HPLcom/android/server/am/BroadcastProcessQueue;->isPendingResultTo()Z
+HPLcom/android/server/am/BroadcastProcessQueue;->isPendingUrgent()Z
+HPLcom/android/server/am/BroadcastProcessQueue;->isProcessWarm()Z
+HPLcom/android/server/am/BroadcastProcessQueue;->isQueueEmpty(Ljava/util/ArrayDeque;)Z
+HPLcom/android/server/am/BroadcastProcessQueue;->isRunnable()Z
+PLcom/android/server/am/BroadcastProcessQueue;->lambda$updateDeferredStates$0(Lcom/android/server/am/BroadcastRecord;I)Z
+PLcom/android/server/am/BroadcastProcessQueue;->lambda$updateDeferredStates$1(Lcom/android/server/am/BroadcastRecord;I)Z
+HPLcom/android/server/am/BroadcastProcessQueue;->makeActiveIdle()V
+HPLcom/android/server/am/BroadcastProcessQueue;->makeActiveNextPending()V
+HPLcom/android/server/am/BroadcastProcessQueue;->onBroadcastDequeued(Lcom/android/server/am/BroadcastRecord;I)V
+HPLcom/android/server/am/BroadcastProcessQueue;->onBroadcastEnqueued(Lcom/android/server/am/BroadcastRecord;I)V
+HPLcom/android/server/am/BroadcastProcessQueue;->peekNextBroadcast()Lcom/android/internal/os/SomeArgs;
+HPLcom/android/server/am/BroadcastProcessQueue;->peekNextBroadcastRecord()Lcom/android/server/am/BroadcastRecord;
+HPLcom/android/server/am/BroadcastProcessQueue;->queueForNextBroadcast()Ljava/util/ArrayDeque;
+HPLcom/android/server/am/BroadcastProcessQueue;->queueForNextBroadcast(Ljava/util/ArrayDeque;Ljava/util/ArrayDeque;II)Ljava/util/ArrayDeque;
+HPLcom/android/server/am/BroadcastProcessQueue;->removeFromRunnableList(Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue;)Lcom/android/server/am/BroadcastProcessQueue;
+HPLcom/android/server/am/BroadcastProcessQueue;->removeNextBroadcast()Lcom/android/internal/os/SomeArgs;
+HPLcom/android/server/am/BroadcastProcessQueue;->replaceBroadcast(Lcom/android/server/am/BroadcastRecord;I)Lcom/android/server/am/BroadcastRecord;
+HPLcom/android/server/am/BroadcastProcessQueue;->replaceBroadcastInQueue(Ljava/util/ArrayDeque;Lcom/android/server/am/BroadcastRecord;I)Lcom/android/server/am/BroadcastRecord;
+PLcom/android/server/am/BroadcastProcessQueue;->setActiveViaColdStart(Z)V
+HPLcom/android/server/am/BroadcastProcessQueue;->setProcessAndUidState(Lcom/android/server/am/ProcessRecord;ZZ)Z
+HPLcom/android/server/am/BroadcastProcessQueue;->setProcessFreezable(Z)Z
+HPLcom/android/server/am/BroadcastProcessQueue;->setProcessInstrumented(Z)Z
+HPLcom/android/server/am/BroadcastProcessQueue;->setProcessPersistent(Z)Z
+HPLcom/android/server/am/BroadcastProcessQueue;->setTimeoutScheduled(Z)V
+HPLcom/android/server/am/BroadcastProcessQueue;->setUidForeground(Z)Z
+HPLcom/android/server/am/BroadcastProcessQueue;->shouldBeDeferred()Z
+HPLcom/android/server/am/BroadcastProcessQueue;->timeoutScheduled()Z
+HPLcom/android/server/am/BroadcastProcessQueue;->toShortString()Ljava/lang/String;
+PLcom/android/server/am/BroadcastProcessQueue;->toString()Ljava/lang/String;
+HPLcom/android/server/am/BroadcastProcessQueue;->traceActiveBegin()V
+HPLcom/android/server/am/BroadcastProcessQueue;->traceActiveEnd()V
+HPLcom/android/server/am/BroadcastProcessQueue;->traceProcessEnd()V
+HPLcom/android/server/am/BroadcastProcessQueue;->traceProcessRunningBegin()V
+HPLcom/android/server/am/BroadcastProcessQueue;->traceProcessStartingBegin()V
+HPLcom/android/server/am/BroadcastProcessQueue;->updateDeferredStates(Lcom/android/server/am/BroadcastProcessQueue$BroadcastConsumer;Lcom/android/server/am/BroadcastProcessQueue$BroadcastConsumer;)V
+HPLcom/android/server/am/BroadcastProcessQueue;->updateRunnableAt()V
+HSPLcom/android/server/am/BroadcastQueue;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/os/Handler;Ljava/lang/String;Lcom/android/server/am/BroadcastSkipPolicy;Lcom/android/server/am/BroadcastHistory;)V
+PLcom/android/server/am/BroadcastQueue;->checkState(ZLjava/lang/String;)V
+HPLcom/android/server/am/BroadcastQueue;->traceBegin(Ljava/lang/String;)I
+HPLcom/android/server/am/BroadcastQueue;->traceEnd(I)V
+HPLcom/android/server/am/BroadcastQueueImpl;->logBootCompletedBroadcastCompletionLatencyIfPossible(Lcom/android/server/am/BroadcastRecord;)V
+HSPLcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda12;-><init>(Lcom/android/server/am/BroadcastQueueModernImpl;)V
+HPLcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda12;->handleMessage(Landroid/os/Message;)Z
+HSPLcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda13;-><init>(Lcom/android/server/am/BroadcastQueueModernImpl;)V
+PLcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda13;->accept(Lcom/android/server/am/BroadcastRecord;I)V
+HSPLcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda14;-><init>(Lcom/android/server/am/BroadcastQueueModernImpl;)V
+HPLcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda14;->accept(Lcom/android/server/am/BroadcastRecord;I)V
+HSPLcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda15;-><init>(Lcom/android/server/am/BroadcastQueueModernImpl;)V
+PLcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda15;->accept(Lcom/android/server/am/BroadcastRecord;I)V
+HSPLcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda16;-><init>(Lcom/android/server/am/BroadcastQueueModernImpl;)V
+PLcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda16;->accept(Lcom/android/server/am/BroadcastRecord;I)V
+PLcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda17;-><init>(Lcom/android/server/am/BroadcastQueueModernImpl;Lcom/android/server/am/BroadcastRecord;Landroid/os/BundleMerger;)V
+HPLcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda18;-><init>(Lcom/android/server/am/BroadcastQueueModernImpl;Lcom/android/server/am/BroadcastRecord;Landroid/util/ArrayMap;)V
+HPLcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda18;->test(Lcom/android/server/am/BroadcastRecord;I)Z
+PLcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda2;-><init>(I)V
+PLcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda2;->test(Ljava/lang/Object;)Z
+PLcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda4;-><init>(Ljava/lang/String;)V
+HSPLcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda6;-><init>()V
+HPLcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda6;->test(Ljava/lang/Object;)Z
+HSPLcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda7;-><init>()V
+PLcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda8;-><init>()V
+PLcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda8;->test(Lcom/android/server/am/BroadcastRecord;I)Z
+PLcom/android/server/am/BroadcastQueueModernImpl$1;-><init>(Lcom/android/server/am/BroadcastQueueModernImpl;)V
+HPLcom/android/server/am/BroadcastQueueModernImpl$1;->onUidStateChanged(IIJI)V
+HSPLcom/android/server/am/BroadcastQueueModernImpl$BroadcastAnrTimer;-><init>(Lcom/android/server/am/BroadcastQueueModernImpl;Landroid/os/Handler;)V
+HPLcom/android/server/am/BroadcastQueueModernImpl$BroadcastAnrTimer;->start(Lcom/android/server/am/BroadcastProcessQueue;J)V
+PLcom/android/server/am/BroadcastQueueModernImpl;->$r8$lambda$1141mqPXqA39gHvm8k1RvJok8ag(Lcom/android/server/am/BroadcastQueueModernImpl;Lcom/android/server/am/BroadcastRecord;I)V
+PLcom/android/server/am/BroadcastQueueModernImpl;->$r8$lambda$IA0U1TDYlMnhLy7gkIvyunwabTM(ILcom/android/server/am/BroadcastProcessQueue;)Z
+PLcom/android/server/am/BroadcastQueueModernImpl;->$r8$lambda$N57OdIm--GFn45qEJb2p5M2c1j0(Lcom/android/server/am/BroadcastQueueModernImpl;Lcom/android/server/am/BroadcastRecord;I)V
+PLcom/android/server/am/BroadcastQueueModernImpl;->$r8$lambda$XfkV9LwUrXbMSXZ_yM6OxtAr1eQ(Lcom/android/server/am/BroadcastRecord;I)Z
+HPLcom/android/server/am/BroadcastQueueModernImpl;->$r8$lambda$d79aYiK04-SKNC9AXzRIc2ug0aQ(Lcom/android/server/am/BroadcastQueueModernImpl;Landroid/os/Message;)Z
+PLcom/android/server/am/BroadcastQueueModernImpl;->$r8$lambda$e8id_ODzsrGaHviXqkfUDpIVDZk(Lcom/android/server/am/BroadcastQueueModernImpl;Lcom/android/server/am/BroadcastRecord;I)V
+HPLcom/android/server/am/BroadcastQueueModernImpl;->$r8$lambda$hPIdd26uRdf2eZATmbOexHo1U30(Lcom/android/server/am/BroadcastProcessQueue;)Z
+PLcom/android/server/am/BroadcastQueueModernImpl;->$r8$lambda$iMV30Exe2X2No64mUUsPPvg246Q(Lcom/android/server/am/BroadcastQueueModernImpl;Lcom/android/server/am/BroadcastRecord;I)V
+HPLcom/android/server/am/BroadcastQueueModernImpl;->$r8$lambda$wimp7yt_FsAyLko1-wOxiCNCaqo(Lcom/android/server/am/BroadcastQueueModernImpl;Lcom/android/server/am/BroadcastRecord;Landroid/util/ArrayMap;Lcom/android/server/am/BroadcastRecord;I)Z
+HPLcom/android/server/am/BroadcastQueueModernImpl;->-$$Nest$fgetmLocalHandler(Lcom/android/server/am/BroadcastQueueModernImpl;)Landroid/os/Handler;
+HSPLcom/android/server/am/BroadcastQueueModernImpl;-><clinit>()V
+HSPLcom/android/server/am/BroadcastQueueModernImpl;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/os/Handler;Lcom/android/server/am/BroadcastConstants;Lcom/android/server/am/BroadcastConstants;)V
+HSPLcom/android/server/am/BroadcastQueueModernImpl;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/os/Handler;Lcom/android/server/am/BroadcastConstants;Lcom/android/server/am/BroadcastConstants;Lcom/android/server/am/BroadcastSkipPolicy;Lcom/android/server/am/BroadcastHistory;)V
+HPLcom/android/server/am/BroadcastQueueModernImpl;->applyDeliveryGroupPolicy(Lcom/android/server/am/BroadcastRecord;)V
+HPLcom/android/server/am/BroadcastQueueModernImpl;->assertHealthLocked()V
+PLcom/android/server/am/BroadcastQueueModernImpl;->backgroundServicesFinishedLocked(I)V
+HPLcom/android/server/am/BroadcastQueueModernImpl;->cancelDeliveryTimeoutLocked(Lcom/android/server/am/BroadcastProcessQueue;)V
+HPLcom/android/server/am/BroadcastQueueModernImpl;->checkAndRemoveWaitingFor()V
+PLcom/android/server/am/BroadcastQueueModernImpl;->checkHealth()V
+PLcom/android/server/am/BroadcastQueueModernImpl;->checkHealthLocked()V
+HPLcom/android/server/am/BroadcastQueueModernImpl;->checkPendingColdStartValidityLocked()V
+PLcom/android/server/am/BroadcastQueueModernImpl;->cleanupDisabledPackageReceiversLocked(Ljava/lang/String;Ljava/util/Set;I)Z
+HPLcom/android/server/am/BroadcastQueueModernImpl;->containsAllReceivers(Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastRecord;Landroid/util/ArrayMap;)Z
+HPLcom/android/server/am/BroadcastQueueModernImpl;->demoteFromRunningLocked(Lcom/android/server/am/BroadcastProcessQueue;)V
+HPLcom/android/server/am/BroadcastQueueModernImpl;->dispatchReceivers(Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastRecord;I)Z
+HPLcom/android/server/am/BroadcastQueueModernImpl;->enqueueBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)V
+HPLcom/android/server/am/BroadcastQueueModernImpl;->enqueueUpdateRunningList()V
+HPLcom/android/server/am/BroadcastQueueModernImpl;->finishReceiverActiveLocked(Lcom/android/server/am/BroadcastProcessQueue;ILjava/lang/String;)V
+HPLcom/android/server/am/BroadcastQueueModernImpl;->finishReceiverLocked(Lcom/android/server/am/ProcessRecord;ILjava/lang/String;Landroid/os/Bundle;ZZ)Z
+HPLcom/android/server/am/BroadcastQueueModernImpl;->forEachMatchingBroadcast(Ljava/util/function/Predicate;Lcom/android/server/am/BroadcastProcessQueue$BroadcastPredicate;Lcom/android/server/am/BroadcastProcessQueue$BroadcastConsumer;Z)Z
+HPLcom/android/server/am/BroadcastQueueModernImpl;->getDeliveryState(Lcom/android/server/am/BroadcastRecord;I)I
+HPLcom/android/server/am/BroadcastQueueModernImpl;->getOrCreateProcessQueue(Ljava/lang/String;I)Lcom/android/server/am/BroadcastProcessQueue;
+HPLcom/android/server/am/BroadcastQueueModernImpl;->getPreferredSchedulingGroupLocked(Lcom/android/server/am/ProcessRecord;)I
+HPLcom/android/server/am/BroadcastQueueModernImpl;->getProcessQueue(Lcom/android/server/am/ProcessRecord;)Lcom/android/server/am/BroadcastProcessQueue;
+HPLcom/android/server/am/BroadcastQueueModernImpl;->getProcessQueue(Ljava/lang/String;I)Lcom/android/server/am/BroadcastProcessQueue;
+HPLcom/android/server/am/BroadcastQueueModernImpl;->getRecordsLookupCache()Landroid/util/ArrayMap;
+HPLcom/android/server/am/BroadcastQueueModernImpl;->getRunningIndexOf(Lcom/android/server/am/BroadcastProcessQueue;)I
+HPLcom/android/server/am/BroadcastQueueModernImpl;->getRunningSize()I
+HPLcom/android/server/am/BroadcastQueueModernImpl;->getRunningUrgentCount()I
+HPLcom/android/server/am/BroadcastQueueModernImpl;->isPendingColdStartValid()Z
+HPLcom/android/server/am/BroadcastQueueModernImpl;->isProcessFreezable(Lcom/android/server/am/ProcessRecord;)Z
+HPLcom/android/server/am/BroadcastQueueModernImpl;->lambda$applyDeliveryGroupPolicy$3(Lcom/android/server/am/BroadcastRecord;Landroid/util/ArrayMap;Lcom/android/server/am/BroadcastRecord;I)Z
+PLcom/android/server/am/BroadcastQueueModernImpl;->lambda$cleanupDisabledPackageReceiversLocked$4(ILcom/android/server/am/BroadcastProcessQueue;)Z
+HPLcom/android/server/am/BroadcastQueueModernImpl;->lambda$new$0(Landroid/os/Message;)Z
+PLcom/android/server/am/BroadcastQueueModernImpl;->lambda$new$10(Lcom/android/server/am/BroadcastRecord;I)V
+HPLcom/android/server/am/BroadcastQueueModernImpl;->lambda$new$11(Lcom/android/server/am/BroadcastRecord;I)V
+PLcom/android/server/am/BroadcastQueueModernImpl;->lambda$new$12(Lcom/android/server/am/BroadcastRecord;I)V
+PLcom/android/server/am/BroadcastQueueModernImpl;->lambda$new$13(Lcom/android/server/am/BroadcastRecord;I)V
+PLcom/android/server/am/BroadcastQueueModernImpl;->lambda$onApplicationCleanupLocked$1(Lcom/android/server/am/BroadcastRecord;I)Z
+PLcom/android/server/am/BroadcastQueueModernImpl;->lambda$static$8(Lcom/android/server/am/BroadcastProcessQueue;)Z
+HPLcom/android/server/am/BroadcastQueueModernImpl;->logBroadcastDeliveryEventReported(Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/BroadcastRecord;ILjava/lang/Object;)V
+HPLcom/android/server/am/BroadcastQueueModernImpl;->notifyFinishBroadcast(Lcom/android/server/am/BroadcastRecord;)V
+HPLcom/android/server/am/BroadcastQueueModernImpl;->notifyFinishReceiver(Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/BroadcastRecord;ILjava/lang/Object;)V
+HPLcom/android/server/am/BroadcastQueueModernImpl;->notifyScheduleReceiver(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/BroadcastRecord;Landroid/content/pm/ResolveInfo;)V
+HPLcom/android/server/am/BroadcastQueueModernImpl;->notifyScheduleRegisteredReceiver(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastFilter;)V
+HPLcom/android/server/am/BroadcastQueueModernImpl;->notifyStartedRunning(Lcom/android/server/am/BroadcastProcessQueue;)V
+HPLcom/android/server/am/BroadcastQueueModernImpl;->notifyStoppedRunning(Lcom/android/server/am/BroadcastProcessQueue;)V
+HPLcom/android/server/am/BroadcastQueueModernImpl;->onApplicationAttachedLocked(Lcom/android/server/am/ProcessRecord;)Z
+HPLcom/android/server/am/BroadcastQueueModernImpl;->onApplicationCleanupLocked(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/BroadcastQueueModernImpl;->onProcessFreezableChangedLocked(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/BroadcastQueueModernImpl;->promoteToRunningLocked(Lcom/android/server/am/BroadcastProcessQueue;)V
+HPLcom/android/server/am/BroadcastQueueModernImpl;->refreshProcessQueueLocked(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/BroadcastQueueModernImpl;->refreshProcessQueuesLocked(I)V
+HPLcom/android/server/am/BroadcastQueueModernImpl;->removeProcessQueue(Ljava/lang/String;I)Lcom/android/server/am/BroadcastProcessQueue;
+HPLcom/android/server/am/BroadcastQueueModernImpl;->reportUsageStatsBroadcastDispatched(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/BroadcastRecord;)V
+HPLcom/android/server/am/BroadcastQueueModernImpl;->scheduleReceiverColdLocked(Lcom/android/server/am/BroadcastProcessQueue;)Z
+HPLcom/android/server/am/BroadcastQueueModernImpl;->scheduleReceiverWarmLocked(Lcom/android/server/am/BroadcastProcessQueue;)Z
+HPLcom/android/server/am/BroadcastQueueModernImpl;->scheduleResultTo(Lcom/android/server/am/BroadcastRecord;)V
+HPLcom/android/server/am/BroadcastQueueModernImpl;->setDeliveryState(Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/BroadcastRecord;ILjava/lang/Object;ILjava/lang/String;)V
+HPLcom/android/server/am/BroadcastQueueModernImpl;->setQueueProcess(Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/BroadcastQueueModernImpl;->shouldRetire(Lcom/android/server/am/BroadcastProcessQueue;)Z
+HPLcom/android/server/am/BroadcastQueueModernImpl;->shouldSkipReceiver(Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastRecord;I)Ljava/lang/String;
+HPLcom/android/server/am/BroadcastQueueModernImpl;->skipAndCancelReplacedBroadcasts(Landroid/util/ArraySet;)V
+PLcom/android/server/am/BroadcastQueueModernImpl;->start(Landroid/content/ContentResolver;)V
+HPLcom/android/server/am/BroadcastQueueModernImpl;->startDeliveryTimeoutLocked(Lcom/android/server/am/BroadcastProcessQueue;I)V
+HPLcom/android/server/am/BroadcastQueueModernImpl;->updateRunnableList(Lcom/android/server/am/BroadcastProcessQueue;)V
+HPLcom/android/server/am/BroadcastQueueModernImpl;->updateRunningList()V
+HPLcom/android/server/am/BroadcastQueueModernImpl;->updateRunningListLocked()V
+HPLcom/android/server/am/BroadcastQueueModernImpl;->updateWarmProcess(Lcom/android/server/am/BroadcastProcessQueue;)V
+HSPLcom/android/server/am/BroadcastRecord;-><clinit>()V
+HPLcom/android/server/am/BroadcastRecord;-><init>(Lcom/android/server/am/BroadcastQueue;Landroid/content/Intent;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;IIZLjava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/app/BroadcastOptions;Ljava/util/List;Lcom/android/server/am/ProcessRecord;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;ZZZIILandroid/app/BackgroundStartPrivileges;ZLjava/util/function/BiFunction;I)V
+HPLcom/android/server/am/BroadcastRecord;-><init>(Lcom/android/server/am/BroadcastQueue;Landroid/content/Intent;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;IIZLjava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/app/BroadcastOptions;Ljava/util/List;Lcom/android/server/am/ProcessRecord;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;ZZZILandroid/app/BackgroundStartPrivileges;ZLjava/util/function/BiFunction;I)V
+HPLcom/android/server/am/BroadcastRecord;-><init>(Lcom/android/server/am/BroadcastRecord;Landroid/content/Intent;)V
+HPLcom/android/server/am/BroadcastRecord;->applySingletonPolicy(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/BroadcastRecord;->areMatchingKeysEqual(Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastRecord;)Z
+HPLcom/android/server/am/BroadcastRecord;->calculateBlockedUntilBeyondCount(Ljava/util/List;Z)[I
+HPLcom/android/server/am/BroadcastRecord;->calculateDeferUntilActive(ILandroid/app/BroadcastOptions;Landroid/content/IIntentReceiver;ZZ)Z
+HPLcom/android/server/am/BroadcastRecord;->calculateTypeForLogging()I
+HPLcom/android/server/am/BroadcastRecord;->calculateUrgent(Landroid/content/Intent;Landroid/app/BroadcastOptions;)Z
+PLcom/android/server/am/BroadcastRecord;->clearMatchingRecordsCache()V
+PLcom/android/server/am/BroadcastRecord;->containsAllReceivers(Ljava/util/List;)Z
+HPLcom/android/server/am/BroadcastRecord;->containsReceiver(Ljava/lang/Object;)Z
+HPLcom/android/server/am/BroadcastRecord;->getDeliveryGroupMatchingFilter(Lcom/android/server/am/BroadcastRecord;)Landroid/content/IntentFilter;
+HPLcom/android/server/am/BroadcastRecord;->getDeliveryGroupMatchingKeyFragment(Lcom/android/server/am/BroadcastRecord;)Ljava/lang/String;
+HPLcom/android/server/am/BroadcastRecord;->getDeliveryGroupMatchingNamespaceFragment(Lcom/android/server/am/BroadcastRecord;)Ljava/lang/String;
+HPLcom/android/server/am/BroadcastRecord;->getDeliveryGroupPolicy()I
+HPLcom/android/server/am/BroadcastRecord;->getDeliveryState(I)I
+HPLcom/android/server/am/BroadcastRecord;->getHostingRecordTriggerType()Ljava/lang/String;
+HPLcom/android/server/am/BroadcastRecord;->getReceiverIntent(Ljava/lang/Object;)Landroid/content/Intent;
+HPLcom/android/server/am/BroadcastRecord;->getReceiverPriority(Ljava/lang/Object;)I
+HPLcom/android/server/am/BroadcastRecord;->getReceiverProcessName(Ljava/lang/Object;)Ljava/lang/String;
+HPLcom/android/server/am/BroadcastRecord;->getReceiverUid(Ljava/lang/Object;)I
+HPLcom/android/server/am/BroadcastRecord;->isAssumedDelivered(I)Z
+HPLcom/android/server/am/BroadcastRecord;->isBlocked(I)Z
+HPLcom/android/server/am/BroadcastRecord;->isCallerInstrumented(Lcom/android/server/am/ProcessRecord;I)Z
+PLcom/android/server/am/BroadcastRecord;->isDeferUntilActive()Z
+PLcom/android/server/am/BroadcastRecord;->isDeliveryStateBeyond(I)Z
+HPLcom/android/server/am/BroadcastRecord;->isDeliveryStateTerminal(I)Z
+HPLcom/android/server/am/BroadcastRecord;->isForeground()Z
+HPLcom/android/server/am/BroadcastRecord;->isMatchingKeyNull(Lcom/android/server/am/BroadcastRecord;)Z
+PLcom/android/server/am/BroadcastRecord;->isNoAbort()Z
+HPLcom/android/server/am/BroadcastRecord;->isOffload()Z
+PLcom/android/server/am/BroadcastRecord;->isPrioritized([IZ)Z
+PLcom/android/server/am/BroadcastRecord;->isReceiverEquals(Ljava/lang/Object;Ljava/lang/Object;)Z
+HPLcom/android/server/am/BroadcastRecord;->isReplacePending()Z
+HPLcom/android/server/am/BroadcastRecord;->isUrgent()Z
+HPLcom/android/server/am/BroadcastRecord;->matchesDeliveryGroup(Lcom/android/server/am/BroadcastRecord;)Z
+HPLcom/android/server/am/BroadcastRecord;->matchesDeliveryGroup(Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastRecord;)Z
+HPLcom/android/server/am/BroadcastRecord;->maybeStripForHistory()Lcom/android/server/am/BroadcastRecord;
+HPLcom/android/server/am/BroadcastRecord;->setDeliveryState(IILjava/lang/String;)Z
+PLcom/android/server/am/BroadcastRecord;->setMatchingRecordsCache(Landroid/util/ArrayMap;)V
+HPLcom/android/server/am/BroadcastRecord;->toShortString()Ljava/lang/String;
+HPLcom/android/server/am/BroadcastRecord;->toString()Ljava/lang/String;
+HPLcom/android/server/am/BroadcastRecord;->wasDeliveryAttempted(I)Z
+HSPLcom/android/server/am/BroadcastSkipPolicy;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+HPLcom/android/server/am/BroadcastSkipPolicy;->broadcastDescription(Lcom/android/server/am/BroadcastRecord;Landroid/content/ComponentName;)Ljava/lang/String;
+HPLcom/android/server/am/BroadcastSkipPolicy;->disallowBackgroundStart(Lcom/android/server/am/BroadcastRecord;)Z
+HPLcom/android/server/am/BroadcastSkipPolicy;->isSignaturePerm([Ljava/lang/String;)Z
+PLcom/android/server/am/BroadcastSkipPolicy;->noteOpForManifestReceiver(ILcom/android/server/am/BroadcastRecord;Landroid/content/pm/ResolveInfo;Landroid/content/ComponentName;)Z
+HPLcom/android/server/am/BroadcastSkipPolicy;->noteOpForManifestReceiverInner(ILcom/android/server/am/BroadcastRecord;Landroid/content/pm/ResolveInfo;Landroid/content/ComponentName;Ljava/lang/String;)Z
+HPLcom/android/server/am/BroadcastSkipPolicy;->requestStartTargetPermissionsReviewIfNeededLocked(Lcom/android/server/am/BroadcastRecord;Ljava/lang/String;I)Z
+HPLcom/android/server/am/BroadcastSkipPolicy;->shouldSkipMessage(Lcom/android/server/am/BroadcastRecord;Landroid/content/pm/ResolveInfo;)Ljava/lang/String;
+HPLcom/android/server/am/BroadcastSkipPolicy;->shouldSkipMessage(Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastFilter;)Ljava/lang/String;
+HPLcom/android/server/am/BroadcastSkipPolicy;->shouldSkipMessage(Lcom/android/server/am/BroadcastRecord;Ljava/lang/Object;)Ljava/lang/String;
+PLcom/android/server/am/BroadcastStats$1;-><init>()V
+HPLcom/android/server/am/BroadcastStats$ActionEntry;-><init>(Ljava/lang/String;)V
+PLcom/android/server/am/BroadcastStats$PackageEntry;-><init>()V
+PLcom/android/server/am/BroadcastStats$ViolationEntry;-><init>()V
+PLcom/android/server/am/BroadcastStats;-><clinit>()V
+PLcom/android/server/am/BroadcastStats;-><init>()V
+HPLcom/android/server/am/BroadcastStats;->addBackgroundCheckViolation(Ljava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/am/BroadcastStats;->addBroadcast(Ljava/lang/String;Ljava/lang/String;IIJ)V
+HSPLcom/android/server/am/CacheOomRanker$1;-><init>(Lcom/android/server/am/CacheOomRanker;)V
+HSPLcom/android/server/am/CacheOomRanker$CacheUseComparator;-><init>()V
+HSPLcom/android/server/am/CacheOomRanker$CacheUseComparator;-><init>(Lcom/android/server/am/CacheOomRanker$CacheUseComparator-IA;)V
+HSPLcom/android/server/am/CacheOomRanker$LastActivityTimeComparator;-><init>()V
+HSPLcom/android/server/am/CacheOomRanker$LastActivityTimeComparator;-><init>(Lcom/android/server/am/CacheOomRanker$LastActivityTimeComparator-IA;)V
+HSPLcom/android/server/am/CacheOomRanker$LastRssComparator;-><init>()V
+HSPLcom/android/server/am/CacheOomRanker$LastRssComparator;-><init>(Lcom/android/server/am/CacheOomRanker$LastRssComparator-IA;)V
+HSPLcom/android/server/am/CacheOomRanker$ProcessDependenciesImpl;-><init>()V
+HSPLcom/android/server/am/CacheOomRanker$ProcessDependenciesImpl;-><init>(Lcom/android/server/am/CacheOomRanker$ProcessDependenciesImpl-IA;)V
+PLcom/android/server/am/CacheOomRanker$RankedProcessRecord;-><init>()V
+PLcom/android/server/am/CacheOomRanker$RankedProcessRecord;-><init>(Lcom/android/server/am/CacheOomRanker$RankedProcessRecord-IA;)V
+HSPLcom/android/server/am/CacheOomRanker$RssComparator;-><init>()V
+HSPLcom/android/server/am/CacheOomRanker$RssComparator;-><init>(Lcom/android/server/am/CacheOomRanker$RssComparator-IA;)V
+HSPLcom/android/server/am/CacheOomRanker$ScoreComparator;-><init>()V
+HSPLcom/android/server/am/CacheOomRanker$ScoreComparator;-><init>(Lcom/android/server/am/CacheOomRanker$ScoreComparator-IA;)V
+HSPLcom/android/server/am/CacheOomRanker;-><clinit>()V
+HSPLcom/android/server/am/CacheOomRanker;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+HSPLcom/android/server/am/CacheOomRanker;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/CacheOomRanker$ProcessDependencies;)V
+PLcom/android/server/am/CacheOomRanker;->getNumberToReRank()I
+PLcom/android/server/am/CacheOomRanker;->init(Ljava/util/concurrent/Executor;)V
+PLcom/android/server/am/CacheOomRanker;->updateLruWeight()V
+PLcom/android/server/am/CacheOomRanker;->updateNumberToReRank()V
+PLcom/android/server/am/CacheOomRanker;->updateRssWeight()V
+PLcom/android/server/am/CacheOomRanker;->updateUseOomReranking()V
+PLcom/android/server/am/CacheOomRanker;->updateUsesWeight()V
+HSPLcom/android/server/am/CacheOomRanker;->useOomReranking()Z
+PLcom/android/server/am/CachedAppOptimizer$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/am/CachedAppOptimizer;Z)V
+HPLcom/android/server/am/CachedAppOptimizer$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
+PLcom/android/server/am/CachedAppOptimizer$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/am/CachedAppOptimizer;Z)V
+PLcom/android/server/am/CachedAppOptimizer$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/am/CachedAppOptimizer$$ExternalSyntheticLambda2;-><init>(Landroid/util/ArraySet;)V
+PLcom/android/server/am/CachedAppOptimizer$$ExternalSyntheticLambda2;->test(Ljava/lang/Object;)Z
+PLcom/android/server/am/CachedAppOptimizer$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/am/CachedAppOptimizer;)V
+PLcom/android/server/am/CachedAppOptimizer$$ExternalSyntheticLambda3;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/am/CachedAppOptimizer$$ExternalSyntheticLambda4;-><init>()V
+PLcom/android/server/am/CachedAppOptimizer$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/am/CachedAppOptimizer;ILjava/lang/String;II)V
+PLcom/android/server/am/CachedAppOptimizer$$ExternalSyntheticLambda5;->run()V
+HSPLcom/android/server/am/CachedAppOptimizer$1;-><init>(Lcom/android/server/am/CachedAppOptimizer;)V
+HSPLcom/android/server/am/CachedAppOptimizer$2;-><init>(Lcom/android/server/am/CachedAppOptimizer;)V
+HSPLcom/android/server/am/CachedAppOptimizer$3;-><init>(Lcom/android/server/am/CachedAppOptimizer;)V
+PLcom/android/server/am/CachedAppOptimizer$3;->removeEldestEntry(Ljava/util/Map$Entry;)Z
+HSPLcom/android/server/am/CachedAppOptimizer$4;-><init>(Lcom/android/server/am/CachedAppOptimizer;)V
+HPLcom/android/server/am/CachedAppOptimizer$4;->add(Lcom/android/server/am/CachedAppOptimizer$SingleCompactionStats;)Z
+HPLcom/android/server/am/CachedAppOptimizer$4;->add(Ljava/lang/Object;)Z
+PLcom/android/server/am/CachedAppOptimizer$5;-><clinit>()V
+HPLcom/android/server/am/CachedAppOptimizer$AggregatedCompactionStats;-><init>(Lcom/android/server/am/CachedAppOptimizer;)V
+HPLcom/android/server/am/CachedAppOptimizer$AggregatedCompactionStats;->addMemStats(JJJJJ)V
+HPLcom/android/server/am/CachedAppOptimizer$AggregatedProcessCompactionStats;-><init>(Lcom/android/server/am/CachedAppOptimizer;Ljava/lang/String;)V
+PLcom/android/server/am/CachedAppOptimizer$AggregatedSourceCompactionStats;-><init>(Lcom/android/server/am/CachedAppOptimizer;Lcom/android/server/am/CachedAppOptimizer$CompactSource;)V
+HSPLcom/android/server/am/CachedAppOptimizer$CancelCompactReason;->$values()[Lcom/android/server/am/CachedAppOptimizer$CancelCompactReason;
+HSPLcom/android/server/am/CachedAppOptimizer$CancelCompactReason;-><clinit>()V
+HSPLcom/android/server/am/CachedAppOptimizer$CancelCompactReason;-><init>(Ljava/lang/String;I)V
+HSPLcom/android/server/am/CachedAppOptimizer$CancelCompactReason;->values()[Lcom/android/server/am/CachedAppOptimizer$CancelCompactReason;
+PLcom/android/server/am/CachedAppOptimizer$CompactProfile;->$values()[Lcom/android/server/am/CachedAppOptimizer$CompactProfile;
+PLcom/android/server/am/CachedAppOptimizer$CompactProfile;-><clinit>()V
+PLcom/android/server/am/CachedAppOptimizer$CompactProfile;-><init>(Ljava/lang/String;I)V
+PLcom/android/server/am/CachedAppOptimizer$CompactProfile;->values()[Lcom/android/server/am/CachedAppOptimizer$CompactProfile;
+HSPLcom/android/server/am/CachedAppOptimizer$CompactSource;->$values()[Lcom/android/server/am/CachedAppOptimizer$CompactSource;
+HSPLcom/android/server/am/CachedAppOptimizer$CompactSource;-><clinit>()V
+HSPLcom/android/server/am/CachedAppOptimizer$CompactSource;-><init>(Ljava/lang/String;I)V
+HSPLcom/android/server/am/CachedAppOptimizer$CompactSource;->values()[Lcom/android/server/am/CachedAppOptimizer$CompactSource;
+HSPLcom/android/server/am/CachedAppOptimizer$DefaultProcessDependencies;-><clinit>()V
+HSPLcom/android/server/am/CachedAppOptimizer$DefaultProcessDependencies;-><init>()V
+HSPLcom/android/server/am/CachedAppOptimizer$DefaultProcessDependencies;-><init>(Lcom/android/server/am/CachedAppOptimizer$DefaultProcessDependencies-IA;)V
+HPLcom/android/server/am/CachedAppOptimizer$DefaultProcessDependencies;->getRss(I)[J
+HPLcom/android/server/am/CachedAppOptimizer$DefaultProcessDependencies;->performCompaction(Lcom/android/server/am/CachedAppOptimizer$CompactProfile;I)V
+PLcom/android/server/am/CachedAppOptimizer$FreezeHandler$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/am/CachedAppOptimizer$FreezeHandler;Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/CachedAppOptimizer$FreezeHandler$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/am/CachedAppOptimizer$FreezeHandler$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/am/CachedAppOptimizer$FreezeHandler;Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/CachedAppOptimizer$FreezeHandler$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/am/CachedAppOptimizer$FreezeHandler$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/am/CachedAppOptimizer$FreezeHandler;Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/CachedAppOptimizer$FreezeHandler$$ExternalSyntheticLambda2;->run()V
+PLcom/android/server/am/CachedAppOptimizer$FreezeHandler;->$r8$lambda$IAfIfEcFxcOjA58aDQgnJCZBAt4(Lcom/android/server/am/CachedAppOptimizer$FreezeHandler;Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/CachedAppOptimizer$FreezeHandler;->$r8$lambda$JrdK-GOHWyvTveD-A9PVDkKW66c(Lcom/android/server/am/CachedAppOptimizer$FreezeHandler;Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/CachedAppOptimizer$FreezeHandler;->$r8$lambda$dwqBiMSA3Eh5CYi4YkeM0J8Nh5U(Lcom/android/server/am/CachedAppOptimizer$FreezeHandler;Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/CachedAppOptimizer$FreezeHandler;-><init>(Lcom/android/server/am/CachedAppOptimizer;)V
+PLcom/android/server/am/CachedAppOptimizer$FreezeHandler;-><init>(Lcom/android/server/am/CachedAppOptimizer;Lcom/android/server/am/CachedAppOptimizer$FreezeHandler-IA;)V
+HPLcom/android/server/am/CachedAppOptimizer$FreezeHandler;->freezeProcess(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/CachedAppOptimizer$FreezeHandler;->handleBinderFreezerFailure(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;)V
+HPLcom/android/server/am/CachedAppOptimizer$FreezeHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/am/CachedAppOptimizer$FreezeHandler;->lambda$freezeProcess$1(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/CachedAppOptimizer$FreezeHandler;->lambda$freezeProcess$2(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/CachedAppOptimizer$FreezeHandler;->lambda$handleBinderFreezerFailure$0(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/CachedAppOptimizer$FreezeHandler;->reportUnfreeze(Lcom/android/server/am/ProcessRecord;IILjava/lang/String;I)V
+PLcom/android/server/am/CachedAppOptimizer$MemCompactionHandler;-><init>(Lcom/android/server/am/CachedAppOptimizer;)V
+PLcom/android/server/am/CachedAppOptimizer$MemCompactionHandler;-><init>(Lcom/android/server/am/CachedAppOptimizer;Lcom/android/server/am/CachedAppOptimizer$MemCompactionHandler-IA;)V
+HPLcom/android/server/am/CachedAppOptimizer$MemCompactionHandler;->handleMessage(Landroid/os/Message;)V
+HPLcom/android/server/am/CachedAppOptimizer$MemCompactionHandler;->shouldOomAdjThrottleCompaction(Lcom/android/server/am/ProcessRecord;)Z
+HPLcom/android/server/am/CachedAppOptimizer$MemCompactionHandler;->shouldRssThrottleCompaction(Lcom/android/server/am/CachedAppOptimizer$CompactProfile;ILjava/lang/String;[J)Z
+HPLcom/android/server/am/CachedAppOptimizer$MemCompactionHandler;->shouldThrottleMiscCompaction(Lcom/android/server/am/ProcessRecord;I)Z
+HPLcom/android/server/am/CachedAppOptimizer$MemCompactionHandler;->shouldTimeThrottleCompaction(Lcom/android/server/am/ProcessRecord;JLcom/android/server/am/CachedAppOptimizer$CompactProfile;Lcom/android/server/am/CachedAppOptimizer$CompactSource;)Z
+HSPLcom/android/server/am/CachedAppOptimizer$SettingsContentObserver;-><init>(Lcom/android/server/am/CachedAppOptimizer;)V
+PLcom/android/server/am/CachedAppOptimizer$SingleCompactionStats;-><clinit>()V
+HPLcom/android/server/am/CachedAppOptimizer$SingleCompactionStats;-><init>([JLcom/android/server/am/CachedAppOptimizer$CompactSource;Ljava/lang/String;JJJJJIIII)V
+PLcom/android/server/am/CachedAppOptimizer$SingleCompactionStats;->getRssAfterCompaction()[J
+HPLcom/android/server/am/CachedAppOptimizer$SingleCompactionStats;->sendStat()V
+PLcom/android/server/am/CachedAppOptimizer;->$r8$lambda$50-5szAMI3_Lo87NbZnc0_MNRnM(Lcom/android/server/am/CachedAppOptimizer;ILjava/lang/String;II)V
+PLcom/android/server/am/CachedAppOptimizer;->$r8$lambda$IZHebRIY4Ji4Hhts59PebGRJdjw(Lcom/android/server/am/CachedAppOptimizer;Ljava/lang/Integer;Ljava/lang/Integer;)V
+PLcom/android/server/am/CachedAppOptimizer;->$r8$lambda$JxGAByAESCLWWhMw0Ii9S5PJx-0(Lcom/android/server/am/CachedAppOptimizer;Z)V
+PLcom/android/server/am/CachedAppOptimizer;->$r8$lambda$ZH029cmpkk4u9PrurAANG_5gCdM(Lcom/android/server/am/CachedAppOptimizer;ZLcom/android/server/am/ProcessRecord;)V
+HSPLcom/android/server/am/CachedAppOptimizer;->-$$Nest$fgetmAm(Lcom/android/server/am/CachedAppOptimizer;)Lcom/android/server/am/ActivityManagerService;
+PLcom/android/server/am/CachedAppOptimizer;->-$$Nest$fgetmFreezeHandler(Lcom/android/server/am/CachedAppOptimizer;)Landroid/os/Handler;
+PLcom/android/server/am/CachedAppOptimizer;->-$$Nest$fgetmFreezerOverride(Lcom/android/server/am/CachedAppOptimizer;)Z
+HPLcom/android/server/am/CachedAppOptimizer;->-$$Nest$fgetmFrozenProcesses(Lcom/android/server/am/CachedAppOptimizer;)Landroid/util/SparseArray;
+HPLcom/android/server/am/CachedAppOptimizer;->-$$Nest$fgetmPendingCompactionProcesses(Lcom/android/server/am/CachedAppOptimizer;)Ljava/util/ArrayList;
+HPLcom/android/server/am/CachedAppOptimizer;->-$$Nest$fgetmProcLock(Lcom/android/server/am/CachedAppOptimizer;)Lcom/android/server/am/ActivityManagerGlobalLock;
+PLcom/android/server/am/CachedAppOptimizer;->-$$Nest$fgetmProcLocksReader(Lcom/android/server/am/CachedAppOptimizer;)Lcom/android/internal/os/ProcLocksReader;
+HPLcom/android/server/am/CachedAppOptimizer;->-$$Nest$fgetmProcessDependencies(Lcom/android/server/am/CachedAppOptimizer;)Lcom/android/server/am/CachedAppOptimizer$ProcessDependencies;
+PLcom/android/server/am/CachedAppOptimizer;->-$$Nest$fgetmRandom(Lcom/android/server/am/CachedAppOptimizer;)Ljava/util/Random;
+PLcom/android/server/am/CachedAppOptimizer;->-$$Nest$mbinderErrorLocked(Lcom/android/server/am/CachedAppOptimizer;Landroid/util/IntArray;)V
+PLcom/android/server/am/CachedAppOptimizer;->-$$Nest$mfreezeAppAsyncLSP(Lcom/android/server/am/CachedAppOptimizer;Lcom/android/server/am/ProcessRecord;J)V
+HPLcom/android/server/am/CachedAppOptimizer;->-$$Nest$mgetPerProcessAggregatedCompactStat(Lcom/android/server/am/CachedAppOptimizer;Ljava/lang/String;)Lcom/android/server/am/CachedAppOptimizer$AggregatedProcessCompactionStats;
+PLcom/android/server/am/CachedAppOptimizer;->-$$Nest$mgetPerSourceAggregatedCompactStat(Lcom/android/server/am/CachedAppOptimizer;Lcom/android/server/am/CachedAppOptimizer$CompactSource;)Lcom/android/server/am/CachedAppOptimizer$AggregatedSourceCompactionStats;
+PLcom/android/server/am/CachedAppOptimizer;->-$$Nest$mpostUidFrozenMessage(Lcom/android/server/am/CachedAppOptimizer;IZ)V
+HPLcom/android/server/am/CachedAppOptimizer;->-$$Nest$mreportOneUidFrozenStateChanged(Lcom/android/server/am/CachedAppOptimizer;IZ)V
+PLcom/android/server/am/CachedAppOptimizer;->-$$Nest$smcompactProcess(II)V
+PLcom/android/server/am/CachedAppOptimizer;->-$$Nest$smgetBinderFreezeInfo(I)I
+PLcom/android/server/am/CachedAppOptimizer;->-$$Nest$smgetUsedZramMemory()J
+PLcom/android/server/am/CachedAppOptimizer;->-$$Nest$smthreadCpuTimeNs()J
+PLcom/android/server/am/CachedAppOptimizer;->-$$Nest$smtraceAppFreeze(Ljava/lang/String;II)V
+HSPLcom/android/server/am/CachedAppOptimizer;-><clinit>()V
+HSPLcom/android/server/am/CachedAppOptimizer;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+HSPLcom/android/server/am/CachedAppOptimizer;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/CachedAppOptimizer$PropertyChangedCallbackForTest;Lcom/android/server/am/CachedAppOptimizer$ProcessDependencies;)V
+HPLcom/android/server/am/CachedAppOptimizer;->binderError(ILcom/android/server/am/ProcessRecord;III)V
+HPLcom/android/server/am/CachedAppOptimizer;->binderErrorLocked(Landroid/util/IntArray;)V
+HPLcom/android/server/am/CachedAppOptimizer;->cancelCompactionForProcess(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/CachedAppOptimizer$CancelCompactReason;)V
+HPLcom/android/server/am/CachedAppOptimizer;->compactApp(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/CachedAppOptimizer$CompactProfile;Lcom/android/server/am/CachedAppOptimizer$CompactSource;Z)Z
+HPLcom/android/server/am/CachedAppOptimizer;->enableFreezer(Z)Z
+HPLcom/android/server/am/CachedAppOptimizer;->freezeAppAsyncInternalLSP(Lcom/android/server/am/ProcessRecord;JZ)V
+HPLcom/android/server/am/CachedAppOptimizer;->freezeAppAsyncLSP(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/CachedAppOptimizer;->freezeAppAsyncLSP(Lcom/android/server/am/ProcessRecord;J)V
+HPLcom/android/server/am/CachedAppOptimizer;->freezerExemptInstPkg()Z
+HPLcom/android/server/am/CachedAppOptimizer;->getPerProcessAggregatedCompactStat(Ljava/lang/String;)Lcom/android/server/am/CachedAppOptimizer$AggregatedProcessCompactionStats;
+HPLcom/android/server/am/CachedAppOptimizer;->getPerSourceAggregatedCompactStat(Lcom/android/server/am/CachedAppOptimizer$CompactSource;)Lcom/android/server/am/CachedAppOptimizer$AggregatedSourceCompactionStats;
+HPLcom/android/server/am/CachedAppOptimizer;->getUnfreezeReasonCodeFromOomAdjReason(I)I
+PLcom/android/server/am/CachedAppOptimizer;->init()V
+PLcom/android/server/am/CachedAppOptimizer;->isFreezerSupported()Z
+PLcom/android/server/am/CachedAppOptimizer;->killProcess(ILjava/lang/String;II)V
+PLcom/android/server/am/CachedAppOptimizer;->lambda$binderErrorLocked$3(Ljava/lang/Integer;Ljava/lang/Integer;)V
+PLcom/android/server/am/CachedAppOptimizer;->lambda$enableFreezer$0(ZLcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/CachedAppOptimizer;->lambda$killProcess$2(ILjava/lang/String;II)V
+PLcom/android/server/am/CachedAppOptimizer;->lambda$updateUseFreezer$1(Z)V
+HPLcom/android/server/am/CachedAppOptimizer;->onCleanupApplicationRecordLocked(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/CachedAppOptimizer;->onOomAdjustChanged(IILcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/CachedAppOptimizer;->onProcessFrozen(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/CachedAppOptimizer;->onProcessFrozenCancelled(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/CachedAppOptimizer;->parseProcStateThrottle(Ljava/lang/String;)Z
+HPLcom/android/server/am/CachedAppOptimizer;->postUidFrozenMessage(IZ)V
+HPLcom/android/server/am/CachedAppOptimizer;->reportOneUidFrozenStateChanged(IZ)V
+HPLcom/android/server/am/CachedAppOptimizer;->reportProcessFreezableChangedLocked(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/CachedAppOptimizer;->resolveCompactionProfile(Lcom/android/server/am/CachedAppOptimizer$CompactProfile;)Lcom/android/server/am/CachedAppOptimizer$CompactProfile;
+HPLcom/android/server/am/CachedAppOptimizer;->traceAppFreeze(Ljava/lang/String;II)V
+HPLcom/android/server/am/CachedAppOptimizer;->unfreezeAppInternalLSP(Lcom/android/server/am/ProcessRecord;IZ)V
+HPLcom/android/server/am/CachedAppOptimizer;->unfreezeAppLSP(Lcom/android/server/am/ProcessRecord;I)V
+PLcom/android/server/am/CachedAppOptimizer;->unfreezeProcess(II)V
+PLcom/android/server/am/CachedAppOptimizer;->unfreezeTemporarily(Lcom/android/server/am/ProcessRecord;I)V
+HPLcom/android/server/am/CachedAppOptimizer;->unfreezeTemporarily(Lcom/android/server/am/ProcessRecord;IJ)V
+PLcom/android/server/am/CachedAppOptimizer;->updateCompactStatsdSampleRate()V
+PLcom/android/server/am/CachedAppOptimizer;->updateCompactionThrottles()V
+HPLcom/android/server/am/CachedAppOptimizer;->updateEarliestFreezableTime(Lcom/android/server/am/ProcessRecord;J)J
+PLcom/android/server/am/CachedAppOptimizer;->updateFreezerDebounceTimeout()V
+PLcom/android/server/am/CachedAppOptimizer;->updateFreezerExemptInstPkg()V
+PLcom/android/server/am/CachedAppOptimizer;->updateFreezerStatsdSampleRate()V
+PLcom/android/server/am/CachedAppOptimizer;->updateFullDeltaRssThrottle()V
+PLcom/android/server/am/CachedAppOptimizer;->updateFullRssThrottle()V
+PLcom/android/server/am/CachedAppOptimizer;->updateMaxOomAdjThrottle()V
+PLcom/android/server/am/CachedAppOptimizer;->updateMinOomAdjThrottle()V
+PLcom/android/server/am/CachedAppOptimizer;->updateProcStateThrottle()V
+PLcom/android/server/am/CachedAppOptimizer;->updateUseCompaction()V
+PLcom/android/server/am/CachedAppOptimizer;->updateUseFreezer()V
+HPLcom/android/server/am/CachedAppOptimizer;->useCompaction()Z
+HPLcom/android/server/am/CachedAppOptimizer;->useFreezer()Z
+PLcom/android/server/am/ComponentAliasResolver$$ExternalSyntheticLambda0;-><init>(Landroid/content/pm/ResolveInfo;)V
+HPLcom/android/server/am/ComponentAliasResolver$$ExternalSyntheticLambda1;-><init>(Landroid/content/Intent;Ljava/lang/String;III)V
+HSPLcom/android/server/am/ComponentAliasResolver$1;-><init>(Lcom/android/server/am/ComponentAliasResolver;)V
+HPLcom/android/server/am/ComponentAliasResolver$Resolution;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
+HPLcom/android/server/am/ComponentAliasResolver$Resolution;->getAlias()Ljava/lang/Object;
+PLcom/android/server/am/ComponentAliasResolver$Resolution;->getTarget()Ljava/lang/Object;
+HPLcom/android/server/am/ComponentAliasResolver$Resolution;->isAlias()Z
+HSPLcom/android/server/am/ComponentAliasResolver;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ComponentAliasResolver;->onSystemReady(ZLjava/lang/String;)V
+HPLcom/android/server/am/ComponentAliasResolver;->resolveComponentAlias(Ljava/util/function/Supplier;)Lcom/android/server/am/ComponentAliasResolver$Resolution;
+HPLcom/android/server/am/ComponentAliasResolver;->resolveReceiver(Landroid/content/Intent;Landroid/content/pm/ResolveInfo;Ljava/lang/String;JIIZ)Lcom/android/server/am/ComponentAliasResolver$Resolution;
+HPLcom/android/server/am/ComponentAliasResolver;->resolveService(Landroid/content/Intent;Ljava/lang/String;III)Lcom/android/server/am/ComponentAliasResolver$Resolution;
+PLcom/android/server/am/ComponentAliasResolver;->update(ZLjava/lang/String;)V
+PLcom/android/server/am/ConnectionRecord;-><clinit>()V
+HPLcom/android/server/am/ConnectionRecord;-><init>(Lcom/android/server/am/AppBindRecord;Lcom/android/server/wm/ActivityServiceConnectionsHolder;Landroid/app/IServiceConnection;JILandroid/app/PendingIntent;ILjava/lang/String;Ljava/lang/String;Landroid/content/ComponentName;)V
+PLcom/android/server/am/ConnectionRecord;->getFlags()J
+HPLcom/android/server/am/ConnectionRecord;->hasFlag(I)Z
+HPLcom/android/server/am/ConnectionRecord;->hasFlag(J)Z
+HPLcom/android/server/am/ConnectionRecord;->notHasFlag(I)Z
+HPLcom/android/server/am/ConnectionRecord;->startAssociationIfNeeded()V
+HPLcom/android/server/am/ConnectionRecord;->stopAssociation()V
+PLcom/android/server/am/ConnectionRecord;->toString()Ljava/lang/String;
+HPLcom/android/server/am/ConnectionRecord;->trackProcState(II)V
+HPLcom/android/server/am/ContentProviderConnection;-><init>(Lcom/android/server/am/ContentProviderRecord;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;I)V
+HPLcom/android/server/am/ContentProviderConnection;->adjustCounts(II)V
+HPLcom/android/server/am/ContentProviderConnection;->decrementCount(Z)I
+HPLcom/android/server/am/ContentProviderConnection;->incrementCount(Z)I
+HPLcom/android/server/am/ContentProviderConnection;->initializeCount(Z)V
+PLcom/android/server/am/ContentProviderConnection;->stableCount()I
+HPLcom/android/server/am/ContentProviderConnection;->startAssociationIfNeeded()V
+HPLcom/android/server/am/ContentProviderConnection;->stopAssociation()V
+HPLcom/android/server/am/ContentProviderConnection;->totalRefCount()I
+HPLcom/android/server/am/ContentProviderConnection;->trackProcState(II)V
+HPLcom/android/server/am/ContentProviderHelper$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/am/ContentProviderHelper;Lcom/android/server/am/ProcessRecord;Landroid/content/pm/ProviderInfo;)V
+HPLcom/android/server/am/ContentProviderHelper$$ExternalSyntheticLambda2;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HPLcom/android/server/am/ContentProviderHelper$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/am/ContentProviderHelper;Lcom/android/server/am/ContentProviderConnection;ZZ)V
+HPLcom/android/server/am/ContentProviderHelper$$ExternalSyntheticLambda3;->run()V
+PLcom/android/server/am/ContentProviderHelper$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/am/ContentProviderHelper;Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/ContentProviderHelper$$ExternalSyntheticLambda4;->accept(Ljava/lang/Object;)V
+PLcom/android/server/am/ContentProviderHelper$DevelopmentSettingsObserver;-><init>(Lcom/android/server/am/ContentProviderHelper;)V
+PLcom/android/server/am/ContentProviderHelper$DevelopmentSettingsObserver;->onChange()V
+HPLcom/android/server/am/ContentProviderHelper;->$r8$lambda$7SqNWgaMV7-OpTBuN-1CMmNHiyU(Lcom/android/server/am/ContentProviderHelper;Lcom/android/server/am/ProcessRecord;Landroid/content/pm/ProviderInfo;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/am/ContentProviderHelper;->$r8$lambda$WgT9vu5eZilG5Q2yFu6AlQnBbWA(Lcom/android/server/am/ContentProviderHelper;Lcom/android/server/am/ContentProviderConnection;ZZ)V
+PLcom/android/server/am/ContentProviderHelper;->$r8$lambda$Ybb6ASgJllmnwf29cCLpR_JR-Yg(Lcom/android/server/am/ContentProviderHelper;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;)V
+PLcom/android/server/am/ContentProviderHelper;->-$$Nest$fgetmService(Lcom/android/server/am/ContentProviderHelper;)Lcom/android/server/am/ActivityManagerService;
+HSPLcom/android/server/am/ContentProviderHelper;-><clinit>()V
+HSPLcom/android/server/am/ContentProviderHelper;-><init>(Lcom/android/server/am/ActivityManagerService;Z)V
+HPLcom/android/server/am/ContentProviderHelper;->canAccessContentProviderFromSdkSandbox(Landroid/content/pm/ProviderInfo;I)Z
+HPLcom/android/server/am/ContentProviderHelper;->checkAppInLaunchingProvidersLocked(Lcom/android/server/am/ProcessRecord;)Z
+HPLcom/android/server/am/ContentProviderHelper;->checkAssociationAndPermissionLocked(Lcom/android/server/am/ProcessRecord;Landroid/content/pm/ProviderInfo;IIZLjava/lang/String;J)V
+HPLcom/android/server/am/ContentProviderHelper;->checkContentProviderAccess(Ljava/lang/String;I)Ljava/lang/String;
+HPLcom/android/server/am/ContentProviderHelper;->checkContentProviderAssociation(Lcom/android/server/am/ProcessRecord;ILandroid/content/pm/ProviderInfo;)Ljava/lang/String;
+HPLcom/android/server/am/ContentProviderHelper;->checkContentProviderPermission(Landroid/content/pm/ProviderInfo;IIIZLjava/lang/String;)Ljava/lang/String;
+HPLcom/android/server/am/ContentProviderHelper;->checkTime(JLjava/lang/String;)V
+HPLcom/android/server/am/ContentProviderHelper;->cleanupAppInLaunchingProvidersLocked(Lcom/android/server/am/ProcessRecord;Z)Z
+HPLcom/android/server/am/ContentProviderHelper;->decProviderCountLocked(Lcom/android/server/am/ContentProviderConnection;Lcom/android/server/am/ContentProviderRecord;Landroid/os/IBinder;ZZZ)Z
+HPLcom/android/server/am/ContentProviderHelper;->generateApplicationProvidersLocked(Lcom/android/server/am/ProcessRecord;)Ljava/util/List;
+HPLcom/android/server/am/ContentProviderHelper;->getContentProvider(Landroid/app/IApplicationThread;Ljava/lang/String;Ljava/lang/String;IZ)Landroid/app/ContentProviderHolder;
+HPLcom/android/server/am/ContentProviderHelper;->getContentProviderImpl(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;ZI)Landroid/app/ContentProviderHolder;
+PLcom/android/server/am/ContentProviderHelper;->getProviderInfoLocked(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
+PLcom/android/server/am/ContentProviderHelper;->getProviderMap()Lcom/android/server/am/ProviderMap;
+HPLcom/android/server/am/ContentProviderHelper;->handleProviderRemoval(Lcom/android/server/am/ContentProviderConnection;ZZ)V
+HPLcom/android/server/am/ContentProviderHelper;->hasProviderConnectionLocked(Lcom/android/server/am/ProcessRecord;)Z
+HPLcom/android/server/am/ContentProviderHelper;->incProviderCountLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ContentProviderRecord;Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;ZZJLcom/android/server/am/ProcessList;I)Lcom/android/server/am/ContentProviderConnection;
+PLcom/android/server/am/ContentProviderHelper;->installEncryptionUnawareProviders(I)V
+PLcom/android/server/am/ContentProviderHelper;->installSystemProviders()V
+HPLcom/android/server/am/ContentProviderHelper;->isAuthorityRedirectedForCloneProfileCached(Ljava/lang/String;)Z
+HPLcom/android/server/am/ContentProviderHelper;->isProcessAliveLocked(Lcom/android/server/am/ProcessRecord;)Z
+HPLcom/android/server/am/ContentProviderHelper;->isSingletonOrSystemUserOnly(Landroid/content/pm/ProviderInfo;)Z
+HPLcom/android/server/am/ContentProviderHelper;->lambda$checkContentProviderAssociation$4(Lcom/android/server/am/ProcessRecord;Landroid/content/pm/ProviderInfo;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/am/ContentProviderHelper;->lambda$decProviderCountLocked$3(Lcom/android/server/am/ContentProviderConnection;ZZ)V
+HPLcom/android/server/am/ContentProviderHelper;->lambda$installEncryptionUnawareProviders$2(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;)V
+HPLcom/android/server/am/ContentProviderHelper;->maybeUpdateProviderUsageStatsLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/am/ContentProviderHelper;->publishContentProviders(Landroid/app/IApplicationThread;Ljava/util/List;)V
+HPLcom/android/server/am/ContentProviderHelper;->refContentProvider(Landroid/os/IBinder;II)Z
+HPLcom/android/server/am/ContentProviderHelper;->removeContentProvider(Landroid/os/IBinder;Z)V
+HPLcom/android/server/am/ContentProviderHelper;->removeDyingProviderLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ContentProviderRecord;Z)Z
+PLcom/android/server/am/ContentProviderHelper;->requestTargetProviderPermissionsReviewIfNeededLocked(Landroid/content/pm/ProviderInfo;Lcom/android/server/am/ProcessRecord;ILandroid/content/Context;)Z
+PLcom/android/server/am/ContentProviderHelper;->unstableProviderDied(Landroid/os/IBinder;)V
+HPLcom/android/server/am/ContentProviderRecord;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/content/pm/ProviderInfo;Landroid/content/pm/ApplicationInfo;Landroid/content/ComponentName;Z)V
+HPLcom/android/server/am/ContentProviderRecord;->canRunHere(Lcom/android/server/am/ProcessRecord;)Z
+HPLcom/android/server/am/ContentProviderRecord;->hasExternalProcessHandles()Z
+HPLcom/android/server/am/ContentProviderRecord;->newHolder(Lcom/android/server/am/ContentProviderConnection;Z)Landroid/app/ContentProviderHolder;
+HPLcom/android/server/am/ContentProviderRecord;->onProviderPublishStatusLocked(Z)V
+HPLcom/android/server/am/ContentProviderRecord;->setProcess(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/ContentProviderRecord;->toString()Ljava/lang/String;
+PLcom/android/server/am/CoreSettingsObserver$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/am/CoreSettingsObserver;)V
+PLcom/android/server/am/CoreSettingsObserver$DeviceConfigEntry;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Object;)V
+PLcom/android/server/am/CoreSettingsObserver;-><clinit>()V
+PLcom/android/server/am/CoreSettingsObserver;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+HPLcom/android/server/am/CoreSettingsObserver;->beginObserveCoreSettings()V
+HPLcom/android/server/am/CoreSettingsObserver;->getCoreSettingsLocked()Landroid/os/Bundle;
+PLcom/android/server/am/CoreSettingsObserver;->loadDeviceConfigContextEntries(Landroid/content/Context;)V
+HPLcom/android/server/am/CoreSettingsObserver;->populateSettings(Landroid/os/Bundle;Ljava/util/Map;)V
+HPLcom/android/server/am/CoreSettingsObserver;->populateSettingsFromDeviceConfig()V
+PLcom/android/server/am/CoreSettingsObserver;->sendCoreSettings()V
+PLcom/android/server/am/DataConnectionStats$PhoneStateListenerExecutor;-><init>(Landroid/os/Handler;)V
+PLcom/android/server/am/DataConnectionStats$PhoneStateListenerImpl;-><init>(Lcom/android/server/am/DataConnectionStats;Ljava/util/concurrent/Executor;)V
+PLcom/android/server/am/DataConnectionStats;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/am/DataConnectionStats;->notePhoneDataConnectionState()V
+PLcom/android/server/am/DataConnectionStats;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/am/DataConnectionStats;->startMonitoring()V
+PLcom/android/server/am/DataConnectionStats;->updateSimState(Landroid/content/Intent;)V
+HSPLcom/android/server/am/DropboxRateLimiter$DefaultClock;-><init>()V
+HSPLcom/android/server/am/DropboxRateLimiter$DefaultClock;-><init>(Lcom/android/server/am/DropboxRateLimiter$DefaultClock-IA;)V
+PLcom/android/server/am/DropboxRateLimiter$DefaultClock;->uptimeMillis()J
+PLcom/android/server/am/DropboxRateLimiter$ErrorRecord;-><init>(Lcom/android/server/am/DropboxRateLimiter;JI)V
+PLcom/android/server/am/DropboxRateLimiter$ErrorRecord;->getAllowedEntries()I
+PLcom/android/server/am/DropboxRateLimiter$ErrorRecord;->getBufferDuration()J
+PLcom/android/server/am/DropboxRateLimiter$ErrorRecord;->getCount()I
+PLcom/android/server/am/DropboxRateLimiter$ErrorRecord;->getStartTime()J
+PLcom/android/server/am/DropboxRateLimiter$ErrorRecord;->incrementCount()V
+PLcom/android/server/am/DropboxRateLimiter$ErrorRecord;->isRepeated()Z
+PLcom/android/server/am/DropboxRateLimiter$RateLimitResult;-><init>(Lcom/android/server/am/DropboxRateLimiter;ZI)V
+PLcom/android/server/am/DropboxRateLimiter$RateLimitResult;->createHeader()Ljava/lang/String;
+PLcom/android/server/am/DropboxRateLimiter$RateLimitResult;->droppedCountSinceRateLimitActivated()I
+PLcom/android/server/am/DropboxRateLimiter$RateLimitResult;->shouldRateLimit()Z
+PLcom/android/server/am/DropboxRateLimiter;->-$$Nest$fgetmRateLimitAllowedEntries(Lcom/android/server/am/DropboxRateLimiter;)I
+PLcom/android/server/am/DropboxRateLimiter;->-$$Nest$fgetmRateLimitBufferDuration(Lcom/android/server/am/DropboxRateLimiter;)J
+HSPLcom/android/server/am/DropboxRateLimiter;-><init>()V
+HSPLcom/android/server/am/DropboxRateLimiter;-><init>(Lcom/android/server/am/DropboxRateLimiter$Clock;)V
+PLcom/android/server/am/DropboxRateLimiter;->errorKey(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/am/DropboxRateLimiter;->init()V
+PLcom/android/server/am/DropboxRateLimiter;->maybeRemoveExpiredRecords(J)V
+HPLcom/android/server/am/DropboxRateLimiter;->shouldRateLimit(Ljava/lang/String;Ljava/lang/String;)Lcom/android/server/am/DropboxRateLimiter$RateLimitResult;
+HPLcom/android/server/am/ErrorDialogController;-><init>(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/ErrorDialogController;->clearAllErrorDialogs()V
+PLcom/android/server/am/ErrorDialogController;->clearAnrDialogs()V
+PLcom/android/server/am/ErrorDialogController;->clearCrashDialogs()V
+PLcom/android/server/am/ErrorDialogController;->clearCrashDialogs(Z)V
+PLcom/android/server/am/ErrorDialogController;->clearViolationDialogs()V
+PLcom/android/server/am/ErrorDialogController;->clearWaitingDialog()V
+PLcom/android/server/am/EventLogTags;->writeAmMemFactor(II)V
+HPLcom/android/server/am/EventLogTags;->writeAmProcBound(IILjava/lang/String;)V
+HPLcom/android/server/am/EventLogTags;->writeAmProcDied(IILjava/lang/String;II)V
+PLcom/android/server/am/EventLogTags;->writeAmUidActive(I)V
+PLcom/android/server/am/EventLogTags;->writeAmUidIdle(I)V
+PLcom/android/server/am/EventLogTags;->writeAmUidRunning(I)V
+PLcom/android/server/am/EventLogTags;->writeAmUidStopped(I)V
+PLcom/android/server/am/EventLogTags;->writeAmUserStateChanged(II)V
+HPLcom/android/server/am/EventLogTags;->writeAmWtf(IILjava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/am/EventLogTags;->writeBootProgressAmsReady(J)V
+PLcom/android/server/am/EventLogTags;->writeBootProgressEnableScreen(J)V
+PLcom/android/server/am/EventLogTags;->writeConfigurationChanged(I)V
+PLcom/android/server/am/FeatureFlagsImpl;-><clinit>()V
+PLcom/android/server/am/FeatureFlagsImpl;-><init>()V
+PLcom/android/server/am/FeatureFlagsImpl;->fgsBootCompleted()Z
+PLcom/android/server/am/FeatureFlagsImpl;->load_overrides_backstage_power()V
+HPLcom/android/server/am/FeatureFlagsImpl;->newFgsRestrictionLogic()Z
+HPLcom/android/server/am/FeatureFlagsImpl;->serviceBindingOomAdjPolicy()Z
+HSPLcom/android/server/am/FgsTempAllowList;-><init>()V
+HPLcom/android/server/am/FgsTempAllowList;->add(IJLjava/lang/Object;)V
+HPLcom/android/server/am/FgsTempAllowList;->get(I)Landroid/util/Pair;
+HPLcom/android/server/am/FgsTempAllowList;->isAllowed(I)Z
+HPLcom/android/server/am/FgsTempAllowList;->removeUid(I)V
+PLcom/android/server/am/Flags;-><clinit>()V
+PLcom/android/server/am/Flags;->fgsBootCompleted()Z
+HPLcom/android/server/am/Flags;->newFgsRestrictionLogic()Z
+HPLcom/android/server/am/Flags;->serviceBindingOomAdjPolicy()Z
+PLcom/android/server/am/ForegroundServiceTypeLoggerModule$FgsApiRecord;-><init>(IILjava/lang/String;IJ)V
+HPLcom/android/server/am/ForegroundServiceTypeLoggerModule$UidState;-><init>()V
+PLcom/android/server/am/ForegroundServiceTypeLoggerModule$UidState;-><init>(Lcom/android/server/am/ForegroundServiceTypeLoggerModule$UidState-IA;)V
+HSPLcom/android/server/am/ForegroundServiceTypeLoggerModule;-><init>()V
+PLcom/android/server/am/ForegroundServiceTypeLoggerModule;->convertFgsTypeToApiTypes(I)Landroid/util/IntArray;
+PLcom/android/server/am/ForegroundServiceTypeLoggerModule;->hasValidActiveFgs(II)Z
+HPLcom/android/server/am/ForegroundServiceTypeLoggerModule;->logForegroundServiceApiEventBegin(IIILjava/lang/String;)J
+PLcom/android/server/am/ForegroundServiceTypeLoggerModule;->logForegroundServiceApiEventEnd(III)J
+HPLcom/android/server/am/ForegroundServiceTypeLoggerModule;->logForegroundServiceStart(IILcom/android/server/am/ServiceRecord;)V
+HSPLcom/android/server/am/HostingRecord;-><init>(Ljava/lang/String;)V
+PLcom/android/server/am/HostingRecord;-><init>(Ljava/lang/String;Landroid/content/ComponentName;)V
+PLcom/android/server/am/HostingRecord;-><init>(Ljava/lang/String;Landroid/content/ComponentName;I)V
+HPLcom/android/server/am/HostingRecord;-><init>(Ljava/lang/String;Landroid/content/ComponentName;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/am/HostingRecord;-><init>(Ljava/lang/String;Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/am/HostingRecord;-><init>(Ljava/lang/String;Landroid/content/ComponentName;Z)V
+PLcom/android/server/am/HostingRecord;-><init>(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/am/HostingRecord;-><init>(Ljava/lang/String;Ljava/lang/String;I)V
+HSPLcom/android/server/am/HostingRecord;-><init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;IZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/am/HostingRecord;->getAction()Ljava/lang/String;
+PLcom/android/server/am/HostingRecord;->getDefiningPackageName()Ljava/lang/String;
+PLcom/android/server/am/HostingRecord;->getDefiningProcessName()Ljava/lang/String;
+PLcom/android/server/am/HostingRecord;->getDefiningUid()I
+HPLcom/android/server/am/HostingRecord;->getHostingTypeIdStatsd(Ljava/lang/String;)I
+PLcom/android/server/am/HostingRecord;->getName()Ljava/lang/String;
+PLcom/android/server/am/HostingRecord;->getTriggerType()Ljava/lang/String;
+HPLcom/android/server/am/HostingRecord;->getTriggerTypeForStatsd(Ljava/lang/String;)I
+PLcom/android/server/am/HostingRecord;->getType()Ljava/lang/String;
+PLcom/android/server/am/HostingRecord;->isTopApp()Z
+HPLcom/android/server/am/HostingRecord;->usesAppZygote()Z
+HPLcom/android/server/am/HostingRecord;->usesWebviewZygote()Z
+HSPLcom/android/server/am/InstrumentationReporter;-><init>()V
+HPLcom/android/server/am/IntentBindRecord;-><init>(Lcom/android/server/am/ServiceRecord;Landroid/content/Intent$FilterComparison;)V
+PLcom/android/server/am/IntentBindRecord;->collectFlags()J
+PLcom/android/server/am/IntentBindRecord;->dumpInService(Ljava/io/PrintWriter;Ljava/lang/String;)V
+PLcom/android/server/am/LmkdConnection$1;-><init>(Lcom/android/server/am/LmkdConnection;)V
+PLcom/android/server/am/LmkdConnection$1;->onFileDescriptorEvents(Ljava/io/FileDescriptor;I)I
+PLcom/android/server/am/LmkdConnection;->-$$Nest$mfileDescriptorEventHandler(Lcom/android/server/am/LmkdConnection;Ljava/io/FileDescriptor;I)I
+HSPLcom/android/server/am/LmkdConnection;-><init>(Landroid/os/MessageQueue;Lcom/android/server/am/LmkdConnection$LmkdConnectionListener;)V
+PLcom/android/server/am/LmkdConnection;->connect()Z
+HPLcom/android/server/am/LmkdConnection;->exchange(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Z
+PLcom/android/server/am/LmkdConnection;->fileDescriptorEventHandler(Ljava/io/FileDescriptor;I)I
+HPLcom/android/server/am/LmkdConnection;->isConnected()Z
+PLcom/android/server/am/LmkdConnection;->openSocket()Landroid/net/LocalSocket;
+HPLcom/android/server/am/LmkdConnection;->processIncomingData()V
+HPLcom/android/server/am/LmkdConnection;->read(Ljava/nio/ByteBuffer;)I
+PLcom/android/server/am/LmkdConnection;->waitForConnection(J)Z
+HPLcom/android/server/am/LmkdConnection;->write(Ljava/nio/ByteBuffer;)Z
+HPLcom/android/server/am/LmkdStatsReporter;->logKillOccurred(Ljava/io/DataInputStream;II)V
+PLcom/android/server/am/LmkdStatsReporter;->mapKillReason(I)I
+HSPLcom/android/server/am/LowMemDetector$LowMemThread;-><init>(Lcom/android/server/am/LowMemDetector;)V
+HSPLcom/android/server/am/LowMemDetector$LowMemThread;->run()V
+PLcom/android/server/am/LowMemDetector;->-$$Nest$fgetmPressureStateLock(Lcom/android/server/am/LowMemDetector;)Ljava/lang/Object;
+PLcom/android/server/am/LowMemDetector;->-$$Nest$fputmPressureState(Lcom/android/server/am/LowMemDetector;I)V
+HSPLcom/android/server/am/LowMemDetector;->-$$Nest$mwaitForPressure(Lcom/android/server/am/LowMemDetector;)I
+HSPLcom/android/server/am/LowMemDetector;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+HSPLcom/android/server/am/LowMemDetector;->getMemFactor()I
+HSPLcom/android/server/am/LowMemDetector;->isAvailable()Z
+PLcom/android/server/am/MemoryStatUtil$MemoryStat;-><init>()V
+PLcom/android/server/am/MemoryStatUtil;-><clinit>()V
+PLcom/android/server/am/MemoryStatUtil;->hasMemcg()Z
+PLcom/android/server/am/MemoryStatUtil;->parseMemoryStatFromProcfs(Ljava/lang/String;)Lcom/android/server/am/MemoryStatUtil$MemoryStat;
+PLcom/android/server/am/MemoryStatUtil;->readFileContents(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/am/MemoryStatUtil;->readMemoryStatFromFilesystem(II)Lcom/android/server/am/MemoryStatUtil$MemoryStat;
+PLcom/android/server/am/MemoryStatUtil;->readMemoryStatFromProcfs(I)Lcom/android/server/am/MemoryStatUtil$MemoryStat;
+PLcom/android/server/am/NativeCrashListener;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/NativeCrashListener;->run()V
+HSPLcom/android/server/am/OomAdjProfiler$$ExternalSyntheticLambda0;-><init>()V
+HSPLcom/android/server/am/OomAdjProfiler$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+HSPLcom/android/server/am/OomAdjProfiler$CpuTimes;-><init>(Lcom/android/server/am/OomAdjProfiler;)V
+HSPLcom/android/server/am/OomAdjProfiler$CpuTimes;-><init>(Lcom/android/server/am/OomAdjProfiler;Lcom/android/server/am/OomAdjProfiler$CpuTimes-IA;)V
+HSPLcom/android/server/am/OomAdjProfiler$CpuTimes;->addCpuTimeMs(JZZ)V
+HSPLcom/android/server/am/OomAdjProfiler$CpuTimes;->addCpuTimeUs(J)V
+HSPLcom/android/server/am/OomAdjProfiler$CpuTimes;->addCpuTimeUs(JZZ)V
+HSPLcom/android/server/am/OomAdjProfiler;->$r8$lambda$c4Q2P5csnq29GPhTB7rlnNqRQWs(Lcom/android/server/am/OomAdjProfiler;ZZZ)V
+HSPLcom/android/server/am/OomAdjProfiler;->-$$Nest$fgetmOnBattery(Lcom/android/server/am/OomAdjProfiler;)Z
+HSPLcom/android/server/am/OomAdjProfiler;->-$$Nest$fgetmScreenOff(Lcom/android/server/am/OomAdjProfiler;)Z
+HSPLcom/android/server/am/OomAdjProfiler;-><init>()V
+HSPLcom/android/server/am/OomAdjProfiler;->batteryPowerChanged(Z)V
+HSPLcom/android/server/am/OomAdjProfiler;->oomAdjEnded()V
+HSPLcom/android/server/am/OomAdjProfiler;->oomAdjStarted()V
+HSPLcom/android/server/am/OomAdjProfiler;->scheduleSystemServerCpuTimeUpdate()V
+HSPLcom/android/server/am/OomAdjProfiler;->updateSystemServerCpuTime(ZZZ)V
+HSPLcom/android/server/am/OomAdjuster$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/am/OomAdjuster$$ExternalSyntheticLambda0;->handleMessage(Landroid/os/Message;)Z
+PLcom/android/server/am/OomAdjuster$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/am/OomAdjuster;)V
+HPLcom/android/server/am/OomAdjuster$$ExternalSyntheticLambda2;->accept(Ljava/lang/Object;)V
+HSPLcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback;-><init>(Lcom/android/server/am/OomAdjuster;)V
+HPLcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback;->initialize(Lcom/android/server/am/ProcessRecord;IZZIIIII)V
+HPLcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback;->onOtherActivity()V
+HPLcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback;->onPausedActivity()V
+PLcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback;->onStoppingActivity(Z)V
+HPLcom/android/server/am/OomAdjuster;->$r8$lambda$WdlWDnyVtMFVApq1sSUGD1QBVaM(Landroid/os/Message;)Z
+HSPLcom/android/server/am/OomAdjuster;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessList;Lcom/android/server/am/ActiveUids;)V
+HSPLcom/android/server/am/OomAdjuster;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessList;Lcom/android/server/am/ActiveUids;Lcom/android/server/ServiceThread;)V
+HPLcom/android/server/am/OomAdjuster;->applyOomAdjLSP(Lcom/android/server/am/ProcessRecord;ZJJI)Z
+HSPLcom/android/server/am/OomAdjuster;->assignCachedAdjIfNecessary(Ljava/util/ArrayList;)V
+HSPLcom/android/server/am/OomAdjuster;->checkAndEnqueueOomAdjTargetLocked(Lcom/android/server/am/ProcessRecord;)Z
+HPLcom/android/server/am/OomAdjuster;->collectReachableProcessesLocked(Landroid/util/ArraySet;Ljava/util/ArrayList;Lcom/android/server/am/ActiveUids;)Z
+HPLcom/android/server/am/OomAdjuster;->computeOomAdjLSP(Lcom/android/server/am/ProcessRecord;ILcom/android/server/am/ProcessRecord;ZJZZIZ)Z
+HPLcom/android/server/am/OomAdjuster;->computeProviderHostOomAdjLSP(Lcom/android/server/am/ContentProviderConnection;Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;JLcom/android/server/am/ProcessRecord;ZZZIIZZ)Z
+HPLcom/android/server/am/OomAdjuster;->computeServiceHostOomAdjLSP(Lcom/android/server/am/ConnectionRecord;Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;JLcom/android/server/am/ProcessRecord;ZZZIIZZ)Z
+HSPLcom/android/server/am/OomAdjuster;->createAdjusterThread()Lcom/android/server/ServiceThread;
+HPLcom/android/server/am/OomAdjuster;->enqueueOomAdjTargetLocked(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/OomAdjuster;->getBfslCapabilityFromClient(Lcom/android/server/am/ProcessRecord;)I
+HPLcom/android/server/am/OomAdjuster;->getDefaultCapability(Lcom/android/server/am/ProcessRecord;I)I
+HPLcom/android/server/am/OomAdjuster;->getInitialAdj(Lcom/android/server/am/ProcessRecord;)I
+HPLcom/android/server/am/OomAdjuster;->getInitialCapability(Lcom/android/server/am/ProcessRecord;)I
+HPLcom/android/server/am/OomAdjuster;->getInitialIsCurBoundByNonBgRestrictedApp(Lcom/android/server/am/ProcessRecord;)Z
+HPLcom/android/server/am/OomAdjuster;->getInitialProcState(Lcom/android/server/am/ProcessRecord;)I
+HPLcom/android/server/am/OomAdjuster;->idleUidsLocked()V
+PLcom/android/server/am/OomAdjuster;->initSettings()V
+HPLcom/android/server/am/OomAdjuster;->isChangeEnabled(ILandroid/content/pm/ApplicationInfo;Z)Z
+PLcom/android/server/am/OomAdjuster;->isScreenOnOrAnimatingLocked(Lcom/android/server/am/ProcessStateRecord;)Z
+HPLcom/android/server/am/OomAdjuster;->lambda$new$0(Landroid/os/Message;)Z
+HPLcom/android/server/am/OomAdjuster;->maybeUpdateLastTopTime(Lcom/android/server/am/ProcessStateRecord;J)V
+HPLcom/android/server/am/OomAdjuster;->maybeUpdateUsageStatsLSP(Lcom/android/server/am/ProcessRecord;J)V
+PLcom/android/server/am/OomAdjuster;->onProcessEndLocked(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/OomAdjuster;->onProcessOomAdjChanged(Lcom/android/server/am/ProcessRecord;I)V
+PLcom/android/server/am/OomAdjuster;->onProcessStateChanged(Lcom/android/server/am/ProcessRecord;I)V
+HSPLcom/android/server/am/OomAdjuster;->oomAdjReasonToString(I)Ljava/lang/String;
+HSPLcom/android/server/am/OomAdjuster;->performUpdateOomAdjLSP(I)V
+HPLcom/android/server/am/OomAdjuster;->performUpdateOomAdjLSP(Lcom/android/server/am/ProcessRecord;I)Z
+HPLcom/android/server/am/OomAdjuster;->performUpdateOomAdjLSP(Lcom/android/server/am/ProcessRecord;ILcom/android/server/am/ProcessRecord;JI)Z
+HPLcom/android/server/am/OomAdjuster;->performUpdateOomAdjPendingTargetsLocked(I)V
+HSPLcom/android/server/am/OomAdjuster;->postUpdateOomAdjInnerLSP(ILcom/android/server/am/ActiveUids;JJJ)V
+HPLcom/android/server/am/OomAdjuster;->removeOomAdjTargetLocked(Lcom/android/server/am/ProcessRecord;Z)V
+HSPLcom/android/server/am/OomAdjuster;->resetUidRecordsLsp(Lcom/android/server/am/ActiveUids;)V
+HPLcom/android/server/am/OomAdjuster;->setAppIdTempAllowlistStateLSP(IZ)V
+HPLcom/android/server/am/OomAdjuster;->setAttachingProcessStatesLSP(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/OomAdjuster;->setIntermediateAdjLSP(Lcom/android/server/am/ProcessRecord;III)I
+HPLcom/android/server/am/OomAdjuster;->setIntermediateProcStateLSP(Lcom/android/server/am/ProcessRecord;II)V
+HPLcom/android/server/am/OomAdjuster;->setIntermediateSchedGroupLSP(Lcom/android/server/am/ProcessStateRecord;I)V
+HPLcom/android/server/am/OomAdjuster;->setUidTempAllowlistStateLSP(IZ)V
+HSPLcom/android/server/am/OomAdjuster;->shouldKillExcessiveProcesses(J)Z
+HPLcom/android/server/am/OomAdjuster;->shouldSkipDueToCycle(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessStateRecord;IIZ)Z
+HPLcom/android/server/am/OomAdjuster;->unfreezeTemporarily(Lcom/android/server/am/ProcessRecord;I)V
+HSPLcom/android/server/am/OomAdjuster;->updateAndTrimProcessLSP(JJJLcom/android/server/am/ActiveUids;I)Z
+HPLcom/android/server/am/OomAdjuster;->updateAppFreezeStateLSP(Lcom/android/server/am/ProcessRecord;IZ)V
+HPLcom/android/server/am/OomAdjuster;->updateAppUidRecIfNecessaryLSP(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/OomAdjuster;->updateAppUidRecLSP(Lcom/android/server/am/ProcessRecord;)V
+HSPLcom/android/server/am/OomAdjuster;->updateOomAdjInnerLSP(ILcom/android/server/am/ProcessRecord;Ljava/util/ArrayList;Lcom/android/server/am/ActiveUids;ZZ)V
+HSPLcom/android/server/am/OomAdjuster;->updateOomAdjLSP(I)V
+HPLcom/android/server/am/OomAdjuster;->updateOomAdjLSP(Lcom/android/server/am/ProcessRecord;I)Z
+HSPLcom/android/server/am/OomAdjuster;->updateOomAdjLocked(I)V
+HPLcom/android/server/am/OomAdjuster;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;I)Z
+HSPLcom/android/server/am/OomAdjuster;->updateOomAdjPendingTargetsLocked(I)V
+HSPLcom/android/server/am/OomAdjuster;->updateUidsLSP(Lcom/android/server/am/ActiveUids;J)V
+HSPLcom/android/server/am/OomConnection$OomConnectionThread;-><init>(Lcom/android/server/am/OomConnection;)V
+HSPLcom/android/server/am/OomConnection$OomConnectionThread;-><init>(Lcom/android/server/am/OomConnection;Lcom/android/server/am/OomConnection$OomConnectionThread-IA;)V
+HSPLcom/android/server/am/OomConnection$OomConnectionThread;->run()V
+HSPLcom/android/server/am/OomConnection;->-$$Nest$smwaitOom()[Landroid/os/OomKillRecord;
+HSPLcom/android/server/am/OomConnection;-><init>(Lcom/android/server/am/OomConnection$OomConnectionListener;)V
+HPLcom/android/server/am/PackageList;-><init>(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/PackageList;->clear()V
+HPLcom/android/server/am/PackageList;->containsKey(Ljava/lang/Object;)Z
+HPLcom/android/server/am/PackageList;->forEachPackage(Ljava/util/function/BiConsumer;)V
+HPLcom/android/server/am/PackageList;->forEachPackage(Ljava/util/function/Consumer;)V
+HPLcom/android/server/am/PackageList;->forEachPackageProcessStats(Ljava/util/function/Consumer;)V
+HPLcom/android/server/am/PackageList;->get(Ljava/lang/String;)Lcom/android/internal/app/procstats/ProcessStats$ProcessStateHolder;
+HPLcom/android/server/am/PackageList;->getPackageList()[Ljava/lang/String;
+PLcom/android/server/am/PackageList;->getPackageListLocked()Landroid/util/ArrayMap;
+HPLcom/android/server/am/PackageList;->put(Ljava/lang/String;Lcom/android/internal/app/procstats/ProcessStats$ProcessStateHolder;)Lcom/android/internal/app/procstats/ProcessStats$ProcessStateHolder;
+HPLcom/android/server/am/PackageList;->searchEachPackage(Ljava/util/function/Function;)Ljava/lang/Object;
+HPLcom/android/server/am/PackageList;->size()I
+HSPLcom/android/server/am/PendingIntentController;-><init>(Landroid/os/Looper;Lcom/android/server/am/UserController;Lcom/android/server/am/ActivityManagerConstants;)V
+HPLcom/android/server/am/PendingIntentController;->cancelIntentSender(Landroid/content/IIntentSender;)V
+HPLcom/android/server/am/PendingIntentController;->cancelIntentSender(Lcom/android/server/am/PendingIntentRecord;Z)V
+HPLcom/android/server/am/PendingIntentController;->decrementUidStatLocked(Lcom/android/server/am/PendingIntentRecord;)V
+HPLcom/android/server/am/PendingIntentController;->getIntentSender(ILjava/lang/String;Ljava/lang/String;IILandroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILandroid/os/Bundle;)Lcom/android/server/am/PendingIntentRecord;
+HPLcom/android/server/am/PendingIntentController;->incrementUidStatLocked(Lcom/android/server/am/PendingIntentRecord;)V
+HPLcom/android/server/am/PendingIntentController;->makeIntentSenderCanceled(Lcom/android/server/am/PendingIntentRecord;)V
+HSPLcom/android/server/am/PendingIntentController;->onActivityManagerInternalAdded()V
+PLcom/android/server/am/PendingIntentController;->removePendingIntentsForPackage(Ljava/lang/String;IIZ)Z
+PLcom/android/server/am/PendingIntentController;->setPendingIntentAllowlistDuration(Landroid/content/IIntentSender;Landroid/os/IBinder;JIILjava/lang/String;)V
+PLcom/android/server/am/PendingIntentRecord$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/am/PendingIntentRecord$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
+HPLcom/android/server/am/PendingIntentRecord$Key;-><init>(ILjava/lang/String;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILcom/android/server/wm/SafeActivityOptions;I)V
+HPLcom/android/server/am/PendingIntentRecord$Key;->equals(Ljava/lang/Object;)Z
+PLcom/android/server/am/PendingIntentRecord$Key;->hashCode()I
+PLcom/android/server/am/PendingIntentRecord$TempAllowListDuration;-><init>(JIILjava/lang/String;)V
+PLcom/android/server/am/PendingIntentRecord;->$r8$lambda$n7a96RwVvewtpifhQ2aQt1qSbXo(Lcom/android/server/am/PendingIntentRecord;)V
+HPLcom/android/server/am/PendingIntentRecord;-><init>(Lcom/android/server/am/PendingIntentController;Lcom/android/server/am/PendingIntentRecord$Key;I)V
+PLcom/android/server/am/PendingIntentRecord;->completeFinalize()V
+HPLcom/android/server/am/PendingIntentRecord;->detachCancelListenersLocked()Landroid/os/RemoteCallbackList;
+HPLcom/android/server/am/PendingIntentRecord;->finalize()V
+HPLcom/android/server/am/PendingIntentRecord;->getBackgroundStartPrivilegesForActivitySender(Landroid/util/ArraySet;Landroid/os/IBinder;Landroid/os/Bundle;I)Landroid/app/BackgroundStartPrivileges;
+HPLcom/android/server/am/PendingIntentRecord;->sendInner(Landroid/app/IApplicationThread;ILandroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Landroid/content/IIntentReceiver;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IIILandroid/os/Bundle;)I
+PLcom/android/server/am/PendingIntentRecord;->sendWithResult(Landroid/app/IApplicationThread;ILandroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Landroid/content/IIntentReceiver;Ljava/lang/String;Landroid/os/Bundle;)I
+PLcom/android/server/am/PendingIntentRecord;->setAllowBgActivityStarts(Landroid/os/IBinder;I)V
+PLcom/android/server/am/PendingIntentRecord;->setAllowlistDurationLocked(Landroid/os/IBinder;JIILjava/lang/String;)V
+HSPLcom/android/server/am/PendingStartActivityUids;-><init>()V
+PLcom/android/server/am/PendingStartActivityUids;->add(II)Z
+HPLcom/android/server/am/PendingStartActivityUids;->delete(IJ)V
+HPLcom/android/server/am/PendingStartActivityUids;->isPendingTopUid(I)Z
+HSPLcom/android/server/am/PendingTempAllowlists;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+HPLcom/android/server/am/PendingTempAllowlists;->indexOfKey(I)I
+HPLcom/android/server/am/PendingTempAllowlists;->put(ILcom/android/server/am/ActivityManagerService$PendingTempAllowlist;)V
+HPLcom/android/server/am/PendingTempAllowlists;->removeAt(I)V
+HPLcom/android/server/am/PendingTempAllowlists;->size()I
+HPLcom/android/server/am/PendingTempAllowlists;->valueAt(I)Lcom/android/server/am/ActivityManagerService$PendingTempAllowlist;
+HSPLcom/android/server/am/PhantomProcessList$Injector;-><init>()V
+HPLcom/android/server/am/PhantomProcessList$Injector;->openCgroupProcs(Ljava/lang/String;)Ljava/io/InputStream;
+PLcom/android/server/am/PhantomProcessList$Injector;->readCgroupProcs(Ljava/io/InputStream;[BII)I
+HSPLcom/android/server/am/PhantomProcessList;-><clinit>()V
+HSPLcom/android/server/am/PhantomProcessList;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/PhantomProcessList;->addChildPidLocked(Lcom/android/server/am/ProcessRecord;II)V
+PLcom/android/server/am/PhantomProcessList;->forEachPhantomProcessOfApp(Lcom/android/server/am/ProcessRecord;Ljava/util/function/Function;)V
+HPLcom/android/server/am/PhantomProcessList;->getCgroupFilePath(II)Ljava/lang/String;
+PLcom/android/server/am/PhantomProcessList;->getOrCreatePhantomProcessIfNeededLocked(Ljava/lang/String;IIZ)Lcom/android/server/am/PhantomProcessRecord;
+PLcom/android/server/am/PhantomProcessList;->isAppProcess(I)Z
+HPLcom/android/server/am/PhantomProcessList;->lookForPhantomProcessesLocked()V
+HPLcom/android/server/am/PhantomProcessList;->lookForPhantomProcessesLocked(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/PhantomProcessList;->onAppDied(I)V
+HSPLcom/android/server/am/PhantomProcessList;->probeCgroupVersion()V
+PLcom/android/server/am/PhantomProcessList;->pruneStaleProcessesLocked()V
+PLcom/android/server/am/PhantomProcessList;->updateProcessCpuStatesLocked(Lcom/android/internal/os/ProcessCpuTracker;)V
+PLcom/android/server/am/PlatformCompatCache$CacheItem;-><init>(Lcom/android/server/compat/PlatformCompat;J)V
+HPLcom/android/server/am/PlatformCompatCache$CacheItem;->fetchLocked(Landroid/content/pm/ApplicationInfo;I)Z
+HPLcom/android/server/am/PlatformCompatCache$CacheItem;->invalidate(Landroid/content/pm/ApplicationInfo;)V
+HPLcom/android/server/am/PlatformCompatCache$CacheItem;->isChangeEnabled(Landroid/content/pm/ApplicationInfo;)Z
+PLcom/android/server/am/PlatformCompatCache;-><clinit>()V
+PLcom/android/server/am/PlatformCompatCache;-><init>([J)V
+HPLcom/android/server/am/PlatformCompatCache;->getInstance()Lcom/android/server/am/PlatformCompatCache;
+HPLcom/android/server/am/PlatformCompatCache;->invalidate(Landroid/content/pm/ApplicationInfo;)V
+HPLcom/android/server/am/PlatformCompatCache;->isChangeEnabled(ILandroid/content/pm/ApplicationInfo;Z)Z
+HPLcom/android/server/am/PlatformCompatCache;->isChangeEnabled(JLandroid/content/pm/ApplicationInfo;Z)Z
+HPLcom/android/server/am/ProcessCachedOptimizerRecord;-><init>(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/ProcessCachedOptimizerRecord;->getEarliestFreezableTime()J
+PLcom/android/server/am/ProcessCachedOptimizerRecord;->getFreezeUnfreezeTime()J
+HPLcom/android/server/am/ProcessCachedOptimizerRecord;->getLastCompactProfile()Lcom/android/server/am/CachedAppOptimizer$CompactProfile;
+PLcom/android/server/am/ProcessCachedOptimizerRecord;->getLastCompactTime()J
+PLcom/android/server/am/ProcessCachedOptimizerRecord;->getLastOomAdjChangeReason()I
+PLcom/android/server/am/ProcessCachedOptimizerRecord;->getLastUsedTimeout()J
+PLcom/android/server/am/ProcessCachedOptimizerRecord;->getReqCompactProfile()Lcom/android/server/am/CachedAppOptimizer$CompactProfile;
+PLcom/android/server/am/ProcessCachedOptimizerRecord;->getReqCompactSource()Lcom/android/server/am/CachedAppOptimizer$CompactSource;
+PLcom/android/server/am/ProcessCachedOptimizerRecord;->hasFreezerOverride()Z
+PLcom/android/server/am/ProcessCachedOptimizerRecord;->hasPendingCompact()Z
+PLcom/android/server/am/ProcessCachedOptimizerRecord;->init(J)V
+PLcom/android/server/am/ProcessCachedOptimizerRecord;->isForceCompact()Z
+HPLcom/android/server/am/ProcessCachedOptimizerRecord;->isFreezeExempt()Z
+HPLcom/android/server/am/ProcessCachedOptimizerRecord;->isFreezeSticky()Z
+PLcom/android/server/am/ProcessCachedOptimizerRecord;->isFrozen()Z
+HPLcom/android/server/am/ProcessCachedOptimizerRecord;->isPendingFreeze()Z
+PLcom/android/server/am/ProcessCachedOptimizerRecord;->setEarliestFreezableTime(J)V
+PLcom/android/server/am/ProcessCachedOptimizerRecord;->setForceCompact(Z)V
+PLcom/android/server/am/ProcessCachedOptimizerRecord;->setFreezeUnfreezeTime(J)V
+HPLcom/android/server/am/ProcessCachedOptimizerRecord;->setFreezerOverride(Z)V
+PLcom/android/server/am/ProcessCachedOptimizerRecord;->setFrozen(Z)V
+PLcom/android/server/am/ProcessCachedOptimizerRecord;->setHasCollectedFrozenPSS(Z)V
+HPLcom/android/server/am/ProcessCachedOptimizerRecord;->setHasPendingCompact(Z)V
+PLcom/android/server/am/ProcessCachedOptimizerRecord;->setLastCompactProfile(Lcom/android/server/am/CachedAppOptimizer$CompactProfile;)V
+PLcom/android/server/am/ProcessCachedOptimizerRecord;->setLastCompactTime(J)V
+PLcom/android/server/am/ProcessCachedOptimizerRecord;->setLastOomAdjChangeReason(I)V
+PLcom/android/server/am/ProcessCachedOptimizerRecord;->setLastUsedTimeout(J)V
+HPLcom/android/server/am/ProcessCachedOptimizerRecord;->setPendingFreeze(Z)V
+PLcom/android/server/am/ProcessCachedOptimizerRecord;->setReqCompactProfile(Lcom/android/server/am/CachedAppOptimizer$CompactProfile;)V
+PLcom/android/server/am/ProcessCachedOptimizerRecord;->setReqCompactSource(Lcom/android/server/am/CachedAppOptimizer$CompactSource;)V
+HPLcom/android/server/am/ProcessCachedOptimizerRecord;->setShouldNotFreeze(Z)V
+HPLcom/android/server/am/ProcessCachedOptimizerRecord;->setShouldNotFreeze(ZZ)Z
+PLcom/android/server/am/ProcessCachedOptimizerRecord;->shouldNotFreeze()Z
+PLcom/android/server/am/ProcessErrorStateRecord$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/am/ProcessErrorStateRecord;Lcom/android/internal/os/anr/AnrLatencyTracker;Ljava/lang/String;)V
+PLcom/android/server/am/ProcessErrorStateRecord$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/am/ProcessErrorStateRecord;Lcom/android/internal/os/anr/AnrLatencyTracker;)V
+PLcom/android/server/am/ProcessErrorStateRecord$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/am/ProcessErrorStateRecord$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/am/ProcessErrorStateRecord;Lcom/android/internal/os/anr/AnrLatencyTracker;ZZ)V
+PLcom/android/server/am/ProcessErrorStateRecord$$ExternalSyntheticLambda3;->call()Ljava/lang/Object;
+PLcom/android/server/am/ProcessErrorStateRecord$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/am/ProcessErrorStateRecord;)V
+PLcom/android/server/am/ProcessErrorStateRecord$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/am/ProcessErrorStateRecord;)V
+PLcom/android/server/am/ProcessErrorStateRecord;->$r8$lambda$DQtvmgZQqXnoidXVW34IrZY3fRc(Lcom/android/server/am/ProcessErrorStateRecord;Lcom/android/internal/os/anr/AnrLatencyTracker;ZZ)Ljava/util/ArrayList;
+PLcom/android/server/am/ProcessErrorStateRecord;->$r8$lambda$iJnj86igrSWbTddnzSwFSnBtv04(Lcom/android/server/am/ProcessErrorStateRecord;Lcom/android/internal/os/anr/AnrLatencyTracker;)V
+HPLcom/android/server/am/ProcessErrorStateRecord;-><init>(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/ProcessErrorStateRecord;->appNotResponding(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;Lcom/android/server/wm/WindowProcessController;ZLcom/android/internal/os/TimeoutRecord;Ljava/util/concurrent/ExecutorService;ZZLjava/util/concurrent/Future;)V
+PLcom/android/server/am/ProcessErrorStateRecord;->buildMemoryHeadersFor(I)Ljava/lang/String;
+PLcom/android/server/am/ProcessErrorStateRecord;->getAnrAnnotation()Ljava/lang/String;
+PLcom/android/server/am/ProcessErrorStateRecord;->getDialogController()Lcom/android/server/am/ErrorDialogController;
+PLcom/android/server/am/ProcessErrorStateRecord;->getShowBackground()Z
+PLcom/android/server/am/ProcessErrorStateRecord;->isBad()Z
+HPLcom/android/server/am/ProcessErrorStateRecord;->isCrashing()Z
+PLcom/android/server/am/ProcessErrorStateRecord;->isInterestingForBackgroundTraces()Z
+PLcom/android/server/am/ProcessErrorStateRecord;->isMonitorCpuUsage()Z
+PLcom/android/server/am/ProcessErrorStateRecord;->isNotResponding()Z
+PLcom/android/server/am/ProcessErrorStateRecord;->isSilentAnr()Z
+PLcom/android/server/am/ProcessErrorStateRecord;->lambda$appNotResponding$1(Lcom/android/internal/os/anr/AnrLatencyTracker;)V
+PLcom/android/server/am/ProcessErrorStateRecord;->lambda$appNotResponding$3(Lcom/android/internal/os/anr/AnrLatencyTracker;ZZ)Ljava/util/ArrayList;
+HPLcom/android/server/am/ProcessErrorStateRecord;->onCleanupApplicationRecordLSP()V
+PLcom/android/server/am/ProcessErrorStateRecord;->setAnrAnnotation(Ljava/lang/String;)V
+PLcom/android/server/am/ProcessErrorStateRecord;->setCrashHandler(Ljava/lang/Runnable;)V
+HPLcom/android/server/am/ProcessErrorStateRecord;->setCrashing(Z)V
+HPLcom/android/server/am/ProcessErrorStateRecord;->setNotResponding(Z)V
+PLcom/android/server/am/ProcessErrorStateRecord;->skipAnrLocked(Ljava/lang/String;)Z
+PLcom/android/server/am/ProcessList$$ExternalSyntheticLambda0;-><init>()V
+HPLcom/android/server/am/ProcessList$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;J)V
+HPLcom/android/server/am/ProcessList$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/am/ProcessList$$ExternalSyntheticLambda2;-><init>(ZLjava/util/List;Landroid/util/ArrayMap;Lcom/android/server/am/ProcessRecord;Ljava/util/ArrayList;)V
+PLcom/android/server/am/ProcessList$$ExternalSyntheticLambda2;->accept(Ljava/lang/Object;)V
+HPLcom/android/server/am/ProcessList$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/am/ProcessList;J)V
+HPLcom/android/server/am/ProcessList$$ExternalSyntheticLambda3;->accept(Ljava/lang/Object;)V
+HSPLcom/android/server/am/ProcessList$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/am/ProcessList;)V
+PLcom/android/server/am/ProcessList$$ExternalSyntheticLambda4;->onFileDescriptorEvents(Ljava/io/FileDescriptor;I)I
+HPLcom/android/server/am/ProcessList$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;J)V
+HPLcom/android/server/am/ProcessList$$ExternalSyntheticLambda5;->run()V
+HSPLcom/android/server/am/ProcessList$1;-><init>(Lcom/android/server/am/ProcessList;)V
+HSPLcom/android/server/am/ProcessList$2;-><init>(Lcom/android/server/am/ProcessList;)V
+HPLcom/android/server/am/ProcessList$2;->handleUnsolicitedMessage(Ljava/io/DataInputStream;I)Z
+PLcom/android/server/am/ProcessList$2;->onConnect(Ljava/io/OutputStream;)Z
+HSPLcom/android/server/am/ProcessList$ImperceptibleKillRunner$H;-><init>(Lcom/android/server/am/ProcessList$ImperceptibleKillRunner;Landroid/os/Looper;)V
+HSPLcom/android/server/am/ProcessList$ImperceptibleKillRunner;-><init>(Lcom/android/server/am/ProcessList;Landroid/os/Looper;)V
+HSPLcom/android/server/am/ProcessList$IsolatedUidRange;-><init>(Lcom/android/server/am/ProcessList;II)V
+HPLcom/android/server/am/ProcessList$IsolatedUidRange;->freeIsolatedUidLocked(I)V
+HSPLcom/android/server/am/ProcessList$IsolatedUidRangeAllocator;-><init>(Lcom/android/server/am/ProcessList;III)V
+HSPLcom/android/server/am/ProcessList$KillHandler;-><init>(Lcom/android/server/am/ProcessList;Landroid/os/Looper;)V
+PLcom/android/server/am/ProcessList$KillHandler;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/server/am/ProcessList$MyProcessMap;-><init>(Lcom/android/server/am/ProcessList;)V
+HPLcom/android/server/am/ProcessList$MyProcessMap;->put(Ljava/lang/String;ILcom/android/server/am/ProcessRecord;)Lcom/android/server/am/ProcessRecord;
+HPLcom/android/server/am/ProcessList$MyProcessMap;->remove(Ljava/lang/String;I)Lcom/android/server/am/ProcessRecord;
+HSPLcom/android/server/am/ProcessList$ProcStartHandler;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/os/Looper;)V
+PLcom/android/server/am/ProcessList$ProcStartHandler;->handleMessage(Landroid/os/Message;)V
+HPLcom/android/server/am/ProcessList$ProcStateMemTracker;-><init>()V
+HPLcom/android/server/am/ProcessList;->$r8$lambda$3Aeowc7Aa0A47bbOcoIMPuNZ44Y(Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;J)V
+HPLcom/android/server/am/ProcessList;->$r8$lambda$3aT8AjDesFyouy4iqaLN2hUmayA(Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;J)V
+HPLcom/android/server/am/ProcessList;->$r8$lambda$CC7yn4e5nUPqzC8siIAeG5XlMLQ(Lcom/android/server/am/ProcessList;JLcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/ProcessList;->$r8$lambda$JNHuPiwSzts8mouEo9gde_DuUw8(ZLjava/util/List;Landroid/util/ArrayMap;Lcom/android/server/am/ProcessRecord;Ljava/util/ArrayList;Ljava/lang/String;)V
+PLcom/android/server/am/ProcessList;->$r8$lambda$_2hhy3f6tCYNbqfLdggq9vFVtX4(Lcom/android/server/am/ProcessList;Ljava/io/FileDescriptor;I)I
+PLcom/android/server/am/ProcessList;->-$$Nest$mhandlePredecessorProcDied(Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/ProcessList;->-$$Nest$sfgetsLmkdConnection()Lcom/android/server/am/LmkdConnection;
+HSPLcom/android/server/am/ProcessList;-><clinit>()V
+HSPLcom/android/server/am/ProcessList;-><init>()V
+HPLcom/android/server/am/ProcessList;->addProcessNameLocked(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/ProcessList;->applyDisplaySize(Lcom/android/server/wm/WindowManagerService;)V
+HPLcom/android/server/am/ProcessList;->buildOomTag(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIZ)Ljava/lang/String;
+HPLcom/android/server/am/ProcessList;->checkSlow(JLjava/lang/String;)V
+HPLcom/android/server/am/ProcessList;->computeGidsForProcess(II[IZ)[I
+HPLcom/android/server/am/ProcessList;->computeNextPssTime(ILcom/android/server/am/ProcessList$ProcStateMemTracker;ZZJJ)J
+HSPLcom/android/server/am/ProcessList;->createSystemServerSocketForZygote()Landroid/net/LocalSocket;
+HPLcom/android/server/am/ProcessList;->dispatchProcessDied(II)V
+PLcom/android/server/am/ProcessList;->dispatchProcessStarted(Lcom/android/server/am/ProcessRecord;I)V
+HPLcom/android/server/am/ProcessList;->dispatchProcessesChanged()V
+HPLcom/android/server/am/ProcessList;->enqueueProcessChangeItemLocked(II)Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;
+HPLcom/android/server/am/ProcessList;->fillInProcMemInfoLOSP(Lcom/android/server/am/ProcessRecord;Landroid/app/ActivityManager$RunningAppProcessInfo;I)V
+HPLcom/android/server/am/ProcessList;->findAppProcessLOSP(Landroid/os/IBinder;Ljava/lang/String;)Lcom/android/server/am/ProcessRecord;
+HSPLcom/android/server/am/ProcessList;->forEachLruProcessesLOSP(ZLjava/util/function/Consumer;)V
+PLcom/android/server/am/ProcessList;->getAppStartInfoTracker()Lcom/android/server/am/AppStartInfoTracker;
+PLcom/android/server/am/ProcessList;->getCachedRestoreThresholdKb()J
+HPLcom/android/server/am/ProcessList;->getLRURecordForAppLOSP(Landroid/os/IBinder;)Lcom/android/server/am/ProcessRecord;
+HSPLcom/android/server/am/ProcessList;->getLruProcessesLOSP()Ljava/util/ArrayList;
+HSPLcom/android/server/am/ProcessList;->getLruSizeLOSP()I
+HSPLcom/android/server/am/ProcessList;->getMemLevel(I)J
+HPLcom/android/server/am/ProcessList;->getMemoryInfo(Landroid/app/ActivityManager$MemoryInfo;)V
+HPLcom/android/server/am/ProcessList;->getNextProcStateSeq()J
+HPLcom/android/server/am/ProcessList;->getNumForegroundServices()Landroid/util/Pair;
+HPLcom/android/server/am/ProcessList;->getPackageAppDataInfoMap(Landroid/content/pm/PackageManagerInternal;[Ljava/lang/String;I)Ljava/util/Map;
+PLcom/android/server/am/ProcessList;->getProcessNamesLOSP()Lcom/android/server/am/ProcessList$MyProcessMap;
+HPLcom/android/server/am/ProcessList;->getProcessRecordLocked(Ljava/lang/String;I)Lcom/android/server/am/ProcessRecord;
+HPLcom/android/server/am/ProcessList;->getRunningAppProcessesLOSP(ZIZII)Ljava/util/List;
+HPLcom/android/server/am/ProcessList;->getSdkSandboxProcessesForAppLocked(I)Ljava/util/List;
+HPLcom/android/server/am/ProcessList;->getUidProcStateLOSP(I)I
+HPLcom/android/server/am/ProcessList;->getUidProcessCapabilityLOSP(I)I
+HPLcom/android/server/am/ProcessList;->getUidRecordLOSP(I)Lcom/android/server/am/UidRecord;
+PLcom/android/server/am/ProcessList;->handleDyingAppDeathLocked(Lcom/android/server/am/ProcessRecord;I)Z
+PLcom/android/server/am/ProcessList;->handlePrecedingAppDiedLocked(Lcom/android/server/am/ProcessRecord;)Z
+PLcom/android/server/am/ProcessList;->handlePredecessorProcDied(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/ProcessList;->handleProcessStart(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;J)V
+PLcom/android/server/am/ProcessList;->handleProcessStartWithPredecessor(Lcom/android/server/am/ProcessRecord;Ljava/lang/Runnable;)V
+HPLcom/android/server/am/ProcessList;->handleProcessStartedLocked(Lcom/android/server/am/ProcessRecord;IZJZ)Z
+HPLcom/android/server/am/ProcessList;->handleProcessStartedLocked(Lcom/android/server/am/ProcessRecord;Landroid/os/Process$ProcessStartResult;J)Z
+HPLcom/android/server/am/ProcessList;->handleZygoteMessages(Ljava/io/FileDescriptor;I)I
+HPLcom/android/server/am/ProcessList;->hasAppStorage(Landroid/content/pm/PackageManagerInternal;Ljava/lang/String;)Z
+HPLcom/android/server/am/ProcessList;->haveBackgroundProcessLOSP()Z
+HSPLcom/android/server/am/ProcessList;->incrementProcStateSeqAndNotifyAppsLOSP(Lcom/android/server/am/ActiveUids;)V
+HSPLcom/android/server/am/ProcessList;->init(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActiveUids;Lcom/android/server/compat/PlatformCompat;)V
+PLcom/android/server/am/ProcessList;->isInLruListLOSP(Lcom/android/server/am/ProcessRecord;)Z
+HPLcom/android/server/am/ProcessList;->isProcStartValidLocked(Lcom/android/server/am/ProcessRecord;J)Ljava/lang/String;
+PLcom/android/server/am/ProcessList;->killAllBackgroundProcessesExceptLSP(II)V
+HPLcom/android/server/am/ProcessList;->killAppIfBgRestrictedAndCachedIdleLocked(Lcom/android/server/am/ProcessRecord;J)J
+HPLcom/android/server/am/ProcessList;->killAppIfBgRestrictedAndCachedIdleLocked(Lcom/android/server/am/UidRecord;)V
+HPLcom/android/server/am/ProcessList;->killPackageProcessesLSP(Ljava/lang/String;IIIZZZZZZIILjava/lang/String;)Z
+HPLcom/android/server/am/ProcessList;->killProcessGroup(II)V
+HPLcom/android/server/am/ProcessList;->lambda$handleProcessStart$1(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;J)V
+HPLcom/android/server/am/ProcessList;->lambda$killAppIfBgRestrictedAndCachedIdleLocked$5(JLcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/ProcessList;->lambda$startProcessLocked$0(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;J)V
+PLcom/android/server/am/ProcessList;->lambda$updateApplicationInfoLOSP$3(ZLjava/util/List;Landroid/util/ArrayMap;Lcom/android/server/am/ProcessRecord;Ljava/util/ArrayList;Ljava/lang/String;)V
+HPLcom/android/server/am/ProcessList;->makeOomAdjString(IZ)Ljava/lang/String;
+PLcom/android/server/am/ProcessList;->makeProcStateString(I)Ljava/lang/String;
+PLcom/android/server/am/ProcessList;->minTimeFromStateChange(Z)J
+HPLcom/android/server/am/ProcessList;->needsStorageDataIsolation(Landroid/os/storage/StorageManagerInternal;Lcom/android/server/am/ProcessRecord;)Z
+HPLcom/android/server/am/ProcessList;->newProcessRecordLocked(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;ZIZILjava/lang/String;Lcom/android/server/am/HostingRecord;)Lcom/android/server/am/ProcessRecord;
+PLcom/android/server/am/ProcessList;->noteAppKill(Lcom/android/server/am/ProcessRecord;IILjava/lang/String;)V
+HPLcom/android/server/am/ProcessList;->noteProcessDiedLocked(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/ProcessList;->onLmkdConnect(Ljava/io/OutputStream;)Z
+PLcom/android/server/am/ProcessList;->onSystemReady()V
+HPLcom/android/server/am/ProcessList;->procStateToImportance(IILandroid/app/ActivityManager$RunningAppProcessInfo;I)I
+HPLcom/android/server/am/ProcessList;->procStatesDifferForMem(II)Z
+PLcom/android/server/am/ProcessList;->registerProcessObserver(Landroid/app/IProcessObserver;)V
+HPLcom/android/server/am/ProcessList;->remove(I)V
+HPLcom/android/server/am/ProcessList;->removeLruProcessLocked(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/ProcessList;->removeProcessNameLocked(Ljava/lang/String;I)Lcom/android/server/am/ProcessRecord;
+HPLcom/android/server/am/ProcessList;->removeProcessNameLocked(Ljava/lang/String;ILcom/android/server/am/ProcessRecord;)Lcom/android/server/am/ProcessRecord;
+HPLcom/android/server/am/ProcessList;->scheduleDispatchProcessDiedLocked(II)V
+HPLcom/android/server/am/ProcessList;->searchEachLruProcessesLOSP(ZLjava/util/function/Function;)Ljava/lang/Object;
+HPLcom/android/server/am/ProcessList;->setOomAdj(III)V
+HPLcom/android/server/am/ProcessList;->startProcess(Lcom/android/server/am/HostingRecord;Ljava/lang/String;Lcom/android/server/am/ProcessRecord;I[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;J)Landroid/os/Process$ProcessStartResult;
+HPLcom/android/server/am/ProcessList;->startProcessLocked(Lcom/android/server/am/HostingRecord;Ljava/lang/String;Lcom/android/server/am/ProcessRecord;I[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JJ)Z
+PLcom/android/server/am/ProcessList;->startProcessLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/HostingRecord;I)V
+HPLcom/android/server/am/ProcessList;->startProcessLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/HostingRecord;ILjava/lang/String;)Z
+HPLcom/android/server/am/ProcessList;->startProcessLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/HostingRecord;IZZLjava/lang/String;)Z
+HPLcom/android/server/am/ProcessList;->startProcessLocked(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;ZILcom/android/server/am/HostingRecord;IZZIZILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/Runnable;)Lcom/android/server/am/ProcessRecord;
+PLcom/android/server/am/ProcessList;->startPsiMonitoringAfterBoot()V
+PLcom/android/server/am/ProcessList;->updateApplicationInfoLOSP(Ljava/util/List;IZ)V
+HPLcom/android/server/am/ProcessList;->updateClientActivitiesOrderingLSP(Lcom/android/server/am/ProcessRecord;III)V
+PLcom/android/server/am/ProcessList;->updateCoreSettingsLOSP(Landroid/os/Bundle;)V
+HPLcom/android/server/am/ProcessList;->updateLruProcessInternalLSP(Lcom/android/server/am/ProcessRecord;JIILjava/lang/String;Ljava/lang/Object;Lcom/android/server/am/ProcessRecord;)I
+HPLcom/android/server/am/ProcessList;->updateLruProcessLSP(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;ZZ)V
+HPLcom/android/server/am/ProcessList;->updateLruProcessLocked(Lcom/android/server/am/ProcessRecord;ZLcom/android/server/am/ProcessRecord;)V
+HSPLcom/android/server/am/ProcessList;->updateOomLevels(IIZ)V
+HPLcom/android/server/am/ProcessList;->updateSeInfo(Lcom/android/server/am/ProcessRecord;)Ljava/lang/String;
+HPLcom/android/server/am/ProcessList;->writeLmkd(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Z
+PLcom/android/server/am/ProcessProfileRecord$$ExternalSyntheticLambda0;-><init>(Lcom/android/internal/app/procstats/ProcessState;)V
+HPLcom/android/server/am/ProcessProfileRecord$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
+HPLcom/android/server/am/ProcessProfileRecord$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/am/ProcessProfileRecord;Lcom/android/internal/app/procstats/ProcessState;Lcom/android/server/am/ProcessStatsService;ILcom/android/internal/app/procstats/ProcessState;)V
+HPLcom/android/server/am/ProcessProfileRecord$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+HPLcom/android/server/am/ProcessProfileRecord;->$r8$lambda$IUdC3S34rs87Xa1P5tzUxV1FgmY(Lcom/android/server/am/ProcessProfileRecord;Lcom/android/internal/app/procstats/ProcessState;Lcom/android/server/am/ProcessStatsService;ILcom/android/internal/app/procstats/ProcessState;Ljava/lang/String;Lcom/android/internal/app/procstats/ProcessStats$ProcessStateHolder;)V
+PLcom/android/server/am/ProcessProfileRecord;->$r8$lambda$JxHNnB95IHo4uPFFKjkpWwJexpY(Lcom/android/internal/app/procstats/ProcessState;Lcom/android/internal/app/procstats/ProcessStats$ProcessStateHolder;)V
+HPLcom/android/server/am/ProcessProfileRecord;-><init>(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/ProcessProfileRecord;->abortNextPssTime()V
+PLcom/android/server/am/ProcessProfileRecord;->abortNextPssTime(Lcom/android/server/am/ProcessList$ProcStateMemTracker;)V
+HPLcom/android/server/am/ProcessProfileRecord;->addHostingComponentType(I)V
+HPLcom/android/server/am/ProcessProfileRecord;->clearHostingComponentType(I)V
+HPLcom/android/server/am/ProcessProfileRecord;->computeNextPssTime(IZZJ)J
+PLcom/android/server/am/ProcessProfileRecord;->getBaseProcessTracker()Lcom/android/internal/app/procstats/ProcessState;
+PLcom/android/server/am/ProcessProfileRecord;->getLastPss()J
+HPLcom/android/server/am/ProcessProfileRecord;->getLastPssTime()J
+PLcom/android/server/am/ProcessProfileRecord;->getLastRss()J
+HPLcom/android/server/am/ProcessProfileRecord;->getLastStateTime()J
+HPLcom/android/server/am/ProcessProfileRecord;->getNextPssTime()J
+PLcom/android/server/am/ProcessProfileRecord;->getTrimMemoryLevel()I
+HPLcom/android/server/am/ProcessProfileRecord;->getUidForAttribution(Lcom/android/server/am/ProcessRecord;)I
+HPLcom/android/server/am/ProcessProfileRecord;->hasPendingUiClean()Z
+PLcom/android/server/am/ProcessProfileRecord;->init(J)V
+HPLcom/android/server/am/ProcessProfileRecord;->lambda$onProcessActive$0(Lcom/android/internal/app/procstats/ProcessState;Lcom/android/server/am/ProcessStatsService;ILcom/android/internal/app/procstats/ProcessState;Ljava/lang/String;Lcom/android/internal/app/procstats/ProcessStats$ProcessStateHolder;)V
+HPLcom/android/server/am/ProcessProfileRecord;->lambda$onProcessInactive$1(Lcom/android/internal/app/procstats/ProcessState;Lcom/android/internal/app/procstats/ProcessStats$ProcessStateHolder;)V
+HPLcom/android/server/am/ProcessProfileRecord;->onProcessActive(Landroid/app/IApplicationThread;Lcom/android/server/am/ProcessStatsService;)V
+HPLcom/android/server/am/ProcessProfileRecord;->onProcessFrozen()V
+HPLcom/android/server/am/ProcessProfileRecord;->onProcessInactive(Lcom/android/server/am/ProcessStatsService;)V
+HPLcom/android/server/am/ProcessProfileRecord;->onProcessUnfrozen()V
+PLcom/android/server/am/ProcessProfileRecord;->setBaseProcessTracker(Lcom/android/internal/app/procstats/ProcessState;)V
+PLcom/android/server/am/ProcessProfileRecord;->setLastLowMemory(J)V
+PLcom/android/server/am/ProcessProfileRecord;->setLastRequestedGc(J)V
+HPLcom/android/server/am/ProcessProfileRecord;->setNextPssTime(J)V
+HPLcom/android/server/am/ProcessProfileRecord;->setPendingUiClean(Z)V
+HPLcom/android/server/am/ProcessProfileRecord;->setPid(I)V
+HPLcom/android/server/am/ProcessProfileRecord;->setProcessTrackerState(II)V
+HPLcom/android/server/am/ProcessProfileRecord;->updateProcState(Lcom/android/server/am/ProcessStateRecord;)V
+HPLcom/android/server/am/ProcessProviderRecord;-><init>(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/ProcessProviderRecord;->addProviderConnection(Lcom/android/server/am/ContentProviderConnection;)V
+PLcom/android/server/am/ProcessProviderRecord;->ensureProviderCapacity(I)V
+PLcom/android/server/am/ProcessProviderRecord;->getLastProviderTime()J
+HPLcom/android/server/am/ProcessProviderRecord;->getProvider(Ljava/lang/String;)Lcom/android/server/am/ContentProviderRecord;
+HPLcom/android/server/am/ProcessProviderRecord;->getProviderAt(I)Lcom/android/server/am/ContentProviderRecord;
+HPLcom/android/server/am/ProcessProviderRecord;->getProviderConnectionAt(I)Lcom/android/server/am/ContentProviderConnection;
+PLcom/android/server/am/ProcessProviderRecord;->hasProvider(Ljava/lang/String;)Z
+PLcom/android/server/am/ProcessProviderRecord;->installProvider(Ljava/lang/String;Lcom/android/server/am/ContentProviderRecord;)V
+HPLcom/android/server/am/ProcessProviderRecord;->numberOfProviderConnections()I
+HPLcom/android/server/am/ProcessProviderRecord;->numberOfProviders()I
+HPLcom/android/server/am/ProcessProviderRecord;->onCleanupApplicationRecordLocked(Z)Z
+HPLcom/android/server/am/ProcessProviderRecord;->removeProviderConnection(Lcom/android/server/am/ContentProviderConnection;)Z
+PLcom/android/server/am/ProcessProviderRecord;->setLastProviderTime(J)V
+HPLcom/android/server/am/ProcessReceiverRecord;-><init>(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/ProcessReceiverRecord;->addReceiver(Lcom/android/server/am/ReceiverList;)V
+HPLcom/android/server/am/ProcessReceiverRecord;->decrementCurReceivers()V
+HPLcom/android/server/am/ProcessReceiverRecord;->incrementCurReceivers()V
+HPLcom/android/server/am/ProcessReceiverRecord;->numberOfReceivers()I
+HPLcom/android/server/am/ProcessReceiverRecord;->onCleanupApplicationRecordLocked()V
+HPLcom/android/server/am/ProcessReceiverRecord;->removeReceiver(Lcom/android/server/am/ReceiverList;)V
+PLcom/android/server/am/ProcessRecord$$ExternalSyntheticLambda0;-><init>(Lcom/android/internal/app/procstats/ProcessState;)V
+PLcom/android/server/am/ProcessRecord$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
+PLcom/android/server/am/ProcessRecord;->$r8$lambda$HANeJKZz4r720moq9uNElrY05J8(Lcom/android/internal/app/procstats/ProcessState;Lcom/android/internal/app/procstats/ProcessStats$ProcessStateHolder;)V
+HPLcom/android/server/am/ProcessRecord;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;ILjava/lang/String;ILjava/lang/String;)V
+PLcom/android/server/am/ProcessRecord;->addOrUpdateBackgroundStartPrivileges(Landroid/os/Binder;Landroid/app/BackgroundStartPrivileges;)V
+HPLcom/android/server/am/ProcessRecord;->addPackage(Ljava/lang/String;JLcom/android/server/am/ProcessStatsService;)Z
+PLcom/android/server/am/ProcessRecord;->getActiveInstrumentation()Lcom/android/server/am/ActiveInstrumentation;
+PLcom/android/server/am/ProcessRecord;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
+HPLcom/android/server/am/ProcessRecord;->getBindApplicationTime()J
+PLcom/android/server/am/ProcessRecord;->getCompat()Landroid/content/res/CompatibilityInfo;
+HPLcom/android/server/am/ProcessRecord;->getCpuDelayTime()J
+PLcom/android/server/am/ProcessRecord;->getCpuTime()J
+PLcom/android/server/am/ProcessRecord;->getDeathRecipient()Landroid/os/IBinder$DeathRecipient;
+PLcom/android/server/am/ProcessRecord;->getDisabledCompatChanges()[J
+PLcom/android/server/am/ProcessRecord;->getDyingPid()I
+HPLcom/android/server/am/ProcessRecord;->getHostingRecord()Lcom/android/server/am/HostingRecord;
+PLcom/android/server/am/ProcessRecord;->getIsolatedEntryPoint()Ljava/lang/String;
+HPLcom/android/server/am/ProcessRecord;->getLastActivityTime()J
+HPLcom/android/server/am/ProcessRecord;->getLruSeq()I
+HPLcom/android/server/am/ProcessRecord;->getMountMode()I
+PLcom/android/server/am/ProcessRecord;->getOnewayThread()Landroid/app/IApplicationThread;
+HPLcom/android/server/am/ProcessRecord;->getPackageList()[Ljava/lang/String;
+HPLcom/android/server/am/ProcessRecord;->getPid()I
+PLcom/android/server/am/ProcessRecord;->getPkgDeps()Landroid/util/ArraySet;
+HPLcom/android/server/am/ProcessRecord;->getPkgList()Lcom/android/server/am/PackageList;
+PLcom/android/server/am/ProcessRecord;->getProcessClassEnum()I
+HPLcom/android/server/am/ProcessRecord;->getRenderThreadTid()I
+PLcom/android/server/am/ProcessRecord;->getRss(I)J
+HPLcom/android/server/am/ProcessRecord;->getSeInfo()Ljava/lang/String;
+HPLcom/android/server/am/ProcessRecord;->getSetAdj()I
+HPLcom/android/server/am/ProcessRecord;->getSetProcState()I
+HPLcom/android/server/am/ProcessRecord;->getStartElapsedTime()J
+HPLcom/android/server/am/ProcessRecord;->getStartSeq()J
+HPLcom/android/server/am/ProcessRecord;->getStartTime()J
+HPLcom/android/server/am/ProcessRecord;->getStartUid()I
+HPLcom/android/server/am/ProcessRecord;->getStartUptime()J
+HPLcom/android/server/am/ProcessRecord;->getThread()Landroid/app/IApplicationThread;
+HPLcom/android/server/am/ProcessRecord;->getUidRecord()Lcom/android/server/am/UidRecord;
+HPLcom/android/server/am/ProcessRecord;->getWaitingToKill()Ljava/lang/String;
+HPLcom/android/server/am/ProcessRecord;->getWindowProcessController()Lcom/android/server/wm/WindowProcessController;
+HPLcom/android/server/am/ProcessRecord;->hasActivities()Z
+HPLcom/android/server/am/ProcessRecord;->hasActivitiesOrRecentTasks()Z
+HPLcom/android/server/am/ProcessRecord;->isCached()Z
+HPLcom/android/server/am/ProcessRecord;->isDebuggable()Z
+PLcom/android/server/am/ProcessRecord;->isDebugging()Z
+HPLcom/android/server/am/ProcessRecord;->isInFullBackup()Z
+PLcom/android/server/am/ProcessRecord;->isInterestingToUserLocked()Z
+HPLcom/android/server/am/ProcessRecord;->isKilled()Z
+HPLcom/android/server/am/ProcessRecord;->isKilledByAm()Z
+HPLcom/android/server/am/ProcessRecord;->isPendingFinishAttach()Z
+HPLcom/android/server/am/ProcessRecord;->isPendingStart()Z
+HPLcom/android/server/am/ProcessRecord;->isPersistent()Z
+HPLcom/android/server/am/ProcessRecord;->isRemoved()Z
+HPLcom/android/server/am/ProcessRecord;->isThreadReady()Z
+PLcom/android/server/am/ProcessRecord;->isUnlocked()Z
+PLcom/android/server/am/ProcessRecord;->isUsingWrapper()Z
+PLcom/android/server/am/ProcessRecord;->killLocked(Ljava/lang/String;IIZ)V
+PLcom/android/server/am/ProcessRecord;->killLocked(Ljava/lang/String;IIZZ)V
+PLcom/android/server/am/ProcessRecord;->killLocked(Ljava/lang/String;IZ)V
+PLcom/android/server/am/ProcessRecord;->killLocked(Ljava/lang/String;Ljava/lang/String;IIZ)V
+HPLcom/android/server/am/ProcessRecord;->killLocked(Ljava/lang/String;Ljava/lang/String;IIZZ)V
+HPLcom/android/server/am/ProcessRecord;->killProcessGroupIfNecessaryLocked(Z)V
+PLcom/android/server/am/ProcessRecord;->lambda$resetPackageList$0(Lcom/android/internal/app/procstats/ProcessState;Lcom/android/internal/app/procstats/ProcessStats$ProcessStateHolder;)V
+HPLcom/android/server/am/ProcessRecord;->makeActive(Landroid/app/IApplicationThread;Lcom/android/server/am/ProcessStatsService;)V
+HPLcom/android/server/am/ProcessRecord;->makeInactive(Lcom/android/server/am/ProcessStatsService;)V
+HPLcom/android/server/am/ProcessRecord;->onCleanupApplicationRecordLSP(Lcom/android/server/am/ProcessStatsService;ZZ)Z
+HPLcom/android/server/am/ProcessRecord;->onProcessFrozen()V
+PLcom/android/server/am/ProcessRecord;->onProcessFrozenCancelled()V
+HPLcom/android/server/am/ProcessRecord;->onProcessUnfrozen()V
+PLcom/android/server/am/ProcessRecord;->onStartActivity(IZLjava/lang/String;J)V
+HPLcom/android/server/am/ProcessRecord;->removeBackgroundStartPrivileges(Landroid/os/Binder;)V
+HPLcom/android/server/am/ProcessRecord;->resetPackageList(Lcom/android/server/am/ProcessStatsService;)V
+PLcom/android/server/am/ProcessRecord;->setActiveInstrumentation(Lcom/android/server/am/ActiveInstrumentation;)V
+HPLcom/android/server/am/ProcessRecord;->setBackgroundStartPrivileges(Landroid/os/Binder;Landroid/app/BackgroundStartPrivileges;)V
+HPLcom/android/server/am/ProcessRecord;->setBindApplicationTime(J)V
+PLcom/android/server/am/ProcessRecord;->setCompat(Landroid/content/res/CompatibilityInfo;)V
+PLcom/android/server/am/ProcessRecord;->setDeathRecipient(Landroid/os/IBinder$DeathRecipient;)V
+HPLcom/android/server/am/ProcessRecord;->setDebugging(Z)V
+PLcom/android/server/am/ProcessRecord;->setDisabledCompatChanges([J)V
+HPLcom/android/server/am/ProcessRecord;->setDyingPid(I)V
+PLcom/android/server/am/ProcessRecord;->setGids([I)V
+PLcom/android/server/am/ProcessRecord;->setInstructionSet(Ljava/lang/String;)V
+PLcom/android/server/am/ProcessRecord;->setIsolatedEntryPoint(Ljava/lang/String;)V
+PLcom/android/server/am/ProcessRecord;->setIsolatedEntryPointArgs([Ljava/lang/String;)V
+HPLcom/android/server/am/ProcessRecord;->setKilled(Z)V
+HPLcom/android/server/am/ProcessRecord;->setKilledByAm(Z)V
+HPLcom/android/server/am/ProcessRecord;->setLastActivityTime(J)V
+HPLcom/android/server/am/ProcessRecord;->setLruSeq(I)V
+HPLcom/android/server/am/ProcessRecord;->setMountMode(I)V
+HPLcom/android/server/am/ProcessRecord;->setPendingFinishAttach(Z)V
+HPLcom/android/server/am/ProcessRecord;->setPendingStart(Z)V
+HPLcom/android/server/am/ProcessRecord;->setPendingUiClean(Z)V
+HPLcom/android/server/am/ProcessRecord;->setPersistent(Z)V
+HPLcom/android/server/am/ProcessRecord;->setPid(I)V
+PLcom/android/server/am/ProcessRecord;->setPkgDeps(Landroid/util/ArraySet;)V
+HPLcom/android/server/am/ProcessRecord;->setRemoved(Z)V
+HPLcom/android/server/am/ProcessRecord;->setRenderThreadTid(I)V
+HPLcom/android/server/am/ProcessRecord;->setRequiredAbi(Ljava/lang/String;)V
+PLcom/android/server/am/ProcessRecord;->setRunningRemoteAnimation(Z)V
+HPLcom/android/server/am/ProcessRecord;->setStartParams(ILcom/android/server/am/HostingRecord;Ljava/lang/String;JJ)V
+HPLcom/android/server/am/ProcessRecord;->setStartSeq(J)V
+HPLcom/android/server/am/ProcessRecord;->setUidRecord(Lcom/android/server/am/UidRecord;)V
+HPLcom/android/server/am/ProcessRecord;->setUnlocked(Z)V
+HPLcom/android/server/am/ProcessRecord;->setUsingWrapper(Z)V
+PLcom/android/server/am/ProcessRecord;->setWaitingToKill(Ljava/lang/String;)V
+PLcom/android/server/am/ProcessRecord;->setWasForceStopped(Z)V
+PLcom/android/server/am/ProcessRecord;->toShortString()Ljava/lang/String;
+HPLcom/android/server/am/ProcessRecord;->toShortString(Ljava/lang/StringBuilder;)V
+HPLcom/android/server/am/ProcessRecord;->toString()Ljava/lang/String;
+HPLcom/android/server/am/ProcessRecord;->unlinkDeathRecipient()V
+PLcom/android/server/am/ProcessRecord;->updateProcessInfo(ZZZ)V
+HPLcom/android/server/am/ProcessRecord;->updateProcessRecordNodes(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/ProcessRecord;->updateServiceConnectionActivities()V
+HPLcom/android/server/am/ProcessRecord;->wasForceStopped()Z
+HPLcom/android/server/am/ProcessServiceRecord;-><init>(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/ProcessServiceRecord;->addBoundClientUid(ILjava/lang/String;J)V
+HPLcom/android/server/am/ProcessServiceRecord;->addBoundClientUidsOfNewService(Lcom/android/server/am/ServiceRecord;)V
+HPLcom/android/server/am/ProcessServiceRecord;->addConnection(Lcom/android/server/am/ConnectionRecord;)V
+HPLcom/android/server/am/ProcessServiceRecord;->addSdkSandboxConnectionIfNecessary(Lcom/android/server/am/ConnectionRecord;)V
+HPLcom/android/server/am/ProcessServiceRecord;->areAllShortForegroundServicesProcstateTimedOut(J)Z
+HPLcom/android/server/am/ProcessServiceRecord;->areForegroundServiceTypesSame(IZ)Z
+HPLcom/android/server/am/ProcessServiceRecord;->clearBoundClientUids()V
+HPLcom/android/server/am/ProcessServiceRecord;->getConnectionAt(I)Lcom/android/server/am/ConnectionRecord;
+PLcom/android/server/am/ProcessServiceRecord;->getConnectionGroup()I
+HPLcom/android/server/am/ProcessServiceRecord;->getExecutingServiceAt(I)Lcom/android/server/am/ServiceRecord;
+HPLcom/android/server/am/ProcessServiceRecord;->getForegroundServiceTypes()I
+HPLcom/android/server/am/ProcessServiceRecord;->getNumForegroundServices()I
+HPLcom/android/server/am/ProcessServiceRecord;->getRunningServiceAt(I)Lcom/android/server/am/ServiceRecord;
+HPLcom/android/server/am/ProcessServiceRecord;->hasClientActivities()Z
+PLcom/android/server/am/ProcessServiceRecord;->hasForegroundServices()Z
+HPLcom/android/server/am/ProcessServiceRecord;->hasNonShortForegroundServices()Z
+PLcom/android/server/am/ProcessServiceRecord;->hasReportedForegroundServices()Z
+HPLcom/android/server/am/ProcessServiceRecord;->hasTopStartedAlmostPerceptibleServices()Z
+PLcom/android/server/am/ProcessServiceRecord;->isAlmostPerceptible(Lcom/android/server/am/ServiceRecord;)Z
+HPLcom/android/server/am/ProcessServiceRecord;->isTreatedLikeActivity()Z
+HPLcom/android/server/am/ProcessServiceRecord;->modifyRawOomAdj(I)I
+PLcom/android/server/am/ProcessServiceRecord;->noteScheduleServiceTimeoutPending(Z)V
+HPLcom/android/server/am/ProcessServiceRecord;->numberOfConnections()I
+HPLcom/android/server/am/ProcessServiceRecord;->numberOfExecutingServices()I
+HPLcom/android/server/am/ProcessServiceRecord;->numberOfRunningServices()I
+HPLcom/android/server/am/ProcessServiceRecord;->onCleanupApplicationRecordLocked()V
+PLcom/android/server/am/ProcessServiceRecord;->onProcessFrozenCancelled()V
+PLcom/android/server/am/ProcessServiceRecord;->onProcessUnfrozen()V
+HPLcom/android/server/am/ProcessServiceRecord;->removeAllConnections()V
+PLcom/android/server/am/ProcessServiceRecord;->removeAllSdkSandboxConnections()V
+HPLcom/android/server/am/ProcessServiceRecord;->removeConnection(Lcom/android/server/am/ConnectionRecord;)V
+HPLcom/android/server/am/ProcessServiceRecord;->removeSdkSandboxConnectionIfNecessary(Lcom/android/server/am/ConnectionRecord;)V
+PLcom/android/server/am/ProcessServiceRecord;->scheduleServiceTimeoutIfNeededLocked()V
+HPLcom/android/server/am/ProcessServiceRecord;->setExecServicesFg(Z)V
+HPLcom/android/server/am/ProcessServiceRecord;->setHasClientActivities(Z)V
+PLcom/android/server/am/ProcessServiceRecord;->setHasForegroundServices(ZIZ)V
+HPLcom/android/server/am/ProcessServiceRecord;->setHasReportedForegroundServices(Z)V
+PLcom/android/server/am/ProcessServiceRecord;->setReportedForegroundServiceTypes(I)V
+HPLcom/android/server/am/ProcessServiceRecord;->shouldExecServicesFg()Z
+HPLcom/android/server/am/ProcessServiceRecord;->startExecutingService(Lcom/android/server/am/ServiceRecord;)V
+HPLcom/android/server/am/ProcessServiceRecord;->startService(Lcom/android/server/am/ServiceRecord;)Z
+PLcom/android/server/am/ProcessServiceRecord;->stopAllExecutingServices()V
+HPLcom/android/server/am/ProcessServiceRecord;->stopExecutingService(Lcom/android/server/am/ServiceRecord;)V
+HPLcom/android/server/am/ProcessServiceRecord;->stopService(Lcom/android/server/am/ServiceRecord;)Z
+HPLcom/android/server/am/ProcessServiceRecord;->updateBoundClientUids()V
+HPLcom/android/server/am/ProcessServiceRecord;->updateHasTopStartedAlmostPerceptibleServices()V
+HPLcom/android/server/am/ProcessServiceRecord;->updateHostingComonentTypeForBindingsLocked()V
+HPLcom/android/server/am/ProcessStateRecord;-><init>(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/ProcessStateRecord;->computeOomAdjFromActivitiesIfNecessary(Lcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback;IZZIIIII)V
+HPLcom/android/server/am/ProcessStateRecord;->containsCycle()Z
+HPLcom/android/server/am/ProcessStateRecord;->forceProcessStateUpTo(I)V
+HPLcom/android/server/am/ProcessStateRecord;->getAdjSeq()I
+PLcom/android/server/am/ProcessStateRecord;->getAdjSource()Ljava/lang/Object;
+PLcom/android/server/am/ProcessStateRecord;->getAdjSourceProcState()I
+PLcom/android/server/am/ProcessStateRecord;->getAdjTarget()Ljava/lang/Object;
+PLcom/android/server/am/ProcessStateRecord;->getAdjTypeCode()I
+HPLcom/android/server/am/ProcessStateRecord;->getCachedCompatChange(I)Z
+HPLcom/android/server/am/ProcessStateRecord;->getCachedHasActivities()Z
+HPLcom/android/server/am/ProcessStateRecord;->getCachedHasRecentTasks()Z
+HPLcom/android/server/am/ProcessStateRecord;->getCachedHasVisibleActivities()Z
+HPLcom/android/server/am/ProcessStateRecord;->getCachedIsHeavyWeight()Z
+HPLcom/android/server/am/ProcessStateRecord;->getCachedIsHomeProcess()Z
+HPLcom/android/server/am/ProcessStateRecord;->getCachedIsPreviousProcess()Z
+HPLcom/android/server/am/ProcessStateRecord;->getCachedIsReceivingBroadcast([I)Z
+HPLcom/android/server/am/ProcessStateRecord;->getCompletedAdjSeq()I
+HPLcom/android/server/am/ProcessStateRecord;->getCurAdj()I
+HPLcom/android/server/am/ProcessStateRecord;->getCurCapability()I
+HPLcom/android/server/am/ProcessStateRecord;->getCurProcState()I
+HPLcom/android/server/am/ProcessStateRecord;->getCurRawAdj()I
+HPLcom/android/server/am/ProcessStateRecord;->getCurRawProcState()I
+HPLcom/android/server/am/ProcessStateRecord;->getCurrentSchedulingGroup()I
+PLcom/android/server/am/ProcessStateRecord;->getFgInteractionTime()J
+PLcom/android/server/am/ProcessStateRecord;->getForcingToImportant()Ljava/lang/Object;
+PLcom/android/server/am/ProcessStateRecord;->getInteractionEventTime()J
+PLcom/android/server/am/ProcessStateRecord;->getLastCanKillOnBgRestrictedAndIdleTime()J
+PLcom/android/server/am/ProcessStateRecord;->getLastInvisibleTime()J
+HPLcom/android/server/am/ProcessStateRecord;->getLastStateTime()J
+HPLcom/android/server/am/ProcessStateRecord;->getMaxAdj()I
+HPLcom/android/server/am/ProcessStateRecord;->getReportedProcState()I
+HPLcom/android/server/am/ProcessStateRecord;->getSetAdj()I
+HPLcom/android/server/am/ProcessStateRecord;->getSetCapability()I
+HPLcom/android/server/am/ProcessStateRecord;->getSetProcState()I
+PLcom/android/server/am/ProcessStateRecord;->getSetRawAdj()I
+HPLcom/android/server/am/ProcessStateRecord;->getSetSchedGroup()I
+HPLcom/android/server/am/ProcessStateRecord;->getVerifiedAdj()I
+PLcom/android/server/am/ProcessStateRecord;->getWhenUnimportant()J
+HPLcom/android/server/am/ProcessStateRecord;->hasForegroundActivities()Z
+HPLcom/android/server/am/ProcessStateRecord;->hasOverlayUi()Z
+HPLcom/android/server/am/ProcessStateRecord;->hasProcStateChanged()Z
+PLcom/android/server/am/ProcessStateRecord;->hasRepForegroundActivities()Z
+PLcom/android/server/am/ProcessStateRecord;->hasReportedInteraction()Z
+HPLcom/android/server/am/ProcessStateRecord;->hasShownUi()Z
+HPLcom/android/server/am/ProcessStateRecord;->hasTopUi()Z
+PLcom/android/server/am/ProcessStateRecord;->init(J)V
+HPLcom/android/server/am/ProcessStateRecord;->isBackgroundRestricted()Z
+HPLcom/android/server/am/ProcessStateRecord;->isCached()Z
+HPLcom/android/server/am/ProcessStateRecord;->isCurBoundByNonBgRestrictedApp()Z
+HPLcom/android/server/am/ProcessStateRecord;->isReachable()Z
+HPLcom/android/server/am/ProcessStateRecord;->isRunningRemoteAnimation()Z
+PLcom/android/server/am/ProcessStateRecord;->isServiceB()Z
+PLcom/android/server/am/ProcessStateRecord;->isSetBoundByNonBgRestrictedApp()Z
+HPLcom/android/server/am/ProcessStateRecord;->isSystemNoUi()Z
+HPLcom/android/server/am/ProcessStateRecord;->onCleanupApplicationRecordLSP()V
+HPLcom/android/server/am/ProcessStateRecord;->resetCachedInfo()V
+HPLcom/android/server/am/ProcessStateRecord;->setAdjSeq(I)V
+HPLcom/android/server/am/ProcessStateRecord;->setAdjSource(Ljava/lang/Object;)V
+HPLcom/android/server/am/ProcessStateRecord;->setAdjSourceProcState(I)V
+PLcom/android/server/am/ProcessStateRecord;->setAdjTarget(Ljava/lang/Object;)V
+PLcom/android/server/am/ProcessStateRecord;->setAdjType(Ljava/lang/String;)V
+HPLcom/android/server/am/ProcessStateRecord;->setAdjTypeCode(I)V
+HPLcom/android/server/am/ProcessStateRecord;->setBackgroundRestricted(Z)V
+HPLcom/android/server/am/ProcessStateRecord;->setCached(Z)V
+HPLcom/android/server/am/ProcessStateRecord;->setCached(ZZ)Z
+HPLcom/android/server/am/ProcessStateRecord;->setCompletedAdjSeq(I)V
+HPLcom/android/server/am/ProcessStateRecord;->setContainsCycle(Z)V
+HPLcom/android/server/am/ProcessStateRecord;->setCurAdj(I)V
+HPLcom/android/server/am/ProcessStateRecord;->setCurBoundByNonBgRestrictedApp(Z)V
+HPLcom/android/server/am/ProcessStateRecord;->setCurCapability(I)V
+HPLcom/android/server/am/ProcessStateRecord;->setCurProcState(I)V
+HPLcom/android/server/am/ProcessStateRecord;->setCurRawAdj(I)V
+HPLcom/android/server/am/ProcessStateRecord;->setCurRawAdj(IZ)Z
+HPLcom/android/server/am/ProcessStateRecord;->setCurRawProcState(I)V
+HPLcom/android/server/am/ProcessStateRecord;->setCurRawProcState(IZ)Z
+HPLcom/android/server/am/ProcessStateRecord;->setCurrentSchedulingGroup(I)V
+HPLcom/android/server/am/ProcessStateRecord;->setEmpty(Z)V
+HPLcom/android/server/am/ProcessStateRecord;->setFgInteractionTime(J)V
+PLcom/android/server/am/ProcessStateRecord;->setForcingToImportant(Ljava/lang/Object;)V
+HPLcom/android/server/am/ProcessStateRecord;->setHasForegroundActivities(Z)V
+PLcom/android/server/am/ProcessStateRecord;->setHasOverlayUi(Z)V
+HPLcom/android/server/am/ProcessStateRecord;->setHasShownUi(Z)V
+HPLcom/android/server/am/ProcessStateRecord;->setHasStartedServices(Z)V
+HPLcom/android/server/am/ProcessStateRecord;->setInteractionEventTime(J)V
+PLcom/android/server/am/ProcessStateRecord;->setLastStateTime(J)V
+PLcom/android/server/am/ProcessStateRecord;->setLastTopTime(J)V
+PLcom/android/server/am/ProcessStateRecord;->setMaxAdj(I)V
+HPLcom/android/server/am/ProcessStateRecord;->setNoKillOnBgRestrictedAndIdle(Z)V
+HPLcom/android/server/am/ProcessStateRecord;->setProcStateChanged(Z)V
+HPLcom/android/server/am/ProcessStateRecord;->setReachable(Z)V
+HPLcom/android/server/am/ProcessStateRecord;->setReportedInteraction(Z)V
+HPLcom/android/server/am/ProcessStateRecord;->setReportedProcState(I)V
+PLcom/android/server/am/ProcessStateRecord;->setRunningRemoteAnimation(Z)V
+HPLcom/android/server/am/ProcessStateRecord;->setScheduleLikeTopApp(Z)V
+PLcom/android/server/am/ProcessStateRecord;->setServiceB(Z)V
+PLcom/android/server/am/ProcessStateRecord;->setSetAdj(I)V
+PLcom/android/server/am/ProcessStateRecord;->setSetCached(Z)V
+PLcom/android/server/am/ProcessStateRecord;->setSetCapability(I)V
+PLcom/android/server/am/ProcessStateRecord;->setSetNoKillOnBgRestrictedAndIdle(Z)V
+HPLcom/android/server/am/ProcessStateRecord;->setSetProcState(I)V
+PLcom/android/server/am/ProcessStateRecord;->setSetRawAdj(I)V
+PLcom/android/server/am/ProcessStateRecord;->setSetSchedGroup(I)V
+HPLcom/android/server/am/ProcessStateRecord;->setSystemNoUi(Z)V
+HPLcom/android/server/am/ProcessStateRecord;->setVerifiedAdj(I)V
+HPLcom/android/server/am/ProcessStateRecord;->setWhenUnimportant(J)V
+PLcom/android/server/am/ProcessStateRecord;->shouldNotKillOnBgRestrictedAndIdle()Z
+HPLcom/android/server/am/ProcessStateRecord;->updateLastInvisibleTime(Z)V
+HSPLcom/android/server/am/ProcessStatsService$1;-><init>(Lcom/android/server/am/ProcessStatsService;)V
+HSPLcom/android/server/am/ProcessStatsService$LocalService;-><init>(Lcom/android/server/am/ProcessStatsService;)V
+HSPLcom/android/server/am/ProcessStatsService$LocalService;-><init>(Lcom/android/server/am/ProcessStatsService;Lcom/android/server/am/ProcessStatsService$LocalService-IA;)V
+HSPLcom/android/server/am/ProcessStatsService;-><clinit>()V
+HSPLcom/android/server/am/ProcessStatsService;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/io/File;)V
+HSPLcom/android/server/am/ProcessStatsService;->getMemFactorLocked()I
+HPLcom/android/server/am/ProcessStatsService;->getProcessStateLocked(Ljava/lang/String;IJLjava/lang/String;)Lcom/android/internal/app/procstats/ProcessState;
+HPLcom/android/server/am/ProcessStatsService;->getServiceState(Ljava/lang/String;IJLjava/lang/String;Ljava/lang/String;)Lcom/android/internal/app/procstats/ServiceState;
+HSPLcom/android/server/am/ProcessStatsService;->publish()V
+HSPLcom/android/server/am/ProcessStatsService;->setMemFactorLocked(IZJ)Z
+HSPLcom/android/server/am/ProcessStatsService;->shouldWriteNowLocked(J)Z
+HSPLcom/android/server/am/ProcessStatsService;->updateFileLocked()V
+HPLcom/android/server/am/ProcessStatsService;->updateProcessStateHolderLocked(Lcom/android/internal/app/procstats/ProcessStats$ProcessStateHolder;Ljava/lang/String;IJLjava/lang/String;)V
+HSPLcom/android/server/am/ProcessStatsService;->updateTrackingAssociationsLocked(IJ)V
+HSPLcom/android/server/am/ProviderMap;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ProviderMap;->collectPackageProvidersLocked(Ljava/lang/String;Ljava/util/Set;ZZILjava/util/ArrayList;)Z
+PLcom/android/server/am/ProviderMap;->collectPackageProvidersLocked(Ljava/lang/String;Ljava/util/Set;ZZLjava/util/HashMap;Ljava/util/ArrayList;)Z
+HPLcom/android/server/am/ProviderMap;->getProviderByClass(Landroid/content/ComponentName;I)Lcom/android/server/am/ContentProviderRecord;
+HPLcom/android/server/am/ProviderMap;->getProviderByName(Ljava/lang/String;I)Lcom/android/server/am/ContentProviderRecord;
+HPLcom/android/server/am/ProviderMap;->getProvidersByClass(I)Ljava/util/HashMap;
+HPLcom/android/server/am/ProviderMap;->getProvidersByName(I)Ljava/util/HashMap;
+HPLcom/android/server/am/ProviderMap;->putProviderByClass(Landroid/content/ComponentName;Lcom/android/server/am/ContentProviderRecord;)V
+HPLcom/android/server/am/ProviderMap;->putProviderByName(Ljava/lang/String;Lcom/android/server/am/ContentProviderRecord;)V
+HPLcom/android/server/am/ProviderMap;->removeProviderByClass(Landroid/content/ComponentName;I)V
+HPLcom/android/server/am/ProviderMap;->removeProviderByName(Ljava/lang/String;I)V
+HPLcom/android/server/am/ReceiverList;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessRecord;IIILandroid/content/IIntentReceiver;)V
+HPLcom/android/server/am/ReceiverList;->containsFilter(Landroid/content/IntentFilter;)Z
+PLcom/android/server/am/ReceiverList;->equals(Ljava/lang/Object;)Z
+HPLcom/android/server/am/ReceiverList;->hashCode()I
+PLcom/android/server/am/SameProcessApplicationThread$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/am/SameProcessApplicationThread;Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Landroid/content/res/CompatibilityInfo;ILjava/lang/String;Landroid/os/Bundle;ZZIIILjava/lang/String;)V
+PLcom/android/server/am/SameProcessApplicationThread$$ExternalSyntheticLambda0;->run()V
+HPLcom/android/server/am/SameProcessApplicationThread$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/am/SameProcessApplicationThread;Landroid/content/IIntentReceiver;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZZIIILjava/lang/String;)V
+HPLcom/android/server/am/SameProcessApplicationThread$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/am/SameProcessApplicationThread;->$r8$lambda$30wFUSGfb92ROcaDhzRGaDhM0Kc(Lcom/android/server/am/SameProcessApplicationThread;Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Landroid/content/res/CompatibilityInfo;ILjava/lang/String;Landroid/os/Bundle;ZZIIILjava/lang/String;)V
+PLcom/android/server/am/SameProcessApplicationThread;->$r8$lambda$xSNZcV-izZZ4vzJCToJP1hgj54U(Lcom/android/server/am/SameProcessApplicationThread;Landroid/content/IIntentReceiver;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZZIIILjava/lang/String;)V
+PLcom/android/server/am/SameProcessApplicationThread;-><init>(Landroid/app/IApplicationThread;Landroid/os/Handler;)V
+PLcom/android/server/am/SameProcessApplicationThread;->lambda$scheduleReceiver$0(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Landroid/content/res/CompatibilityInfo;ILjava/lang/String;Landroid/os/Bundle;ZZIIILjava/lang/String;)V
+HPLcom/android/server/am/SameProcessApplicationThread;->lambda$scheduleRegisteredReceiver$1(Landroid/content/IIntentReceiver;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZZIIILjava/lang/String;)V
+PLcom/android/server/am/SameProcessApplicationThread;->scheduleReceiver(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Landroid/content/res/CompatibilityInfo;ILjava/lang/String;Landroid/os/Bundle;ZZIIILjava/lang/String;)V
+HPLcom/android/server/am/SameProcessApplicationThread;->scheduleRegisteredReceiver(Landroid/content/IIntentReceiver;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZZIIILjava/lang/String;)V
+HPLcom/android/server/am/ServiceRecord$1;-><init>(Lcom/android/server/am/ServiceRecord;Ljava/lang/String;I)V
+HPLcom/android/server/am/ServiceRecord$1;->run()V
+PLcom/android/server/am/ServiceRecord$2;-><init>(Lcom/android/server/am/ServiceRecord;Ljava/lang/String;ILandroid/app/Notification;IIZLcom/android/server/am/ServiceRecord;)V
+HPLcom/android/server/am/ServiceRecord$2;->run()V
+HPLcom/android/server/am/ServiceRecord$StartItem;-><init>(Lcom/android/server/am/ServiceRecord;ZILandroid/content/Intent;Lcom/android/server/uri/NeededUriGrants;ILjava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/am/ServiceRecord$StartItem;->removeUriPermissionsLocked()V
+PLcom/android/server/am/ServiceRecord;->-$$Nest$msignalForegroundServiceNotification(Lcom/android/server/am/ServiceRecord;Ljava/lang/String;IIZ)V
+HPLcom/android/server/am/ServiceRecord;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/content/ComponentName;Landroid/content/ComponentName;Ljava/lang/String;ILandroid/content/Intent$FilterComparison;Landroid/content/pm/ServiceInfo;ZLjava/lang/Runnable;Ljava/lang/String;ILjava/lang/String;Z)V
+HPLcom/android/server/am/ServiceRecord;->addConnection(Landroid/os/IBinder;Lcom/android/server/am/ConnectionRecord;)V
+PLcom/android/server/am/ServiceRecord;->allowedChanged(II)Z
+PLcom/android/server/am/ServiceRecord;->canStopIfKilled(Z)Z
+HPLcom/android/server/am/ServiceRecord;->clearDeliveredStartsLocked()V
+HPLcom/android/server/am/ServiceRecord;->clearFgsAllowStart()V
+HPLcom/android/server/am/ServiceRecord;->clearFgsAllowWiu()V
+HPLcom/android/server/am/ServiceRecord;->clearShortFgsInfo()V
+HPLcom/android/server/am/ServiceRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
+PLcom/android/server/am/ServiceRecord;->dumpReasonCode(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;I)V
+HPLcom/android/server/am/ServiceRecord;->findDeliveredStart(IZZ)Lcom/android/server/am/ServiceRecord$StartItem;
+PLcom/android/server/am/ServiceRecord;->forceClearTracker()V
+HPLcom/android/server/am/ServiceRecord;->getBackgroundStartPrivilegesWithExclusiveToken()Landroid/app/BackgroundStartPrivileges;
+HPLcom/android/server/am/ServiceRecord;->getComponentName()Landroid/content/ComponentName;
+PLcom/android/server/am/ServiceRecord;->getConnections()Landroid/util/ArrayMap;
+PLcom/android/server/am/ServiceRecord;->getFgsAllowStart()I
+PLcom/android/server/am/ServiceRecord;->getFgsAllowStart_legacy()I
+PLcom/android/server/am/ServiceRecord;->getFgsAllowStart_new()I
+HPLcom/android/server/am/ServiceRecord;->getFgsAllowWiu_forCapabilities()I
+HPLcom/android/server/am/ServiceRecord;->getFgsAllowWiu_forStart()I
+HPLcom/android/server/am/ServiceRecord;->getFgsAllowWiu_legacy()I
+PLcom/android/server/am/ServiceRecord;->getFgsAllowWiu_new()I
+HPLcom/android/server/am/ServiceRecord;->getLastStartId()I
+HPLcom/android/server/am/ServiceRecord;->getTracker()Lcom/android/internal/app/procstats/ServiceState;
+HPLcom/android/server/am/ServiceRecord;->hasAutoCreateConnections()Z
+PLcom/android/server/am/ServiceRecord;->isAppAlive()Z
+PLcom/android/server/am/ServiceRecord;->isFgsAllowedStart()Z
+HPLcom/android/server/am/ServiceRecord;->isFgsAllowedWiu_forCapabilities()Z
+HPLcom/android/server/am/ServiceRecord;->isFgsAllowedWiu_forStart()Z
+HPLcom/android/server/am/ServiceRecord;->isShortFgs()Z
+HPLcom/android/server/am/ServiceRecord;->makeNextStartId()I
+PLcom/android/server/am/ServiceRecord;->makeRestarting(IJ)V
+PLcom/android/server/am/ServiceRecord;->maybeLogFgsLogicChange()V
+HPLcom/android/server/am/ServiceRecord;->postNotification(Z)V
+PLcom/android/server/am/ServiceRecord;->reasonOr(II)I
+PLcom/android/server/am/ServiceRecord;->reasonOr(III)I
+HPLcom/android/server/am/ServiceRecord;->removeConnection(Landroid/os/IBinder;)V
+HPLcom/android/server/am/ServiceRecord;->resetRestartCounter()V
+HPLcom/android/server/am/ServiceRecord;->retrieveAppBindingLocked(Landroid/content/Intent;Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;)Lcom/android/server/am/AppBindRecord;
+PLcom/android/server/am/ServiceRecord;->setAllowedBgActivityStartsByBinding(Z)V
+HPLcom/android/server/am/ServiceRecord;->setProcess(Lcom/android/server/am/ProcessRecord;Landroid/app/IApplicationThread;ILcom/android/server/am/UidRecord;)V
+PLcom/android/server/am/ServiceRecord;->shouldTriggerShortFgsTimedEvent(JJ)Z
+PLcom/android/server/am/ServiceRecord;->shouldTriggerShortFgsTimeout(J)Z
+HPLcom/android/server/am/ServiceRecord;->signalForegroundServiceNotification(Ljava/lang/String;IIZ)V
+HPLcom/android/server/am/ServiceRecord;->toString()Ljava/lang/String;
+HPLcom/android/server/am/ServiceRecord;->updateAllowUiJobScheduling(Z)V
+PLcom/android/server/am/ServiceRecord;->updateAllowlistManager()V
+HPLcom/android/server/am/ServiceRecord;->updateFgsHasNotificationPermission()V
+PLcom/android/server/am/ServiceRecord;->updateIsAllowedBgActivityStartsByBinding()V
+HPLcom/android/server/am/ServiceRecord;->updateKeepWarmLocked()V
+PLcom/android/server/am/ServiceRecord;->updateParentProcessBgActivityStartsToken()V
+HPLcom/android/server/am/ServiceRecord;->updateProcessStateOnRequest()V
+PLcom/android/server/am/ServiceRecord;->useNewBfslLogic()Z
+HPLcom/android/server/am/ServiceRecord;->useNewWiuLogic_forCapabilities()Z
+HPLcom/android/server/am/ServiceRecord;->useNewWiuLogic_forStart()Z
+PLcom/android/server/am/SettingsToPropertiesMapper$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/am/SettingsToPropertiesMapper;)V
+PLcom/android/server/am/SettingsToPropertiesMapper$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/am/SettingsToPropertiesMapper;)V
+PLcom/android/server/am/SettingsToPropertiesMapper$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/am/SettingsToPropertiesMapper;)V
+PLcom/android/server/am/SettingsToPropertiesMapper$1;-><init>(Lcom/android/server/am/SettingsToPropertiesMapper;Landroid/os/Handler;Ljava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/am/SettingsToPropertiesMapper;-><clinit>()V
+PLcom/android/server/am/SettingsToPropertiesMapper;-><init>(Landroid/content/ContentResolver;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
+PLcom/android/server/am/SettingsToPropertiesMapper;->isNativeFlagsResetPerformed()Z
+PLcom/android/server/am/SettingsToPropertiesMapper;->makePropertyName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/am/SettingsToPropertiesMapper;->setProperty(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/am/SettingsToPropertiesMapper;->start(Landroid/content/ContentResolver;)Lcom/android/server/am/SettingsToPropertiesMapper;
+HPLcom/android/server/am/SettingsToPropertiesMapper;->updatePropertiesFromSettings()V
+PLcom/android/server/am/SettingsToPropertiesMapper;->updatePropertyFromSetting(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/am/StackTracesDumpHelper$$ExternalSyntheticLambda1;-><init>()V
+PLcom/android/server/am/StackTracesDumpHelper$$ExternalSyntheticLambda1;->applyAsLong(Ljava/lang/Object;)J
+PLcom/android/server/am/StackTracesDumpHelper;-><clinit>()V
+PLcom/android/server/am/StackTracesDumpHelper;->appendtoANRFile(Ljava/lang/String;Ljava/lang/String;)I
+PLcom/android/server/am/StackTracesDumpHelper;->collectPids(Ljava/util/concurrent/Future;Ljava/lang/String;)Ljava/util/ArrayList;
+PLcom/android/server/am/StackTracesDumpHelper;->copyFirstPidTempDump(Ljava/lang/String;Ljava/util/concurrent/Future;JLcom/android/internal/os/anr/AnrLatencyTracker;)Z
+PLcom/android/server/am/StackTracesDumpHelper;->createAnrDumpFile(Ljava/io/File;)Ljava/io/File;
+PLcom/android/server/am/StackTracesDumpHelper;->dumpJavaTracesTombstoned(ILjava/lang/String;J)J
+PLcom/android/server/am/StackTracesDumpHelper;->dumpStackTraces(Ljava/lang/String;Ljava/util/ArrayList;Ljava/util/concurrent/Future;Ljava/util/concurrent/Future;Ljava/util/concurrent/Future;Lcom/android/internal/os/anr/AnrLatencyTracker;)J
+PLcom/android/server/am/StackTracesDumpHelper;->dumpStackTraces(Ljava/util/ArrayList;Lcom/android/internal/os/ProcessCpuTracker;Landroid/util/SparseBooleanArray;Ljava/util/concurrent/Future;Ljava/io/StringWriter;Ljava/util/concurrent/atomic/AtomicLong;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/concurrent/Executor;Ljava/util/concurrent/Future;Lcom/android/internal/os/anr/AnrLatencyTracker;)Ljava/io/File;
+PLcom/android/server/am/StackTracesDumpHelper;->dumpStackTracesTempFile(ILcom/android/internal/os/anr/AnrLatencyTracker;)Ljava/io/File;
+PLcom/android/server/am/StackTracesDumpHelper;->maybePruneOldTraces(Ljava/io/File;)V
+PLcom/android/server/am/StackTracesDumpHelper;->writeUptimeStartHeaderForPid(ILjava/lang/String;)I
+HSPLcom/android/server/am/TraceErrorLogger;-><init>()V
+PLcom/android/server/am/TraceErrorLogger;->addProcessInfoAndErrorIdToTrace(Ljava/lang/String;ILjava/util/UUID;)V
+PLcom/android/server/am/TraceErrorLogger;->addSubjectToTrace(Ljava/lang/String;Ljava/util/UUID;)V
+PLcom/android/server/am/TraceErrorLogger;->generateErrorId()Ljava/util/UUID;
+PLcom/android/server/am/TraceErrorLogger;->isAddErrorIdEnabled()Z
+HSPLcom/android/server/am/UidObserverController$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/am/UidObserverController;)V
+HPLcom/android/server/am/UidObserverController$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/am/UidObserverController$ChangeRecord;-><init>()V
+HPLcom/android/server/am/UidObserverController$ChangeRecord;->copyTo(Lcom/android/server/am/UidObserverController$ChangeRecord;)V
+HPLcom/android/server/am/UidObserverController$UidObserverRegistration;->-$$Nest$fgetmCutpoint(Lcom/android/server/am/UidObserverController$UidObserverRegistration;)I
+HPLcom/android/server/am/UidObserverController$UidObserverRegistration;->-$$Nest$fgetmUid(Lcom/android/server/am/UidObserverController$UidObserverRegistration;)I
+HPLcom/android/server/am/UidObserverController$UidObserverRegistration;->-$$Nest$fgetmWhich(Lcom/android/server/am/UidObserverController$UidObserverRegistration;)I
+PLcom/android/server/am/UidObserverController$UidObserverRegistration;-><clinit>()V
+HPLcom/android/server/am/UidObserverController$UidObserverRegistration;-><init>(ILjava/lang/String;IIZ[ILandroid/os/IBinder;)V
+HPLcom/android/server/am/UidObserverController$UidObserverRegistration;->isWatchingUid(I)Z
+HSPLcom/android/server/am/UidObserverController;-><init>(Landroid/os/Handler;)V
+HPLcom/android/server/am/UidObserverController;->dispatchUidsChanged()V
+HPLcom/android/server/am/UidObserverController;->dispatchUidsChangedForObserver(Landroid/app/IUidObserver;Lcom/android/server/am/UidObserverController$UidObserverRegistration;I)V
+HPLcom/android/server/am/UidObserverController;->enqueueUidChange(Lcom/android/server/am/UidObserverController$ChangeRecord;IIIIJIZ)I
+HPLcom/android/server/am/UidObserverController;->getOrCreateChangeRecordLocked()Lcom/android/server/am/UidObserverController$ChangeRecord;
+PLcom/android/server/am/UidObserverController;->mergeWithPendingChange(II)I
+HPLcom/android/server/am/UidObserverController;->register(Landroid/app/IUidObserver;IILjava/lang/String;I[I)Landroid/os/IBinder;
+HSPLcom/android/server/am/UidProcessMap;-><init>()V
+HPLcom/android/server/am/UidProcessMap;->get(ILjava/lang/String;)Ljava/lang/Object;
+PLcom/android/server/am/UidProcessMap;->getMap()Landroid/util/SparseArray;
+HPLcom/android/server/am/UidProcessMap;->put(ILjava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/am/UidRecord;-><clinit>()V
+HPLcom/android/server/am/UidRecord;-><init>(ILcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/UidRecord;->addProcess(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/UidRecord;->areAllProcessesFrozen()Z
+HPLcom/android/server/am/UidRecord;->areAllProcessesFrozen(Lcom/android/server/am/ProcessRecord;)Z
+HPLcom/android/server/am/UidRecord;->clearProcAdjChanged()V
+HPLcom/android/server/am/UidRecord;->forEachProcess(Ljava/util/function/Consumer;)V
+PLcom/android/server/am/UidRecord;->getCurCapability()I
+PLcom/android/server/am/UidRecord;->getCurProcState()I
+PLcom/android/server/am/UidRecord;->getLastBackgroundTime()J
+PLcom/android/server/am/UidRecord;->getLastIdleTime()J
+HPLcom/android/server/am/UidRecord;->getMinProcAdj()I
+HPLcom/android/server/am/UidRecord;->getNumOfProcs()I
+HPLcom/android/server/am/UidRecord;->getProcAdjChanged()Z
+PLcom/android/server/am/UidRecord;->getProcessInPackage(Ljava/lang/String;)Lcom/android/server/am/ProcessRecord;
+HPLcom/android/server/am/UidRecord;->getSetCapability()I
+HPLcom/android/server/am/UidRecord;->getSetProcState()I
+HPLcom/android/server/am/UidRecord;->getUid()I
+HPLcom/android/server/am/UidRecord;->hasForegroundServices()Z
+HPLcom/android/server/am/UidRecord;->isCurAllowListed()Z
+HPLcom/android/server/am/UidRecord;->isEphemeral()Z
+HPLcom/android/server/am/UidRecord;->isFrozen()Z
+HPLcom/android/server/am/UidRecord;->isIdle()Z
+HPLcom/android/server/am/UidRecord;->isSetAllowListed()Z
+HPLcom/android/server/am/UidRecord;->isSetIdle()Z
+PLcom/android/server/am/UidRecord;->noteProcAdjChanged()V
+PLcom/android/server/am/UidRecord;->removeProcess(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/UidRecord;->reset()V
+HPLcom/android/server/am/UidRecord;->setCurAllowListed(Z)V
+PLcom/android/server/am/UidRecord;->setCurCapability(I)V
+PLcom/android/server/am/UidRecord;->setCurProcState(I)V
+HPLcom/android/server/am/UidRecord;->setEphemeral(Z)V
+HPLcom/android/server/am/UidRecord;->setForegroundServices(Z)V
+PLcom/android/server/am/UidRecord;->setFrozen(Z)V
+PLcom/android/server/am/UidRecord;->setIdle(Z)V
+PLcom/android/server/am/UidRecord;->setLastBackgroundTime(J)V
+PLcom/android/server/am/UidRecord;->setLastIdleTime(J)V
+HPLcom/android/server/am/UidRecord;->setLastReportedChange(I)V
+HPLcom/android/server/am/UidRecord;->setSetAllowListed(Z)V
+HPLcom/android/server/am/UidRecord;->setSetCapability(I)V
+HPLcom/android/server/am/UidRecord;->setSetIdle(Z)V
+HPLcom/android/server/am/UidRecord;->setSetProcState(I)V
+HPLcom/android/server/am/UidRecord;->updateHasInternetPermission()V
+PLcom/android/server/am/UserController$$ExternalSyntheticLambda17;-><init>(Lcom/android/server/am/UserController;Landroid/content/pm/UserInfo;)V
+PLcom/android/server/am/UserController$$ExternalSyntheticLambda18;-><init>(Lcom/android/server/am/UserController;Landroid/content/Intent;III)V
+PLcom/android/server/am/UserController$$ExternalSyntheticLambda18;->run()V
+PLcom/android/server/am/UserController$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/am/UserController;)V
+PLcom/android/server/am/UserController$$ExternalSyntheticLambda4;->run()V
+PLcom/android/server/am/UserController$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/am/UserController;ILcom/android/server/am/UserState;)V
+PLcom/android/server/am/UserController$$ExternalSyntheticLambda5;->run()V
+PLcom/android/server/am/UserController$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/am/UserController;I)V
+PLcom/android/server/am/UserController$$ExternalSyntheticLambda6;->run()V
+HSPLcom/android/server/am/UserController$1;-><init>(Lcom/android/server/am/UserController;)V
+PLcom/android/server/am/UserController$3;-><init>(Lcom/android/server/am/UserController;I)V
+PLcom/android/server/am/UserController$3;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
+PLcom/android/server/am/UserController$8;-><init>(Lcom/android/server/am/UserController;)V
+PLcom/android/server/am/UserController$8;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
+HSPLcom/android/server/am/UserController$Injector;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+HPLcom/android/server/am/UserController$Injector;->broadcastIntent(Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;ILandroid/os/Bundle;ZZIIIII)I
+HPLcom/android/server/am/UserController$Injector;->checkCallingPermission(Ljava/lang/String;)I
+PLcom/android/server/am/UserController$Injector;->checkComponentPermission(Ljava/lang/String;IIIZ)I
+HSPLcom/android/server/am/UserController$Injector;->getContext()Landroid/content/Context;
+HSPLcom/android/server/am/UserController$Injector;->getHandler(Landroid/os/Handler$Callback;)Landroid/os/Handler;
+HSPLcom/android/server/am/UserController$Injector;->getLockPatternUtils()Lcom/android/internal/widget/LockPatternUtils;
+PLcom/android/server/am/UserController$Injector;->getSystemServiceManager()Lcom/android/server/SystemServiceManager;
+HSPLcom/android/server/am/UserController$Injector;->getUiHandler(Landroid/os/Handler$Callback;)Landroid/os/Handler;
+PLcom/android/server/am/UserController$Injector;->getUserJourneyLogger()Lcom/android/server/pm/UserJourneyLogger;
+HPLcom/android/server/am/UserController$Injector;->getUserManager()Lcom/android/server/pm/UserManagerService;
+PLcom/android/server/am/UserController$Injector;->getUserManagerInternal()Lcom/android/server/pm/UserManagerInternal;
+PLcom/android/server/am/UserController$Injector;->installEncryptionUnawareProviders(I)V
+HPLcom/android/server/am/UserController$Injector;->isCallerRecents(I)Z
+PLcom/android/server/am/UserController$Injector;->isFirstBootOrUpgrade()Z
+PLcom/android/server/am/UserController$Injector;->isHeadlessSystemUserMode()Z
+PLcom/android/server/am/UserController$Injector;->isRuntimeRestarted()Z
+PLcom/android/server/am/UserController$Injector;->loadUserRecents(I)V
+PLcom/android/server/am/UserController$Injector;->onSystemUserVisibilityChanged(Z)V
+PLcom/android/server/am/UserController$Injector;->onUserStarting(I)V
+PLcom/android/server/am/UserController$Injector;->reportCurWakefulnessUsageEvent()V
+PLcom/android/server/am/UserController$Injector;->startPersistentApps(I)V
+PLcom/android/server/am/UserController$Injector;->startUserWidgets(I)V
+PLcom/android/server/am/UserController$Injector;->systemServiceManagerOnUserCompletedEvent(II)V
+HSPLcom/android/server/am/UserController$UserProgressListener;-><init>()V
+HSPLcom/android/server/am/UserController$UserProgressListener;-><init>(Lcom/android/server/am/UserController$UserProgressListener-IA;)V
+PLcom/android/server/am/UserController$UserProgressListener;->onFinished(ILandroid/os/Bundle;)V
+PLcom/android/server/am/UserController$UserProgressListener;->onProgress(IILandroid/os/Bundle;)V
+PLcom/android/server/am/UserController$UserProgressListener;->onStarted(ILandroid/os/Bundle;)V
+PLcom/android/server/am/UserController;->$r8$lambda$0_wyI9pjpiFPa1zdQhMhe6rQbs0(Lcom/android/server/am/UserController;I)V
+PLcom/android/server/am/UserController;->$r8$lambda$CJMUgyUXssLbrLSA211iBjtm80Q(Lcom/android/server/am/UserController;)V
+PLcom/android/server/am/UserController;->$r8$lambda$LYgwFBbxx9XRrYfMSUASCs9H6MY(Lcom/android/server/am/UserController;Landroid/content/Intent;III)V
+PLcom/android/server/am/UserController;->$r8$lambda$aXrMhheLTVS7w6eap82_5eQPhJk(Lcom/android/server/am/UserController;ILcom/android/server/am/UserState;)V
+HSPLcom/android/server/am/UserController;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+HSPLcom/android/server/am/UserController;-><init>(Lcom/android/server/am/UserController$Injector;)V
+PLcom/android/server/am/UserController;->canInteractWithAcrossProfilesPermission(IZIILjava/lang/String;)Z
+PLcom/android/server/am/UserController;->checkCallingHasOneOfThosePermissions(Ljava/lang/String;[Ljava/lang/String;)V
+PLcom/android/server/am/UserController;->checkCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/am/UserController;->checkGetCurrentUserPermissions()V
+PLcom/android/server/am/UserController;->dispatchLockedBootComplete(I)V
+PLcom/android/server/am/UserController;->ensureNotSpecialUser(I)V
+HPLcom/android/server/am/UserController;->exists(I)Z
+PLcom/android/server/am/UserController;->finishUserBoot(Lcom/android/server/am/UserState;Landroid/content/IIntentReceiver;)V
+PLcom/android/server/am/UserController;->finishUserUnlocked(Lcom/android/server/am/UserState;)V
+PLcom/android/server/am/UserController;->finishUserUnlockedCompleted(Lcom/android/server/am/UserState;)V
+PLcom/android/server/am/UserController;->finishUserUnlocking(Lcom/android/server/am/UserState;)Z
+PLcom/android/server/am/UserController;->getCurrentProfileIds()[I
+PLcom/android/server/am/UserController;->getCurrentUser()Landroid/content/pm/UserInfo;
+HPLcom/android/server/am/UserController;->getCurrentUserId()I
+HPLcom/android/server/am/UserController;->getCurrentUserIdChecked()I
+HSPLcom/android/server/am/UserController;->getLastUserUnlockingUptime()J
+HPLcom/android/server/am/UserController;->getStartedUserArray()[I
+HPLcom/android/server/am/UserController;->getStartedUserState(I)Lcom/android/server/am/UserState;
+PLcom/android/server/am/UserController;->getTemporaryAppAllowlistBroadcastOptions(I)Landroid/app/BroadcastOptions;
+PLcom/android/server/am/UserController;->getUserInfo(I)Landroid/content/pm/UserInfo;
+PLcom/android/server/am/UserController;->getUserProperties(I)Landroid/content/pm/UserProperties;
+PLcom/android/server/am/UserController;->getUsers()[I
+HPLcom/android/server/am/UserController;->handleIncomingUser(IIIZILjava/lang/String;Ljava/lang/String;)I
+PLcom/android/server/am/UserController;->handleMessage(Landroid/os/Message;)Z
+HPLcom/android/server/am/UserController;->hasStartedUserState(I)Z
+HPLcom/android/server/am/UserController;->isSameProfileGroup(II)Z
+HPLcom/android/server/am/UserController;->isUserOrItsParentRunning(I)Z
+HPLcom/android/server/am/UserController;->isUserRunning(II)Z
+PLcom/android/server/am/UserController;->lambda$finishUserUnlockedCompleted$4(Landroid/content/Intent;III)V
+PLcom/android/server/am/UserController;->lambda$finishUserUnlocking$1(ILcom/android/server/am/UserState;)V
+PLcom/android/server/am/UserController;->lambda$handleMessage$18(I)V
+PLcom/android/server/am/UserController;->lambda$scheduleStartProfiles$13()V
+PLcom/android/server/am/UserController;->maybeUnlockUser(I)Z
+PLcom/android/server/am/UserController;->maybeUnlockUser(ILandroid/os/IProgressListener;)Z
+PLcom/android/server/am/UserController;->onBootComplete(Landroid/content/IIntentReceiver;)V
+PLcom/android/server/am/UserController;->onSystemReady()V
+PLcom/android/server/am/UserController;->onSystemUserStarting()V
+PLcom/android/server/am/UserController;->registerUserSwitchObserver(Landroid/app/IUserSwitchObserver;Ljava/lang/String;)V
+PLcom/android/server/am/UserController;->reportOnUserCompletedEvent(Ljava/lang/Integer;)V
+PLcom/android/server/am/UserController;->scheduleOnUserCompletedEvent(III)V
+PLcom/android/server/am/UserController;->scheduleStartProfiles()V
+PLcom/android/server/am/UserController;->sendLockedBootCompletedBroadcast(Landroid/content/IIntentReceiver;I)V
+PLcom/android/server/am/UserController;->sendUserStartedBroadcast(III)V
+PLcom/android/server/am/UserController;->sendUserStartingBroadcast(III)V
+PLcom/android/server/am/UserController;->sendUserSwitchBroadcasts(II)V
+PLcom/android/server/am/UserController;->setAllowUserUnlocking(Z)V
+PLcom/android/server/am/UserController;->setInitialConfig(ZIZ)V
+PLcom/android/server/am/UserController;->shouldConfirmCredentials(I)Z
+PLcom/android/server/am/UserController;->startProfiles()V
+HPLcom/android/server/am/UserController;->unsafeConvertIncomingUser(I)I
+PLcom/android/server/am/UserController;->updateProfileRelatedCaches()V
+HSPLcom/android/server/am/UserController;->updateStartedUserArrayLU()V
+HSPLcom/android/server/am/UserState;-><init>(Landroid/os/UserHandle;)V
+HPLcom/android/server/am/UserState;->setState(I)V
+PLcom/android/server/am/UserState;->setState(II)Z
+PLcom/android/server/am/UserState;->stateToString(I)Ljava/lang/String;
+PLcom/android/server/app/GameManagerService$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/app/GameManagerService$$ExternalSyntheticLambda0;->test(Ljava/lang/Object;)Z
+PLcom/android/server/app/GameManagerService$$ExternalSyntheticLambda1;-><init>()V
+PLcom/android/server/app/GameManagerService$$ExternalSyntheticLambda2;-><init>()V
+PLcom/android/server/app/GameManagerService$$ExternalSyntheticLambda2;->apply(I)Ljava/lang/Object;
+PLcom/android/server/app/GameManagerService$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/app/GameManagerService;)V
+PLcom/android/server/app/GameManagerService$3;-><init>(Lcom/android/server/app/GameManagerService;)V
+PLcom/android/server/app/GameManagerService$4;-><init>(Lcom/android/server/app/GameManagerService;)V
+PLcom/android/server/app/GameManagerService$DeviceConfigListener;-><init>(Lcom/android/server/app/GameManagerService;)V
+PLcom/android/server/app/GameManagerService$Injector$1;-><init>(Lcom/android/server/app/GameManagerService$Injector;)V
+PLcom/android/server/app/GameManagerService$Injector$1;->getInt(Ljava/lang/String;I)I
+PLcom/android/server/app/GameManagerService$Injector;-><init>()V
+PLcom/android/server/app/GameManagerService$Injector;->createSystemPropertiesWrapper()Lcom/android/server/app/GameManagerServiceSystemPropertiesWrapper;
+PLcom/android/server/app/GameManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/app/GameManagerService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/app/GameManagerService$Lifecycle;->onStart()V
+PLcom/android/server/app/GameManagerService$Lifecycle;->onUserStarting(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/app/GameManagerService$Lifecycle;->onUserUnlocking(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/app/GameManagerService$LocalService;-><init>(Lcom/android/server/app/GameManagerService;)V
+PLcom/android/server/app/GameManagerService$LocalService;-><init>(Lcom/android/server/app/GameManagerService;Lcom/android/server/app/GameManagerService$LocalService-IA;)V
+HPLcom/android/server/app/GameManagerService$LocalService;->getCompatScale(Ljava/lang/String;I)Landroid/content/res/CompatibilityInfo$CompatScale;
+HPLcom/android/server/app/GameManagerService$LocalService;->getResolutionScalingFactor(Ljava/lang/String;I)F
+PLcom/android/server/app/GameManagerService$MyUidObserver$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/app/GameManagerService$MyUidObserver;I)V
+PLcom/android/server/app/GameManagerService$MyUidObserver$$ExternalSyntheticLambda0;->test(Ljava/lang/Object;)Z
+PLcom/android/server/app/GameManagerService$MyUidObserver;->$r8$lambda$mE-7E21f94kUEAgfV42TQXpejok(Lcom/android/server/app/GameManagerService$MyUidObserver;ILjava/lang/String;)Z
+PLcom/android/server/app/GameManagerService$MyUidObserver;-><init>(Lcom/android/server/app/GameManagerService;)V
+HPLcom/android/server/app/GameManagerService$MyUidObserver;->handleUidMovedOffTop(I)V
+PLcom/android/server/app/GameManagerService$MyUidObserver;->handleUidMovedToTop(I)V
+PLcom/android/server/app/GameManagerService$MyUidObserver;->lambda$handleUidMovedToTop$0(ILjava/lang/String;)Z
+PLcom/android/server/app/GameManagerService$MyUidObserver;->onUidGone(IZ)V
+HPLcom/android/server/app/GameManagerService$MyUidObserver;->onUidStateChanged(IIJI)V
+PLcom/android/server/app/GameManagerService$SettingsHandler;-><init>(Lcom/android/server/app/GameManagerService;Landroid/os/Looper;)V
+PLcom/android/server/app/GameManagerService$SettingsHandler;->doHandleMessage(Landroid/os/Message;)V
+PLcom/android/server/app/GameManagerService$SettingsHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/app/GameManagerService;->$r8$lambda$Sir-wtA0n6T1spL0WarCI-ChMjA(Landroid/content/pm/PackageInfo;)Z
+PLcom/android/server/app/GameManagerService;->$r8$lambda$v0loNmftGWUMC3VLYZhDYOY54xM(I)[Ljava/lang/String;
+PLcom/android/server/app/GameManagerService;->-$$Nest$fgetmContext(Lcom/android/server/app/GameManagerService;)Landroid/content/Context;
+HPLcom/android/server/app/GameManagerService;->-$$Nest$fgetmGameForegroundUids(Lcom/android/server/app/GameManagerService;)Ljava/util/Set;
+HPLcom/android/server/app/GameManagerService;->-$$Nest$fgetmNonGameForegroundUids(Lcom/android/server/app/GameManagerService;)Ljava/util/Set;
+PLcom/android/server/app/GameManagerService;->-$$Nest$fgetmPackageManager(Lcom/android/server/app/GameManagerService;)Landroid/content/pm/PackageManager;
+HPLcom/android/server/app/GameManagerService;->-$$Nest$fgetmUidObserverLock(Lcom/android/server/app/GameManagerService;)Ljava/lang/Object;
+HPLcom/android/server/app/GameManagerService;->-$$Nest$mgetGameModeFromSettingsUnchecked(Lcom/android/server/app/GameManagerService;Ljava/lang/String;I)I
+PLcom/android/server/app/GameManagerService;->-$$Nest$mgetInstalledGamePackageNames(Lcom/android/server/app/GameManagerService;I)[Ljava/lang/String;
+PLcom/android/server/app/GameManagerService;->-$$Nest$misPackageGame(Lcom/android/server/app/GameManagerService;Ljava/lang/String;I)Z
+PLcom/android/server/app/GameManagerService;->-$$Nest$mpublishLocalService(Lcom/android/server/app/GameManagerService;)V
+PLcom/android/server/app/GameManagerService;->-$$Nest$mregisterDeviceConfigListener(Lcom/android/server/app/GameManagerService;)V
+PLcom/android/server/app/GameManagerService;->-$$Nest$mregisterPackageReceiver(Lcom/android/server/app/GameManagerService;)V
+PLcom/android/server/app/GameManagerService;->-$$Nest$mregisterStatsCallbacks(Lcom/android/server/app/GameManagerService;)V
+PLcom/android/server/app/GameManagerService;->-$$Nest$mwriteGameModeInterventionsToFile(Lcom/android/server/app/GameManagerService;I)V
+PLcom/android/server/app/GameManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/app/GameManagerService;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
+HPLcom/android/server/app/GameManagerService;-><init>(Landroid/content/Context;Landroid/os/Looper;Ljava/io/File;Lcom/android/server/app/GameManagerService$Injector;)V
+PLcom/android/server/app/GameManagerService;->createServiceThread()Lcom/android/server/ServiceThread;
+PLcom/android/server/app/GameManagerService;->getAllUserIds(I)[I
+HPLcom/android/server/app/GameManagerService;->getConfig(Ljava/lang/String;I)Lcom/android/server/app/GameManagerService$GamePackageConfiguration;
+HPLcom/android/server/app/GameManagerService;->getGameModeFromSettingsUnchecked(Ljava/lang/String;I)I
+PLcom/android/server/app/GameManagerService;->getInstalledGamePackageNames(I)[Ljava/lang/String;
+PLcom/android/server/app/GameManagerService;->getInstalledGamePackageNamesByAllUsers(I)Ljava/util/List;
+HPLcom/android/server/app/GameManagerService;->getResolutionScalingFactorInternal(Ljava/lang/String;II)F
+PLcom/android/server/app/GameManagerService;->isPackageGame(Ljava/lang/String;I)Z
+PLcom/android/server/app/GameManagerService;->lambda$getInstalledGamePackageNames$2(Landroid/content/pm/PackageInfo;)Z
+PLcom/android/server/app/GameManagerService;->lambda$getInstalledGamePackageNames$4(I)[Ljava/lang/String;
+PLcom/android/server/app/GameManagerService;->onBootCompleted()V
+PLcom/android/server/app/GameManagerService;->onUserStarting(Lcom/android/server/SystemService$TargetUser;Ljava/io/File;)V
+PLcom/android/server/app/GameManagerService;->onUserUnlocking(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/app/GameManagerService;->publishLocalService()V
+PLcom/android/server/app/GameManagerService;->registerDeviceConfigListener()V
+PLcom/android/server/app/GameManagerService;->registerPackageReceiver()V
+PLcom/android/server/app/GameManagerService;->registerStatsCallbacks()V
+PLcom/android/server/app/GameManagerService;->sendUserMessage(IILjava/lang/String;I)V
+PLcom/android/server/app/GameManagerService;->updateConfigsForUser(IZ[Ljava/lang/String;)V
+PLcom/android/server/app/GameManagerService;->writeGameModeInterventionsToFile(I)V
+PLcom/android/server/app/GameManagerSettings;-><init>(Ljava/io/File;)V
+HPLcom/android/server/app/GameManagerSettings;->getConfigOverride(Ljava/lang/String;)Lcom/android/server/app/GameManagerService$GamePackageConfiguration;
+HPLcom/android/server/app/GameManagerSettings;->getGameModeLocked(Ljava/lang/String;)I
+PLcom/android/server/app/GameManagerSettings;->readPersistentDataLocked()Z
+PLcom/android/server/appbinding/AppBindingConstants;-><init>(Ljava/lang/String;)V
+PLcom/android/server/appbinding/AppBindingConstants;->initializeFromString(Ljava/lang/String;)Lcom/android/server/appbinding/AppBindingConstants;
+PLcom/android/server/appbinding/AppBindingService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/appbinding/AppBindingService;)V
+PLcom/android/server/appbinding/AppBindingService$$ExternalSyntheticLambda2;-><init>()V
+PLcom/android/server/appbinding/AppBindingService$$ExternalSyntheticLambda2;->accept(Ljava/lang/Object;)V
+PLcom/android/server/appbinding/AppBindingService$1;-><init>(Lcom/android/server/appbinding/AppBindingService;Landroid/os/Handler;)V
+PLcom/android/server/appbinding/AppBindingService$2;-><init>(Lcom/android/server/appbinding/AppBindingService;)V
+PLcom/android/server/appbinding/AppBindingService$Injector;-><init>()V
+PLcom/android/server/appbinding/AppBindingService$Injector;->getGlobalSettingString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/appbinding/AppBindingService$Injector;->getIPackageManager()Landroid/content/pm/IPackageManager;
+PLcom/android/server/appbinding/AppBindingService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/appbinding/AppBindingService$Lifecycle;-><init>(Landroid/content/Context;Lcom/android/server/appbinding/AppBindingService$Injector;)V
+PLcom/android/server/appbinding/AppBindingService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/appbinding/AppBindingService$Lifecycle;->onStart()V
+PLcom/android/server/appbinding/AppBindingService$Lifecycle;->onUserStarting(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/appbinding/AppBindingService$Lifecycle;->onUserUnlocking(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/appbinding/AppBindingService;->-$$Nest$monBootPhase(Lcom/android/server/appbinding/AppBindingService;I)V
+PLcom/android/server/appbinding/AppBindingService;->-$$Nest$monStartUser(Lcom/android/server/appbinding/AppBindingService;I)V
+PLcom/android/server/appbinding/AppBindingService;->-$$Nest$monUnlockUser(Lcom/android/server/appbinding/AppBindingService;I)V
+PLcom/android/server/appbinding/AppBindingService;-><init>(Lcom/android/server/appbinding/AppBindingService$Injector;Landroid/content/Context;)V
+PLcom/android/server/appbinding/AppBindingService;-><init>(Lcom/android/server/appbinding/AppBindingService$Injector;Landroid/content/Context;Lcom/android/server/appbinding/AppBindingService-IA;)V
+PLcom/android/server/appbinding/AppBindingService;->bindServicesLocked(ILcom/android/server/appbinding/finders/AppServiceFinder;Ljava/lang/String;)V
+PLcom/android/server/appbinding/AppBindingService;->findConnectionLock(ILcom/android/server/appbinding/finders/AppServiceFinder;)Lcom/android/server/appbinding/AppBindingService$AppServiceConnection;
+PLcom/android/server/appbinding/AppBindingService;->forAllAppsLocked(Ljava/util/function/Consumer;)V
+PLcom/android/server/appbinding/AppBindingService;->onBootPhase(I)V
+PLcom/android/server/appbinding/AppBindingService;->onPhaseActivityManagerReady()V
+PLcom/android/server/appbinding/AppBindingService;->onPhaseThirdPartyAppsCanStart()V
+PLcom/android/server/appbinding/AppBindingService;->onStartUser(I)V
+PLcom/android/server/appbinding/AppBindingService;->onUnlockUser(I)V
+PLcom/android/server/appbinding/AppBindingService;->rebindAllLocked(Ljava/lang/String;)V
+PLcom/android/server/appbinding/AppBindingService;->refreshConstants()V
+PLcom/android/server/appbinding/AppBindingUtils;->findService(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/Class;Landroid/content/pm/IPackageManager;Ljava/lang/StringBuilder;)Landroid/content/pm/ServiceInfo;
+PLcom/android/server/appbinding/finders/AppServiceFinder;-><init>(Landroid/content/Context;Ljava/util/function/BiConsumer;Landroid/os/Handler;)V
+PLcom/android/server/appbinding/finders/AppServiceFinder;->findService(ILandroid/content/pm/IPackageManager;Lcom/android/server/appbinding/AppBindingConstants;)Landroid/content/pm/ServiceInfo;
+PLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;)V
+PLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;-><init>(Landroid/content/Context;Ljava/util/function/BiConsumer;Landroid/os/Handler;)V
+PLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;->getServiceAction()Ljava/lang/String;
+PLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;->getServiceClass()Ljava/lang/Class;
+PLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;->getServicePermission()Ljava/lang/String;
+PLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;->getTargetPackage(I)Ljava/lang/String;
+PLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;->isEnabled(Lcom/android/server/appbinding/AppBindingConstants;)Z
+PLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;->startMonitoring()V
+PLcom/android/server/apphibernation/AppHibernationManagerInternal;-><init>()V
+PLcom/android/server/apphibernation/AppHibernationService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/apphibernation/AppHibernationService;)V
+HPLcom/android/server/apphibernation/AppHibernationService$$ExternalSyntheticLambda0;->onUsageEvent(ILandroid/app/usage/UsageEvents$Event;)V
+PLcom/android/server/apphibernation/AppHibernationService$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/apphibernation/AppHibernationService;)V
+PLcom/android/server/apphibernation/AppHibernationService$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/apphibernation/AppHibernationService$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/apphibernation/AppHibernationService;)V
+PLcom/android/server/apphibernation/AppHibernationService$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/apphibernation/AppHibernationService;Lcom/android/server/apphibernation/HibernationStateDiskStore;I)V
+PLcom/android/server/apphibernation/AppHibernationService$$ExternalSyntheticLambda3;->run()V
+PLcom/android/server/apphibernation/AppHibernationService$1;-><init>(Lcom/android/server/apphibernation/AppHibernationService;)V
+PLcom/android/server/apphibernation/AppHibernationService$AppHibernationServiceStub;-><init>(Lcom/android/server/apphibernation/AppHibernationService;)V
+PLcom/android/server/apphibernation/AppHibernationService$InjectorImpl;-><init>(Landroid/content/Context;)V
+PLcom/android/server/apphibernation/AppHibernationService$InjectorImpl;->getActivityManager()Landroid/app/IActivityManager;
+PLcom/android/server/apphibernation/AppHibernationService$InjectorImpl;->getBackgroundExecutor()Ljava/util/concurrent/Executor;
+PLcom/android/server/apphibernation/AppHibernationService$InjectorImpl;->getContext()Landroid/content/Context;
+PLcom/android/server/apphibernation/AppHibernationService$InjectorImpl;->getGlobalLevelDiskStore()Lcom/android/server/apphibernation/HibernationStateDiskStore;
+PLcom/android/server/apphibernation/AppHibernationService$InjectorImpl;->getPackageManager()Landroid/content/pm/IPackageManager;
+PLcom/android/server/apphibernation/AppHibernationService$InjectorImpl;->getPackageManagerInternal()Landroid/content/pm/PackageManagerInternal;
+PLcom/android/server/apphibernation/AppHibernationService$InjectorImpl;->getStorageStatsManager()Landroid/app/usage/StorageStatsManager;
+PLcom/android/server/apphibernation/AppHibernationService$InjectorImpl;->getUsageStatsManagerInternal()Landroid/app/usage/UsageStatsManagerInternal;
+PLcom/android/server/apphibernation/AppHibernationService$InjectorImpl;->getUserLevelDiskStore(I)Lcom/android/server/apphibernation/HibernationStateDiskStore;
+PLcom/android/server/apphibernation/AppHibernationService$InjectorImpl;->getUserManager()Landroid/os/UserManager;
+PLcom/android/server/apphibernation/AppHibernationService$InjectorImpl;->isOatArtifactDeletionEnabled()Z
+PLcom/android/server/apphibernation/AppHibernationService$LocalService;-><init>(Lcom/android/server/apphibernation/AppHibernationService;)V
+HPLcom/android/server/apphibernation/AppHibernationService$LocalService;->isHibernatingForUser(Ljava/lang/String;I)Z
+PLcom/android/server/apphibernation/AppHibernationService$LocalService;->isHibernatingGlobally(Ljava/lang/String;)Z
+PLcom/android/server/apphibernation/AppHibernationService$StatsPullAtomCallbackImpl;-><init>(Lcom/android/server/apphibernation/AppHibernationService;)V
+PLcom/android/server/apphibernation/AppHibernationService$StatsPullAtomCallbackImpl;-><init>(Lcom/android/server/apphibernation/AppHibernationService;Lcom/android/server/apphibernation/AppHibernationService$StatsPullAtomCallbackImpl-IA;)V
+PLcom/android/server/apphibernation/AppHibernationService;->$r8$lambda$Fws_Wf_jgjjpMDT6HEIS6H9GGIc(Lcom/android/server/apphibernation/AppHibernationService;)V
+HPLcom/android/server/apphibernation/AppHibernationService;->$r8$lambda$fT12eBCv0K0U7e7DCdE6loRthKg(Lcom/android/server/apphibernation/AppHibernationService;ILandroid/app/usage/UsageEvents$Event;)V
+PLcom/android/server/apphibernation/AppHibernationService;->$r8$lambda$pmiSg0_3IcxhUY6KWcWtKuVRLt4(Lcom/android/server/apphibernation/AppHibernationService;Lcom/android/server/apphibernation/HibernationStateDiskStore;I)V
+PLcom/android/server/apphibernation/AppHibernationService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/apphibernation/AppHibernationService;-><init>(Lcom/android/server/apphibernation/AppHibernationService$Injector;)V
+HPLcom/android/server/apphibernation/AppHibernationService;->checkUserStatesExist(ILjava/lang/String;Z)Z
+HPLcom/android/server/apphibernation/AppHibernationService;->handleIncomingUser(ILjava/lang/String;)I
+PLcom/android/server/apphibernation/AppHibernationService;->initializeGlobalHibernationStates(Ljava/util/List;)V
+PLcom/android/server/apphibernation/AppHibernationService;->initializeUserHibernationStates(ILjava/util/List;)V
+PLcom/android/server/apphibernation/AppHibernationService;->isAppHibernationEnabled()Z
+PLcom/android/server/apphibernation/AppHibernationService;->isDeviceConfigAppHibernationEnabled()Z
+HPLcom/android/server/apphibernation/AppHibernationService;->isHibernatingForUser(Ljava/lang/String;I)Z
+PLcom/android/server/apphibernation/AppHibernationService;->isHibernatingGlobally(Ljava/lang/String;)Z
+HPLcom/android/server/apphibernation/AppHibernationService;->lambda$new$6(ILandroid/app/usage/UsageEvents$Event;)V
+PLcom/android/server/apphibernation/AppHibernationService;->lambda$onBootPhase$0()V
+PLcom/android/server/apphibernation/AppHibernationService;->lambda$onUserUnlocking$5(Lcom/android/server/apphibernation/HibernationStateDiskStore;I)V
+PLcom/android/server/apphibernation/AppHibernationService;->onBootPhase(I)V
+PLcom/android/server/apphibernation/AppHibernationService;->onStart()V
+PLcom/android/server/apphibernation/AppHibernationService;->onUserUnlocking(Lcom/android/server/SystemService$TargetUser;)V
+HPLcom/android/server/apphibernation/AppHibernationService;->setHibernatingForUser(Ljava/lang/String;IZ)V
+HPLcom/android/server/apphibernation/AppHibernationService;->setHibernatingGlobally(Ljava/lang/String;Z)V
+PLcom/android/server/apphibernation/GlobalLevelHibernationProto;-><init>()V
+PLcom/android/server/apphibernation/GlobalLevelState;-><clinit>()V
+PLcom/android/server/apphibernation/GlobalLevelState;-><init>()V
+PLcom/android/server/apphibernation/HibernationStateDiskStore;-><init>(Ljava/io/File;Lcom/android/server/apphibernation/ProtoReadWriter;Ljava/util/concurrent/ScheduledExecutorService;)V
+PLcom/android/server/apphibernation/HibernationStateDiskStore;-><init>(Ljava/io/File;Lcom/android/server/apphibernation/ProtoReadWriter;Ljava/util/concurrent/ScheduledExecutorService;Ljava/lang/String;)V
+PLcom/android/server/apphibernation/HibernationStateDiskStore;->readHibernationStates()Ljava/util/List;
+PLcom/android/server/apphibernation/UserLevelHibernationProto;-><init>()V
+PLcom/android/server/apphibernation/UserLevelState;-><clinit>()V
+PLcom/android/server/apphibernation/UserLevelState;-><init>()V
+HSPLcom/android/server/appop/AppOpMigrationHelperImpl;-><init>()V
+HSPLcom/android/server/appop/AppOpsCheckingServiceTracingDecorator;-><init>(Lcom/android/server/appop/AppOpsCheckingServiceInterface;)V
+HSPLcom/android/server/appop/AppOpsCheckingServiceTracingDecorator;->addAppOpsModeChangedListener(Lcom/android/server/appop/AppOpsCheckingServiceInterface$AppOpsModeChangedListener;)Z
+HSPLcom/android/server/appop/AppOpsCheckingServiceTracingDecorator;->clearAllModes()V
+HPLcom/android/server/appop/AppOpsCheckingServiceTracingDecorator;->getForegroundOps(ILjava/lang/String;)Landroid/util/SparseBooleanArray;
+HPLcom/android/server/appop/AppOpsCheckingServiceTracingDecorator;->getForegroundOps(Ljava/lang/String;I)Landroid/util/SparseBooleanArray;
+PLcom/android/server/appop/AppOpsCheckingServiceTracingDecorator;->getNonDefaultPackageModes(Ljava/lang/String;I)Landroid/util/SparseIntArray;
+HPLcom/android/server/appop/AppOpsCheckingServiceTracingDecorator;->getPackageMode(Ljava/lang/String;II)I
+HPLcom/android/server/appop/AppOpsCheckingServiceTracingDecorator;->getUidMode(ILjava/lang/String;I)I
+HSPLcom/android/server/appop/AppOpsCheckingServiceTracingDecorator;->readState()V
+HPLcom/android/server/appop/AppOpsCheckingServiceTracingDecorator;->removePackage(Ljava/lang/String;I)Z
+PLcom/android/server/appop/AppOpsCheckingServiceTracingDecorator;->removeUid(I)V
+PLcom/android/server/appop/AppOpsCheckingServiceTracingDecorator;->setUidMode(ILjava/lang/String;II)Z
+PLcom/android/server/appop/AppOpsCheckingServiceTracingDecorator;->systemReady()V
+HSPLcom/android/server/appop/AppOpsRestrictionsImpl;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/appop/AppOpsRestrictions$AppOpsRestrictionRemovedListener;)V
+HPLcom/android/server/appop/AppOpsRestrictionsImpl;->getUserRestriction(Ljava/lang/Object;II)Z
+HPLcom/android/server/appop/AppOpsRestrictionsImpl;->getUserRestriction(Ljava/lang/Object;IILjava/lang/String;Ljava/lang/String;Z)Z
+PLcom/android/server/appop/AppOpsRestrictionsImpl;->hasGlobalRestrictions(Ljava/lang/Object;)Z
+PLcom/android/server/appop/AppOpsRestrictionsImpl;->hasUserRestrictions(Ljava/lang/Object;)Z
+PLcom/android/server/appop/AppOpsRestrictionsImpl;->putUserRestriction(Ljava/lang/Object;IIZ)Z
+HPLcom/android/server/appop/AppOpsRestrictionsImpl;->putUserRestrictionExclusions(Ljava/lang/Object;ILandroid/os/PackageTagsList;)Z
+PLcom/android/server/appop/AppOpsRestrictionsImpl;->resolveUserId(I)[I
+PLcom/android/server/appop/AppOpsRestrictionsImpl;->setGlobalRestriction(Ljava/lang/Object;IZ)Z
+PLcom/android/server/appop/AppOpsRestrictionsImpl;->setUserRestriction(Ljava/lang/Object;IIZLandroid/os/PackageTagsList;)Z
+PLcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda10;-><init>(Lcom/android/server/appop/AppOpsService;)V
+HPLcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda10;->onUidStateChanged(IIZ)V
+PLcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda13;-><init>()V
+PLcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda13;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda14;-><init>(Lcom/android/server/appop/AppOpsService;Ljava/lang/String;Ljava/lang/String;I)V
+HPLcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda14;->run()V
+PLcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda15;-><init>()V
+HPLcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda15;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda16;-><init>(Landroid/app/AsyncNotedAppOp;[ZILjava/lang/String;ILjava/lang/String;)V
+HPLcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda16;->accept(Ljava/lang/Object;)V
+PLcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda1;-><init>()V
+PLcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda3;-><init>()V
+PLcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda3;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+HSPLcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/appop/AppOpsService;)V
+PLcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda5;-><init>()V
+HPLcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda5;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda6;-><init>()V
+HPLcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda6;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda8;-><init>()V
+PLcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda8;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda9;-><init>(Lcom/android/server/appop/AppOpsService;)V
+HPLcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda9;->execute(Ljava/lang/Runnable;)V
+PLcom/android/server/appop/AppOpsService$1$1;-><init>(Lcom/android/server/appop/AppOpsService$1;)V
+PLcom/android/server/appop/AppOpsService$1$1;->doInBackground([Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/appop/AppOpsService$1$1;->doInBackground([Ljava/lang/Void;)Ljava/lang/Void;
+HSPLcom/android/server/appop/AppOpsService$1;-><init>(Lcom/android/server/appop/AppOpsService;)V
+PLcom/android/server/appop/AppOpsService$1;->run()V
+HSPLcom/android/server/appop/AppOpsService$2;-><init>(Lcom/android/server/appop/AppOpsService;)V
+HSPLcom/android/server/appop/AppOpsService$3;-><init>(Lcom/android/server/appop/AppOpsService;)V
+HPLcom/android/server/appop/AppOpsService$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/appop/AppOpsService$4;-><init>(Lcom/android/server/appop/AppOpsService;)V
+PLcom/android/server/appop/AppOpsService$5;-><init>(Lcom/android/server/appop/AppOpsService;)V
+PLcom/android/server/appop/AppOpsService$5;->run()V
+PLcom/android/server/appop/AppOpsService$6;-><init>(Lcom/android/server/appop/AppOpsService;)V
+PLcom/android/server/appop/AppOpsService$7;-><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$9;-><init>(Lcom/android/server/appop/AppOpsService;Landroid/util/ArraySet;)V
+PLcom/android/server/appop/AppOpsService$9;->accept(Landroid/app/AppOpsManager$HistoricalOps;)V
+PLcom/android/server/appop/AppOpsService$9;->accept(Ljava/lang/Object;)V
+PLcom/android/server/appop/AppOpsService$ActiveCallback;-><init>(Lcom/android/server/appop/AppOpsService;Lcom/android/internal/app/IAppOpsActiveCallback;III)V
+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$AppOpsManagerInternalImpl-IA;)V
+PLcom/android/server/appop/AppOpsService$AppOpsManagerInternalImpl;->setDeviceAndProfileOwners(Landroid/util/SparseIntArray;)V
+HPLcom/android/server/appop/AppOpsService$AppOpsManagerInternalImpl;->setGlobalRestriction(IZLandroid/os/IBinder;)V
+HSPLcom/android/server/appop/AppOpsService$AppOpsManagerLocalImpl;-><init>(Lcom/android/server/appop/AppOpsService;)V
+HSPLcom/android/server/appop/AppOpsService$AppOpsManagerLocalImpl;-><init>(Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService$AppOpsManagerLocalImpl-IA;)V
+PLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher$$ExternalSyntheticLambda11;-><init>(Lcom/android/server/appop/AppOpsService;)V
+HPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher$$ExternalSyntheticLambda11;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher$$ExternalSyntheticLambda13;-><init>(Lcom/android/server/appop/AppOpsService;)V
+HPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher$$ExternalSyntheticLambda13;->apply(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+HPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/appop/AppOpsService;)V
+HPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher$$ExternalSyntheticLambda1;->apply(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/appop/AppOpsService;)V
+HPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher$$ExternalSyntheticLambda5;->apply(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+HPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher$$ExternalSyntheticLambda7;-><init>(Lcom/android/server/appop/AppOpsService;)V
+HPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher$$ExternalSyntheticLambda7;->apply(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher$$ExternalSyntheticLambda9;-><init>(Lcom/android/server/appop/AppOpsService;)V
+HPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher$$ExternalSyntheticLambda9;->apply(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+HPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher;->$r8$lambda$9t8iLhni7XlJaYUbHyUsLY8CxCM(Lcom/android/server/appop/AppOpsService;IILjava/lang/String;Ljava/lang/String;IZLjava/lang/String;Z)Landroid/app/SyncNotedAppOp;
+PLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher;->$r8$lambda$TqGvemNPXzXUjdqWw7kwupm3azw(Lcom/android/server/appop/AppOpsService;IIILjava/lang/String;)I
+HPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher;->$r8$lambda$isKDS9RXD9cfyW6vB1LFop2lwy4(Lcom/android/server/appop/AppOpsService;Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;I)V
+HPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher;->$r8$lambda$p7Z0eGBUU1-Gt7vHG9S-93UhGlY(Lcom/android/server/appop/AppOpsService;IILjava/lang/String;Ljava/lang/String;IZ)I
+PLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher;->$r8$lambda$q8BbxI-iIBB256_4cFe16ffKxiE(Lcom/android/server/appop/AppOpsService;ILandroid/content/AttributionSource;ZLjava/lang/String;ZZ)Landroid/app/SyncNotedAppOp;
+HPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher;->$r8$lambda$vZeNm9U4ce-mUj2m0fon_vppmA0(Lcom/android/server/appop/AppOpsService;Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;IZZLjava/lang/String;ZII)Landroid/app/SyncNotedAppOp;
+PLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher;->-$$Nest$fgetmCheckOpsDelegate(Lcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher;)Landroid/app/AppOpsManagerInternal$CheckOpsDelegate;
+HSPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher;-><init>(Lcom/android/server/appop/AppOpsService;Landroid/app/AppOpsManagerInternal$CheckOpsDelegate;Landroid/app/AppOpsManagerInternal$CheckOpsDelegate;)V
+HPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher;->checkAudioOperation(IIILjava/lang/String;)I
+HPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher;->checkOperation(IILjava/lang/String;Ljava/lang/String;IZ)I
+HPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher;->finishOperation(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;I)V
+HPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher;->noteOperation(IILjava/lang/String;Ljava/lang/String;IZLjava/lang/String;Z)Landroid/app/SyncNotedAppOp;
+HPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher;->noteProxyOperation(ILandroid/content/AttributionSource;ZLjava/lang/String;ZZ)Landroid/app/SyncNotedAppOp;
+HPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher;->startOperation(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;IZZLjava/lang/String;ZII)Landroid/app/SyncNotedAppOp;
+PLcom/android/server/appop/AppOpsService$ClientGlobalRestrictionState;-><init>(Lcom/android/server/appop/AppOpsService;Landroid/os/IBinder;)V
+PLcom/android/server/appop/AppOpsService$ClientGlobalRestrictionState;->destroy()V
+PLcom/android/server/appop/AppOpsService$ClientGlobalRestrictionState;->isDefault()Z
+PLcom/android/server/appop/AppOpsService$ClientGlobalRestrictionState;->setRestriction(IZ)Z
+PLcom/android/server/appop/AppOpsService$ClientUserRestrictionState;-><init>(Lcom/android/server/appop/AppOpsService;Landroid/os/IBinder;)V
+PLcom/android/server/appop/AppOpsService$ClientUserRestrictionState;->destroy()V
+HPLcom/android/server/appop/AppOpsService$ClientUserRestrictionState;->hasRestriction(ILjava/lang/String;Ljava/lang/String;IZ)Z
+PLcom/android/server/appop/AppOpsService$ClientUserRestrictionState;->isDefault()Z
+PLcom/android/server/appop/AppOpsService$ClientUserRestrictionState;->setRestriction(IZLandroid/os/PackageTagsList;I)Z
+HSPLcom/android/server/appop/AppOpsService$Constants;-><init>(Lcom/android/server/appop/AppOpsService;Landroid/os/Handler;)V
+PLcom/android/server/appop/AppOpsService$Constants;->startMonitoring(Landroid/content/ContentResolver;)V
+HSPLcom/android/server/appop/AppOpsService$Constants;->updateConstants()V
+HPLcom/android/server/appop/AppOpsService$ModeCallback;-><init>(Lcom/android/server/appop/AppOpsService;Lcom/android/internal/app/IAppOpsCallback;IIIII)V
+PLcom/android/server/appop/AppOpsService$ModeCallback;->onOpModeChanged(IILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/appop/AppOpsService$NotedCallback;-><init>(Lcom/android/server/appop/AppOpsService;Lcom/android/internal/app/IAppOpsNotedCallback;III)V
+HSPLcom/android/server/appop/AppOpsService$Op;->-$$Nest$mgetOrCreateAttribution(Lcom/android/server/appop/AppOpsService$Op;Lcom/android/server/appop/AppOpsService$Op;Ljava/lang/String;Ljava/lang/String;)Lcom/android/server/appop/AttributedOp;
+HSPLcom/android/server/appop/AppOpsService$Op;-><init>(Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService$UidState;Ljava/lang/String;II)V
+HPLcom/android/server/appop/AppOpsService$Op;->createEntryLocked()Landroid/app/AppOpsManager$OpEntry;
+HSPLcom/android/server/appop/AppOpsService$Op;->getOrCreateAttribution(Lcom/android/server/appop/AppOpsService$Op;Ljava/lang/String;Ljava/lang/String;)Lcom/android/server/appop/AttributedOp;
+HPLcom/android/server/appop/AppOpsService$Op;->isRunning()Z
+HSPLcom/android/server/appop/AppOpsService$Ops;-><init>(Ljava/lang/String;Lcom/android/server/appop/AppOpsService$UidState;)V
+PLcom/android/server/appop/AppOpsService$PackageVerificationResult;-><init>(Landroid/app/AppOpsManager$RestrictionBypass;Z)V
+PLcom/android/server/appop/AppOpsService$StartedCallback;-><init>(Lcom/android/server/appop/AppOpsService;Lcom/android/internal/app/IAppOpsStartedCallback;III)V
+HSPLcom/android/server/appop/AppOpsService$UidState;-><init>(Lcom/android/server/appop/AppOpsService;I)V
+PLcom/android/server/appop/AppOpsService$UidState;->clear()V
+HPLcom/android/server/appop/AppOpsService$UidState;->evalMode(II)I
+HPLcom/android/server/appop/AppOpsService$UidState;->getState()I
+HPLcom/android/server/appop/AppOpsService;->$r8$lambda$6k_N9hZ8kvjX_OAIx8qy1xpZV_s(Lcom/android/server/appop/AppOpsService;Ljava/lang/Runnable;)V
+HPLcom/android/server/appop/AppOpsService;->$r8$lambda$K1us0zRuosg7DEfhttpLHrRzwQ8(Lcom/android/server/appop/AppOpsService;Ljava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/appop/AppOpsService;->$r8$lambda$KZ8csPYjnHRgqtsqPZIdzSZk2M0(Lcom/android/server/appop/AppOpsService;IZI)V
+PLcom/android/server/appop/AppOpsService;->$r8$lambda$_3mKgx97gA3YgX5RtEESYaD_JvY(Lcom/android/server/appop/AppOpsService;II)V
+PLcom/android/server/appop/AppOpsService;->$r8$lambda$iHRjxQ_m4gxYrCioytzJw8v4y_Q(Landroid/app/AsyncNotedAppOp;[ZILjava/lang/String;ILjava/lang/String;Lcom/android/internal/app/IAppOpsAsyncNotedCallback;)V
+HPLcom/android/server/appop/AppOpsService;->$r8$lambda$sKlvEb6CGkKf4LV4kVBIOznFZ9c(Lcom/android/server/appop/AppOpsService;IIZ)V
+PLcom/android/server/appop/AppOpsService;->$r8$lambda$tCrK7GHyC4CL9PmON8WCNADuzSQ(Lcom/android/server/appop/AppOpsService;IIZLjava/lang/String;)V
+PLcom/android/server/appop/AppOpsService;->$r8$lambda$uCCOXFJxz3bCZJrsIAuF17lDZks(Lcom/android/server/appop/AppOpsService;Landroid/util/ArraySet;IILjava/lang/String;Ljava/lang/String;III)V
+PLcom/android/server/appop/AppOpsService;->$r8$lambda$xAhQeGPgXGiSjmtMzzdf_avZ1GE(Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/OnOpModeChangedListener;IILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/appop/AppOpsService;->-$$Nest$fgetmOpGlobalRestrictions(Lcom/android/server/appop/AppOpsService;)Landroid/util/ArrayMap;
+PLcom/android/server/appop/AppOpsService;->-$$Nest$fgetmRarelyUsedPackages(Lcom/android/server/appop/AppOpsService;)Landroid/util/ArraySet;
+PLcom/android/server/appop/AppOpsService;->-$$Nest$fputmRarelyUsedPackages(Lcom/android/server/appop/AppOpsService;Landroid/util/ArraySet;)V
+PLcom/android/server/appop/AppOpsService;->-$$Nest$mcheckAudioOperationImpl(Lcom/android/server/appop/AppOpsService;IIILjava/lang/String;)I
+HPLcom/android/server/appop/AppOpsService;->-$$Nest$mcheckOperationImpl(Lcom/android/server/appop/AppOpsService;IILjava/lang/String;Ljava/lang/String;IZ)I
+HPLcom/android/server/appop/AppOpsService;->-$$Nest$mfinishOperationImpl(Lcom/android/server/appop/AppOpsService;Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/appop/AppOpsService;->-$$Nest$mgetPackageListAndResample(Lcom/android/server/appop/AppOpsService;)Ljava/util/List;
+HPLcom/android/server/appop/AppOpsService;->-$$Nest$mgetPackageManagerInternal(Lcom/android/server/appop/AppOpsService;)Landroid/content/pm/PackageManagerInternal;
+PLcom/android/server/appop/AppOpsService;->-$$Nest$minitializeRarelyUsedPackagesList(Lcom/android/server/appop/AppOpsService;Landroid/util/ArraySet;)V
+HPLcom/android/server/appop/AppOpsService;->-$$Nest$mnoteOperationImpl(Lcom/android/server/appop/AppOpsService;IILjava/lang/String;Ljava/lang/String;IZLjava/lang/String;Z)Landroid/app/SyncNotedAppOp;
+PLcom/android/server/appop/AppOpsService;->-$$Nest$mnoteProxyOperationImpl(Lcom/android/server/appop/AppOpsService;ILandroid/content/AttributionSource;ZLjava/lang/String;ZZ)Landroid/app/SyncNotedAppOp;
+PLcom/android/server/appop/AppOpsService;->-$$Nest$mpackageRemovedLocked(Lcom/android/server/appop/AppOpsService;ILjava/lang/String;)V
+HPLcom/android/server/appop/AppOpsService;->-$$Nest$mstartOperationImpl(Lcom/android/server/appop/AppOpsService;Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;IZZLjava/lang/String;ZII)Landroid/app/SyncNotedAppOp;
+HSPLcom/android/server/appop/AppOpsService;-><clinit>()V
+HSPLcom/android/server/appop/AppOpsService;-><init>(Ljava/io/File;Ljava/io/File;Landroid/os/Handler;Landroid/content/Context;)V
+HPLcom/android/server/appop/AppOpsService;->checkAudioOperation(IIILjava/lang/String;)I
+HPLcom/android/server/appop/AppOpsService;->checkAudioOperationImpl(IIILjava/lang/String;)I
+HPLcom/android/server/appop/AppOpsService;->checkOperation(IILjava/lang/String;)I
+PLcom/android/server/appop/AppOpsService;->checkOperationForDevice(IILjava/lang/String;I)I
+HPLcom/android/server/appop/AppOpsService;->checkOperationImpl(IILjava/lang/String;Ljava/lang/String;IZ)I
+HPLcom/android/server/appop/AppOpsService;->checkOperationRaw(IILjava/lang/String;Ljava/lang/String;)I
+HPLcom/android/server/appop/AppOpsService;->checkOperationUnchecked(IILjava/lang/String;Ljava/lang/String;IZ)I
+HPLcom/android/server/appop/AppOpsService;->checkPackage(ILjava/lang/String;)I
+PLcom/android/server/appop/AppOpsService;->checkSystemUid(Ljava/lang/String;)V
+HPLcom/android/server/appop/AppOpsService;->collectAsyncNotedOp(ILjava/lang/String;ILjava/lang/String;ILjava/lang/String;Z)V
+HPLcom/android/server/appop/AppOpsService;->collectOps(Lcom/android/server/appop/AppOpsService$Ops;[I)Ljava/util/ArrayList;
+PLcom/android/server/appop/AppOpsService;->createSandboxUidStateIfNotExistsForAppLocked(I)V
+HPLcom/android/server/appop/AppOpsService;->enforceManageAppOpsModes(III)V
+PLcom/android/server/appop/AppOpsService;->ensureHistoricalOpRequestIsValid(ILjava/lang/String;Ljava/lang/String;Ljava/util/List;IJJI)V
+PLcom/android/server/appop/AppOpsService;->extractAsyncOps(Ljava/lang/String;)Ljava/util/List;
+HPLcom/android/server/appop/AppOpsService;->filterAppAccessUnlocked(Ljava/lang/String;I)Z
+HPLcom/android/server/appop/AppOpsService;->finishOperation(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/appop/AppOpsService;->finishOperationImpl(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;I)V
+HPLcom/android/server/appop/AppOpsService;->finishOperationUnchecked(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;I)V
+HPLcom/android/server/appop/AppOpsService;->getAsyncNotedOpsKey(Ljava/lang/String;I)Landroid/util/Pair;
+HPLcom/android/server/appop/AppOpsService;->getBypassforPackage(Lcom/android/server/pm/pkg/PackageState;)Landroid/app/AppOpsManager$RestrictionBypass;
+PLcom/android/server/appop/AppOpsService;->getHistoricalOps(ILjava/lang/String;Ljava/lang/String;Ljava/util/List;IIJJILandroid/os/RemoteCallback;)V
+PLcom/android/server/appop/AppOpsService;->getOpEntryForResult(Lcom/android/server/appop/AppOpsService$Op;)Landroid/app/AppOpsManager$OpEntry;
+HPLcom/android/server/appop/AppOpsService;->getOpLocked(IILjava/lang/String;Ljava/lang/String;ZLandroid/app/AppOpsManager$RestrictionBypass;Z)Lcom/android/server/appop/AppOpsService$Op;
+HPLcom/android/server/appop/AppOpsService;->getOpLocked(Lcom/android/server/appop/AppOpsService$Ops;IIZ)Lcom/android/server/appop/AppOpsService$Op;
+HPLcom/android/server/appop/AppOpsService;->getOpsLocked(ILjava/lang/String;Ljava/lang/String;ZLandroid/app/AppOpsManager$RestrictionBypass;Z)Lcom/android/server/appop/AppOpsService$Ops;
+PLcom/android/server/appop/AppOpsService;->getPackageListAndResample()Ljava/util/List;
+HPLcom/android/server/appop/AppOpsService;->getPackageManagerInternal()Landroid/content/pm/PackageManagerInternal;
+PLcom/android/server/appop/AppOpsService;->getPackageManagerLocal()Lcom/android/server/pm/PackageManagerLocal;
+HPLcom/android/server/appop/AppOpsService;->getPackageNamesForSampling()Ljava/util/List;
+HPLcom/android/server/appop/AppOpsService;->getPackagesForOps([I)Ljava/util/List;
+HPLcom/android/server/appop/AppOpsService;->getPackagesForUid(I)[Ljava/lang/String;
+HPLcom/android/server/appop/AppOpsService;->getPersistentId(I)Ljava/lang/String;
+PLcom/android/server/appop/AppOpsService;->getRuntimeAppOpsList()Ljava/util/List;
+HSPLcom/android/server/appop/AppOpsService;->getUidStateLocked(IZ)Lcom/android/server/appop/AppOpsService$UidState;
+HPLcom/android/server/appop/AppOpsService;->getUidStateTracker()Lcom/android/server/appop/AppOpsUidStateTracker;
+PLcom/android/server/appop/AppOpsService;->getUserManagerInternal()Lcom/android/server/pm/UserManagerInternal;
+PLcom/android/server/appop/AppOpsService;->initializePackageUidStateLocked(IILjava/lang/String;)V
+PLcom/android/server/appop/AppOpsService;->initializeRarelyUsedPackagesList(Landroid/util/ArraySet;)V
+PLcom/android/server/appop/AppOpsService;->initializeUidStates()V
+PLcom/android/server/appop/AppOpsService;->initializeUserUidStatesLocked(ILjava/util/Map;)V
+HPLcom/android/server/appop/AppOpsService;->isAttributionInPackage(Lcom/android/server/pm/pkg/AndroidPackage;Ljava/lang/String;)Z
+HPLcom/android/server/appop/AppOpsService;->isIncomingPackageValid(Ljava/lang/String;I)Z
+HPLcom/android/server/appop/AppOpsService;->isOpRestrictedDueToSuspend(ILjava/lang/String;I)Z
+HPLcom/android/server/appop/AppOpsService;->isOpRestrictedLocked(IILjava/lang/String;Ljava/lang/String;ILandroid/app/AppOpsManager$RestrictionBypass;Z)Z
+HPLcom/android/server/appop/AppOpsService;->isPackageExisted(Ljava/lang/String;)Z
+PLcom/android/server/appop/AppOpsService;->isSamplingTarget(Landroid/content/pm/PackageInfo;)Z
+HPLcom/android/server/appop/AppOpsService;->isSpecialPackage(ILjava/lang/String;)Z
+PLcom/android/server/appop/AppOpsService;->isValidVirtualDeviceId(I)Z
+PLcom/android/server/appop/AppOpsService;->lambda$collectAsyncNotedOp$4(Landroid/app/AsyncNotedAppOp;[ZILjava/lang/String;ILjava/lang/String;Lcom/android/internal/app/IAppOpsAsyncNotedCallback;)V
+HPLcom/android/server/appop/AppOpsService;->lambda$getUidStateTracker$0(Ljava/lang/Runnable;)V
+HPLcom/android/server/appop/AppOpsService;->lambda$systemReady$2(Ljava/lang/String;Ljava/lang/String;I)V
+HPLcom/android/server/appop/AppOpsService;->noteOperation(IILjava/lang/String;Ljava/lang/String;ZLjava/lang/String;Z)Landroid/app/SyncNotedAppOp;
+HPLcom/android/server/appop/AppOpsService;->noteOperationImpl(IILjava/lang/String;Ljava/lang/String;IZLjava/lang/String;Z)Landroid/app/SyncNotedAppOp;
+HPLcom/android/server/appop/AppOpsService;->noteOperationUnchecked(IILjava/lang/String;Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;IZLjava/lang/String;Z)Landroid/app/SyncNotedAppOp;
+HPLcom/android/server/appop/AppOpsService;->noteProxyOperationImpl(ILandroid/content/AttributionSource;ZLjava/lang/String;ZZ)Landroid/app/SyncNotedAppOp;
+PLcom/android/server/appop/AppOpsService;->noteProxyOperationWithState(ILandroid/content/AttributionSourceState;ZLjava/lang/String;ZZ)Landroid/app/SyncNotedAppOp;
+PLcom/android/server/appop/AppOpsService;->notifyOpChanged(Landroid/util/ArraySet;IILjava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/appop/AppOpsService;->notifyOpChanged(Lcom/android/server/appop/OnOpModeChangedListener;IILjava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/appop/AppOpsService;->notifyOpChangedForAllPkgsInUid(IIZLjava/lang/String;)V
+PLcom/android/server/appop/AppOpsService;->notifyOpChecked(Landroid/util/ArraySet;IILjava/lang/String;Ljava/lang/String;III)V
+PLcom/android/server/appop/AppOpsService;->notifyStorageManagerOpModeChangedSync(IILjava/lang/String;II)V
+PLcom/android/server/appop/AppOpsService;->notifyWatchersOnDefaultDevice(II)V
+HPLcom/android/server/appop/AppOpsService;->onUidStateChanged(IIZ)V
+HPLcom/android/server/appop/AppOpsService;->packageRemovedLocked(ILjava/lang/String;)V
+PLcom/android/server/appop/AppOpsService;->permissionToOpCode(Ljava/lang/String;)I
+PLcom/android/server/appop/AppOpsService;->prepareInternalCallbacks()V
+HSPLcom/android/server/appop/AppOpsService;->publish()V
+HSPLcom/android/server/appop/AppOpsService;->readAttributionOp(Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/server/appop/AppOpsService$Op;Ljava/lang/String;)V
+HSPLcom/android/server/appop/AppOpsService;->readOp(Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/server/appop/AppOpsService$UidState;Ljava/lang/String;)V
+HSPLcom/android/server/appop/AppOpsService;->readPackage(Lcom/android/modules/utils/TypedXmlPullParser;)V
+HSPLcom/android/server/appop/AppOpsService;->readRecentAccesses()V
+HSPLcom/android/server/appop/AppOpsService;->readRecentAccesses(Landroid/util/AtomicFile;)V
+HSPLcom/android/server/appop/AppOpsService;->readUid(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;)V
+HPLcom/android/server/appop/AppOpsService;->reportRuntimeAppOpAccessMessageAndGetConfig(Ljava/lang/String;Landroid/app/SyncNotedAppOp;Ljava/lang/String;)Lcom/android/internal/app/MessageSamplingConfig;
+HPLcom/android/server/appop/AppOpsService;->reportRuntimeAppOpAccessMessageAsyncLocked(ILjava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/appop/AppOpsService;->reportRuntimeAppOpAccessMessageInternalLocked(ILjava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/appop/AppOpsService;->resampleAppOpForPackageLocked(Ljava/lang/String;Z)V
+PLcom/android/server/appop/AppOpsService;->resamplePackageAndAppOpLocked(Ljava/util/List;)V
+HPLcom/android/server/appop/AppOpsService;->resolveUid(Ljava/lang/String;)I
+PLcom/android/server/appop/AppOpsService;->scheduleFastWriteLocked()V
+HPLcom/android/server/appop/AppOpsService;->scheduleOpActiveChangedIfNeededLocked(IILjava/lang/String;Ljava/lang/String;IZII)V
+HPLcom/android/server/appop/AppOpsService;->scheduleOpNotedIfNeededLocked(IILjava/lang/String;Ljava/lang/String;III)V
+HPLcom/android/server/appop/AppOpsService;->scheduleOpStartedIfNeededLocked(IILjava/lang/String;Ljava/lang/String;IIIIII)V
+HPLcom/android/server/appop/AppOpsService;->scheduleWriteLocked()V
+PLcom/android/server/appop/AppOpsService;->setAppOpsPolicy(Landroid/app/AppOpsManagerInternal$CheckOpsDelegate;)V
+HPLcom/android/server/appop/AppOpsService;->setAudioRestriction(IIII[Ljava/lang/String;)V
+PLcom/android/server/appop/AppOpsService;->setMode(IILjava/lang/String;I)V
+PLcom/android/server/appop/AppOpsService;->setMode(IILjava/lang/String;ILcom/android/internal/app/IAppOpsCallback;)V
+PLcom/android/server/appop/AppOpsService;->setUidMode(III)V
+HPLcom/android/server/appop/AppOpsService;->setUidMode(IIILcom/android/internal/app/IAppOpsCallback;)V
+HPLcom/android/server/appop/AppOpsService;->setUserRestriction(IZLandroid/os/IBinder;ILandroid/os/PackageTagsList;)V
+HPLcom/android/server/appop/AppOpsService;->setUserRestrictionNoCheck(IZLandroid/os/IBinder;ILandroid/os/PackageTagsList;)V
+PLcom/android/server/appop/AppOpsService;->setUserRestrictions(Landroid/os/Bundle;Landroid/os/IBinder;I)V
+HPLcom/android/server/appop/AppOpsService;->shouldCollectNotes(I)Z
+PLcom/android/server/appop/AppOpsService;->shouldIgnoreCallback(III)Z
+HPLcom/android/server/appop/AppOpsService;->startOperation(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;ZZLjava/lang/String;ZII)Landroid/app/SyncNotedAppOp;
+HPLcom/android/server/appop/AppOpsService;->startOperationImpl(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;IZZLjava/lang/String;ZII)Landroid/app/SyncNotedAppOp;
+HPLcom/android/server/appop/AppOpsService;->startOperationUnchecked(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;IZZLjava/lang/String;ZII)Landroid/app/SyncNotedAppOp;
+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
+PLcom/android/server/appop/AppOpsService;->startWatchingMode(ILjava/lang/String;Lcom/android/internal/app/IAppOpsCallback;)V
+HPLcom/android/server/appop/AppOpsService;->startWatchingModeWithFlags(ILjava/lang/String;ILcom/android/internal/app/IAppOpsCallback;)V
+HPLcom/android/server/appop/AppOpsService;->startWatchingNoted([ILcom/android/internal/app/IAppOpsNotedCallback;)V
+HPLcom/android/server/appop/AppOpsService;->startWatchingStarted([ILcom/android/internal/app/IAppOpsStartedCallback;)V
+HPLcom/android/server/appop/AppOpsService;->switchPackageIfBootTimeOrRarelyUsedLocked(Ljava/lang/String;)V
+HPLcom/android/server/appop/AppOpsService;->systemReady()V
+HPLcom/android/server/appop/AppOpsService;->updatePermissionRevokedCompat(III)V
+PLcom/android/server/appop/AppOpsService;->updateStartedOpModeForUidForDefaultDeviceLocked(IZI)V
+PLcom/android/server/appop/AppOpsService;->updateStartedOpModeForUserForDefaultDevice(IZI)V
+HPLcom/android/server/appop/AppOpsService;->updateUidProcState(III)V
+HPLcom/android/server/appop/AppOpsService;->verifyAndGetBypass(ILjava/lang/String;Ljava/lang/String;)Lcom/android/server/appop/AppOpsService$PackageVerificationResult;
+HPLcom/android/server/appop/AppOpsService;->verifyAndGetBypass(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/android/server/appop/AppOpsService$PackageVerificationResult;
+HPLcom/android/server/appop/AppOpsService;->verifyAndGetBypass(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Lcom/android/server/appop/AppOpsService$PackageVerificationResult;
+HPLcom/android/server/appop/AppOpsService;->verifyIncomingOp(I)V
+PLcom/android/server/appop/AppOpsService;->verifyIncomingProxyUid(Landroid/content/AttributionSource;)V
+HPLcom/android/server/appop/AppOpsService;->verifyIncomingUid(I)V
+HPLcom/android/server/appop/AppOpsService;->writeRecentAccesses()V
+PLcom/android/server/appop/AppOpsUidStateTracker;->processStateToUidState(I)I
+PLcom/android/server/appop/AppOpsUidStateTrackerImpl$$ExternalSyntheticLambda0;-><init>()V
+HPLcom/android/server/appop/AppOpsUidStateTrackerImpl$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/appop/AppOpsUidStateTrackerImpl$$ExternalSyntheticLambda1;-><init>()V
+HPLcom/android/server/appop/AppOpsUidStateTrackerImpl$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+HPLcom/android/server/appop/AppOpsUidStateTrackerImpl$1$$ExternalSyntheticLambda0;-><init>(Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)V
+HPLcom/android/server/appop/AppOpsUidStateTrackerImpl$1$$ExternalSyntheticLambda0;->run()V
+HPLcom/android/server/appop/AppOpsUidStateTrackerImpl$1$$ExternalSyntheticLambda1;-><init>(Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)V
+HPLcom/android/server/appop/AppOpsUidStateTrackerImpl$1$$ExternalSyntheticLambda1;->run()V
+HPLcom/android/server/appop/AppOpsUidStateTrackerImpl$1;->$r8$lambda$BDK_o82z4D0CLSzizoWclTSuQPc(Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)V
+PLcom/android/server/appop/AppOpsUidStateTrackerImpl$1;->$r8$lambda$Xv0rzRrxYVvZ3ael2cDamJtHe_M(Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)V
+PLcom/android/server/appop/AppOpsUidStateTrackerImpl$1;-><init>(Landroid/os/Handler;Ljava/util/concurrent/Executor;)V
+HPLcom/android/server/appop/AppOpsUidStateTrackerImpl$1;->execute(Ljava/lang/Runnable;)V
+HPLcom/android/server/appop/AppOpsUidStateTrackerImpl$1;->executeDelayed(Ljava/lang/Runnable;J)V
+HPLcom/android/server/appop/AppOpsUidStateTrackerImpl$1;->lambda$execute$0(Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)V
+PLcom/android/server/appop/AppOpsUidStateTrackerImpl$1;->lambda$executeDelayed$1(Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)V
+PLcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog$$ExternalSyntheticLambda0;-><init>()V
+HPLcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog$$ExternalSyntheticLambda1;-><init>()V
+HPLcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+HPLcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog$$ExternalSyntheticLambda2;-><init>()V
+HPLcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog$$ExternalSyntheticLambda2;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog;-><init>(Lcom/android/server/appop/AppOpsUidStateTrackerImpl$DelayableExecutor;Ljava/lang/Thread;)V
+HPLcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog;->logCommitUidState(IIIZZ)V
+HPLcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog;->logCommitUidStateAsync(JIIIZZ)V
+HPLcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog;->logEvalForegroundMode(IIIII)V
+HPLcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog;->logEvalForegroundModeAsync(JIIIII)V
+HPLcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog;->logUpdateUidProcState(III)V
+HPLcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog;->logUpdateUidProcStateAsync(JIII)V
+PLcom/android/server/appop/AppOpsUidStateTrackerImpl;->$r8$lambda$DDarXSJMLhcQjOvjQGC1suxs48A(Lcom/android/server/appop/AppOpsUidStateTrackerImpl;I)V
+PLcom/android/server/appop/AppOpsUidStateTrackerImpl;-><clinit>()V
+PLcom/android/server/appop/AppOpsUidStateTrackerImpl;-><init>(Landroid/app/ActivityManagerInternal;Landroid/os/Handler;Ljava/util/concurrent/Executor;Lcom/android/internal/os/Clock;Lcom/android/server/appop/AppOpsService$Constants;)V
+PLcom/android/server/appop/AppOpsUidStateTrackerImpl;-><init>(Landroid/app/ActivityManagerInternal;Lcom/android/server/appop/AppOpsUidStateTrackerImpl$DelayableExecutor;Lcom/android/internal/os/Clock;Lcom/android/server/appop/AppOpsService$Constants;Ljava/lang/Thread;)V
+PLcom/android/server/appop/AppOpsUidStateTrackerImpl;->addUidStateChangedCallback(Ljava/util/concurrent/Executor;Lcom/android/server/appop/AppOpsUidStateTracker$UidStateChangedCallback;)V
+HPLcom/android/server/appop/AppOpsUidStateTrackerImpl;->commitUidPendingState(I)V
+HPLcom/android/server/appop/AppOpsUidStateTrackerImpl;->evalMode(III)I
+HPLcom/android/server/appop/AppOpsUidStateTrackerImpl;->evalModeInternal(IIII)I
+PLcom/android/server/appop/AppOpsUidStateTrackerImpl;->getOpCapability(I)I
+HPLcom/android/server/appop/AppOpsUidStateTrackerImpl;->getUidAppWidgetVisible(I)Z
+PLcom/android/server/appop/AppOpsUidStateTrackerImpl;->getUidCapability(I)I
+HPLcom/android/server/appop/AppOpsUidStateTrackerImpl;->getUidState(I)I
+HPLcom/android/server/appop/AppOpsUidStateTrackerImpl;->getUidStateLocked(I)I
+HPLcom/android/server/appop/AppOpsUidStateTrackerImpl;->updateUidPendingStateIfNeeded(I)V
+HPLcom/android/server/appop/AppOpsUidStateTrackerImpl;->updateUidPendingStateIfNeededLocked(I)V
+HPLcom/android/server/appop/AppOpsUidStateTrackerImpl;->updateUidProcState(III)V
+PLcom/android/server/appop/AttributedOp$$ExternalSyntheticLambda0;-><init>()V
+HPLcom/android/server/appop/AttributedOp$InProgressStartOpEvent;-><init>(JJLandroid/os/IBinder;ILjava/lang/String;Ljava/lang/Runnable;ILandroid/app/AppOpsManager$OpEventProxyInfo;III)V
+HPLcom/android/server/appop/AttributedOp$InProgressStartOpEvent;->finish()V
+PLcom/android/server/appop/AttributedOp$InProgressStartOpEvent;->getAttributionChainId()I
+PLcom/android/server/appop/AttributedOp$InProgressStartOpEvent;->getAttributionFlags()I
+PLcom/android/server/appop/AttributedOp$InProgressStartOpEvent;->getClientId()Landroid/os/IBinder;
+PLcom/android/server/appop/AttributedOp$InProgressStartOpEvent;->getFlags()I
+PLcom/android/server/appop/AttributedOp$InProgressStartOpEvent;->getProxy()Landroid/app/AppOpsManager$OpEventProxyInfo;
+PLcom/android/server/appop/AttributedOp$InProgressStartOpEvent;->getStartElapsedTime()J
+PLcom/android/server/appop/AttributedOp$InProgressStartOpEvent;->getStartTime()J
+PLcom/android/server/appop/AttributedOp$InProgressStartOpEvent;->getUidState()I
+PLcom/android/server/appop/AttributedOp$InProgressStartOpEvent;->getVirtualDeviceId()I
+HPLcom/android/server/appop/AttributedOp$InProgressStartOpEvent;->reinit(JJLandroid/os/IBinder;Ljava/lang/String;ILjava/lang/Runnable;IILandroid/app/AppOpsManager$OpEventProxyInfo;IILandroid/util/Pools$Pool;)V
+HSPLcom/android/server/appop/AttributedOp$InProgressStartOpEventPool;-><init>(Lcom/android/server/appop/AttributedOp$OpEventProxyInfoPool;I)V
+HPLcom/android/server/appop/AttributedOp$InProgressStartOpEventPool;->acquire(JJLandroid/os/IBinder;Ljava/lang/String;ILjava/lang/Runnable;ILjava/lang/String;Ljava/lang/String;IIII)Lcom/android/server/appop/AttributedOp$InProgressStartOpEvent;
+HSPLcom/android/server/appop/AttributedOp$OpEventProxyInfoPool;-><init>(I)V
+HSPLcom/android/server/appop/AttributedOp$OpEventProxyInfoPool;->acquire(ILjava/lang/String;Ljava/lang/String;)Landroid/app/AppOpsManager$OpEventProxyInfo;
+HSPLcom/android/server/appop/AttributedOp;-><init>(Lcom/android/server/appop/AppOpsService;Ljava/lang/String;Ljava/lang/String;Lcom/android/server/appop/AppOpsService$Op;)V
+HPLcom/android/server/appop/AttributedOp;->accessed(ILjava/lang/String;Ljava/lang/String;II)V
+HSPLcom/android/server/appop/AttributedOp;->accessed(JJILjava/lang/String;Ljava/lang/String;II)V
+HPLcom/android/server/appop/AttributedOp;->createAttributedOpEntryLocked()Landroid/app/AppOpsManager$AttributedOpEntry;
+HPLcom/android/server/appop/AttributedOp;->deepClone(Landroid/util/LongSparseArray;)Landroid/util/LongSparseArray;
+HPLcom/android/server/appop/AttributedOp;->finishOrPause(Landroid/os/IBinder;ZZ)V
+HPLcom/android/server/appop/AttributedOp;->finished(Landroid/os/IBinder;)V
+HPLcom/android/server/appop/AttributedOp;->finished(Landroid/os/IBinder;Z)V
+HPLcom/android/server/appop/AttributedOp;->isPaused()Z
+HPLcom/android/server/appop/AttributedOp;->isRunning()Z
+HPLcom/android/server/appop/AttributedOp;->onUidStateChanged(I)V
+HPLcom/android/server/appop/AttributedOp;->rejected(II)V
+HSPLcom/android/server/appop/AttributedOp;->rejected(JII)V
+HPLcom/android/server/appop/AttributedOp;->started(Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;IIIII)V
+HPLcom/android/server/appop/AttributedOp;->startedOrPaused(Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;IIIZZII)V
+PLcom/android/server/appop/AudioRestrictionManager$Restriction;-><clinit>()V
+PLcom/android/server/appop/AudioRestrictionManager$Restriction;-><init>()V
+PLcom/android/server/appop/AudioRestrictionManager$Restriction;-><init>(Lcom/android/server/appop/AudioRestrictionManager$Restriction-IA;)V
+HSPLcom/android/server/appop/AudioRestrictionManager;-><clinit>()V
+HSPLcom/android/server/appop/AudioRestrictionManager;-><init>()V
+PLcom/android/server/appop/AudioRestrictionManager;->checkAudioOperation(IIILjava/lang/String;)I
+HPLcom/android/server/appop/AudioRestrictionManager;->checkZenModeRestrictionLocked(IIILjava/lang/String;)I
+HPLcom/android/server/appop/AudioRestrictionManager;->setZenModeAudioRestriction(IIII[Ljava/lang/String;)V
+PLcom/android/server/appop/DiscreteRegistry$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/appop/DiscreteRegistry;)V
+PLcom/android/server/appop/DiscreteRegistry$DiscreteOp$$ExternalSyntheticLambda0;-><init>()V
+HPLcom/android/server/appop/DiscreteRegistry$DiscreteOp;-><init>(Lcom/android/server/appop/DiscreteRegistry;)V
+PLcom/android/server/appop/DiscreteRegistry$DiscreteOp;->addDiscreteAccess(Ljava/lang/String;IIJJII)V
+HPLcom/android/server/appop/DiscreteRegistry$DiscreteOp;->deserialize(Lcom/android/modules/utils/TypedXmlPullParser;J)V
+HPLcom/android/server/appop/DiscreteRegistry$DiscreteOp;->getOrCreateDiscreteOpEventsList(Ljava/lang/String;)Ljava/util/List;
+HPLcom/android/server/appop/DiscreteRegistry$DiscreteOp;->merge(Lcom/android/server/appop/DiscreteRegistry$DiscreteOp;)V
+HPLcom/android/server/appop/DiscreteRegistry$DiscreteOp;->serialize(Lcom/android/modules/utils/TypedXmlSerializer;)V
+HPLcom/android/server/appop/DiscreteRegistry$DiscreteOpEvent;->-$$Nest$mserialize(Lcom/android/server/appop/DiscreteRegistry$DiscreteOpEvent;Lcom/android/modules/utils/TypedXmlSerializer;)V
+HPLcom/android/server/appop/DiscreteRegistry$DiscreteOpEvent;-><init>(Lcom/android/server/appop/DiscreteRegistry;JJIIII)V
+HPLcom/android/server/appop/DiscreteRegistry$DiscreteOpEvent;->serialize(Lcom/android/modules/utils/TypedXmlSerializer;)V
+PLcom/android/server/appop/DiscreteRegistry$DiscreteOps;->-$$Nest$mclearHistory(Lcom/android/server/appop/DiscreteRegistry$DiscreteOps;ILjava/lang/String;)V
+PLcom/android/server/appop/DiscreteRegistry$DiscreteOps;->-$$Nest$mreadFromFile(Lcom/android/server/appop/DiscreteRegistry$DiscreteOps;Ljava/io/File;J)V
+PLcom/android/server/appop/DiscreteRegistry$DiscreteOps;->-$$Nest$mwriteToStream(Lcom/android/server/appop/DiscreteRegistry$DiscreteOps;Ljava/io/FileOutputStream;)V
+HSPLcom/android/server/appop/DiscreteRegistry$DiscreteOps;-><init>(Lcom/android/server/appop/DiscreteRegistry;I)V
+PLcom/android/server/appop/DiscreteRegistry$DiscreteOps;->addDiscreteAccess(IILjava/lang/String;Ljava/lang/String;IIJJII)V
+HPLcom/android/server/appop/DiscreteRegistry$DiscreteOps;->clearHistory(ILjava/lang/String;)V
+HPLcom/android/server/appop/DiscreteRegistry$DiscreteOps;->getOrCreateDiscreteUidOps(I)Lcom/android/server/appop/DiscreteRegistry$DiscreteUidOps;
+PLcom/android/server/appop/DiscreteRegistry$DiscreteOps;->isEmpty()Z
+HPLcom/android/server/appop/DiscreteRegistry$DiscreteOps;->merge(Lcom/android/server/appop/DiscreteRegistry$DiscreteOps;)V
+HPLcom/android/server/appop/DiscreteRegistry$DiscreteOps;->readFromFile(Ljava/io/File;J)V
+HPLcom/android/server/appop/DiscreteRegistry$DiscreteOps;->writeToStream(Ljava/io/FileOutputStream;)V
+HPLcom/android/server/appop/DiscreteRegistry$DiscretePackageOps;-><init>(Lcom/android/server/appop/DiscreteRegistry;)V
+PLcom/android/server/appop/DiscreteRegistry$DiscretePackageOps;->addDiscreteAccess(ILjava/lang/String;IIJJII)V
+HPLcom/android/server/appop/DiscreteRegistry$DiscretePackageOps;->deserialize(Lcom/android/modules/utils/TypedXmlPullParser;J)V
+HPLcom/android/server/appop/DiscreteRegistry$DiscretePackageOps;->getOrCreateDiscreteOp(I)Lcom/android/server/appop/DiscreteRegistry$DiscreteOp;
+HPLcom/android/server/appop/DiscreteRegistry$DiscretePackageOps;->merge(Lcom/android/server/appop/DiscreteRegistry$DiscretePackageOps;)V
+HPLcom/android/server/appop/DiscreteRegistry$DiscretePackageOps;->serialize(Lcom/android/modules/utils/TypedXmlSerializer;)V
+HPLcom/android/server/appop/DiscreteRegistry$DiscreteUidOps;-><init>(Lcom/android/server/appop/DiscreteRegistry;)V
+PLcom/android/server/appop/DiscreteRegistry$DiscreteUidOps;->addDiscreteAccess(ILjava/lang/String;Ljava/lang/String;IIJJII)V
+HPLcom/android/server/appop/DiscreteRegistry$DiscreteUidOps;->deserialize(Lcom/android/modules/utils/TypedXmlPullParser;J)V
+HPLcom/android/server/appop/DiscreteRegistry$DiscreteUidOps;->getOrCreateDiscretePackageOps(Ljava/lang/String;)Lcom/android/server/appop/DiscreteRegistry$DiscretePackageOps;
+HPLcom/android/server/appop/DiscreteRegistry$DiscreteUidOps;->merge(Lcom/android/server/appop/DiscreteRegistry$DiscreteUidOps;)V
+HPLcom/android/server/appop/DiscreteRegistry$DiscreteUidOps;->serialize(Lcom/android/modules/utils/TypedXmlSerializer;)V
+HPLcom/android/server/appop/DiscreteRegistry;->-$$Nest$smstableListMerge(Ljava/util/List;Ljava/util/List;)Ljava/util/List;
+HSPLcom/android/server/appop/DiscreteRegistry;-><clinit>()V
+HSPLcom/android/server/appop/DiscreteRegistry;-><init>(Ljava/lang/Object;)V
+HPLcom/android/server/appop/DiscreteRegistry;->clearHistory()V
+HPLcom/android/server/appop/DiscreteRegistry;->clearHistory(ILjava/lang/String;)V
+HPLcom/android/server/appop/DiscreteRegistry;->clearOnDiskHistoryLocked()V
+HPLcom/android/server/appop/DiscreteRegistry;->createDiscreteAccessDir()V
+HSPLcom/android/server/appop/DiscreteRegistry;->createDiscreteAccessDirLocked()V
+PLcom/android/server/appop/DiscreteRegistry;->deleteOldDiscreteHistoryFilesLocked()V
+HPLcom/android/server/appop/DiscreteRegistry;->getAllDiscreteOps()Lcom/android/server/appop/DiscreteRegistry$DiscreteOps;
+HPLcom/android/server/appop/DiscreteRegistry;->isDiscreteOp(II)Z
+PLcom/android/server/appop/DiscreteRegistry;->parseOpsList(Ljava/lang/String;)[I
+HPLcom/android/server/appop/DiscreteRegistry;->persistDiscreteOpsLocked(Lcom/android/server/appop/DiscreteRegistry$DiscreteOps;)V
+HPLcom/android/server/appop/DiscreteRegistry;->readDiscreteOpsFromDisk(Lcom/android/server/appop/DiscreteRegistry$DiscreteOps;)V
+HSPLcom/android/server/appop/DiscreteRegistry;->readLargestChainIdFromDiskLocked()I
+HPLcom/android/server/appop/DiscreteRegistry;->recordDiscreteAccess(ILjava/lang/String;ILjava/lang/String;IIJJII)V
+PLcom/android/server/appop/DiscreteRegistry;->setDiscreteHistoryParameters(Landroid/provider/DeviceConfig$Properties;)V
+HPLcom/android/server/appop/DiscreteRegistry;->stableListMerge(Ljava/util/List;Ljava/util/List;)Ljava/util/List;
+PLcom/android/server/appop/DiscreteRegistry;->systemReady()V
+PLcom/android/server/appop/DiscreteRegistry;->writeAndClearAccessHistory()V
+PLcom/android/server/appop/HistoricalRegistry$1;-><init>(Lcom/android/server/appop/HistoricalRegistry;Landroid/os/Handler;Landroid/content/ContentResolver;)V
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->-$$Nest$mcollectHistoricalOpsDLocked(Lcom/android/server/appop/HistoricalRegistry$Persistence;Landroid/app/AppOpsManager$HistoricalOps;ILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;IJJI)V
+PLcom/android/server/appop/HistoricalRegistry$Persistence;-><clinit>()V
+PLcom/android/server/appop/HistoricalRegistry$Persistence;-><init>(JJ)V
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->clearHistoryDLocked()V
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->clearHistoryDLocked(ILjava/lang/String;)V
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->collectHistoricalOpsBaseDLocked(ILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;IJJI)Ljava/util/LinkedList;
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->collectHistoricalOpsDLocked(Landroid/app/AppOpsManager$HistoricalOps;ILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;IJJI)V
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->collectHistoricalOpsRecursiveDLocked(Ljava/io/File;ILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;IJJI[JLjava/util/LinkedList;ILjava/util/Set;)Ljava/util/LinkedList;
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->computeGlobalIntervalBeginMillis(I)J
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->generateFile(Ljava/io/File;I)Ljava/io/File;
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->getHistoricalFileNames(Ljava/io/File;)Ljava/util/Set;
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->getLastPersistTimeMillisDLocked()J
+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;Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;[Ljava/lang/String;IID)Landroid/app/AppOpsManager$HistoricalOps;
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->readHistoricalOpDLocked(Landroid/app/AppOpsManager$HistoricalOps;ILjava/lang/String;Ljava/lang/String;Lcom/android/modules/utils/TypedXmlPullParser;[Ljava/lang/String;IID)Landroid/app/AppOpsManager$HistoricalOps;
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->readHistoricalOpsLocked(Ljava/io/File;ILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;IJJI[J)Ljava/util/List;
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->readHistoricalOpsLocked(Ljava/io/File;JJILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;IJJI[JILjava/util/Set;)Ljava/util/List;
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->readHistoricalPackageOpsDLocked(Landroid/app/AppOpsManager$HistoricalOps;ILcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;IID)Landroid/app/AppOpsManager$HistoricalOps;
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->readHistoricalUidOpsDLocked(Landroid/app/AppOpsManager$HistoricalOps;Lcom/android/modules/utils/TypedXmlPullParser;ILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;IID)Landroid/app/AppOpsManager$HistoricalOps;
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->readHistoryDLocked()Ljava/util/List;
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->readHistoryRawDLocked()Ljava/util/List;
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->readStateDLocked(Landroid/app/AppOpsManager$HistoricalOps;ILjava/lang/String;Ljava/lang/String;ILcom/android/modules/utils/TypedXmlPullParser;ID)Landroid/app/AppOpsManager$HistoricalOps;
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->readeHistoricalOpsDLocked(Lcom/android/modules/utils/TypedXmlPullParser;ILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;IJJI[J)Landroid/app/AppOpsManager$HistoricalOps;
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->writeHistoricalAttributionOpsDLocked(Landroid/app/AppOpsManager$AttributedHistoricalOps;Lcom/android/modules/utils/TypedXmlSerializer;)V
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->writeHistoricalOpDLocked(Landroid/app/AppOpsManager$HistoricalOp;Lcom/android/modules/utils/TypedXmlSerializer;)V
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->writeHistoricalOpDLocked(Landroid/app/AppOpsManager$HistoricalOps;Lcom/android/modules/utils/TypedXmlSerializer;)V
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->writeHistoricalOpsDLocked(Ljava/util/List;JLjava/io/File;)V
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->writeHistoricalPackageOpsDLocked(Landroid/app/AppOpsManager$HistoricalPackageOps;Lcom/android/modules/utils/TypedXmlSerializer;)V
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->writeHistoricalUidOpsDLocked(Landroid/app/AppOpsManager$HistoricalUidOps;Lcom/android/modules/utils/TypedXmlSerializer;)V
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->writeStateOnLocked(Landroid/app/AppOpsManager$HistoricalOp;JLcom/android/modules/utils/TypedXmlSerializer;)V
+HSPLcom/android/server/appop/HistoricalRegistry;-><clinit>()V
+HSPLcom/android/server/appop/HistoricalRegistry;-><init>(Ljava/lang/Object;)V
+HPLcom/android/server/appop/HistoricalRegistry;->clearHistory(ILjava/lang/String;)V
+PLcom/android/server/appop/HistoricalRegistry;->getHistoricalOps(ILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;IIJJI[Ljava/lang/String;Landroid/os/RemoteCallback;)V
+HPLcom/android/server/appop/HistoricalRegistry;->getUpdatedPendingHistoricalOpsMLocked(J)Landroid/app/AppOpsManager$HistoricalOps;
+HPLcom/android/server/appop/HistoricalRegistry;->increaseOpAccessDuration(IILjava/lang/String;Ljava/lang/String;IIJJII)V
+HPLcom/android/server/appop/HistoricalRegistry;->incrementOpAccessedCount(IILjava/lang/String;Ljava/lang/String;IIJII)V
+HPLcom/android/server/appop/HistoricalRegistry;->incrementOpRejected(IILjava/lang/String;Ljava/lang/String;II)V
+HPLcom/android/server/appop/HistoricalRegistry;->isPersistenceInitializedMLocked()Z
+PLcom/android/server/appop/HistoricalRegistry;->persistPendingHistory(Ljava/util/List;)V
+PLcom/android/server/appop/HistoricalRegistry;->systemReady(Landroid/content/ContentResolver;)V
+PLcom/android/server/appop/HistoricalRegistry;->updateParametersFromSetting(Landroid/content/ContentResolver;)V
+PLcom/android/server/appop/HistoricalRegistry;->writeAndClearDiscreteHistory()V
+HPLcom/android/server/appop/OnOpModeChangedListener;-><init>(IIIII)V
+PLcom/android/server/appop/OnOpModeChangedListener;->getCallingPid()I
+PLcom/android/server/appop/OnOpModeChangedListener;->getCallingUid()I
+PLcom/android/server/appop/OnOpModeChangedListener;->getFlags()I
+PLcom/android/server/appop/OnOpModeChangedListener;->getWatchedOpCode()I
+PLcom/android/server/appop/OnOpModeChangedListener;->getWatchingUid()I
+HPLcom/android/server/appop/OnOpModeChangedListener;->isWatchingUid(I)Z
+PLcom/android/server/attention/AttentionManagerService;->getServiceConfigPackage(Landroid/content/Context;)Ljava/lang/String;
+PLcom/android/server/attention/AttentionManagerService;->isServiceConfigured(Landroid/content/Context;)Z
+PLcom/android/server/audio/AdiDeviceState;->getPeristedMaxSize()I
+PLcom/android/server/audio/AudioDeviceBroker$AudioModeInfo;-><init>(III)V
+PLcom/android/server/audio/AudioDeviceBroker$BrokerHandler;-><init>(Lcom/android/server/audio/AudioDeviceBroker;)V
+PLcom/android/server/audio/AudioDeviceBroker$BrokerHandler;-><init>(Lcom/android/server/audio/AudioDeviceBroker;Lcom/android/server/audio/AudioDeviceBroker$BrokerHandler-IA;)V
+HPLcom/android/server/audio/AudioDeviceBroker$BrokerHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/audio/AudioDeviceBroker$BrokerThread;-><init>(Lcom/android/server/audio/AudioDeviceBroker;)V
+PLcom/android/server/audio/AudioDeviceBroker$BrokerThread;->run()V
+PLcom/android/server/audio/AudioDeviceBroker;->-$$Nest$fgetmBtHelper(Lcom/android/server/audio/AudioDeviceBroker;)Lcom/android/server/audio/BtHelper;
+PLcom/android/server/audio/AudioDeviceBroker;->-$$Nest$fgetmDeviceStateLock(Lcom/android/server/audio/AudioDeviceBroker;)Ljava/lang/Object;
+PLcom/android/server/audio/AudioDeviceBroker;->-$$Nest$fputmBrokerHandler(Lcom/android/server/audio/AudioDeviceBroker;Lcom/android/server/audio/AudioDeviceBroker$BrokerHandler;)V
+PLcom/android/server/audio/AudioDeviceBroker;->-$$Nest$monSetForceUse(Lcom/android/server/audio/AudioDeviceBroker;IIZLjava/lang/String;)V
+PLcom/android/server/audio/AudioDeviceBroker;->-$$Nest$monUpdateCommunicationRouteClient(Lcom/android/server/audio/AudioDeviceBroker;ZLjava/lang/String;)V
+PLcom/android/server/audio/AudioDeviceBroker;->-$$Nest$sfgetMESSAGES_MUTE_MUSIC()Ljava/util/Set;
+PLcom/android/server/audio/AudioDeviceBroker;->-$$Nest$smisMessageHandledUnderWakelock(I)Z
+PLcom/android/server/audio/AudioDeviceBroker;-><clinit>()V
+PLcom/android/server/audio/AudioDeviceBroker;-><init>(Landroid/content/Context;Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioSystemAdapter;)V
+PLcom/android/server/audio/AudioDeviceBroker;->clearA2dpSuspended(Z)V
+PLcom/android/server/audio/AudioDeviceBroker;->clearLeAudioSuspended(Z)V
+PLcom/android/server/audio/AudioDeviceBroker;->communnicationDeviceHaCompatOn()Z
+PLcom/android/server/audio/AudioDeviceBroker;->communnicationDeviceLeAudioCompatOn()Z
+PLcom/android/server/audio/AudioDeviceBroker;->dispatchCommunicationDevice()V
+PLcom/android/server/audio/AudioDeviceBroker;->getCommunicationDeviceInt()Landroid/media/AudioDeviceInfo;
+PLcom/android/server/audio/AudioDeviceBroker;->getContext()Landroid/content/Context;
+PLcom/android/server/audio/AudioDeviceBroker;->getDefaultCommunicationDevice()Landroid/media/AudioDeviceAttributes;
+PLcom/android/server/audio/AudioDeviceBroker;->getImmutableDeviceInventory()Ljava/util/Collection;
+PLcom/android/server/audio/AudioDeviceBroker;->handleCancelFailureToConnectToBtHeadsetService()V
+PLcom/android/server/audio/AudioDeviceBroker;->handleFailureToConnectToBtHeadsetService(I)V
+PLcom/android/server/audio/AudioDeviceBroker;->init()V
+PLcom/android/server/audio/AudioDeviceBroker;->initAudioHalBluetoothState()V
+PLcom/android/server/audio/AudioDeviceBroker;->initRoutingStrategyIds()V
+PLcom/android/server/audio/AudioDeviceBroker;->isBluetoothA2dpOn()Z
+PLcom/android/server/audio/AudioDeviceBroker;->isBluetoothScoRequested()Z
+PLcom/android/server/audio/AudioDeviceBroker;->isDeviceActiveForCommunication(I)Z
+PLcom/android/server/audio/AudioDeviceBroker;->isDeviceRequestedForCommunication(I)Z
+PLcom/android/server/audio/AudioDeviceBroker;->isMessageHandledUnderWakelock(I)Z
+PLcom/android/server/audio/AudioDeviceBroker;->isSpeakerphoneActive()Z
+PLcom/android/server/audio/AudioDeviceBroker;->isValidCommunicationDevice(Landroid/media/AudioDeviceInfo;)Z
+PLcom/android/server/audio/AudioDeviceBroker;->isValidCommunicationDeviceType(I)Z
+PLcom/android/server/audio/AudioDeviceBroker;->onReadAudioDeviceSettings()V
+PLcom/android/server/audio/AudioDeviceBroker;->onSetForceUse(IIZLjava/lang/String;)V
+PLcom/android/server/audio/AudioDeviceBroker;->onSystemReady()V
+PLcom/android/server/audio/AudioDeviceBroker;->onUpdateCommunicationRouteClient(ZLjava/lang/String;)V
+PLcom/android/server/audio/AudioDeviceBroker;->onUpdatePhoneStrategyDevice(Landroid/media/AudioDeviceAttributes;)V
+PLcom/android/server/audio/AudioDeviceBroker;->postBroadcastScoConnectionState(I)V
+PLcom/android/server/audio/AudioDeviceBroker;->postBtProfileConnected(ILandroid/bluetooth/BluetoothProfile;)V
+PLcom/android/server/audio/AudioDeviceBroker;->postUpdateCommunicationRouteClient(ZLjava/lang/String;)V
+PLcom/android/server/audio/AudioDeviceBroker;->preferredCommunicationDevice()Landroid/media/AudioDeviceAttributes;
+PLcom/android/server/audio/AudioDeviceBroker;->readDeviceSettings()Ljava/lang/String;
+PLcom/android/server/audio/AudioDeviceBroker;->reapplyAudioHalBluetoothState()V
+PLcom/android/server/audio/AudioDeviceBroker;->requestedCommunicationDevice()Landroid/media/AudioDeviceAttributes;
+PLcom/android/server/audio/AudioDeviceBroker;->sendIILMsg(IIIILjava/lang/Object;I)V
+PLcom/android/server/audio/AudioDeviceBroker;->sendIILMsgNoDelay(IIIILjava/lang/Object;)V
+PLcom/android/server/audio/AudioDeviceBroker;->sendILMsgNoDelay(IIILjava/lang/Object;)V
+PLcom/android/server/audio/AudioDeviceBroker;->sendIMsgNoDelay(III)V
+PLcom/android/server/audio/AudioDeviceBroker;->sendMsg(III)V
+PLcom/android/server/audio/AudioDeviceBroker;->setBluetoothScoOn(ZLjava/lang/String;)V
+PLcom/android/server/audio/AudioDeviceBroker;->setForceUse_Async(IILjava/lang/String;)V
+PLcom/android/server/audio/AudioDeviceBroker;->setupMessaging(Landroid/content/Context;)V
+PLcom/android/server/audio/AudioDeviceBroker;->startWatchingRoutes(Landroid/media/IAudioRoutesObserver;)Landroid/media/AudioRoutesInfo;
+PLcom/android/server/audio/AudioDeviceBroker;->topCommunicationRouteClient()Lcom/android/server/audio/AudioDeviceBroker$CommunicationRouteClient;
+PLcom/android/server/audio/AudioDeviceBroker;->updateActiveCommunicationDevice()V
+PLcom/android/server/audio/AudioDeviceBroker;->updateAudioHalBluetoothState()V
+PLcom/android/server/audio/AudioDeviceBroker;->updateCommunicationRoute(Ljava/lang/String;)V
+PLcom/android/server/audio/AudioDeviceBroker;->updateCommunicationRouteClientsActivity(Ljava/util/List;Ljava/util/List;)V
+PLcom/android/server/audio/AudioDeviceBroker;->waitForBrokerHandlerCreation()V
+PLcom/android/server/audio/AudioDeviceInventory$$ExternalSyntheticLambda36;-><init>(Lcom/android/server/audio/AudioDeviceInventory;)V
+PLcom/android/server/audio/AudioDeviceInventory$$ExternalSyntheticLambda37;-><init>(Lcom/android/server/audio/AudioDeviceInventory;)V
+PLcom/android/server/audio/AudioDeviceInventory$$ExternalSyntheticLambda38;-><init>(Lcom/android/server/audio/AudioDeviceInventory;)V
+PLcom/android/server/audio/AudioDeviceInventory$$ExternalSyntheticLambda7;-><init>(Lcom/android/server/audio/AudioDeviceInventory;)V
+PLcom/android/server/audio/AudioDeviceInventory$1;-><init>(Lcom/android/server/audio/AudioDeviceInventory;)V
+PLcom/android/server/audio/AudioDeviceInventory;-><clinit>()V
+PLcom/android/server/audio/AudioDeviceInventory;-><init>(Lcom/android/server/audio/AudioDeviceBroker;)V
+PLcom/android/server/audio/AudioDeviceInventory;-><init>(Lcom/android/server/audio/AudioDeviceBroker;Lcom/android/server/audio/AudioSystemAdapter;)V
+PLcom/android/server/audio/AudioDeviceInventory;->applyConnectedDevicesRoles()V
+PLcom/android/server/audio/AudioDeviceInventory;->applyConnectedDevicesRoles_l()V
+PLcom/android/server/audio/AudioDeviceInventory;->clearDevicesRole(Landroid/util/ArrayMap;Lcom/android/server/audio/AudioDeviceInventory$AudioSystemInterface;II)I
+PLcom/android/server/audio/AudioDeviceInventory;->clearDevicesRoleForStrategy(IIZ)I
+PLcom/android/server/audio/AudioDeviceInventory;->getImmutableDeviceInventory()Ljava/util/Collection;
+PLcom/android/server/audio/AudioDeviceInventory;->reapplyExternalDevicesRoles()V
+PLcom/android/server/audio/AudioDeviceInventory;->removePreferredDevicesForStrategyInt(I)I
+PLcom/android/server/audio/AudioDeviceInventory;->startWatchingRoutes(Landroid/media/IAudioRoutesObserver;)Landroid/media/AudioRoutesInfo;
+PLcom/android/server/audio/AudioService$$ExternalSyntheticLambda20;-><init>()V
+PLcom/android/server/audio/AudioService$$ExternalSyntheticLambda20;->test(Ljava/lang/Object;)Z
+PLcom/android/server/audio/AudioService$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioService$$ExternalSyntheticLambda6;->accept(Ljava/lang/Object;)V
+PLcom/android/server/audio/AudioService$$ExternalSyntheticLambda7;-><init>(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioService$$ExternalSyntheticLambda8;-><init>()V
+PLcom/android/server/audio/AudioService$$ExternalSyntheticLambda8;->applyAsInt(Ljava/lang/Object;)I
+PLcom/android/server/audio/AudioService$1;-><init>(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioService$1;->onError(I)V
+PLcom/android/server/audio/AudioService$2;-><init>(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioService$3;-><init>(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioService$3;->onDisplayChanged(I)V
+PLcom/android/server/audio/AudioService$4;-><init>(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioService$5;-><init>(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioService$5;->dispatchPlaybackConfigChange(Ljava/util/List;Z)V
+PLcom/android/server/audio/AudioService$6;-><init>(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioService$7;-><init>(Lcom/android/server/audio/AudioService;Landroid/media/IVolumeController;)V
+PLcom/android/server/audio/AudioService$8;-><init>(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioService$AudioHandler;-><init>(Lcom/android/server/audio/AudioService;)V
+HPLcom/android/server/audio/AudioService$AudioHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/audio/AudioService$AudioHandler;->persistVolume(Lcom/android/server/audio/AudioService$VolumeStreamState;I)V
+PLcom/android/server/audio/AudioService$AudioHandler;->setAllVolumes(Lcom/android/server/audio/AudioService$VolumeStreamState;)V
+PLcom/android/server/audio/AudioService$AudioServiceBroadcastReceiver;-><init>(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioService$AudioServiceBroadcastReceiver;-><init>(Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService$AudioServiceBroadcastReceiver-IA;)V
+HPLcom/android/server/audio/AudioService$AudioServiceBroadcastReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/audio/AudioService$AudioServiceInternal;-><init>(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioService$AudioServiceInternal;->getRingerModeInternal()I
+HPLcom/android/server/audio/AudioService$AudioServiceInternal;->setAccessibilityServiceUids(Landroid/util/IntArray;)V
+PLcom/android/server/audio/AudioService$AudioServiceInternal;->setInputMethodServiceUid(I)V
+PLcom/android/server/audio/AudioService$AudioServiceInternal;->setRingerModeDelegate(Landroid/media/AudioManagerInternal$RingerModeDelegate;)V
+PLcom/android/server/audio/AudioService$AudioServiceInternal;->setRingerModeInternal(ILjava/lang/String;)V
+PLcom/android/server/audio/AudioService$AudioServiceInternal;->updateRingerModeAffectedStreamsInternal()V
+PLcom/android/server/audio/AudioService$AudioServiceUserRestrictionsListener;-><init>(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioService$AudioServiceUserRestrictionsListener;-><init>(Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService$AudioServiceUserRestrictionsListener-IA;)V
+PLcom/android/server/audio/AudioService$AudioServiceUserRestrictionsListener;->onUserRestrictionsChanged(ILandroid/os/Bundle;Landroid/os/Bundle;)V
+PLcom/android/server/audio/AudioService$AudioSystemThread;-><init>(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioService$AudioSystemThread;->run()V
+PLcom/android/server/audio/AudioService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/audio/AudioService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/audio/AudioService$Lifecycle;->onStart()V
+PLcom/android/server/audio/AudioService$MyHdmiCecVolumeControlFeatureListener;-><init>(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioService$MyHdmiCecVolumeControlFeatureListener;-><init>(Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService$MyHdmiCecVolumeControlFeatureListener-IA;)V
+PLcom/android/server/audio/AudioService$MyHdmiControlStatusChangeListenerCallback;-><init>(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioService$MyHdmiControlStatusChangeListenerCallback;-><init>(Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService$MyHdmiControlStatusChangeListenerCallback-IA;)V
+PLcom/android/server/audio/AudioService$RestorableParameters$1;-><init>(Lcom/android/server/audio/AudioService$RestorableParameters;)V
+PLcom/android/server/audio/AudioService$RestorableParameters;-><init>()V
+PLcom/android/server/audio/AudioService$RestorableParameters;-><init>(Lcom/android/server/audio/AudioService$RestorableParameters-IA;)V
+PLcom/android/server/audio/AudioService$RoleObserver;-><init>(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioService$RoleObserver;->getAssistantRoleHolder()Ljava/lang/String;
+PLcom/android/server/audio/AudioService$RoleObserver;->register()V
+PLcom/android/server/audio/AudioService$SettingsObserver;-><init>(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioService$VolumeController;-><init>(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioService$VolumeController;->asBinder()Landroid/os/IBinder;
+PLcom/android/server/audio/AudioService$VolumeController;->binder(Landroid/media/IVolumeController;)Landroid/os/IBinder;
+PLcom/android/server/audio/AudioService$VolumeController;->isSameBinder(Landroid/media/IVolumeController;)Z
+PLcom/android/server/audio/AudioService$VolumeController;->loadSettings(Landroid/content/ContentResolver;)V
+PLcom/android/server/audio/AudioService$VolumeController;->postDismiss()V
+PLcom/android/server/audio/AudioService$VolumeController;->setController(Landroid/media/IVolumeController;)V
+PLcom/android/server/audio/AudioService$VolumeController;->setLayoutDirection(I)V
+HPLcom/android/server/audio/AudioService$VolumeGroupState;-><init>(Lcom/android/server/audio/AudioService;Landroid/media/audiopolicy/AudioVolumeGroup;)V
+PLcom/android/server/audio/AudioService$VolumeGroupState;-><init>(Lcom/android/server/audio/AudioService;Landroid/media/audiopolicy/AudioVolumeGroup;Lcom/android/server/audio/AudioService$VolumeGroupState-IA;)V
+HPLcom/android/server/audio/AudioService$VolumeGroupState;->applyAllVolumes(Z)V
+PLcom/android/server/audio/AudioService$VolumeGroupState;->clearIndexCache()V
+PLcom/android/server/audio/AudioService$VolumeGroupState;->getDeviceForVolume()I
+PLcom/android/server/audio/AudioService$VolumeGroupState;->getIndex(I)I
+HPLcom/android/server/audio/AudioService$VolumeGroupState;->getLegacyStreamTypes()[I
+PLcom/android/server/audio/AudioService$VolumeGroupState;->getMinIndex()I
+HPLcom/android/server/audio/AudioService$VolumeGroupState;->getSettingNameForDevice(I)Ljava/lang/String;
+HPLcom/android/server/audio/AudioService$VolumeGroupState;->getValidIndex(I)I
+PLcom/android/server/audio/AudioService$VolumeGroupState;->isMusic()Z
+PLcom/android/server/audio/AudioService$VolumeGroupState;->isMutable()Z
+PLcom/android/server/audio/AudioService$VolumeGroupState;->isMuted()Z
+HPLcom/android/server/audio/AudioService$VolumeGroupState;->isValidStream(I)Z
+HPLcom/android/server/audio/AudioService$VolumeGroupState;->isVssMuteBijective(I)Z
+PLcom/android/server/audio/AudioService$VolumeGroupState;->mute(Z)Z
+PLcom/android/server/audio/AudioService$VolumeGroupState;->name()Ljava/lang/String;
+PLcom/android/server/audio/AudioService$VolumeGroupState;->persistVolumeGroup(I)V
+HPLcom/android/server/audio/AudioService$VolumeGroupState;->readSettings()V
+PLcom/android/server/audio/AudioService$VolumeGroupState;->setSettingName(Ljava/lang/String;)V
+HPLcom/android/server/audio/AudioService$VolumeGroupState;->setVolumeIndexInt(III)V
+HPLcom/android/server/audio/AudioService$VolumeGroupState;->updateVolumeIndex(II)V
+PLcom/android/server/audio/AudioService$VolumeStreamState$1;-><init>(Lcom/android/server/audio/AudioService$VolumeStreamState;I)V
+HPLcom/android/server/audio/AudioService$VolumeStreamState$1;->put(II)V
+HPLcom/android/server/audio/AudioService$VolumeStreamState$1;->record(Ljava/lang/String;II)V
+PLcom/android/server/audio/AudioService$VolumeStreamState;->-$$Nest$fgetmIndexMax(Lcom/android/server/audio/AudioService$VolumeStreamState;)I
+PLcom/android/server/audio/AudioService$VolumeStreamState;->-$$Nest$fgetmIndexMin(Lcom/android/server/audio/AudioService$VolumeStreamState;)I
+HPLcom/android/server/audio/AudioService$VolumeStreamState;->-$$Nest$fgetmIsMuted(Lcom/android/server/audio/AudioService$VolumeStreamState;)Z
+HPLcom/android/server/audio/AudioService$VolumeStreamState;->-$$Nest$fgetmStreamType(Lcom/android/server/audio/AudioService$VolumeStreamState;)I
+PLcom/android/server/audio/AudioService$VolumeStreamState;->-$$Nest$mhasValidSettingsName(Lcom/android/server/audio/AudioService$VolumeStreamState;)Z
+HPLcom/android/server/audio/AudioService$VolumeStreamState;-><init>(Lcom/android/server/audio/AudioService;Ljava/lang/String;I)V
+PLcom/android/server/audio/AudioService$VolumeStreamState;-><init>(Lcom/android/server/audio/AudioService;Ljava/lang/String;ILcom/android/server/audio/AudioService$VolumeStreamState-IA;)V
+HPLcom/android/server/audio/AudioService$VolumeStreamState;->applyAllVolumes()V
+HPLcom/android/server/audio/AudioService$VolumeStreamState;->applyDeviceVolume_syncVSS(I)V
+HPLcom/android/server/audio/AudioService$VolumeStreamState;->checkFixedVolumeDevices()V
+HPLcom/android/server/audio/AudioService$VolumeStreamState;->getAbsoluteVolumeIndex(I)I
+HPLcom/android/server/audio/AudioService$VolumeStreamState;->getIndex(I)I
+PLcom/android/server/audio/AudioService$VolumeStreamState;->getMaxIndex()I
+PLcom/android/server/audio/AudioService$VolumeStreamState;->getMinIndex()I
+HPLcom/android/server/audio/AudioService$VolumeStreamState;->getSettingNameForDevice(I)Ljava/lang/String;
+PLcom/android/server/audio/AudioService$VolumeStreamState;->getStreamType()I
+HPLcom/android/server/audio/AudioService$VolumeStreamState;->getValidIndex(IZ)I
+HPLcom/android/server/audio/AudioService$VolumeStreamState;->hasIndexForDevice(I)Z
+HPLcom/android/server/audio/AudioService$VolumeStreamState;->hasValidSettingsName()Z
+HPLcom/android/server/audio/AudioService$VolumeStreamState;->isFullyMuted()Z
+PLcom/android/server/audio/AudioService$VolumeStreamState;->isMutable()Z
+HPLcom/android/server/audio/AudioService$VolumeStreamState;->observeDevicesForStream_syncVSS(Z)Ljava/util/Set;
+HPLcom/android/server/audio/AudioService$VolumeStreamState;->readSettings()V
+HPLcom/android/server/audio/AudioService$VolumeStreamState;->setAllIndexes(Lcom/android/server/audio/AudioService$VolumeStreamState;Ljava/lang/String;)V
+HPLcom/android/server/audio/AudioService$VolumeStreamState;->setIndex(IILjava/lang/String;Z)Z
+HPLcom/android/server/audio/AudioService$VolumeStreamState;->setStreamVolumeIndex(II)V
+PLcom/android/server/audio/AudioService$VolumeStreamState;->setVolumeGroupState(Lcom/android/server/audio/AudioService$VolumeGroupState;)V
+PLcom/android/server/audio/AudioService$VolumeStreamState;->updateNoPermMinIndex(I)V
+HPLcom/android/server/audio/AudioService$VolumeStreamState;->updateVolumeGroupIndex(IZ)V
+PLcom/android/server/audio/AudioService;->$r8$lambda$8YoXBPw5AJRvFMFFUjQwGxGhzQY(Landroid/media/AudioAttributes;)Z
+PLcom/android/server/audio/AudioService;->$r8$lambda$maUm3rQ2PSmFbQzqlmwf8bqyg_g(Lcom/android/server/audio/AudioService;Landroid/media/PlayerBase;)V
+PLcom/android/server/audio/AudioService;->-$$Nest$fgetmAccessibilityServiceUidsLock(Lcom/android/server/audio/AudioService;)Ljava/lang/Object;
+PLcom/android/server/audio/AudioService;->-$$Nest$fgetmAudioEventWakeLock(Lcom/android/server/audio/AudioService;)Landroid/os/PowerManager$WakeLock;
+PLcom/android/server/audio/AudioService;->-$$Nest$fgetmAudioHandler(Lcom/android/server/audio/AudioService;)Lcom/android/server/audio/AudioService$AudioHandler;
+HPLcom/android/server/audio/AudioService;->-$$Nest$fgetmAudioSystem(Lcom/android/server/audio/AudioService;)Lcom/android/server/audio/AudioSystemAdapter;
+PLcom/android/server/audio/AudioService;->-$$Nest$fgetmCameraSoundForced(Lcom/android/server/audio/AudioService;)Z
+HPLcom/android/server/audio/AudioService;->-$$Nest$fgetmContentResolver(Lcom/android/server/audio/AudioService;)Landroid/content/ContentResolver;
+PLcom/android/server/audio/AudioService;->-$$Nest$fgetmDisplayManager(Lcom/android/server/audio/AudioService;)Landroid/hardware/display/DisplayManager;
+PLcom/android/server/audio/AudioService;->-$$Nest$fgetmInputMethodServiceUid(Lcom/android/server/audio/AudioService;)I
+PLcom/android/server/audio/AudioService;->-$$Nest$fgetmInputMethodServiceUidLock(Lcom/android/server/audio/AudioService;)Ljava/lang/Object;
+PLcom/android/server/audio/AudioService;->-$$Nest$fgetmIsSingleVolume(Lcom/android/server/audio/AudioService;)Z
+PLcom/android/server/audio/AudioService;->-$$Nest$fgetmMediaFocusControl(Lcom/android/server/audio/AudioService;)Lcom/android/server/audio/MediaFocusControl;
+PLcom/android/server/audio/AudioService;->-$$Nest$fgetmMonitorRotation(Lcom/android/server/audio/AudioService;)Z
+PLcom/android/server/audio/AudioService;->-$$Nest$fgetmRingerModeDelegate(Lcom/android/server/audio/AudioService;)Landroid/media/AudioManagerInternal$RingerModeDelegate;
+HPLcom/android/server/audio/AudioService;->-$$Nest$fgetmSettings(Lcom/android/server/audio/AudioService;)Lcom/android/server/audio/SettingsAdapter;
+PLcom/android/server/audio/AudioService;->-$$Nest$fgetmSettingsLock(Lcom/android/server/audio/AudioService;)Ljava/lang/Object;
+PLcom/android/server/audio/AudioService;->-$$Nest$fgetmSoundDoseHelper(Lcom/android/server/audio/AudioService;)Lcom/android/server/audio/SoundDoseHelper;
+HPLcom/android/server/audio/AudioService;->-$$Nest$fgetmStreamStates(Lcom/android/server/audio/AudioService;)[Lcom/android/server/audio/AudioService$VolumeStreamState;
+PLcom/android/server/audio/AudioService;->-$$Nest$fgetmSupportsMicPrivacyToggle(Lcom/android/server/audio/AudioService;)Z
+HPLcom/android/server/audio/AudioService;->-$$Nest$fgetmSystemServer(Lcom/android/server/audio/AudioService;)Lcom/android/server/audio/SystemServerAdapter;
+HPLcom/android/server/audio/AudioService;->-$$Nest$fgetmUseFixedVolume(Lcom/android/server/audio/AudioService;)Z
+PLcom/android/server/audio/AudioService;->-$$Nest$fgetmUserSwitchedReceived(Lcom/android/server/audio/AudioService;)Z
+PLcom/android/server/audio/AudioService;->-$$Nest$fputmAccessibilityServiceUids(Lcom/android/server/audio/AudioService;[I)V
+PLcom/android/server/audio/AudioService;->-$$Nest$fputmAudioHandler(Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService$AudioHandler;)V
+PLcom/android/server/audio/AudioService;->-$$Nest$fputmEnabledSurroundFormats(Lcom/android/server/audio/AudioService;Ljava/lang/String;)V
+PLcom/android/server/audio/AudioService;->-$$Nest$fputmEncodedSurroundMode(Lcom/android/server/audio/AudioService;I)V
+PLcom/android/server/audio/AudioService;->-$$Nest$fputmInputMethodServiceUid(Lcom/android/server/audio/AudioService;I)V
+PLcom/android/server/audio/AudioService;->-$$Nest$fputmRingerModeDelegate(Lcom/android/server/audio/AudioService;Landroid/media/AudioManagerInternal$RingerModeDelegate;)V
+PLcom/android/server/audio/AudioService;->-$$Nest$fputmUserSwitchedReceived(Lcom/android/server/audio/AudioService;Z)V
+PLcom/android/server/audio/AudioService;->-$$Nest$mgetDeviceSetForStreamDirect(Lcom/android/server/audio/AudioService;I)Ljava/util/Set;
+PLcom/android/server/audio/AudioService;->-$$Nest$misA2dpAbsoluteVolumeDevice(Lcom/android/server/audio/AudioService;I)Z
+PLcom/android/server/audio/AudioService;->-$$Nest$misAbsoluteVolumeDevice(Lcom/android/server/audio/AudioService;I)Z
+HPLcom/android/server/audio/AudioService;->-$$Nest$misFixedVolumeDevice(Lcom/android/server/audio/AudioService;I)Z
+HPLcom/android/server/audio/AudioService;->-$$Nest$misFullVolumeDevice(Lcom/android/server/audio/AudioService;I)Z
+PLcom/android/server/audio/AudioService;->-$$Nest$monInitStreamsAndVolumes(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioService;->-$$Nest$monObserveDevicesForAllStreams(Lcom/android/server/audio/AudioService;I)V
+PLcom/android/server/audio/AudioService;->-$$Nest$mreadAudioSettings(Lcom/android/server/audio/AudioService;Z)V
+PLcom/android/server/audio/AudioService;->-$$Nest$mrescaleIndex(Lcom/android/server/audio/AudioService;III)I
+PLcom/android/server/audio/AudioService;->-$$Nest$msendBroadcastToAll(Lcom/android/server/audio/AudioService;Landroid/content/Intent;Landroid/os/Bundle;)V
+PLcom/android/server/audio/AudioService;->-$$Nest$mupdateAssistantUIdLocked(Lcom/android/server/audio/AudioService;Z)V
+PLcom/android/server/audio/AudioService;->-$$Nest$mupdateRingerAndZenModeAffectedStreams(Lcom/android/server/audio/AudioService;)Z
+PLcom/android/server/audio/AudioService;->-$$Nest$smisCallStream(I)Z
+PLcom/android/server/audio/AudioService;->-$$Nest$smsendMsg(Landroid/os/Handler;IIIILjava/lang/Object;I)V
+PLcom/android/server/audio/AudioService;-><clinit>()V
+PLcom/android/server/audio/AudioService;-><init>(Landroid/content/Context;Lcom/android/server/audio/AudioSystemAdapter;Lcom/android/server/audio/SystemServerAdapter;Lcom/android/server/audio/SettingsAdapter;Lcom/android/server/audio/AudioPolicyFacade;Landroid/os/Looper;)V
+HPLcom/android/server/audio/AudioService;-><init>(Landroid/content/Context;Lcom/android/server/audio/AudioSystemAdapter;Lcom/android/server/audio/SystemServerAdapter;Lcom/android/server/audio/SettingsAdapter;Lcom/android/server/audio/AudioPolicyFacade;Landroid/os/Looper;Landroid/app/AppOpsManager;Landroid/os/PermissionEnforcer;)V
+PLcom/android/server/audio/AudioService;->abandonAudioFocus(Landroid/media/IAudioFocusDispatcher;Ljava/lang/String;Landroid/media/AudioAttributes;Ljava/lang/String;)I
+PLcom/android/server/audio/AudioService;->addAssistantServiceUidsLocked([I)V
+PLcom/android/server/audio/AudioService;->broadcastRingerMode(Ljava/lang/String;I)V
+PLcom/android/server/audio/AudioService;->broadcastVibrateSetting(I)V
+HPLcom/android/server/audio/AudioService;->checkAllAliasStreamVolumes()V
+PLcom/android/server/audio/AudioService;->checkAllFixedVolumeDevices()V
+PLcom/android/server/audio/AudioService;->checkMuteAffectedStreams()V
+PLcom/android/server/audio/AudioService;->checkVolumeRangeInitialization(Ljava/lang/String;)Z
+PLcom/android/server/audio/AudioService;->createAudioSystemThread()V
+PLcom/android/server/audio/AudioService;->createStreamStates()V
+PLcom/android/server/audio/AudioService;->dispatchStreamAliasingUpdate()V
+PLcom/android/server/audio/AudioService;->enforceVolumeController(Ljava/lang/String;)V
+HPLcom/android/server/audio/AudioService;->ensureValidAttributes(Landroid/media/audiopolicy/AudioVolumeGroup;)V
+PLcom/android/server/audio/AudioService;->ensureValidRingerMode(I)V
+HPLcom/android/server/audio/AudioService;->ensureValidStreamType(I)V
+PLcom/android/server/audio/AudioService;->forceFocusDuckingForAccessibility(Landroid/media/AudioAttributes;II)Z
+PLcom/android/server/audio/AudioService;->getAudioAidlHalPids(Ljava/util/HashSet;)V
+PLcom/android/server/audio/AudioService;->getAudioHalHidlPids(Ljava/util/HashSet;)V
+PLcom/android/server/audio/AudioService;->getAudioHalPids()Ljava/util/Set;
+PLcom/android/server/audio/AudioService;->getAudioModeOwner()Lcom/android/server/audio/AudioDeviceBroker$AudioModeInfo;
+PLcom/android/server/audio/AudioService;->getAudioModeOwnerHandler()Lcom/android/server/audio/AudioService$SetModeDeathHandler;
+PLcom/android/server/audio/AudioService;->getAudioVolumeGroups()Ljava/util/List;
+PLcom/android/server/audio/AudioService;->getContentResolver()Landroid/content/ContentResolver;
+PLcom/android/server/audio/AudioService;->getCurrentUserId()I
+HPLcom/android/server/audio/AudioService;->getDeviceForStream(I)I
+HPLcom/android/server/audio/AudioService;->getDeviceSetForStream(I)Ljava/util/Set;
+HPLcom/android/server/audio/AudioService;->getDeviceSetForStreamDirect(I)Ljava/util/Set;
+PLcom/android/server/audio/AudioService;->getDeviceVolumeBehaviorInt(Landroid/media/AudioDeviceAttributes;)I
+HPLcom/android/server/audio/AudioService;->getDevicesForAttributesInt(Landroid/media/AudioAttributes;Z)Ljava/util/ArrayList;
+PLcom/android/server/audio/AudioService;->getRingerModeExternal()I
+PLcom/android/server/audio/AudioService;->getRingerModeInternal()I
+PLcom/android/server/audio/AudioService;->getSettings()Lcom/android/server/audio/SettingsAdapter;
+PLcom/android/server/audio/AudioService;->getSettingsNameForDeviceVolumeBehavior(I)Ljava/lang/String;
+PLcom/android/server/audio/AudioService;->getStreamMaxVolume(I)I
+PLcom/android/server/audio/AudioService;->getUiDefaultRescaledIndex(II)I
+PLcom/android/server/audio/AudioService;->getVibrateSetting(I)I
+PLcom/android/server/audio/AudioService;->getVolumeGroupForStreamType(I)I
+PLcom/android/server/audio/AudioService;->getVssVolumeForStream(I)Lcom/android/server/audio/AudioService$VolumeStreamState;
+PLcom/android/server/audio/AudioService;->ignorePlayerLogs(Landroid/media/PlayerBase;)V
+PLcom/android/server/audio/AudioService;->initA11yMonitoring()V
+PLcom/android/server/audio/AudioService;->initExternalEventReceivers()V
+PLcom/android/server/audio/AudioService;->initMinStreamVolumeWithoutModifyAudioSettings()V
+HPLcom/android/server/audio/AudioService;->initVolumeGroupStates()V
+PLcom/android/server/audio/AudioService;->initVolumeStreamStates()V
+HPLcom/android/server/audio/AudioService;->isA2dpAbsoluteVolumeDevice(I)Z
+HPLcom/android/server/audio/AudioService;->isAbsoluteVolumeDevice(I)Z
+PLcom/android/server/audio/AudioService;->isBluetoothA2dpOn()Z
+PLcom/android/server/audio/AudioService;->isCallStream(I)Z
+HPLcom/android/server/audio/AudioService;->isFixedVolumeDevice(I)Z
+HPLcom/android/server/audio/AudioService;->isFullVolumeDevice(I)Z
+PLcom/android/server/audio/AudioService;->isInCommunication()Z
+PLcom/android/server/audio/AudioService;->isMicrophoneSupposedToBeMuted()Z
+PLcom/android/server/audio/AudioService;->isPlatformAutomotive()Z
+PLcom/android/server/audio/AudioService;->isPlatformTelevision()Z
+PLcom/android/server/audio/AudioService;->isStreamAffectedByMute(I)Z
+HPLcom/android/server/audio/AudioService;->isStreamMute(I)Z
+PLcom/android/server/audio/AudioService;->isStreamMutedByRingerOrZenMode(I)Z
+PLcom/android/server/audio/AudioService;->isValidAudioAttributesUsage(Landroid/media/AudioAttributes;)Z
+PLcom/android/server/audio/AudioService;->isValidRingerMode(I)Z
+PLcom/android/server/audio/AudioService;->isVolumeFixed()Z
+PLcom/android/server/audio/AudioService;->lambda$ensureValidAttributes$11(Landroid/media/AudioAttributes;)Z
+PLcom/android/server/audio/AudioService;->lambda$new$0(Landroid/media/PlayerBase;)V
+HPLcom/android/server/audio/AudioService;->muteRingerModeStreams()V
+PLcom/android/server/audio/AudioService;->onAccessibilityServicesStateChanged(Landroid/view/accessibility/AccessibilityManager;)V
+PLcom/android/server/audio/AudioService;->onConfigurationChanged()V
+PLcom/android/server/audio/AudioService;->onIndicateSystemReady()V
+PLcom/android/server/audio/AudioService;->onInitAdiDeviceStates()V
+PLcom/android/server/audio/AudioService;->onInitSpatializer()V
+PLcom/android/server/audio/AudioService;->onInitStreamsAndVolumes()V
+HPLcom/android/server/audio/AudioService;->onObserveDevicesForAllStreams(I)V
+PLcom/android/server/audio/AudioService;->onPlaybackConfigChange(Ljava/util/List;)V
+PLcom/android/server/audio/AudioService;->onSystemReady()V
+PLcom/android/server/audio/AudioService;->onUpdateAccessibilityServiceUids()V
+PLcom/android/server/audio/AudioService;->onUpdateRingerModeServiceInt()V
+PLcom/android/server/audio/AudioService;->playerAttributes(ILandroid/media/AudioAttributes;)V
+PLcom/android/server/audio/AudioService;->playerEvent(III)V
+PLcom/android/server/audio/AudioService;->portEvent(IILandroid/os/PersistableBundle;)V
+PLcom/android/server/audio/AudioService;->postObserveDevicesForAllStreams(I)V
+PLcom/android/server/audio/AudioService;->postUpdateRingerModeServiceInt()V
+PLcom/android/server/audio/AudioService;->queueMsgUnderWakeLock(Landroid/os/Handler;IIILjava/lang/Object;I)V
+PLcom/android/server/audio/AudioService;->readAndSetLowRamDevice()V
+PLcom/android/server/audio/AudioService;->readAudioSettings(Z)V
+PLcom/android/server/audio/AudioService;->readCameraSoundForced()Z
+PLcom/android/server/audio/AudioService;->readDockAudioSettings(Landroid/content/ContentResolver;)V
+HPLcom/android/server/audio/AudioService;->readPersistedSettings()V
+PLcom/android/server/audio/AudioService;->readUserRestrictions()V
+HPLcom/android/server/audio/AudioService;->readVolumeGroupsSettings(Z)V
+PLcom/android/server/audio/AudioService;->registerPlaybackCallback(Landroid/media/IPlaybackConfigDispatcher;)V
+PLcom/android/server/audio/AudioService;->requestAudioFocus(Landroid/media/AudioAttributes;ILandroid/os/IBinder;Landroid/media/IAudioFocusDispatcher;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILandroid/media/audiopolicy/IAudioPolicyCallback;I)I
+HPLcom/android/server/audio/AudioService;->rescaleIndex(III)I
+PLcom/android/server/audio/AudioService;->rescaleIndex(IIIII)I
+PLcom/android/server/audio/AudioService;->resetActiveAssistantUidsLocked()V
+PLcom/android/server/audio/AudioService;->restoreDeviceVolumeBehavior()V
+PLcom/android/server/audio/AudioService;->retrieveStoredDeviceVolumeBehavior(I)I
+PLcom/android/server/audio/AudioService;->scheduleLoadSoundEffects()V
+HPLcom/android/server/audio/AudioService;->selectOneAudioDevice(Ljava/util/Set;)I
+HPLcom/android/server/audio/AudioService;->sendBroadcastToAll(Landroid/content/Intent;Landroid/os/Bundle;)V
+PLcom/android/server/audio/AudioService;->sendEnabledSurroundFormats(Landroid/content/ContentResolver;Z)V
+PLcom/android/server/audio/AudioService;->sendEncodedSurroundMode(ILjava/lang/String;)V
+PLcom/android/server/audio/AudioService;->sendEncodedSurroundMode(Landroid/content/ContentResolver;Ljava/lang/String;)V
+HPLcom/android/server/audio/AudioService;->sendMsg(Landroid/os/Handler;IIIILjava/lang/Object;I)V
+PLcom/android/server/audio/AudioService;->sendStickyBroadcastToAll(Landroid/content/Intent;)V
+HPLcom/android/server/audio/AudioService;->setDeviceVolume(Lcom/android/server/audio/AudioService$VolumeStreamState;I)V
+PLcom/android/server/audio/AudioService;->setMasterMuteInternalNoCallerCheck(ZIILjava/lang/String;)V
+PLcom/android/server/audio/AudioService;->setMicMuteFromSwitchInput()V
+PLcom/android/server/audio/AudioService;->setMicrophoneMuteNoCallerCheck(I)V
+PLcom/android/server/audio/AudioService;->setRingerMode(ILjava/lang/String;Z)V
+PLcom/android/server/audio/AudioService;->setRingerModeExt(I)V
+PLcom/android/server/audio/AudioService;->setRingerModeInt(IZ)V
+PLcom/android/server/audio/AudioService;->setRingerModeInternal(ILjava/lang/String;)V
+PLcom/android/server/audio/AudioService;->setVolumeController(Landroid/media/IVolumeController;)V
+PLcom/android/server/audio/AudioService;->shouldZenMuteStream(I)Z
+PLcom/android/server/audio/AudioService;->startWatchingRoutes(Landroid/media/IAudioRoutesObserver;)Landroid/media/AudioRoutesInfo;
+PLcom/android/server/audio/AudioService;->systemReady()V
+PLcom/android/server/audio/AudioService;->trackPlayer(Landroid/media/PlayerBase$PlayerIdCard;)I
+PLcom/android/server/audio/AudioService;->updateA11yVolumeAlias(Z)V
+PLcom/android/server/audio/AudioService;->updateActiveAssistantServiceUids()V
+PLcom/android/server/audio/AudioService;->updateAssistantServicesUidsLocked()V
+PLcom/android/server/audio/AudioService;->updateAssistantUIdLocked(Z)V
+PLcom/android/server/audio/AudioService;->updateAudioHalPids()V
+PLcom/android/server/audio/AudioService;->updateAudioModeHandlers(Ljava/util/List;Ljava/util/List;)V
+PLcom/android/server/audio/AudioService;->updateDefaultStreamOverrideDelay(Z)V
+PLcom/android/server/audio/AudioService;->updateDefaultVolumes()V
+PLcom/android/server/audio/AudioService;->updateMasterBalance(Landroid/content/ContentResolver;)V
+PLcom/android/server/audio/AudioService;->updateMasterMono(Landroid/content/ContentResolver;)V
+HPLcom/android/server/audio/AudioService;->updateRingerAndZenModeAffectedStreams()Z
+PLcom/android/server/audio/AudioService;->updateStreamVolumeAlias(ZLjava/lang/String;)V
+PLcom/android/server/audio/AudioService;->updateVibratorInfos()V
+HPLcom/android/server/audio/AudioService;->updateVolumeStates(IILjava/lang/String;)V
+PLcom/android/server/audio/AudioService;->updateZenModeAffectedStreams()Z
+PLcom/android/server/audio/AudioService;->validateAudioAttributesUsage(Landroid/media/AudioAttributes;)V
+PLcom/android/server/audio/AudioService;->waitForAudioHandlerCreation()V
+PLcom/android/server/audio/AudioServiceEvents$ForceUseEvent;-><init>(IILjava/lang/String;)V
+PLcom/android/server/audio/AudioServiceEvents$RingerZenMutedStreamsEvent;-><init>(ILjava/lang/String;)V
+PLcom/android/server/audio/AudioServiceEvents$VolChangedBroadcastEvent;-><init>(IIII)V
+PLcom/android/server/audio/AudioSystemAdapter;-><clinit>()V
+PLcom/android/server/audio/AudioSystemAdapter;-><init>()V
+PLcom/android/server/audio/AudioSystemAdapter;->getDefaultAdapter()Lcom/android/server/audio/AudioSystemAdapter;
+HPLcom/android/server/audio/AudioSystemAdapter;->getDevicesForAttributes(Landroid/media/AudioAttributes;Z)Ljava/util/ArrayList;
+HPLcom/android/server/audio/AudioSystemAdapter;->getDevicesForAttributesImpl(Landroid/media/AudioAttributes;Z)Ljava/util/ArrayList;
+HPLcom/android/server/audio/AudioSystemAdapter;->invalidateRoutingCache()V
+PLcom/android/server/audio/AudioSystemAdapter;->isMicrophoneMuted()Z
+PLcom/android/server/audio/AudioSystemAdapter;->muteMicrophone(Z)I
+PLcom/android/server/audio/AudioSystemAdapter;->onRoutingUpdated()V
+PLcom/android/server/audio/AudioSystemAdapter;->setCurrentImeUid(I)I
+PLcom/android/server/audio/AudioSystemAdapter;->setForceUse(II)I
+PLcom/android/server/audio/AudioSystemAdapter;->setRoutingListener(Lcom/android/server/audio/AudioSystemAdapter$OnRoutingUpdatedListener;)V
+HPLcom/android/server/audio/AudioSystemAdapter;->setStreamVolumeIndexAS(III)I
+PLcom/android/server/audio/AudioSystemAdapter;->setVolRangeInitReqListener(Lcom/android/server/audio/AudioSystemAdapter$OnVolRangeInitRequestListener;)V
+PLcom/android/server/audio/BtHelper$1;-><init>(Lcom/android/server/audio/BtHelper;)V
+PLcom/android/server/audio/BtHelper$1;->onServiceConnected(ILandroid/bluetooth/BluetoothProfile;)V
+PLcom/android/server/audio/BtHelper;->-$$Nest$fgetmDeviceBroker(Lcom/android/server/audio/BtHelper;)Lcom/android/server/audio/AudioDeviceBroker;
+PLcom/android/server/audio/BtHelper;-><init>(Lcom/android/server/audio/AudioDeviceBroker;Landroid/content/Context;)V
+PLcom/android/server/audio/BtHelper;->broadcastScoConnectionState(I)V
+PLcom/android/server/audio/BtHelper;->checkScoAudioState()V
+PLcom/android/server/audio/BtHelper;->getBluetoothHeadset()Z
+PLcom/android/server/audio/BtHelper;->isBluetoothScoOn()Z
+PLcom/android/server/audio/BtHelper;->onBroadcastScoConnectionState(I)V
+PLcom/android/server/audio/BtHelper;->onBtProfileConnected(ILandroid/bluetooth/BluetoothProfile;)V
+PLcom/android/server/audio/BtHelper;->onHeadsetProfileConnected(Landroid/bluetooth/BluetoothHeadset;)V
+PLcom/android/server/audio/BtHelper;->onSystemReady()V
+PLcom/android/server/audio/BtHelper;->resetBluetoothSco()V
+PLcom/android/server/audio/BtHelper;->sendStickyBroadcastToAll(Landroid/content/Intent;)V
+PLcom/android/server/audio/DefaultAudioPolicyFacade;-><init>()V
+PLcom/android/server/audio/DefaultAudioPolicyFacade;->getAudioPolicyOrInit()Landroid/media/IAudioPolicyService;
+PLcom/android/server/audio/FadeConfigurations;-><clinit>()V
+PLcom/android/server/audio/FadeConfigurations;-><init>()V
+PLcom/android/server/audio/FadeOutManager;-><init>()V
+PLcom/android/server/audio/FadeOutManager;->removeReleased(Landroid/media/AudioPlaybackConfiguration;)V
+PLcom/android/server/audio/FadeOutManager;->unfadeOutUid(ILjava/util/Map;)V
+PLcom/android/server/audio/FocusRequester;-><init>(Landroid/media/AudioAttributes;IILandroid/media/IAudioFocusDispatcher;Landroid/os/IBinder;Ljava/lang/String;Lcom/android/server/audio/MediaFocusControl$AudioFocusDeathHandler;Ljava/lang/String;ILcom/android/server/audio/MediaFocusControl;I)V
+PLcom/android/server/audio/FocusRequester;->finalize()V
+PLcom/android/server/audio/FocusRequester;->getClientUid()I
+PLcom/android/server/audio/FocusRequester;->handleFocusGainFromRequest(I)V
+PLcom/android/server/audio/FocusRequester;->hasSameClient(Ljava/lang/String;)Z
+PLcom/android/server/audio/FocusRequester;->maybeRelease()V
+PLcom/android/server/audio/FocusRequester;->release()V
+PLcom/android/server/audio/FocusRequester;->toAudioFocusInfo()Landroid/media/AudioFocusInfo;
+PLcom/android/server/audio/HardeningEnforcer;-><init>(Landroid/content/Context;Z)V
+PLcom/android/server/audio/LoudnessCodecHelper$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/audio/LoudnessCodecHelper;)V
+PLcom/android/server/audio/LoudnessCodecHelper$LoudnessRemoteCallbackList;-><init>(Lcom/android/server/audio/LoudnessCodecHelper;)V
+PLcom/android/server/audio/LoudnessCodecHelper;-><clinit>()V
+PLcom/android/server/audio/LoudnessCodecHelper;-><init>(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/LoudnessCodecHelper;->updateCodecParameters(Ljava/util/List;)V
+PLcom/android/server/audio/MediaFocusControl$4;-><init>(Lcom/android/server/audio/MediaFocusControl;Landroid/os/Looper;)V
+PLcom/android/server/audio/MediaFocusControl$AudioFocusDeathHandler;-><init>(Lcom/android/server/audio/MediaFocusControl;Landroid/os/IBinder;)V
+PLcom/android/server/audio/MediaFocusControl$ForgetFadeUidInfo;-><init>(I)V
+PLcom/android/server/audio/MediaFocusControl;-><clinit>()V
+PLcom/android/server/audio/MediaFocusControl;-><init>(Landroid/content/Context;Lcom/android/server/audio/PlayerFocusEnforcer;)V
+PLcom/android/server/audio/MediaFocusControl;->abandonAudioFocus(Landroid/media/IAudioFocusDispatcher;Ljava/lang/String;Landroid/media/AudioAttributes;Ljava/lang/String;)I
+PLcom/android/server/audio/MediaFocusControl;->canReassignAudioFocus()Z
+PLcom/android/server/audio/MediaFocusControl;->getFocusRampTimeMs(ILandroid/media/AudioAttributes;)I
+PLcom/android/server/audio/MediaFocusControl;->initFocusThreading()V
+PLcom/android/server/audio/MediaFocusControl;->isFocusFrozenForTest()Z
+PLcom/android/server/audio/MediaFocusControl;->maybeDiscardAudioFocusOwner()Z
+PLcom/android/server/audio/MediaFocusControl;->notifyExtPolicyFocusGrant_syncAf(Landroid/media/AudioFocusInfo;I)V
+PLcom/android/server/audio/MediaFocusControl;->notifyExtPolicyFocusLoss_syncAf(Landroid/media/AudioFocusInfo;Z)V
+PLcom/android/server/audio/MediaFocusControl;->notifyTopOfAudioFocusStack()V
+PLcom/android/server/audio/MediaFocusControl;->propagateFocusLossFromGain_syncAf(ILcom/android/server/audio/FocusRequester;Z)V
+PLcom/android/server/audio/MediaFocusControl;->removeFocusStackEntry(Ljava/lang/String;ZZ)V
+HPLcom/android/server/audio/MediaFocusControl;->requestAudioFocus(Landroid/media/AudioAttributes;ILandroid/os/IBinder;Landroid/media/IAudioFocusDispatcher;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIZI)I
+PLcom/android/server/audio/MediaFocusControl;->restoreVShapedPlayers(Lcom/android/server/audio/FocusRequester;)V
+PLcom/android/server/audio/MusicFxHelper$1;-><init>(Lcom/android/server/audio/MusicFxHelper;)V
+PLcom/android/server/audio/MusicFxHelper$2;-><init>(Lcom/android/server/audio/MusicFxHelper;)V
+PLcom/android/server/audio/MusicFxHelper$MySparseArray;-><init>(Lcom/android/server/audio/MusicFxHelper;)V
+PLcom/android/server/audio/MusicFxHelper$MySparseArray;-><init>(Lcom/android/server/audio/MusicFxHelper;Lcom/android/server/audio/MusicFxHelper$MySparseArray-IA;)V
+PLcom/android/server/audio/MusicFxHelper;-><init>(Landroid/content/Context;Lcom/android/server/audio/AudioService$AudioHandler;)V
+PLcom/android/server/audio/PlaybackActivityMonitor$1;-><init>(Lcom/android/server/audio/PlaybackActivityMonitor;Landroid/os/Looper;)V
+PLcom/android/server/audio/PlaybackActivityMonitor$1;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/audio/PlaybackActivityMonitor$AudioAttrEvent;-><init>(ILandroid/media/AudioAttributes;)V
+PLcom/android/server/audio/PlaybackActivityMonitor$DuckingManager;-><init>()V
+PLcom/android/server/audio/PlaybackActivityMonitor$DuckingManager;-><init>(Lcom/android/server/audio/PlaybackActivityMonitor$DuckingManager-IA;)V
+PLcom/android/server/audio/PlaybackActivityMonitor$DuckingManager;->removeReleased(Landroid/media/AudioPlaybackConfiguration;)V
+PLcom/android/server/audio/PlaybackActivityMonitor$DuckingManager;->unduckUid(ILjava/util/HashMap;)V
+HPLcom/android/server/audio/PlaybackActivityMonitor$NewPlayerEvent;-><init>(Landroid/media/AudioPlaybackConfiguration;)V
+PLcom/android/server/audio/PlaybackActivityMonitor$PlayMonitorClient;-><init>(Landroid/media/IPlaybackConfigDispatcher;Z)V
+PLcom/android/server/audio/PlaybackActivityMonitor$PlayMonitorClient;->dispatchPlaybackConfigChange(Ljava/util/List;Z)V
+PLcom/android/server/audio/PlaybackActivityMonitor$PlayMonitorClient;->init()Z
+PLcom/android/server/audio/PlaybackActivityMonitor$PlayMonitorClient;->isPrivileged()Z
+PLcom/android/server/audio/PlaybackActivityMonitor$PlayMonitorClient;->reachedMaxErrorCount()Z
+PLcom/android/server/audio/PlaybackActivityMonitor$PlayerEvent;-><init>(III)V
+PLcom/android/server/audio/PlaybackActivityMonitor;->-$$Nest$fgetmPlayerLock(Lcom/android/server/audio/PlaybackActivityMonitor;)Ljava/lang/Object;
+PLcom/android/server/audio/PlaybackActivityMonitor;->-$$Nest$fgetmPortIdToPiid(Lcom/android/server/audio/PlaybackActivityMonitor;)Landroid/util/SparseIntArray;
+PLcom/android/server/audio/PlaybackActivityMonitor;-><clinit>()V
+PLcom/android/server/audio/PlaybackActivityMonitor;-><init>(Landroid/content/Context;ILjava/util/function/Consumer;)V
+PLcom/android/server/audio/PlaybackActivityMonitor;->checkConfigurationCaller(ILandroid/media/AudioPlaybackConfiguration;I)Z
+PLcom/android/server/audio/PlaybackActivityMonitor;->checkVolumeForPrivilegedAlarm(Landroid/media/AudioPlaybackConfiguration;I)V
+PLcom/android/server/audio/PlaybackActivityMonitor;->dispatchPlaybackChange(Z)V
+PLcom/android/server/audio/PlaybackActivityMonitor;->ignorePlayerIId(I)V
+PLcom/android/server/audio/PlaybackActivityMonitor;->initEventHandler()V
+PLcom/android/server/audio/PlaybackActivityMonitor;->maybeMutePlayerAwaitingConnection(Landroid/media/AudioPlaybackConfiguration;)V
+PLcom/android/server/audio/PlaybackActivityMonitor;->playerAttributes(ILandroid/media/AudioAttributes;I)V
+PLcom/android/server/audio/PlaybackActivityMonitor;->playerDeath(I)V
+PLcom/android/server/audio/PlaybackActivityMonitor;->playerEvent(IIII)V
+PLcom/android/server/audio/PlaybackActivityMonitor;->portEvent(IILandroid/os/PersistableBundle;I)V
+PLcom/android/server/audio/PlaybackActivityMonitor;->registerPlaybackCallback(Landroid/media/IPlaybackConfigDispatcher;Z)V
+PLcom/android/server/audio/PlaybackActivityMonitor;->releasePlayer(II)V
+PLcom/android/server/audio/PlaybackActivityMonitor;->restoreVShapedPlayers(Lcom/android/server/audio/FocusRequester;)V
+HPLcom/android/server/audio/PlaybackActivityMonitor;->trackPlayer(Landroid/media/PlayerBase$PlayerIdCard;)I
+PLcom/android/server/audio/RecordingActivityMonitor$RecMonitorClient;-><init>(Landroid/media/IRecordingConfigDispatcher;Z)V
+PLcom/android/server/audio/RecordingActivityMonitor$RecMonitorClient;->init()Z
+PLcom/android/server/audio/RecordingActivityMonitor;-><clinit>()V
+PLcom/android/server/audio/RecordingActivityMonitor;-><init>(Landroid/content/Context;)V
+PLcom/android/server/audio/RecordingActivityMonitor;->initMonitor()V
+PLcom/android/server/audio/RecordingActivityMonitor;->registerRecordingCallback(Landroid/media/IRecordingConfigDispatcher;Z)V
+PLcom/android/server/audio/SettingsAdapter;-><init>()V
+PLcom/android/server/audio/SettingsAdapter;->getDefaultAdapter()Lcom/android/server/audio/SettingsAdapter;
+PLcom/android/server/audio/SettingsAdapter;->getGlobalInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
+PLcom/android/server/audio/SettingsAdapter;->getGlobalString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/audio/SettingsAdapter;->getSecureIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)I
+PLcom/android/server/audio/SettingsAdapter;->getSecureStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
+HPLcom/android/server/audio/SettingsAdapter;->getSystemIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)I
+PLcom/android/server/audio/SettingsAdapter;->putGlobalInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
+PLcom/android/server/audio/SettingsAdapter;->putSystemIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)Z
+PLcom/android/server/audio/SoundDoseHelper$1;-><init>(Lcom/android/server/audio/SoundDoseHelper;)V
+PLcom/android/server/audio/SoundDoseHelper;-><init>(Lcom/android/server/audio/AudioService;Landroid/content/Context;Lcom/android/server/audio/AudioService$AudioHandler;Lcom/android/server/audio/SettingsAdapter;Lcom/android/server/audio/AudioService$ISafeHearingVolumeController;)V
+PLcom/android/server/audio/SoundDoseHelper;->configureSafeMedia(ZLjava/lang/String;)V
+PLcom/android/server/audio/SoundDoseHelper;->enforceSafeMediaVolume(Ljava/lang/String;)V
+PLcom/android/server/audio/SoundDoseHelper;->enforceSafeMediaVolumeIfActive(Ljava/lang/String;)V
+PLcom/android/server/audio/SoundDoseHelper;->getSafeDeviceMediaVolumeIndex(I)I
+PLcom/android/server/audio/SoundDoseHelper;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/audio/SoundDoseHelper;->initCachedAudioDeviceCategories(Ljava/util/Collection;)V
+PLcom/android/server/audio/SoundDoseHelper;->initCsd()V
+PLcom/android/server/audio/SoundDoseHelper;->initSafeMediaVolumeIndex()V
+PLcom/android/server/audio/SoundDoseHelper;->initSafeVolumes()V
+PLcom/android/server/audio/SoundDoseHelper;->onConfigureSafeMedia(ZLjava/lang/String;)V
+PLcom/android/server/audio/SoundDoseHelper;->onPersistSafeVolumeState(I)V
+PLcom/android/server/audio/SoundDoseHelper;->restoreMusicActiveMs()V
+PLcom/android/server/audio/SoundDoseHelper;->safeMediaVolumeIndex(I)I
+PLcom/android/server/audio/SoundDoseHelper;->updateCsdEnabled(Ljava/lang/String;)V
+PLcom/android/server/audio/SoundDoseHelper;->updateDoseAttenuation(IIIZ)V
+PLcom/android/server/audio/SoundDoseHelper;->updateSafeMediaVolume_l(Ljava/lang/String;)V
+PLcom/android/server/audio/SoundEffectsHelper$1;-><init>(Lcom/android/server/audio/SoundEffectsHelper;)V
+PLcom/android/server/audio/SoundEffectsHelper$1;->run(Z)V
+PLcom/android/server/audio/SoundEffectsHelper$Resource;-><init>(Ljava/lang/String;)V
+PLcom/android/server/audio/SoundEffectsHelper$SfxHandler;-><init>(Lcom/android/server/audio/SoundEffectsHelper;)V
+PLcom/android/server/audio/SoundEffectsHelper$SfxHandler;-><init>(Lcom/android/server/audio/SoundEffectsHelper;Lcom/android/server/audio/SoundEffectsHelper$SfxHandler-IA;)V
+PLcom/android/server/audio/SoundEffectsHelper$SfxHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/audio/SoundEffectsHelper$SfxWorker;-><init>(Lcom/android/server/audio/SoundEffectsHelper;)V
+PLcom/android/server/audio/SoundEffectsHelper$SfxWorker;->run()V
+PLcom/android/server/audio/SoundEffectsHelper$SoundPoolLoader;-><init>(Lcom/android/server/audio/SoundEffectsHelper;)V
+PLcom/android/server/audio/SoundEffectsHelper$SoundPoolLoader;->addHandler(Lcom/android/server/audio/SoundEffectsHelper$OnEffectsLoadCompleteHandler;)V
+PLcom/android/server/audio/SoundEffectsHelper$SoundPoolLoader;->onComplete(Z)V
+PLcom/android/server/audio/SoundEffectsHelper;->-$$Nest$fgetmSoundPool(Lcom/android/server/audio/SoundEffectsHelper;)Landroid/media/SoundPool;
+PLcom/android/server/audio/SoundEffectsHelper;->-$$Nest$fputmSfxHandler(Lcom/android/server/audio/SoundEffectsHelper;Lcom/android/server/audio/SoundEffectsHelper$SfxHandler;)V
+PLcom/android/server/audio/SoundEffectsHelper;->-$$Nest$fputmSoundPoolLoader(Lcom/android/server/audio/SoundEffectsHelper;Lcom/android/server/audio/SoundEffectsHelper$SoundPoolLoader;)V
+PLcom/android/server/audio/SoundEffectsHelper;->-$$Nest$mlogEvent(Lcom/android/server/audio/SoundEffectsHelper;Ljava/lang/String;)V
+PLcom/android/server/audio/SoundEffectsHelper;->-$$Nest$monLoadSoundEffects(Lcom/android/server/audio/SoundEffectsHelper;Lcom/android/server/audio/SoundEffectsHelper$OnEffectsLoadCompleteHandler;)V
+PLcom/android/server/audio/SoundEffectsHelper;-><init>(Landroid/content/Context;Ljava/util/function/Consumer;)V
+PLcom/android/server/audio/SoundEffectsHelper;->allNavigationRepeatSoundsParsed(Ljava/util/Map;)Z
+PLcom/android/server/audio/SoundEffectsHelper;->findOrAddResourceByFileName(Ljava/lang/String;)I
+HPLcom/android/server/audio/SoundEffectsHelper;->getResourceFilePath(Lcom/android/server/audio/SoundEffectsHelper$Resource;)Ljava/lang/String;
+PLcom/android/server/audio/SoundEffectsHelper;->loadSoundAssetDefaults()V
+PLcom/android/server/audio/SoundEffectsHelper;->loadSoundAssets()V
+PLcom/android/server/audio/SoundEffectsHelper;->loadSoundEffects(Lcom/android/server/audio/SoundEffectsHelper$OnEffectsLoadCompleteHandler;)V
+PLcom/android/server/audio/SoundEffectsHelper;->logEvent(Ljava/lang/String;)V
+HPLcom/android/server/audio/SoundEffectsHelper;->onLoadSoundEffects(Lcom/android/server/audio/SoundEffectsHelper$OnEffectsLoadCompleteHandler;)V
+PLcom/android/server/audio/SoundEffectsHelper;->sendMsg(IIILjava/lang/Object;I)V
+PLcom/android/server/audio/SoundEffectsHelper;->startWorker()V
+PLcom/android/server/audio/SpatializerHelper$1;-><init>(I)V
+PLcom/android/server/audio/SpatializerHelper$SpatializerHeadTrackingCallback;-><init>(Lcom/android/server/audio/SpatializerHelper;)V
+PLcom/android/server/audio/SpatializerHelper$SpatializerHeadTrackingCallback;-><init>(Lcom/android/server/audio/SpatializerHelper;Lcom/android/server/audio/SpatializerHelper$SpatializerHeadTrackingCallback-IA;)V
+PLcom/android/server/audio/SpatializerHelper;-><clinit>()V
+PLcom/android/server/audio/SpatializerHelper;-><init>(Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioSystemAdapter;Lcom/android/server/audio/AudioDeviceBroker;ZZZ)V
+PLcom/android/server/audio/SpatializerHelper;->init(Z)V
+PLcom/android/server/audio/SpatializerHelper;->loglogi(Ljava/lang/String;)V
+PLcom/android/server/audio/SpatializerHelper;->setFeatureEnabled(Z)V
+PLcom/android/server/audio/SystemServerAdapter$1;-><init>(Lcom/android/server/audio/SystemServerAdapter;)V
+PLcom/android/server/audio/SystemServerAdapter$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/audio/SystemServerAdapter;-><init>(Landroid/content/Context;)V
+PLcom/android/server/audio/SystemServerAdapter;->getDefaultAdapter(Landroid/content/Context;)Lcom/android/server/audio/SystemServerAdapter;
+PLcom/android/server/audio/SystemServerAdapter;->isPrivileged()Z
+PLcom/android/server/audio/SystemServerAdapter;->registerUserStartedReceiver(Landroid/content/Context;)V
+PLcom/android/server/backup/BackupAgentTimeoutParameters;-><init>(Landroid/os/Handler;Landroid/content/ContentResolver;)V
+PLcom/android/server/backup/BackupAgentTimeoutParameters;->getSettingValue(Landroid/content/ContentResolver;)Ljava/lang/String;
+PLcom/android/server/backup/BackupAgentTimeoutParameters;->update(Landroid/util/KeyValueListParser;)V
+PLcom/android/server/backup/BackupAndRestoreFeatureFlags;->getBackupTransportFutureTimeoutMillis()J
+PLcom/android/server/backup/BackupManagerConstants;-><init>(Landroid/os/Handler;Landroid/content/ContentResolver;)V
+PLcom/android/server/backup/BackupManagerConstants;->getKeyValueBackupFuzzMilliseconds()J
+PLcom/android/server/backup/BackupManagerConstants;->getKeyValueBackupIntervalMilliseconds()J
+PLcom/android/server/backup/BackupManagerConstants;->getKeyValueBackupRequireCharging()Z
+PLcom/android/server/backup/BackupManagerConstants;->getKeyValueBackupRequiredNetworkType()I
+PLcom/android/server/backup/BackupManagerConstants;->getSettingValue(Landroid/content/ContentResolver;)Ljava/lang/String;
+PLcom/android/server/backup/BackupManagerConstants;->update(Landroid/util/KeyValueListParser;)V
+PLcom/android/server/backup/BackupManagerService$1;-><init>(Lcom/android/server/backup/BackupManagerService;)V
+PLcom/android/server/backup/BackupManagerService$Lifecycle$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/backup/BackupManagerService$Lifecycle$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/backup/BackupManagerService$Lifecycle;->$r8$lambda$tO1pYFIf1Pz1lck-Xhogn_8LPto(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/backup/BackupManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/backup/BackupManagerService$Lifecycle;-><init>(Landroid/content/Context;Lcom/android/server/backup/BackupManagerService;)V
+PLcom/android/server/backup/BackupManagerService$Lifecycle;->lambda$onUserUnlocking$0(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/backup/BackupManagerService$Lifecycle;->onStart()V
+PLcom/android/server/backup/BackupManagerService$Lifecycle;->onUserUnlocking(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/backup/BackupManagerService$Lifecycle;->publishService(Ljava/lang/String;Landroid/os/IBinder;)V
+PLcom/android/server/backup/BackupManagerService;->-$$Nest$fputmHasFirstUserUnlockedSinceBoot(Lcom/android/server/backup/BackupManagerService;Z)V
+PLcom/android/server/backup/BackupManagerService;->-$$Nest$mupdateDefaultBackupUserIdIfNeeded(Lcom/android/server/backup/BackupManagerService;)V
+PLcom/android/server/backup/BackupManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/backup/BackupManagerService;->binderGetCallingUserId()I
+PLcom/android/server/backup/BackupManagerService;->dataChanged(ILjava/lang/String;)V
+PLcom/android/server/backup/BackupManagerService;->dataChanged(Ljava/lang/String;)V
+PLcom/android/server/backup/BackupManagerService;->dataChangedForUser(ILjava/lang/String;)V
+PLcom/android/server/backup/BackupManagerService;->enforceCallingPermissionOnUserId(ILjava/lang/String;)V
+PLcom/android/server/backup/BackupManagerService;->getCurrentTransport()Ljava/lang/String;
+PLcom/android/server/backup/BackupManagerService;->getCurrentTransport(I)Ljava/lang/String;
+PLcom/android/server/backup/BackupManagerService;->getCurrentTransportComponent(I)Landroid/content/ComponentName;
+PLcom/android/server/backup/BackupManagerService;->getCurrentTransportComponentForUser(I)Landroid/content/ComponentName;
+PLcom/android/server/backup/BackupManagerService;->getCurrentTransportForUser(I)Ljava/lang/String;
+PLcom/android/server/backup/BackupManagerService;->getServiceForUserIfCallerHasPermission(ILjava/lang/String;)Lcom/android/server/backup/UserBackupManagerService;
+PLcom/android/server/backup/BackupManagerService;->getSuppressFileForUser(I)Ljava/io/File;
+PLcom/android/server/backup/BackupManagerService;->getUserManager()Landroid/os/UserManager;
+PLcom/android/server/backup/BackupManagerService;->isBackupActivatedForUser(I)Z
+PLcom/android/server/backup/BackupManagerService;->isBackupDisabled()Z
+PLcom/android/server/backup/BackupManagerService;->isBackupEnabled()Z
+PLcom/android/server/backup/BackupManagerService;->isBackupEnabled(I)Z
+PLcom/android/server/backup/BackupManagerService;->isBackupEnabledForUser(I)Z
+HPLcom/android/server/backup/BackupManagerService;->isUserReadyForBackup(I)Z
+PLcom/android/server/backup/BackupManagerService;->postToHandler(Ljava/lang/Runnable;)V
+PLcom/android/server/backup/BackupManagerService;->startServiceForUser(I)V
+PLcom/android/server/backup/BackupManagerService;->startServiceForUser(ILcom/android/server/backup/UserBackupManagerService;)V
+PLcom/android/server/backup/BackupManagerService;->updateDefaultBackupUserIdIfNeeded()V
+PLcom/android/server/backup/BackupManagerService;->updateTransportAttributes(ILandroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/CharSequence;)V
+PLcom/android/server/backup/BackupManagerService;->updateTransportAttributesForUser(ILandroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/CharSequence;)V
+PLcom/android/server/backup/BackupPasswordManager$PasswordHashFileCodec;-><init>()V
+PLcom/android/server/backup/BackupPasswordManager$PasswordHashFileCodec;-><init>(Lcom/android/server/backup/BackupPasswordManager$PasswordHashFileCodec-IA;)V
+PLcom/android/server/backup/BackupPasswordManager$PasswordVersionFileCodec;-><init>()V
+PLcom/android/server/backup/BackupPasswordManager$PasswordVersionFileCodec;-><init>(Lcom/android/server/backup/BackupPasswordManager$PasswordVersionFileCodec-IA;)V
+PLcom/android/server/backup/BackupPasswordManager;-><init>(Landroid/content/Context;Ljava/io/File;Ljava/security/SecureRandom;)V
+PLcom/android/server/backup/BackupPasswordManager;->getPasswordHashFile()Ljava/io/File;
+PLcom/android/server/backup/BackupPasswordManager;->getPasswordHashFileCodec()Lcom/android/server/backup/utils/DataStreamFileCodec;
+PLcom/android/server/backup/BackupPasswordManager;->getPasswordVersionFileCodec()Lcom/android/server/backup/utils/DataStreamFileCodec;
+PLcom/android/server/backup/BackupPasswordManager;->loadStateFromFilesystem()V
+PLcom/android/server/backup/DataChangedJournal;-><init>(Ljava/io/File;)V
+HPLcom/android/server/backup/DataChangedJournal;->addPackage(Ljava/lang/String;)V
+PLcom/android/server/backup/DataChangedJournal;->equals(Ljava/lang/Object;)Z
+HPLcom/android/server/backup/DataChangedJournal;->forEach(Ljava/util/function/Consumer;)V
+PLcom/android/server/backup/DataChangedJournal;->listJournals(Ljava/io/File;)Ljava/util/ArrayList;
+PLcom/android/server/backup/DataChangedJournal;->newJournal(Ljava/io/File;)Lcom/android/server/backup/DataChangedJournal;
+PLcom/android/server/backup/JobIdManager;->getJobIdForUserId(III)I
+PLcom/android/server/backup/KeyValueBackupJob;-><clinit>()V
+PLcom/android/server/backup/KeyValueBackupJob;->cancel(ILandroid/content/Context;)V
+PLcom/android/server/backup/KeyValueBackupJob;->clearScheduledForUserId(I)V
+PLcom/android/server/backup/KeyValueBackupJob;->getJobIdForUserId(I)I
+HPLcom/android/server/backup/KeyValueBackupJob;->schedule(ILandroid/content/Context;JLcom/android/server/backup/UserBackupManagerService;)V
+PLcom/android/server/backup/KeyValueBackupJob;->schedule(ILandroid/content/Context;Lcom/android/server/backup/UserBackupManagerService;)V
+PLcom/android/server/backup/PackageManagerBackupAgent;->getStorableApplications(Landroid/content/pm/PackageManager;ILcom/android/server/backup/utils/BackupEligibilityRules;)Ljava/util/List;
+PLcom/android/server/backup/ProcessedPackagesJournal;-><init>(Ljava/io/File;)V
+PLcom/android/server/backup/ProcessedPackagesJournal;->init()V
+PLcom/android/server/backup/ProcessedPackagesJournal;->loadFromDisk()V
+PLcom/android/server/backup/SetUtils;->union(Ljava/util/Set;Ljava/util/Set;)Ljava/util/Set;
+PLcom/android/server/backup/TransportManager$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/backup/TransportManager$$ExternalSyntheticLambda1;-><init>()V
+PLcom/android/server/backup/TransportManager$$ExternalSyntheticLambda1;->test(Ljava/lang/Object;)Z
+PLcom/android/server/backup/TransportManager$TransportDescription;->-$$Nest$fgetname(Lcom/android/server/backup/TransportManager$TransportDescription;)Ljava/lang/String;
+PLcom/android/server/backup/TransportManager$TransportDescription;->-$$Nest$fputconfigurationIntent(Lcom/android/server/backup/TransportManager$TransportDescription;Landroid/content/Intent;)V
+PLcom/android/server/backup/TransportManager$TransportDescription;->-$$Nest$fputcurrentDestinationString(Lcom/android/server/backup/TransportManager$TransportDescription;Ljava/lang/String;)V
+PLcom/android/server/backup/TransportManager$TransportDescription;->-$$Nest$fputdataManagementIntent(Lcom/android/server/backup/TransportManager$TransportDescription;Landroid/content/Intent;)V
+PLcom/android/server/backup/TransportManager$TransportDescription;->-$$Nest$fputdataManagementLabel(Lcom/android/server/backup/TransportManager$TransportDescription;Ljava/lang/CharSequence;)V
+PLcom/android/server/backup/TransportManager$TransportDescription;->-$$Nest$fputname(Lcom/android/server/backup/TransportManager$TransportDescription;Ljava/lang/String;)V
+PLcom/android/server/backup/TransportManager$TransportDescription;-><init>(Ljava/lang/String;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/CharSequence;)V
+PLcom/android/server/backup/TransportManager$TransportDescription;-><init>(Ljava/lang/String;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/CharSequence;Lcom/android/server/backup/TransportManager$TransportDescription-IA;)V
+PLcom/android/server/backup/TransportManager;->$r8$lambda$velBFHaSmoGaDDo2t7urM380RiQ(Landroid/content/ComponentName;)Z
+PLcom/android/server/backup/TransportManager;-><init>(ILandroid/content/Context;Ljava/util/Set;Ljava/lang/String;)V
+PLcom/android/server/backup/TransportManager;->addUserIdToLogMessage(ILjava/lang/String;)Ljava/lang/String;
+PLcom/android/server/backup/TransportManager;->checkCanUseTransport()V
+PLcom/android/server/backup/TransportManager;->getCurrentTransportComponent()Landroid/content/ComponentName;
+PLcom/android/server/backup/TransportManager;->getCurrentTransportName()Ljava/lang/String;
+PLcom/android/server/backup/TransportManager;->getRegisteredTransportComponentLocked(Ljava/lang/String;)Landroid/content/ComponentName;
+PLcom/android/server/backup/TransportManager;->getRegisteredTransportComponentOrThrowLocked(Ljava/lang/String;)Landroid/content/ComponentName;
+PLcom/android/server/backup/TransportManager;->getRegisteredTransportEntryLocked(Ljava/lang/String;)Ljava/util/Map$Entry;
+PLcom/android/server/backup/TransportManager;->isTransportTrusted(Landroid/content/ComponentName;)Z
+PLcom/android/server/backup/TransportManager;->lambda$registerTransports$2(Landroid/content/ComponentName;)Z
+PLcom/android/server/backup/TransportManager;->registerTransport(Landroid/content/ComponentName;)I
+PLcom/android/server/backup/TransportManager;->registerTransport(Landroid/content/ComponentName;Lcom/android/server/backup/transport/BackupTransportClient;)V
+PLcom/android/server/backup/TransportManager;->registerTransports()V
+PLcom/android/server/backup/TransportManager;->registerTransportsForIntent(Landroid/content/Intent;Ljava/util/function/Predicate;)V
+PLcom/android/server/backup/TransportManager;->setOnTransportRegisteredListener(Lcom/android/server/backup/transport/OnTransportRegisteredListener;)V
+PLcom/android/server/backup/TransportManager;->updateTransportAttributes(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/CharSequence;)V
+PLcom/android/server/backup/UserBackupManagerFilePersistedSettings;->readBackupEnableState(I)Z
+PLcom/android/server/backup/UserBackupManagerFilePersistedSettings;->readBackupEnableState(Ljava/io/File;)Z
+PLcom/android/server/backup/UserBackupManagerFiles;->getBaseStateDir(I)Ljava/io/File;
+PLcom/android/server/backup/UserBackupManagerFiles;->getDataDir(I)Ljava/io/File;
+PLcom/android/server/backup/UserBackupManagerService$$ExternalSyntheticLambda13;-><init>(Lcom/android/server/backup/UserBackupManagerService;Ljava/util/Set;)V
+PLcom/android/server/backup/UserBackupManagerService$$ExternalSyntheticLambda13;->accept(Ljava/lang/Object;)V
+PLcom/android/server/backup/UserBackupManagerService$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/backup/UserBackupManagerService;)V
+PLcom/android/server/backup/UserBackupManagerService$$ExternalSyntheticLambda1;->onTransportRegistered(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/backup/UserBackupManagerService$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/backup/TransportManager;)V
+PLcom/android/server/backup/UserBackupManagerService$$ExternalSyntheticLambda2;->run()V
+PLcom/android/server/backup/UserBackupManagerService$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/backup/UserBackupManagerService;)V
+PLcom/android/server/backup/UserBackupManagerService$$ExternalSyntheticLambda3;->run()V
+PLcom/android/server/backup/UserBackupManagerService$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/backup/utils/BackupManagerMonitorDumpsysUtils;)V
+PLcom/android/server/backup/UserBackupManagerService$$ExternalSyntheticLambda4;->run()V
+PLcom/android/server/backup/UserBackupManagerService$1;-><init>(Lcom/android/server/backup/UserBackupManagerService;)V
+PLcom/android/server/backup/UserBackupManagerService$2;-><init>(Lcom/android/server/backup/UserBackupManagerService;)V
+PLcom/android/server/backup/UserBackupManagerService$4;-><init>(Lcom/android/server/backup/UserBackupManagerService;Ljava/lang/String;Ljava/util/HashSet;)V
+PLcom/android/server/backup/UserBackupManagerService$4;->run()V
+PLcom/android/server/backup/UserBackupManagerService$BackupWakeLock;-><init>(Landroid/os/PowerManager$WakeLock;I)V
+PLcom/android/server/backup/UserBackupManagerService;->$r8$lambda$60zOjkfZNFT-L6ih-nuCamP1L9M(Lcom/android/server/backup/UserBackupManagerService;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/backup/UserBackupManagerService;->$r8$lambda$heFkS8m3IlrBwPfiAIdWm8iF68E(Lcom/android/server/backup/UserBackupManagerService;Ljava/util/Set;Ljava/lang/String;)V
+PLcom/android/server/backup/UserBackupManagerService;->$r8$lambda$qmyqqN_oMikkXxYcMY9KUtmLjwk(Lcom/android/server/backup/UserBackupManagerService;)V
+PLcom/android/server/backup/UserBackupManagerService;->-$$Nest$mdataChangedImpl(Lcom/android/server/backup/UserBackupManagerService;Ljava/lang/String;Ljava/util/HashSet;)V
+HPLcom/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
+PLcom/android/server/backup/UserBackupManagerService;->addPackageParticipantsLocked([Ljava/lang/String;)V
+PLcom/android/server/backup/UserBackupManagerService;->addPackageParticipantsLockedInner(Ljava/lang/String;Ljava/util/List;)V
+PLcom/android/server/backup/UserBackupManagerService;->addUserIdToLogMessage(ILjava/lang/String;)Ljava/lang/String;
+HPLcom/android/server/backup/UserBackupManagerService;->allAgentPackages()Ljava/util/List;
+PLcom/android/server/backup/UserBackupManagerService;->createAndInitializeService(ILandroid/content/Context;Lcom/android/server/backup/BackupManagerService;Landroid/os/HandlerThread;Ljava/io/File;Ljava/io/File;Lcom/android/server/backup/TransportManager;)Lcom/android/server/backup/UserBackupManagerService;
+PLcom/android/server/backup/UserBackupManagerService;->createAndInitializeService(ILandroid/content/Context;Lcom/android/server/backup/BackupManagerService;Ljava/util/Set;)Lcom/android/server/backup/UserBackupManagerService;
+PLcom/android/server/backup/UserBackupManagerService;->dataChanged(Ljava/lang/String;)V
+PLcom/android/server/backup/UserBackupManagerService;->dataChangedImpl(Ljava/lang/String;)V
+HPLcom/android/server/backup/UserBackupManagerService;->dataChangedImpl(Ljava/lang/String;Ljava/util/HashSet;)V
+HPLcom/android/server/backup/UserBackupManagerService;->dataChangedTargets(Ljava/lang/String;)Ljava/util/HashSet;
+PLcom/android/server/backup/UserBackupManagerService;->getAgentTimeoutParameters()Lcom/android/server/backup/BackupAgentTimeoutParameters;
+PLcom/android/server/backup/UserBackupManagerService;->getConstants()Lcom/android/server/backup/BackupManagerConstants;
+PLcom/android/server/backup/UserBackupManagerService;->getContext()Landroid/content/Context;
+PLcom/android/server/backup/UserBackupManagerService;->getCurrentTransport()Ljava/lang/String;
+PLcom/android/server/backup/UserBackupManagerService;->getCurrentTransportComponent()Landroid/content/ComponentName;
+PLcom/android/server/backup/UserBackupManagerService;->getEligibilityRules(Landroid/content/pm/PackageManager;ILandroid/content/Context;I)Lcom/android/server/backup/utils/BackupEligibilityRules;
+PLcom/android/server/backup/UserBackupManagerService;->getSetupCompleteSettingForUser(Landroid/content/Context;I)Z
+PLcom/android/server/backup/UserBackupManagerService;->getTransportManager()Lcom/android/server/backup/TransportManager;
+PLcom/android/server/backup/UserBackupManagerService;->getUserId()I
+PLcom/android/server/backup/UserBackupManagerService;->initPackageTracking()V
+PLcom/android/server/backup/UserBackupManagerService;->initializeBackupEnableState()V
+PLcom/android/server/backup/UserBackupManagerService;->isBackupEnabled()Z
+PLcom/android/server/backup/UserBackupManagerService;->isFrameworkSchedulingEnabled()Z
+PLcom/android/server/backup/UserBackupManagerService;->lambda$parseLeftoverJournals$0(Ljava/util/Set;Ljava/lang/String;)V
+PLcom/android/server/backup/UserBackupManagerService;->onTransportRegistered(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/backup/UserBackupManagerService;->parseLeftoverJournals()V
+PLcom/android/server/backup/UserBackupManagerService;->readEnabledState()Z
+HPLcom/android/server/backup/UserBackupManagerService;->readFullBackupSchedule()Ljava/util/ArrayList;
+PLcom/android/server/backup/UserBackupManagerService;->setBackupEnabled(ZZ)V
+PLcom/android/server/backup/UserBackupManagerService;->updateStateOnBackupEnabled(ZZ)V
+PLcom/android/server/backup/UserBackupManagerService;->updateTransportAttributes(ILandroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/CharSequence;)V
+PLcom/android/server/backup/UserBackupManagerService;->updateTransportAttributes(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/CharSequence;)V
+PLcom/android/server/backup/UserBackupManagerService;->writeToJournalLocked(Ljava/lang/String;)V
+PLcom/android/server/backup/UserBackupPreferences;-><init>(Landroid/content/Context;Ljava/io/File;)V
+HPLcom/android/server/backup/fullbackup/FullBackupEntry;-><init>(Ljava/lang/String;J)V
+HPLcom/android/server/backup/fullbackup/FullBackupEntry;->compareTo(Lcom/android/server/backup/fullbackup/FullBackupEntry;)I
+PLcom/android/server/backup/fullbackup/FullBackupEntry;->compareTo(Ljava/lang/Object;)I
+PLcom/android/server/backup/internal/BackupHandler;-><init>(Lcom/android/server/backup/UserBackupManagerService;Lcom/android/server/backup/OperationStorage;Landroid/os/HandlerThread;)V
+PLcom/android/server/backup/internal/BackupHandler;->dispatchMessage(Landroid/os/Message;)V
+PLcom/android/server/backup/internal/BackupHandler;->dispatchMessageInternal(Landroid/os/Message;)V
+HPLcom/android/server/backup/internal/BackupHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/backup/internal/LifecycleOperationStorage;-><init>(I)V
+PLcom/android/server/backup/internal/RunInitializeReceiver;-><init>(Lcom/android/server/backup/UserBackupManagerService;)V
+PLcom/android/server/backup/internal/SetupObserver;-><init>(Lcom/android/server/backup/UserBackupManagerService;Landroid/os/Handler;)V
+PLcom/android/server/backup/keyvalue/BackupRequest;-><init>(Ljava/lang/String;)V
+PLcom/android/server/backup/transport/BackupTransportClient$TransportFutures;-><init>()V
+PLcom/android/server/backup/transport/BackupTransportClient$TransportFutures;-><init>(Lcom/android/server/backup/transport/BackupTransportClient$TransportFutures-IA;)V
+PLcom/android/server/backup/transport/BackupTransportClient$TransportFutures;->newFuture()Lcom/android/internal/infra/AndroidFuture;
+PLcom/android/server/backup/transport/BackupTransportClient$TransportFutures;->remove(Lcom/android/internal/infra/AndroidFuture;)V
+PLcom/android/server/backup/transport/BackupTransportClient$TransportStatusCallbackPool;-><init>()V
+PLcom/android/server/backup/transport/BackupTransportClient$TransportStatusCallbackPool;-><init>(Lcom/android/server/backup/transport/BackupTransportClient$TransportStatusCallbackPool-IA;)V
+PLcom/android/server/backup/transport/BackupTransportClient;-><init>(Lcom/android/internal/backup/IBackupTransport;)V
+PLcom/android/server/backup/transport/BackupTransportClient;->configurationIntent()Landroid/content/Intent;
+PLcom/android/server/backup/transport/BackupTransportClient;->currentDestinationString()Ljava/lang/String;
+PLcom/android/server/backup/transport/BackupTransportClient;->dataManagementIntent()Landroid/content/Intent;
+PLcom/android/server/backup/transport/BackupTransportClient;->dataManagementIntentLabel()Ljava/lang/CharSequence;
+HPLcom/android/server/backup/transport/BackupTransportClient;->getFutureResult(Lcom/android/internal/infra/AndroidFuture;)Ljava/lang/Object;
+PLcom/android/server/backup/transport/BackupTransportClient;->name()Ljava/lang/String;
+PLcom/android/server/backup/transport/BackupTransportClient;->transportDirName()Ljava/lang/String;
+PLcom/android/server/backup/transport/TransportConnection$$ExternalSyntheticLambda0;-><init>(Ljava/util/concurrent/CompletableFuture;)V
+PLcom/android/server/backup/transport/TransportConnection$$ExternalSyntheticLambda0;->onTransportConnectionResult(Lcom/android/server/backup/transport/BackupTransportClient;Lcom/android/server/backup/transport/TransportConnection;)V
+PLcom/android/server/backup/transport/TransportConnection$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/backup/transport/TransportConnection;Lcom/android/server/backup/transport/TransportConnectionListener;Lcom/android/server/backup/transport/BackupTransportClient;)V
+PLcom/android/server/backup/transport/TransportConnection$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/backup/transport/TransportConnection$TransportConnectionMonitor;-><init>(Landroid/content/Context;Lcom/android/server/backup/transport/TransportConnection;)V
+PLcom/android/server/backup/transport/TransportConnection$TransportConnectionMonitor;-><init>(Landroid/content/Context;Lcom/android/server/backup/transport/TransportConnection;Lcom/android/server/backup/transport/TransportConnection$TransportConnectionMonitor-IA;)V
+PLcom/android/server/backup/transport/TransportConnection$TransportConnectionMonitor;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/backup/transport/TransportConnection;->$r8$lambda$_NPv7c2usY4KXACL8fH382mvHRc(Ljava/util/concurrent/CompletableFuture;Lcom/android/server/backup/transport/BackupTransportClient;Lcom/android/server/backup/transport/TransportConnection;)V
+PLcom/android/server/backup/transport/TransportConnection;->$r8$lambda$jVSSVWqIk1ltkKJM8W2iUWztX6Y(Lcom/android/server/backup/transport/TransportConnection;Lcom/android/server/backup/transport/TransportConnectionListener;Lcom/android/server/backup/transport/BackupTransportClient;)V
+PLcom/android/server/backup/transport/TransportConnection;->-$$Nest$monServiceConnected(Lcom/android/server/backup/transport/TransportConnection;Landroid/os/IBinder;)V
+PLcom/android/server/backup/transport/TransportConnection;-><init>(ILandroid/content/Context;Lcom/android/server/backup/transport/TransportStats;Landroid/content/Intent;Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/backup/transport/TransportConnection;-><init>(ILandroid/content/Context;Lcom/android/server/backup/transport/TransportStats;Landroid/content/Intent;Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Landroid/os/Handler;)V
+PLcom/android/server/backup/transport/TransportConnection;->checkState(ZLjava/lang/String;)V
+PLcom/android/server/backup/transport/TransportConnection;->checkStateIntegrityLocked()V
+PLcom/android/server/backup/transport/TransportConnection;->connect(Ljava/lang/String;)Lcom/android/server/backup/transport/BackupTransportClient;
+PLcom/android/server/backup/transport/TransportConnection;->connectAsync(Lcom/android/server/backup/transport/TransportConnectionListener;Ljava/lang/String;)V
+PLcom/android/server/backup/transport/TransportConnection;->connectOrThrow(Ljava/lang/String;)Lcom/android/server/backup/transport/BackupTransportClient;
+PLcom/android/server/backup/transport/TransportConnection;->finalize()V
+PLcom/android/server/backup/transport/TransportConnection;->lambda$connect$0(Ljava/util/concurrent/CompletableFuture;Lcom/android/server/backup/transport/BackupTransportClient;Lcom/android/server/backup/transport/TransportConnection;)V
+PLcom/android/server/backup/transport/TransportConnection;->lambda$notifyListener$1(Lcom/android/server/backup/transport/TransportConnectionListener;Lcom/android/server/backup/transport/BackupTransportClient;)V
+PLcom/android/server/backup/transport/TransportConnection;->log(ILjava/lang/String;)V
+PLcom/android/server/backup/transport/TransportConnection;->log(ILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/backup/transport/TransportConnection;->markAsDisposed()V
+PLcom/android/server/backup/transport/TransportConnection;->notifyListener(Lcom/android/server/backup/transport/TransportConnectionListener;Lcom/android/server/backup/transport/BackupTransportClient;Ljava/lang/String;)V
+PLcom/android/server/backup/transport/TransportConnection;->notifyListenersAndClearLocked(Lcom/android/server/backup/transport/BackupTransportClient;)V
+PLcom/android/server/backup/transport/TransportConnection;->onServiceConnected(Landroid/os/IBinder;)V
+PLcom/android/server/backup/transport/TransportConnection;->onStateTransition(II)V
+HPLcom/android/server/backup/transport/TransportConnection;->saveLogEntry(Ljava/lang/String;)V
+HPLcom/android/server/backup/transport/TransportConnection;->setStateLocked(ILcom/android/server/backup/transport/BackupTransportClient;)V
+PLcom/android/server/backup/transport/TransportConnection;->stateToString(I)Ljava/lang/String;
+PLcom/android/server/backup/transport/TransportConnection;->toString()Ljava/lang/String;
+PLcom/android/server/backup/transport/TransportConnection;->transitionThroughState(III)I
+PLcom/android/server/backup/transport/TransportConnection;->unbind(Ljava/lang/String;)V
+PLcom/android/server/backup/transport/TransportConnectionManager$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/backup/transport/TransportConnectionManager$$ExternalSyntheticLambda0;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/backup/transport/TransportConnectionManager;->$r8$lambda$Pwv1Wjcrv8QltS66ojkBLq7QJvg(Landroid/content/ComponentName;)Landroid/content/Intent;
+PLcom/android/server/backup/transport/TransportConnectionManager;-><init>(ILandroid/content/Context;Lcom/android/server/backup/transport/TransportStats;)V
+PLcom/android/server/backup/transport/TransportConnectionManager;-><init>(ILandroid/content/Context;Lcom/android/server/backup/transport/TransportStats;Ljava/util/function/Function;)V
+PLcom/android/server/backup/transport/TransportConnectionManager;->disposeOfTransportClient(Lcom/android/server/backup/transport/TransportConnection;Ljava/lang/String;)V
+PLcom/android/server/backup/transport/TransportConnectionManager;->getRealTransportIntent(Landroid/content/ComponentName;)Landroid/content/Intent;
+PLcom/android/server/backup/transport/TransportConnectionManager;->getTransportClient(Landroid/content/ComponentName;Landroid/os/Bundle;Ljava/lang/String;)Lcom/android/server/backup/transport/TransportConnection;
+PLcom/android/server/backup/transport/TransportConnectionManager;->getTransportClient(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;)Lcom/android/server/backup/transport/TransportConnection;
+PLcom/android/server/backup/transport/TransportStats$Stats;->-$$Nest$mregister(Lcom/android/server/backup/transport/TransportStats$Stats;J)V
+PLcom/android/server/backup/transport/TransportStats$Stats;-><init>()V
+PLcom/android/server/backup/transport/TransportStats$Stats;->register(J)V
+PLcom/android/server/backup/transport/TransportStats;-><init>()V
+PLcom/android/server/backup/transport/TransportStats;->registerConnectionTime(Landroid/content/ComponentName;J)V
+HPLcom/android/server/backup/transport/TransportUtils;->formatMessage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/backup/transport/TransportUtils;->log(ILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/backup/utils/BackupEligibilityRules;-><clinit>()V
+PLcom/android/server/backup/utils/BackupEligibilityRules;-><init>(Landroid/content/pm/PackageManager;Landroid/content/pm/PackageManagerInternal;ILandroid/content/Context;I)V
+PLcom/android/server/backup/utils/BackupEligibilityRules;-><init>(Landroid/content/pm/PackageManager;Landroid/content/pm/PackageManagerInternal;ILandroid/content/Context;IZ)V
+HPLcom/android/server/backup/utils/BackupEligibilityRules;->appGetsFullBackup(Landroid/content/pm/PackageInfo;)Z
+HPLcom/android/server/backup/utils/BackupEligibilityRules;->appIsDisabled(Landroid/content/pm/ApplicationInfo;)Z
+HPLcom/android/server/backup/utils/BackupEligibilityRules;->appIsEligibleForBackup(Landroid/content/pm/ApplicationInfo;)Z
+HPLcom/android/server/backup/utils/BackupEligibilityRules;->isAppBackupAllowed(Landroid/content/pm/ApplicationInfo;)Z
+PLcom/android/server/backup/utils/BackupManagerMonitorDumpsysUtils;-><clinit>()V
+PLcom/android/server/backup/utils/BackupManagerMonitorDumpsysUtils;-><init>()V
+PLcom/android/server/backup/utils/BackupManagerMonitorDumpsysUtils;->deleteExpiredBMMEvents()Z
+PLcom/android/server/backup/utils/BackupManagerMonitorDumpsysUtils;->getSetUpDateFile()Ljava/io/File;
+PLcom/android/server/backup/utils/BackupManagerMonitorDumpsysUtils;->isAfterRetentionPeriod()Z
+PLcom/android/server/backup/utils/DataStreamFileCodec;-><init>(Ljava/io/File;Lcom/android/server/backup/utils/DataStreamCodec;)V
+PLcom/android/server/backup/utils/DataStreamFileCodec;->deserialize()Ljava/lang/Object;
+HPLcom/android/server/backup/utils/SparseArrayUtils;->union(Landroid/util/SparseArray;)Ljava/util/HashSet;
+PLcom/android/server/biometrics/AuthService$AuthServiceImpl;-><init>(Lcom/android/server/biometrics/AuthService;)V
+PLcom/android/server/biometrics/AuthService$AuthServiceImpl;-><init>(Lcom/android/server/biometrics/AuthService;Lcom/android/server/biometrics/AuthService$AuthServiceImpl-IA;)V
+PLcom/android/server/biometrics/AuthService$Injector;-><init>()V
+PLcom/android/server/biometrics/AuthService$Injector;->getBiometricService()Landroid/hardware/biometrics/IBiometricService;
+PLcom/android/server/biometrics/AuthService$Injector;->getConfiguration(Landroid/content/Context;)[Ljava/lang/String;
+PLcom/android/server/biometrics/AuthService$Injector;->getFaceService()Landroid/hardware/face/IFaceService;
+PLcom/android/server/biometrics/AuthService$Injector;->getFingerprintService()Landroid/hardware/fingerprint/IFingerprintService;
+PLcom/android/server/biometrics/AuthService$Injector;->getIrisService()Landroid/hardware/iris/IIrisService;
+PLcom/android/server/biometrics/AuthService$Injector;->isHidlDisabled(Landroid/content/Context;)Z
+PLcom/android/server/biometrics/AuthService$Injector;->publishBinderService(Lcom/android/server/biometrics/AuthService;Landroid/hardware/biometrics/IAuthService$Stub;)V
+PLcom/android/server/biometrics/AuthService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/biometrics/AuthService;-><init>(Landroid/content/Context;Lcom/android/server/biometrics/AuthService$Injector;)V
+PLcom/android/server/biometrics/AuthService;->access$000(Lcom/android/server/biometrics/AuthService;Ljava/lang/String;Landroid/os/IBinder;)V
+PLcom/android/server/biometrics/AuthService;->onStart()V
+PLcom/android/server/biometrics/AuthService;->registerAuthenticators([Lcom/android/server/biometrics/SensorConfig;)V
+PLcom/android/server/biometrics/BiometricCameraManagerImpl$1;-><init>(Lcom/android/server/biometrics/BiometricCameraManagerImpl;)V
+PLcom/android/server/biometrics/BiometricCameraManagerImpl;-><init>(Landroid/hardware/camera2/CameraManager;Landroid/hardware/SensorPrivacyManager;)V
+PLcom/android/server/biometrics/BiometricHandlerProvider;-><clinit>()V
+PLcom/android/server/biometrics/BiometricHandlerProvider;-><init>()V
+PLcom/android/server/biometrics/BiometricHandlerProvider;->getBiometricCallbackHandler()Landroid/os/Handler;
+PLcom/android/server/biometrics/BiometricHandlerProvider;->getInstance()Lcom/android/server/biometrics/BiometricHandlerProvider;
+PLcom/android/server/biometrics/BiometricHandlerProvider;->getNewHandler(Ljava/lang/String;)Landroid/os/Handler;
+PLcom/android/server/biometrics/BiometricService$3;-><init>(Lcom/android/server/biometrics/BiometricService;)V
+PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;-><init>(Lcom/android/server/biometrics/BiometricService;)V
+PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;-><init>(Lcom/android/server/biometrics/BiometricService;Lcom/android/server/biometrics/BiometricService$BiometricServiceWrapper-IA;)V
+PLcom/android/server/biometrics/BiometricService$Injector$$ExternalSyntheticLambda0;-><init>(Ljava/util/concurrent/atomic/AtomicLong;)V
+PLcom/android/server/biometrics/BiometricService$Injector;-><init>()V
+PLcom/android/server/biometrics/BiometricService$Injector;->getActivityManagerService()Landroid/app/IActivityManager;
+PLcom/android/server/biometrics/BiometricService$Injector;->getBiometricCameraManager(Landroid/content/Context;)Lcom/android/server/biometrics/BiometricCameraManager;
+PLcom/android/server/biometrics/BiometricService$Injector;->getBiometricContext(Landroid/content/Context;)Lcom/android/server/biometrics/log/BiometricContext;
+PLcom/android/server/biometrics/BiometricService$Injector;->getBiometricStrengthController(Lcom/android/server/biometrics/BiometricService;)Lcom/android/server/biometrics/BiometricStrengthController;
+PLcom/android/server/biometrics/BiometricService$Injector;->getDevicePolicyManager(Landroid/content/Context;)Landroid/app/admin/DevicePolicyManager;
+PLcom/android/server/biometrics/BiometricService$Injector;->getGateKeeperService()Landroid/service/gatekeeper/IGateKeeperService;
+PLcom/android/server/biometrics/BiometricService$Injector;->getKeyStore()Landroid/security/KeyStore;
+PLcom/android/server/biometrics/BiometricService$Injector;->getKeystoreAuthorizationService()Landroid/security/authorization/IKeystoreAuthorization;
+PLcom/android/server/biometrics/BiometricService$Injector;->getRequestGenerator()Ljava/util/function/Supplier;
+PLcom/android/server/biometrics/BiometricService$Injector;->getSettingObserver(Landroid/content/Context;Landroid/os/Handler;Ljava/util/List;)Lcom/android/server/biometrics/BiometricService$SettingObserver;
+PLcom/android/server/biometrics/BiometricService$Injector;->getStatusBarService()Lcom/android/internal/statusbar/IStatusBarService;
+PLcom/android/server/biometrics/BiometricService$Injector;->getTrustManager()Landroid/app/trust/ITrustManager;
+PLcom/android/server/biometrics/BiometricService$Injector;->getUserManager(Landroid/content/Context;)Landroid/os/UserManager;
+PLcom/android/server/biometrics/BiometricService$Injector;->publishBinderService(Lcom/android/server/biometrics/BiometricService;Landroid/hardware/biometrics/IBiometricService$Stub;)V
+PLcom/android/server/biometrics/BiometricService$SettingObserver;-><init>(Landroid/content/Context;Landroid/os/Handler;Ljava/util/List;)V
+PLcom/android/server/biometrics/BiometricService$SettingObserver;->updateContentObserver()V
+PLcom/android/server/biometrics/BiometricService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/biometrics/BiometricService;-><init>(Landroid/content/Context;Lcom/android/server/biometrics/BiometricService$Injector;Lcom/android/server/biometrics/BiometricHandlerProvider;)V
+PLcom/android/server/biometrics/BiometricService;->access$000(Lcom/android/server/biometrics/BiometricService;Ljava/lang/String;Landroid/os/IBinder;)V
+PLcom/android/server/biometrics/BiometricService;->onStart()V
+PLcom/android/server/biometrics/BiometricStrengthController$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/biometrics/BiometricStrengthController;)V
+PLcom/android/server/biometrics/BiometricStrengthController;-><init>(Lcom/android/server/biometrics/BiometricService;)V
+PLcom/android/server/biometrics/BiometricStrengthController;->startListening()V
+PLcom/android/server/biometrics/FeatureFlagsImpl;-><clinit>()V
+PLcom/android/server/biometrics/FeatureFlagsImpl;-><init>()V
+PLcom/android/server/biometrics/FeatureFlagsImpl;->deHidl()Z
+PLcom/android/server/biometrics/FeatureFlagsImpl;->load_overrides_biometrics_framework()V
+PLcom/android/server/biometrics/Flags;-><clinit>()V
+PLcom/android/server/biometrics/Flags;->deHidl()Z
+PLcom/android/server/biometrics/log/BiometricContext;->getInstance(Landroid/content/Context;)Lcom/android/server/biometrics/log/BiometricContext;
+PLcom/android/server/biometrics/log/BiometricContextProvider$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/biometrics/log/BiometricContextProvider;)V
+PLcom/android/server/biometrics/log/BiometricContextProvider$1;-><init>(Lcom/android/server/biometrics/log/BiometricContextProvider;)V
+PLcom/android/server/biometrics/log/BiometricContextProvider$2;-><init>(Lcom/android/server/biometrics/log/BiometricContextProvider;)V
+PLcom/android/server/biometrics/log/BiometricContextProvider$2;->onDisplayStateChanged(I)V
+PLcom/android/server/biometrics/log/BiometricContextProvider$2;->onFoldChanged(I)V
+PLcom/android/server/biometrics/log/BiometricContextProvider$2;->onHardwareIgnoreTouchesChanged(Z)V
+PLcom/android/server/biometrics/log/BiometricContextProvider$3;-><init>(Lcom/android/server/biometrics/log/BiometricContextProvider;)V
+PLcom/android/server/biometrics/log/BiometricContextProvider;->-$$Nest$fgetmDisplayState(Lcom/android/server/biometrics/log/BiometricContextProvider;)I
+PLcom/android/server/biometrics/log/BiometricContextProvider;->-$$Nest$fgetmFoldState(Lcom/android/server/biometrics/log/BiometricContextProvider;)I
+PLcom/android/server/biometrics/log/BiometricContextProvider;->-$$Nest$fgetmIsHardwareIgnoringTouches(Lcom/android/server/biometrics/log/BiometricContextProvider;)Z
+PLcom/android/server/biometrics/log/BiometricContextProvider;->-$$Nest$fputmDisplayState(Lcom/android/server/biometrics/log/BiometricContextProvider;I)V
+PLcom/android/server/biometrics/log/BiometricContextProvider;->-$$Nest$mnotifyChanged(Lcom/android/server/biometrics/log/BiometricContextProvider;)V
+PLcom/android/server/biometrics/log/BiometricContextProvider;-><init>(Landroid/content/Context;Landroid/view/WindowManager;Lcom/android/internal/statusbar/IStatusBarService;Landroid/os/Handler;Lcom/android/server/biometrics/sensors/AuthSessionCoordinator;)V
+PLcom/android/server/biometrics/log/BiometricContextProvider;->defaultProvider(Landroid/content/Context;)Lcom/android/server/biometrics/log/BiometricContextProvider;
+PLcom/android/server/biometrics/log/BiometricContextProvider;->notifyChanged()V
+PLcom/android/server/biometrics/log/BiometricContextProvider;->notifySubscribers()V
+PLcom/android/server/biometrics/log/BiometricContextProvider;->subscribeBiometricContextListener(Lcom/android/internal/statusbar/IStatusBarService;)V
+PLcom/android/server/biometrics/log/BiometricContextProvider;->subscribeDockState(Landroid/content/Context;)V
+PLcom/android/server/biometrics/sensors/AuthResultCoordinator;-><init>()V
+PLcom/android/server/biometrics/sensors/AuthSessionCoordinator$RingBuffer;-><init>(I)V
+PLcom/android/server/biometrics/sensors/AuthSessionCoordinator;-><init>()V
+PLcom/android/server/biometrics/sensors/AuthSessionCoordinator;-><init>(Ljava/time/Clock;)V
+PLcom/android/server/biometrics/sensors/MultiBiometricLockoutState;-><init>(Ljava/time/Clock;)V
+PLcom/android/server/blob/BlobStoreConfig$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/blob/BlobStoreConfig$DeviceConfigProperties$$ExternalSyntheticLambda0;-><init>(Landroid/provider/DeviceConfig$Properties;)V
+PLcom/android/server/blob/BlobStoreConfig$DeviceConfigProperties;-><clinit>()V
+PLcom/android/server/blob/BlobStoreConfig$DeviceConfigProperties;->refresh(Landroid/provider/DeviceConfig$Properties;)V
+PLcom/android/server/blob/BlobStoreConfig;-><clinit>()V
+PLcom/android/server/blob/BlobStoreConfig;->getBlobStoreRootDir()Ljava/io/File;
+PLcom/android/server/blob/BlobStoreConfig;->getIdleJobPeriodMs()J
+PLcom/android/server/blob/BlobStoreConfig;->initialize(Landroid/content/Context;)V
+PLcom/android/server/blob/BlobStoreIdleJobService;->schedule(Landroid/content/Context;)V
+PLcom/android/server/blob/BlobStoreManagerInternal;-><init>()V
+PLcom/android/server/blob/BlobStoreManagerService$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/blob/BlobStoreManagerService;)V
+PLcom/android/server/blob/BlobStoreManagerService$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/blob/BlobStoreManagerService;)V
+PLcom/android/server/blob/BlobStoreManagerService$BlobStorageStatsAugmenter;-><init>(Lcom/android/server/blob/BlobStoreManagerService;)V
+PLcom/android/server/blob/BlobStoreManagerService$BlobStorageStatsAugmenter;-><init>(Lcom/android/server/blob/BlobStoreManagerService;Lcom/android/server/blob/BlobStoreManagerService$BlobStorageStatsAugmenter-IA;)V
+PLcom/android/server/blob/BlobStoreManagerService$Injector;-><init>()V
+PLcom/android/server/blob/BlobStoreManagerService$Injector;->getBackgroundHandler()Landroid/os/Handler;
+PLcom/android/server/blob/BlobStoreManagerService$Injector;->initializeMessageHandler()Landroid/os/Handler;
+PLcom/android/server/blob/BlobStoreManagerService$LocalService;-><init>(Lcom/android/server/blob/BlobStoreManagerService;)V
+PLcom/android/server/blob/BlobStoreManagerService$LocalService;-><init>(Lcom/android/server/blob/BlobStoreManagerService;Lcom/android/server/blob/BlobStoreManagerService$LocalService-IA;)V
+PLcom/android/server/blob/BlobStoreManagerService$PackageChangedReceiver;-><init>(Lcom/android/server/blob/BlobStoreManagerService;)V
+PLcom/android/server/blob/BlobStoreManagerService$PackageChangedReceiver;-><init>(Lcom/android/server/blob/BlobStoreManagerService;Lcom/android/server/blob/BlobStoreManagerService$PackageChangedReceiver-IA;)V
+PLcom/android/server/blob/BlobStoreManagerService$SessionStateChangeListener;-><init>(Lcom/android/server/blob/BlobStoreManagerService;)V
+PLcom/android/server/blob/BlobStoreManagerService$StatsPullAtomCallbackImpl;-><init>(Lcom/android/server/blob/BlobStoreManagerService;)V
+PLcom/android/server/blob/BlobStoreManagerService$StatsPullAtomCallbackImpl;-><init>(Lcom/android/server/blob/BlobStoreManagerService;Lcom/android/server/blob/BlobStoreManagerService$StatsPullAtomCallbackImpl-IA;)V
+PLcom/android/server/blob/BlobStoreManagerService$Stub;-><init>(Lcom/android/server/blob/BlobStoreManagerService;)V
+PLcom/android/server/blob/BlobStoreManagerService$Stub;-><init>(Lcom/android/server/blob/BlobStoreManagerService;Lcom/android/server/blob/BlobStoreManagerService$Stub-IA;)V
+PLcom/android/server/blob/BlobStoreManagerService$UserActionReceiver;-><init>(Lcom/android/server/blob/BlobStoreManagerService;)V
+PLcom/android/server/blob/BlobStoreManagerService$UserActionReceiver;-><init>(Lcom/android/server/blob/BlobStoreManagerService;Lcom/android/server/blob/BlobStoreManagerService$UserActionReceiver-IA;)V
+PLcom/android/server/blob/BlobStoreManagerService;->-$$Nest$sminitializeMessageHandler()Landroid/os/Handler;
+PLcom/android/server/blob/BlobStoreManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/blob/BlobStoreManagerService;-><init>(Landroid/content/Context;Lcom/android/server/blob/BlobStoreManagerService$Injector;)V
+PLcom/android/server/blob/BlobStoreManagerService;->getAllPackages()Landroid/util/SparseArray;
+PLcom/android/server/blob/BlobStoreManagerService;->initializeMessageHandler()Landroid/os/Handler;
+PLcom/android/server/blob/BlobStoreManagerService;->onBootPhase(I)V
+PLcom/android/server/blob/BlobStoreManagerService;->onStart()V
+PLcom/android/server/blob/BlobStoreManagerService;->readBlobSessionsLocked(Landroid/util/SparseArray;)V
+PLcom/android/server/blob/BlobStoreManagerService;->readBlobsInfoLocked(Landroid/util/SparseArray;)V
+PLcom/android/server/blob/BlobStoreManagerService;->registerBlobStorePuller()V
+PLcom/android/server/blob/BlobStoreManagerService;->registerReceivers()V
+PLcom/android/server/clipboard/ClipboardService$$ExternalSyntheticLambda1;-><init>()V
+PLcom/android/server/clipboard/ClipboardService$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/clipboard/ClipboardService;)V
+PLcom/android/server/clipboard/ClipboardService$2;-><init>(Lcom/android/server/clipboard/ClipboardService;)V
+PLcom/android/server/clipboard/ClipboardService$ClipboardImpl$ClipboardClearHandler;-><init>(Lcom/android/server/clipboard/ClipboardService$ClipboardImpl;Landroid/os/Looper;)V
+PLcom/android/server/clipboard/ClipboardService$ClipboardImpl;-><init>(Lcom/android/server/clipboard/ClipboardService;)V
+PLcom/android/server/clipboard/ClipboardService$ClipboardImpl;-><init>(Lcom/android/server/clipboard/ClipboardService;Lcom/android/server/clipboard/ClipboardService$ClipboardImpl-IA;)V
+PLcom/android/server/clipboard/ClipboardService;->-$$Nest$fgetmWorkerHandler(Lcom/android/server/clipboard/ClipboardService;)Landroid/os/Handler;
+HPLcom/android/server/clipboard/ClipboardService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/clipboard/ClipboardService;->onStart()V
+PLcom/android/server/clipboard/ClipboardService;->registerVirtualDeviceListener()V
+PLcom/android/server/clipboard/ClipboardService;->updateConfig()V
+PLcom/android/server/companion/AssociationRequestsProcessor$1;-><init>(Lcom/android/server/companion/AssociationRequestsProcessor;Landroid/os/Handler;)V
+PLcom/android/server/companion/AssociationRequestsProcessor;-><init>(Lcom/android/server/companion/CompanionDeviceManagerService;Lcom/android/server/companion/AssociationStoreImpl;)V
+PLcom/android/server/companion/AssociationStoreImpl$$ExternalSyntheticLambda1;-><init>()V
+PLcom/android/server/companion/AssociationStoreImpl$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;)V
+PLcom/android/server/companion/AssociationStoreImpl$$ExternalSyntheticLambda2;-><init>(Ljava/lang/String;)V
+PLcom/android/server/companion/AssociationStoreImpl$$ExternalSyntheticLambda2;->test(Ljava/lang/Object;)Z
+PLcom/android/server/companion/AssociationStoreImpl;->$r8$lambda$60CakuEfGvN-UOxE0riiWYdRC3c(Landroid/companion/AssociationInfo;)V
+PLcom/android/server/companion/AssociationStoreImpl;->$r8$lambda$ca2RCDmyc2KpZMlfSXZiv2X6IYw(Ljava/lang/String;Landroid/companion/AssociationInfo;)Z
+PLcom/android/server/companion/AssociationStoreImpl;-><init>()V
+PLcom/android/server/companion/AssociationStoreImpl;->checkNotRevoked(Landroid/companion/AssociationInfo;)V
+PLcom/android/server/companion/AssociationStoreImpl;->clearLocked()V
+PLcom/android/server/companion/AssociationStoreImpl;->getAssociations()Ljava/util/Collection;
+PLcom/android/server/companion/AssociationStoreImpl;->getAssociationsForPackage(ILjava/lang/String;)Ljava/util/List;
+PLcom/android/server/companion/AssociationStoreImpl;->getAssociationsForUser(I)Ljava/util/List;
+PLcom/android/server/companion/AssociationStoreImpl;->getAssociationsForUserLocked(I)Ljava/util/List;
+PLcom/android/server/companion/AssociationStoreImpl;->lambda$getAssociationsForPackage$2(Ljava/lang/String;Landroid/companion/AssociationInfo;)Z
+PLcom/android/server/companion/AssociationStoreImpl;->registerListener(Lcom/android/server/companion/AssociationStore$OnChangeListener;)V
+PLcom/android/server/companion/AssociationStoreImpl;->setAssociations(Ljava/util/Collection;)V
+PLcom/android/server/companion/AssociationStoreImpl;->setAssociationsLocked(Ljava/util/Collection;)V
+PLcom/android/server/companion/BackupRestoreProcessor;-><init>(Lcom/android/server/companion/CompanionDeviceManagerService;Lcom/android/server/companion/AssociationStoreImpl;Lcom/android/server/companion/PersistentDataStore;Lcom/android/server/companion/datatransfer/SystemDataTransferRequestStore;Lcom/android/server/companion/AssociationRequestsProcessor;)V
+PLcom/android/server/companion/CompanionApplicationController$AndroidPackageMap;-><init>()V
+PLcom/android/server/companion/CompanionApplicationController$AndroidPackageMap;-><init>(Lcom/android/server/companion/CompanionApplicationController$AndroidPackageMap-IA;)V
+PLcom/android/server/companion/CompanionApplicationController$CompanionServicesRegister;-><init>(Lcom/android/server/companion/CompanionApplicationController;)V
+PLcom/android/server/companion/CompanionApplicationController$CompanionServicesRegister;-><init>(Lcom/android/server/companion/CompanionApplicationController;Lcom/android/server/companion/CompanionApplicationController$CompanionServicesRegister-IA;)V
+PLcom/android/server/companion/CompanionApplicationController;-><init>(Landroid/content/Context;Lcom/android/server/companion/AssociationStore;Lcom/android/server/companion/ObservableUuidStore;Lcom/android/server/companion/presence/CompanionDevicePresenceMonitor;Landroid/os/PowerManagerInternal;)V
+PLcom/android/server/companion/CompanionDeviceConfig;->isEnabled(Ljava/lang/String;)Z
+PLcom/android/server/companion/CompanionDeviceManagerService$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/companion/CompanionDeviceManagerService$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
+PLcom/android/server/companion/CompanionDeviceManagerService$1;-><init>(Lcom/android/server/companion/CompanionDeviceManagerService;)V
+PLcom/android/server/companion/CompanionDeviceManagerService$2;-><init>(Lcom/android/server/companion/CompanionDeviceManagerService;)V
+PLcom/android/server/companion/CompanionDeviceManagerService$3;-><init>(Lcom/android/server/companion/CompanionDeviceManagerService;)V
+PLcom/android/server/companion/CompanionDeviceManagerService$CompanionDeviceManagerImpl;-><init>(Lcom/android/server/companion/CompanionDeviceManagerService;)V
+PLcom/android/server/companion/CompanionDeviceManagerService$CompanionDeviceManagerImpl;->addOnAssociationsChangedListener(Landroid/companion/IOnAssociationsChangedListener;I)V
+PLcom/android/server/companion/CompanionDeviceManagerService$CompanionDeviceManagerImpl;->getAllAssociationsForUser(I)Ljava/util/List;
+HPLcom/android/server/companion/CompanionDeviceManagerService$CompanionDeviceManagerImpl;->getAssociations(Ljava/lang/String;I)Ljava/util/List;
+PLcom/android/server/companion/CompanionDeviceManagerService$CompanionDeviceManagerImpl;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLcom/android/server/companion/CompanionDeviceManagerService$LocalService;-><init>(Lcom/android/server/companion/CompanionDeviceManagerService;)V
+PLcom/android/server/companion/CompanionDeviceManagerService$LocalService;-><init>(Lcom/android/server/companion/CompanionDeviceManagerService;Lcom/android/server/companion/CompanionDeviceManagerService$LocalService-IA;)V
+PLcom/android/server/companion/CompanionDeviceManagerService$OnPackageVisibilityChangeListener;-><init>(Lcom/android/server/companion/CompanionDeviceManagerService;Landroid/app/ActivityManager;)V
+PLcom/android/server/companion/CompanionDeviceManagerService$PerUserAssociationSet;-><init>()V
+PLcom/android/server/companion/CompanionDeviceManagerService$PersistUserStateHandler;-><init>(Lcom/android/server/companion/CompanionDeviceManagerService;)V
+PLcom/android/server/companion/CompanionDeviceManagerService;->$r8$lambda$qPiDU_hiTPYcITYcno5QR8cQB_I(Lcom/android/server/companion/CompanionDeviceManagerService;)V
+PLcom/android/server/companion/CompanionDeviceManagerService;->-$$Nest$fgetmAssociationStore(Lcom/android/server/companion/CompanionDeviceManagerService;)Lcom/android/server/companion/AssociationStoreImpl;
+PLcom/android/server/companion/CompanionDeviceManagerService;->-$$Nest$fgetmListeners(Lcom/android/server/companion/CompanionDeviceManagerService;)Landroid/os/RemoteCallbackList;
+PLcom/android/server/companion/CompanionDeviceManagerService;-><clinit>()V
+HPLcom/android/server/companion/CompanionDeviceManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/companion/CompanionDeviceManagerService;->getFirstAssociationIdForUser(I)I
+PLcom/android/server/companion/CompanionDeviceManagerService;->getLastAssociationIdForUser(I)I
+PLcom/android/server/companion/CompanionDeviceManagerService;->loadAssociationsFromDisk()V
+PLcom/android/server/companion/CompanionDeviceManagerService;->maybeGrantAutoRevokeExemptions()V
+PLcom/android/server/companion/CompanionDeviceManagerService;->onBootPhase(I)V
+PLcom/android/server/companion/CompanionDeviceManagerService;->onStart()V
+PLcom/android/server/companion/CompanionDeviceManagerService;->onUserUnlocked(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/companion/CompanionDeviceManagerService;->onUserUnlocking(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/companion/CompanionDeviceManagerService;->updateAtm(ILjava/util/List;)V
+PLcom/android/server/companion/DataStoreUtils;->createStorageFileForUser(ILjava/lang/String;)Landroid/util/AtomicFile;
+PLcom/android/server/companion/DataStoreUtils;->getBaseStorageFileForUser(ILjava/lang/String;)Ljava/io/File;
+PLcom/android/server/companion/DataStoreUtils;->isEndOfTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
+PLcom/android/server/companion/DataStoreUtils;->isStartOfTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
+PLcom/android/server/companion/InactiveAssociationsRemovalService;-><clinit>()V
+PLcom/android/server/companion/InactiveAssociationsRemovalService;->schedule(Landroid/content/Context;)V
+PLcom/android/server/companion/ObservableUuidStore$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/companion/ObservableUuidStore;I)V
+PLcom/android/server/companion/ObservableUuidStore$$ExternalSyntheticLambda0;->call()Ljava/lang/Object;
+PLcom/android/server/companion/ObservableUuidStore$$ExternalSyntheticLambda3;-><init>(I)V
+PLcom/android/server/companion/ObservableUuidStore$$ExternalSyntheticLambda3;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/companion/ObservableUuidStore;->$r8$lambda$JBvSPiYXxTY9FJ_T7R_PkgjUDKs(Lcom/android/server/companion/ObservableUuidStore;I)Ljava/util/List;
+PLcom/android/server/companion/ObservableUuidStore;->$r8$lambda$SWFzFG4e-xRsk2J9VzL5XRljRuw(ILjava/lang/Integer;)Landroid/util/AtomicFile;
+PLcom/android/server/companion/ObservableUuidStore;-><init>()V
+PLcom/android/server/companion/ObservableUuidStore;->getObservableUuidsForUser(I)Ljava/util/List;
+PLcom/android/server/companion/ObservableUuidStore;->getStorageFileForUser(I)Landroid/util/AtomicFile;
+PLcom/android/server/companion/ObservableUuidStore;->lambda$getStorageFileForUser$6(ILjava/lang/Integer;)Landroid/util/AtomicFile;
+PLcom/android/server/companion/ObservableUuidStore;->lambda$readObservableUuidsFromCache$5(I)Ljava/util/List;
+PLcom/android/server/companion/ObservableUuidStore;->readObservableUuidFromStore(I)Ljava/util/List;
+PLcom/android/server/companion/ObservableUuidStore;->readObservableUuidsFromCache(I)Ljava/util/List;
+PLcom/android/server/companion/PermissionsUtils;-><clinit>()V
+PLcom/android/server/companion/PermissionsUtils;->checkCallerCanManageAssociationsForPackage(Landroid/content/Context;ILjava/lang/String;)Z
+PLcom/android/server/companion/PermissionsUtils;->checkCallerCanManageCompanionDevice(Landroid/content/Context;)Z
+PLcom/android/server/companion/PermissionsUtils;->checkCallerIsSystemOr(ILjava/lang/String;)Z
+PLcom/android/server/companion/PermissionsUtils;->enforceCallerCanManageAssociationsForPackage(Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/companion/PermissionsUtils;->enforceCallerIsSystemOrCanInteractWithUserId(Landroid/content/Context;I)V
+PLcom/android/server/companion/PersistentDataStore$$ExternalSyntheticLambda1;-><init>(I)V
+PLcom/android/server/companion/PersistentDataStore$$ExternalSyntheticLambda1;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/companion/PersistentDataStore;->$r8$lambda$kZ79xCqh_OiIBnJ6GaylVqvy9jA(ILjava/lang/Integer;)Landroid/util/AtomicFile;
+PLcom/android/server/companion/PersistentDataStore;-><init>()V
+PLcom/android/server/companion/PersistentDataStore;->createAssociationInfoNoThrow(IILjava/lang/String;Ljava/lang/String;Landroid/net/MacAddress;Ljava/lang/CharSequence;Ljava/lang/String;ZZZZJJI)Landroid/companion/AssociationInfo;
+PLcom/android/server/companion/PersistentDataStore;->getStorageFileForUser(I)Landroid/util/AtomicFile;
+PLcom/android/server/companion/PersistentDataStore;->lambda$getStorageFileForUser$1(ILjava/lang/Integer;)Landroid/util/AtomicFile;
+PLcom/android/server/companion/PersistentDataStore;->readAssociationV1(Lcom/android/modules/utils/TypedXmlPullParser;ILjava/util/Collection;)V
+PLcom/android/server/companion/PersistentDataStore;->readAssociationsV1(Lcom/android/modules/utils/TypedXmlPullParser;ILjava/util/Collection;)V
+PLcom/android/server/companion/PersistentDataStore;->readPreviouslyUsedIdsV1(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/util/Map;)V
+PLcom/android/server/companion/PersistentDataStore;->readStateForUser(ILjava/util/Collection;Ljava/util/Map;)V
+PLcom/android/server/companion/PersistentDataStore;->readStateForUsers(Ljava/util/List;Ljava/util/Set;Landroid/util/SparseArray;)V
+PLcom/android/server/companion/PersistentDataStore;->readStateFromFileLocked(ILandroid/util/AtomicFile;Ljava/lang/String;Ljava/util/Collection;Ljava/util/Map;)I
+PLcom/android/server/companion/PersistentDataStore;->readStateFromInputStream(ILjava/io/InputStream;Ljava/lang/String;Ljava/util/Collection;Ljava/util/Map;)I
+PLcom/android/server/companion/PersistentDataStore;->requireStartOfTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)V
+PLcom/android/server/companion/PersistentDataStore;->stringToMacAddress(Ljava/lang/String;)Landroid/net/MacAddress;
+PLcom/android/server/companion/datatransfer/SystemDataTransferProcessor$1;-><init>(Lcom/android/server/companion/datatransfer/SystemDataTransferProcessor;)V
+PLcom/android/server/companion/datatransfer/SystemDataTransferProcessor$2;-><init>(Lcom/android/server/companion/datatransfer/SystemDataTransferProcessor;Landroid/os/Handler;)V
+PLcom/android/server/companion/datatransfer/SystemDataTransferProcessor;-><init>(Lcom/android/server/companion/CompanionDeviceManagerService;Landroid/content/pm/PackageManagerInternal;Lcom/android/server/companion/AssociationStore;Lcom/android/server/companion/datatransfer/SystemDataTransferRequestStore;Lcom/android/server/companion/transport/CompanionTransportManager;)V
+PLcom/android/server/companion/datatransfer/SystemDataTransferRequestStore;-><init>()V
+PLcom/android/server/companion/datatransfer/contextsync/CrossDeviceSyncController$1;-><init>(Lcom/android/server/companion/datatransfer/contextsync/CrossDeviceSyncController;)V
+PLcom/android/server/companion/datatransfer/contextsync/CrossDeviceSyncController$1;->onTransportsChanged(Ljava/util/List;)V
+PLcom/android/server/companion/datatransfer/contextsync/CrossDeviceSyncController$2;-><init>(Lcom/android/server/companion/datatransfer/contextsync/CrossDeviceSyncController;)V
+PLcom/android/server/companion/datatransfer/contextsync/CrossDeviceSyncController$CallManager;-><init>(Landroid/content/Context;Lcom/android/server/companion/datatransfer/contextsync/CrossDeviceSyncController$PhoneAccountManager;)V
+PLcom/android/server/companion/datatransfer/contextsync/CrossDeviceSyncController$PhoneAccountManager;-><init>(Landroid/content/Context;)V
+PLcom/android/server/companion/datatransfer/contextsync/CrossDeviceSyncController;-><init>(Landroid/content/Context;Lcom/android/server/companion/transport/CompanionTransportManager;)V
+PLcom/android/server/companion/datatransfer/contextsync/CrossDeviceSyncController;->onBootCompleted()V
+PLcom/android/server/companion/presence/BleCompanionDeviceScanner$1;-><init>(Lcom/android/server/companion/presence/BleCompanionDeviceScanner;)V
+PLcom/android/server/companion/presence/BleCompanionDeviceScanner$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/companion/presence/BleCompanionDeviceScanner$2;-><init>(Lcom/android/server/companion/presence/BleCompanionDeviceScanner;)V
+PLcom/android/server/companion/presence/BleCompanionDeviceScanner;->-$$Nest$mcheckBleState(Lcom/android/server/companion/presence/BleCompanionDeviceScanner;)V
+PLcom/android/server/companion/presence/BleCompanionDeviceScanner;-><clinit>()V
+PLcom/android/server/companion/presence/BleCompanionDeviceScanner;-><init>(Lcom/android/server/companion/AssociationStore;Lcom/android/server/companion/presence/BleCompanionDeviceScanner$Callback;)V
+PLcom/android/server/companion/presence/BleCompanionDeviceScanner;->checkBleState()V
+PLcom/android/server/companion/presence/BleCompanionDeviceScanner;->enforceInitialized()V
+PLcom/android/server/companion/presence/BleCompanionDeviceScanner;->init(Landroid/content/Context;Landroid/bluetooth/BluetoothAdapter;)V
+PLcom/android/server/companion/presence/BleCompanionDeviceScanner;->registerBluetoothStateBroadcastReceiver(Landroid/content/Context;)V
+PLcom/android/server/companion/presence/BleCompanionDeviceScanner;->startScan()V
+PLcom/android/server/companion/presence/BluetoothCompanionDeviceConnectionListener;-><init>(Landroid/os/UserManager;Lcom/android/server/companion/AssociationStore;Lcom/android/server/companion/ObservableUuidStore;Lcom/android/server/companion/presence/BluetoothCompanionDeviceConnectionListener$Callback;)V
+PLcom/android/server/companion/presence/BluetoothCompanionDeviceConnectionListener;->init(Landroid/bluetooth/BluetoothAdapter;)V
+PLcom/android/server/companion/presence/CompanionDevicePresenceMonitor$SimulatedDevicePresenceSchedulerHelper;-><init>(Lcom/android/server/companion/presence/CompanionDevicePresenceMonitor;)V
+PLcom/android/server/companion/presence/CompanionDevicePresenceMonitor;-><init>(Landroid/os/UserManager;Lcom/android/server/companion/AssociationStore;Lcom/android/server/companion/ObservableUuidStore;Lcom/android/server/companion/presence/CompanionDevicePresenceMonitor$Callback;)V
+PLcom/android/server/companion/presence/CompanionDevicePresenceMonitor;->getPendingConnectedDevices()Landroid/util/SparseArray;
+PLcom/android/server/companion/presence/CompanionDevicePresenceMonitor;->init(Landroid/content/Context;)V
+PLcom/android/server/companion/transport/CompanionTransportManager$$ExternalSyntheticLambda0;-><init>(Landroid/companion/IOnTransportsChangedListener;Ljava/util/List;)V
+PLcom/android/server/companion/transport/CompanionTransportManager$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
+PLcom/android/server/companion/transport/CompanionTransportManager;->$r8$lambda$Nes8XDMe0_gDmUo7HQHaB-4pP6I(Landroid/companion/IOnTransportsChangedListener;Ljava/util/List;Landroid/companion/IOnTransportsChangedListener;)V
+PLcom/android/server/companion/transport/CompanionTransportManager;-><init>(Landroid/content/Context;Lcom/android/server/companion/AssociationStore;)V
+PLcom/android/server/companion/transport/CompanionTransportManager;->addListener(ILandroid/companion/IOnMessageReceivedListener;)V
+PLcom/android/server/companion/transport/CompanionTransportManager;->addListener(Landroid/companion/IOnTransportsChangedListener;)V
+PLcom/android/server/companion/transport/CompanionTransportManager;->lambda$addListener$0(Landroid/companion/IOnTransportsChangedListener;Ljava/util/List;Landroid/companion/IOnTransportsChangedListener;)V
+PLcom/android/server/companion/virtual/VirtualDeviceLog;-><clinit>()V
+PLcom/android/server/companion/virtual/VirtualDeviceLog;-><init>(Landroid/content/Context;)V
+PLcom/android/server/companion/virtual/VirtualDeviceManagerInternal;-><init>()V
+PLcom/android/server/companion/virtual/VirtualDeviceManagerService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/companion/virtual/VirtualDeviceManagerService;)V
+PLcom/android/server/companion/virtual/VirtualDeviceManagerService$1;-><init>(Lcom/android/server/companion/virtual/VirtualDeviceManagerService;)V
+PLcom/android/server/companion/virtual/VirtualDeviceManagerService$2;-><init>(Lcom/android/server/companion/virtual/VirtualDeviceManagerService;)V
+PLcom/android/server/companion/virtual/VirtualDeviceManagerService$2;->onInterceptActivityLaunch(Lcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo;)Lcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptResult;
+PLcom/android/server/companion/virtual/VirtualDeviceManagerService$LocalService;-><init>(Lcom/android/server/companion/virtual/VirtualDeviceManagerService;)V
+PLcom/android/server/companion/virtual/VirtualDeviceManagerService$LocalService;-><init>(Lcom/android/server/companion/virtual/VirtualDeviceManagerService;Lcom/android/server/companion/virtual/VirtualDeviceManagerService$LocalService-IA;)V
+PLcom/android/server/companion/virtual/VirtualDeviceManagerService$LocalService;->getAllPersistentDeviceIds()Ljava/util/Set;
+PLcom/android/server/companion/virtual/VirtualDeviceManagerService$LocalService;->getDeviceIdForDisplayId(I)I
+HPLcom/android/server/companion/virtual/VirtualDeviceManagerService$LocalService;->getDeviceIdsForUid(I)Landroid/util/ArraySet;
+PLcom/android/server/companion/virtual/VirtualDeviceManagerService$LocalService;->getPreferredLocaleListForUid(I)Landroid/os/LocaleList;
+PLcom/android/server/companion/virtual/VirtualDeviceManagerService$LocalService;->registerPersistentDeviceIdRemovedListener(Ljava/util/function/Consumer;)V
+PLcom/android/server/companion/virtual/VirtualDeviceManagerService$PendingTrampolineMap;-><init>(Landroid/os/Handler;)V
+PLcom/android/server/companion/virtual/VirtualDeviceManagerService$PendingTrampolineMap;->remove(Ljava/lang/String;)Lcom/android/server/companion/virtual/VirtualDeviceImpl$PendingTrampoline;
+PLcom/android/server/companion/virtual/VirtualDeviceManagerService$VirtualDeviceManagerImpl$1;-><init>(Lcom/android/server/companion/virtual/VirtualDeviceManagerService$VirtualDeviceManagerImpl;)V
+PLcom/android/server/companion/virtual/VirtualDeviceManagerService$VirtualDeviceManagerImpl;-><init>(Lcom/android/server/companion/virtual/VirtualDeviceManagerService;)V
+PLcom/android/server/companion/virtual/VirtualDeviceManagerService$VirtualDeviceManagerImpl;->getDeviceIdForDisplayId(I)I
+PLcom/android/server/companion/virtual/VirtualDeviceManagerService$VirtualDeviceManagerImpl;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLcom/android/server/companion/virtual/VirtualDeviceManagerService$VirtualDeviceManagerImpl;->registerVirtualDeviceListener(Landroid/companion/virtual/IVirtualDeviceListener;)V
+PLcom/android/server/companion/virtual/VirtualDeviceManagerService$VirtualDeviceManagerNativeImpl;-><init>(Lcom/android/server/companion/virtual/VirtualDeviceManagerService;)V
+HPLcom/android/server/companion/virtual/VirtualDeviceManagerService$VirtualDeviceManagerNativeImpl;->getDeviceIdsForUid(I)[I
+PLcom/android/server/companion/virtual/VirtualDeviceManagerService;->-$$Nest$fgetmActiveAssociations(Lcom/android/server/companion/virtual/VirtualDeviceManagerService;)Landroid/util/ArrayMap;
+PLcom/android/server/companion/virtual/VirtualDeviceManagerService;->-$$Nest$fgetmAppsOnVirtualDevices(Lcom/android/server/companion/virtual/VirtualDeviceManagerService;)Landroid/util/SparseArray;
+PLcom/android/server/companion/virtual/VirtualDeviceManagerService;->-$$Nest$fgetmImpl(Lcom/android/server/companion/virtual/VirtualDeviceManagerService;)Lcom/android/server/companion/virtual/VirtualDeviceManagerService$VirtualDeviceManagerImpl;
+PLcom/android/server/companion/virtual/VirtualDeviceManagerService;->-$$Nest$fgetmLocalService(Lcom/android/server/companion/virtual/VirtualDeviceManagerService;)Lcom/android/server/companion/virtual/VirtualDeviceManagerInternal;
+PLcom/android/server/companion/virtual/VirtualDeviceManagerService;->-$$Nest$fgetmPendingTrampolines(Lcom/android/server/companion/virtual/VirtualDeviceManagerService;)Lcom/android/server/companion/virtual/VirtualDeviceManagerService$PendingTrampolineMap;
+PLcom/android/server/companion/virtual/VirtualDeviceManagerService;->-$$Nest$fgetmVirtualDeviceListeners(Lcom/android/server/companion/virtual/VirtualDeviceManagerService;)Landroid/os/RemoteCallbackList;
+PLcom/android/server/companion/virtual/VirtualDeviceManagerService;->-$$Nest$fgetmVirtualDeviceManagerLock(Lcom/android/server/companion/virtual/VirtualDeviceManagerService;)Ljava/lang/Object;
+PLcom/android/server/companion/virtual/VirtualDeviceManagerService;->-$$Nest$mgetVirtualDevicesSnapshot(Lcom/android/server/companion/virtual/VirtualDeviceManagerService;)Ljava/util/ArrayList;
+PLcom/android/server/companion/virtual/VirtualDeviceManagerService;-><clinit>()V
+PLcom/android/server/companion/virtual/VirtualDeviceManagerService;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/companion/virtual/VirtualDeviceManagerService;->getVirtualDevicesSnapshot()Ljava/util/ArrayList;
+PLcom/android/server/companion/virtual/VirtualDeviceManagerService;->onCdmAssociationsChanged(Ljava/util/List;)V
+PLcom/android/server/companion/virtual/VirtualDeviceManagerService;->onStart()V
+HSPLcom/android/server/compat/CompatChange;-><init>(JLjava/lang/String;IIZZLjava/lang/String;Z)V
+HSPLcom/android/server/compat/CompatChange;-><init>(Lcom/android/server/compat/config/Change;)V
+HSPLcom/android/server/compat/CompatChange;->clearOverrides()V
+PLcom/android/server/compat/CompatChange;->defaultValue()Z
+HPLcom/android/server/compat/CompatChange;->isEnabled(Landroid/content/pm/ApplicationInfo;Lcom/android/internal/compat/AndroidBuildClassifier;)Z
+PLcom/android/server/compat/CompatChange;->registerListener(Lcom/android/server/compat/CompatChange$ChangeListener;)V
+HPLcom/android/server/compat/CompatChange;->willBeEnabled(Ljava/lang/String;)Z
+PLcom/android/server/compat/CompatConfig$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/compat/CompatConfig;Ljava/util/concurrent/atomic/AtomicBoolean;J)V
+HSPLcom/android/server/compat/CompatConfig;-><init>(Lcom/android/internal/compat/AndroidBuildClassifier;Landroid/content/Context;)V
+HSPLcom/android/server/compat/CompatConfig;->create(Lcom/android/internal/compat/AndroidBuildClassifier;Landroid/content/Context;)Lcom/android/server/compat/CompatConfig;
+HPLcom/android/server/compat/CompatConfig;->getDisabledChanges(Landroid/content/pm/ApplicationInfo;)[J
+HSPLcom/android/server/compat/CompatConfig;->initConfigFromLib(Ljava/io/File;)V
+HSPLcom/android/server/compat/CompatConfig;->initOverrides()V
+HSPLcom/android/server/compat/CompatConfig;->initOverrides(Ljava/io/File;Ljava/io/File;)V
+HSPLcom/android/server/compat/CompatConfig;->invalidateCache()V
+HPLcom/android/server/compat/CompatConfig;->isChangeEnabled(JLandroid/content/pm/ApplicationInfo;)Z
+HSPLcom/android/server/compat/CompatConfig;->loadOverrides(Ljava/io/File;)V
+HSPLcom/android/server/compat/CompatConfig;->makeBackupFile(Ljava/io/File;)Ljava/io/File;
+HSPLcom/android/server/compat/CompatConfig;->readConfig(Ljava/io/File;)V
+PLcom/android/server/compat/CompatConfig;->registerContentObserver()V
+PLcom/android/server/compat/CompatConfig;->registerListener(JLcom/android/server/compat/CompatChange$ChangeListener;)Z
+HPLcom/android/server/compat/CompatConfig;->willChangeBeEnabled(JLjava/lang/String;)Z
+PLcom/android/server/compat/OverrideValidatorImpl$SettingsObserver;-><init>(Lcom/android/server/compat/OverrideValidatorImpl;)V
+HSPLcom/android/server/compat/OverrideValidatorImpl;-><init>(Lcom/android/internal/compat/AndroidBuildClassifier;Landroid/content/Context;Lcom/android/server/compat/CompatConfig;)V
+PLcom/android/server/compat/OverrideValidatorImpl;->registerContentObserver()V
+PLcom/android/server/compat/PlatformCompat$1;-><init>(Lcom/android/server/compat/PlatformCompat;)V
+HSPLcom/android/server/compat/PlatformCompat;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/compat/PlatformCompat;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
+HPLcom/android/server/compat/PlatformCompat;->getDisabledChanges(Landroid/content/pm/ApplicationInfo;)[J
+HPLcom/android/server/compat/PlatformCompat;->isChangeEnabled(JLandroid/content/pm/ApplicationInfo;)Z
+HPLcom/android/server/compat/PlatformCompat;->isChangeEnabledByPackageName(JLjava/lang/String;I)Z
+HPLcom/android/server/compat/PlatformCompat;->isChangeEnabledByUid(JI)Z
+HPLcom/android/server/compat/PlatformCompat;->isChangeEnabledByUidInternal(JI)Z
+HPLcom/android/server/compat/PlatformCompat;->isChangeEnabledInternal(JLandroid/content/pm/ApplicationInfo;)Z
+HPLcom/android/server/compat/PlatformCompat;->isChangeEnabledInternal(JLjava/lang/String;I)Z
+HPLcom/android/server/compat/PlatformCompat;->isChangeEnabledInternalNoLogging(JLandroid/content/pm/ApplicationInfo;)Z
+PLcom/android/server/compat/PlatformCompat;->registerContentObserver()V
+PLcom/android/server/compat/PlatformCompat;->registerListener(JLcom/android/server/compat/CompatChange$ChangeListener;)Z
+PLcom/android/server/compat/PlatformCompat;->registerPackageReceiver(Landroid/content/Context;)V
+PLcom/android/server/compat/PlatformCompat;->reportChangeInternal(JII)V
+HPLcom/android/server/compat/PlatformCompat;->resetReporting(Landroid/content/pm/ApplicationInfo;)V
+HSPLcom/android/server/compat/PlatformCompatNative;-><init>(Lcom/android/server/compat/PlatformCompat;)V
+HSPLcom/android/server/compat/config/Change;-><init>()V
+HSPLcom/android/server/compat/config/Change;->getDescription()Ljava/lang/String;
+HSPLcom/android/server/compat/config/Change;->getDisabled()Z
+HSPLcom/android/server/compat/config/Change;->getEnableAfterTargetSdk()I
+HSPLcom/android/server/compat/config/Change;->getEnableSinceTargetSdk()I
+HSPLcom/android/server/compat/config/Change;->getId()J
+HSPLcom/android/server/compat/config/Change;->getLoggingOnly()Z
+HSPLcom/android/server/compat/config/Change;->getName()Ljava/lang/String;
+HSPLcom/android/server/compat/config/Change;->getOverridable()Z
+HSPLcom/android/server/compat/config/Change;->read(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/compat/config/Change;
+HSPLcom/android/server/compat/config/Change;->setDescription(Ljava/lang/String;)V
+HSPLcom/android/server/compat/config/Change;->setDisabled(Z)V
+HSPLcom/android/server/compat/config/Change;->setEnableAfterTargetSdk(I)V
+HSPLcom/android/server/compat/config/Change;->setEnableSinceTargetSdk(I)V
+HSPLcom/android/server/compat/config/Change;->setId(J)V
+HSPLcom/android/server/compat/config/Change;->setName(Ljava/lang/String;)V
+HSPLcom/android/server/compat/config/Change;->setOverridable(Z)V
+HSPLcom/android/server/compat/config/Change;->setValue(Ljava/lang/String;)V
+HSPLcom/android/server/compat/config/Config;-><init>()V
+HSPLcom/android/server/compat/config/Config;->getCompatChange()Ljava/util/List;
+HSPLcom/android/server/compat/config/Config;->read(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/compat/config/Config;
+HSPLcom/android/server/compat/config/XmlParser;->read(Ljava/io/InputStream;)Lcom/android/server/compat/config/Config;
+HSPLcom/android/server/compat/config/XmlParser;->readText(Lorg/xmlpull/v1/XmlPullParser;)Ljava/lang/String;
+PLcom/android/server/compat/overrides/AppCompatOverridesParser;-><clinit>()V
+PLcom/android/server/compat/overrides/AppCompatOverridesParser;-><init>(Landroid/content/pm/PackageManager;)V
+PLcom/android/server/compat/overrides/AppCompatOverridesService$DeviceConfigListener;->-$$Nest$mregister(Lcom/android/server/compat/overrides/AppCompatOverridesService$DeviceConfigListener;)V
+PLcom/android/server/compat/overrides/AppCompatOverridesService$DeviceConfigListener;-><init>(Lcom/android/server/compat/overrides/AppCompatOverridesService;Landroid/content/Context;Ljava/lang/String;)V
+PLcom/android/server/compat/overrides/AppCompatOverridesService$DeviceConfigListener;-><init>(Lcom/android/server/compat/overrides/AppCompatOverridesService;Landroid/content/Context;Ljava/lang/String;Lcom/android/server/compat/overrides/AppCompatOverridesService$DeviceConfigListener-IA;)V
+PLcom/android/server/compat/overrides/AppCompatOverridesService$DeviceConfigListener;->register()V
+PLcom/android/server/compat/overrides/AppCompatOverridesService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/compat/overrides/AppCompatOverridesService$Lifecycle;->onStart()V
+PLcom/android/server/compat/overrides/AppCompatOverridesService$PackageReceiver;->-$$Nest$mregister(Lcom/android/server/compat/overrides/AppCompatOverridesService$PackageReceiver;)V
+PLcom/android/server/compat/overrides/AppCompatOverridesService$PackageReceiver;-><init>(Lcom/android/server/compat/overrides/AppCompatOverridesService;Landroid/content/Context;)V
+PLcom/android/server/compat/overrides/AppCompatOverridesService$PackageReceiver;-><init>(Lcom/android/server/compat/overrides/AppCompatOverridesService;Landroid/content/Context;Lcom/android/server/compat/overrides/AppCompatOverridesService$PackageReceiver-IA;)V
+PLcom/android/server/compat/overrides/AppCompatOverridesService$PackageReceiver;->register()V
+PLcom/android/server/compat/overrides/AppCompatOverridesService;-><clinit>()V
+PLcom/android/server/compat/overrides/AppCompatOverridesService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/compat/overrides/AppCompatOverridesService;-><init>(Landroid/content/Context;Lcom/android/internal/compat/IPlatformCompat;Ljava/util/List;)V
+PLcom/android/server/compat/overrides/AppCompatOverridesService;-><init>(Landroid/content/Context;Lcom/android/server/compat/overrides/AppCompatOverridesService-IA;)V
+PLcom/android/server/compat/overrides/AppCompatOverridesService;->registerDeviceConfigListeners()V
+PLcom/android/server/compat/overrides/AppCompatOverridesService;->registerPackageReceiver()V
+PLcom/android/server/connectivity/DefaultNetworkMetrics;-><init>()V
+PLcom/android/server/connectivity/DefaultNetworkMetrics;->newDefaultNetwork(JLandroid/net/Network;IZLandroid/net/LinkProperties;Landroid/net/NetworkCapabilities;)V
+PLcom/android/server/connectivity/IpConnectivityMetrics$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/connectivity/IpConnectivityMetrics$$ExternalSyntheticLambda0;->applyAsInt(Ljava/lang/Object;)I
+PLcom/android/server/connectivity/IpConnectivityMetrics$Impl;-><init>(Lcom/android/server/connectivity/IpConnectivityMetrics;)V
+PLcom/android/server/connectivity/IpConnectivityMetrics$Impl;->addNetdEventCallback(ILandroid/net/INetdEventCallback;)Z
+PLcom/android/server/connectivity/IpConnectivityMetrics$Impl;->enforceNetdEventListeningPermission()V
+PLcom/android/server/connectivity/IpConnectivityMetrics$LoggerImpl;-><init>(Lcom/android/server/connectivity/IpConnectivityMetrics;)V
+PLcom/android/server/connectivity/IpConnectivityMetrics$LoggerImpl;-><init>(Lcom/android/server/connectivity/IpConnectivityMetrics;Lcom/android/server/connectivity/IpConnectivityMetrics$LoggerImpl-IA;)V
+PLcom/android/server/connectivity/IpConnectivityMetrics;->$r8$lambda$vBvdubbZbE8NJB5mMZ6KhHRxliM(Landroid/content/Context;)I
+PLcom/android/server/connectivity/IpConnectivityMetrics;-><clinit>()V
+PLcom/android/server/connectivity/IpConnectivityMetrics;-><init>(Landroid/content/Context;)V
+PLcom/android/server/connectivity/IpConnectivityMetrics;-><init>(Landroid/content/Context;Ljava/util/function/ToIntFunction;)V
+PLcom/android/server/connectivity/IpConnectivityMetrics;->bufferCapacity()I
+PLcom/android/server/connectivity/IpConnectivityMetrics;->initBuffer()V
+PLcom/android/server/connectivity/IpConnectivityMetrics;->lambda$static$1(Landroid/content/Context;)I
+PLcom/android/server/connectivity/IpConnectivityMetrics;->makeRateLimitingBuckets()Landroid/util/ArrayMap;
+PLcom/android/server/connectivity/IpConnectivityMetrics;->onBootPhase(I)V
+PLcom/android/server/connectivity/IpConnectivityMetrics;->onStart()V
+PLcom/android/server/connectivity/MultipathPolicyTracker$1;-><init>(Lcom/android/server/connectivity/MultipathPolicyTracker;)V
+PLcom/android/server/connectivity/MultipathPolicyTracker$2;-><init>(Lcom/android/server/connectivity/MultipathPolicyTracker;)V
+PLcom/android/server/connectivity/MultipathPolicyTracker$ConfigChangeReceiver;-><init>(Lcom/android/server/connectivity/MultipathPolicyTracker;)V
+PLcom/android/server/connectivity/MultipathPolicyTracker$ConfigChangeReceiver;-><init>(Lcom/android/server/connectivity/MultipathPolicyTracker;Lcom/android/server/connectivity/MultipathPolicyTracker$ConfigChangeReceiver-IA;)V
+PLcom/android/server/connectivity/MultipathPolicyTracker$Dependencies;-><init>()V
+PLcom/android/server/connectivity/MultipathPolicyTracker$Dependencies;->getClock()Ljava/time/Clock;
+PLcom/android/server/connectivity/MultipathPolicyTracker$SettingsObserver;-><init>(Lcom/android/server/connectivity/MultipathPolicyTracker;Landroid/os/Handler;)V
+PLcom/android/server/connectivity/MultipathPolicyTracker;-><clinit>()V
+PLcom/android/server/connectivity/MultipathPolicyTracker;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/connectivity/MultipathPolicyTracker;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/connectivity/MultipathPolicyTracker$Dependencies;)V
+PLcom/android/server/connectivity/MultipathPolicyTracker;->registerNetworkPolicyListener()V
+PLcom/android/server/connectivity/MultipathPolicyTracker;->registerTrackMobileCallback()V
+PLcom/android/server/connectivity/MultipathPolicyTracker;->start()V
+PLcom/android/server/connectivity/NetdEventListenerService$NetworkMetricsSnapshot;-><init>()V
+PLcom/android/server/connectivity/NetdEventListenerService$NetworkMetricsSnapshot;->collect(JLandroid/util/SparseArray;)Lcom/android/server/connectivity/NetdEventListenerService$NetworkMetricsSnapshot;
+PLcom/android/server/connectivity/NetdEventListenerService$TransportForNetIdNetworkCallback;-><init>(Lcom/android/server/connectivity/NetdEventListenerService;)V
+PLcom/android/server/connectivity/NetdEventListenerService$TransportForNetIdNetworkCallback;-><init>(Lcom/android/server/connectivity/NetdEventListenerService;Lcom/android/server/connectivity/NetdEventListenerService$TransportForNetIdNetworkCallback-IA;)V
+HPLcom/android/server/connectivity/NetdEventListenerService$TransportForNetIdNetworkCallback;->getNetworkCapabilities(I)Landroid/net/NetworkCapabilities;
+PLcom/android/server/connectivity/NetdEventListenerService;-><clinit>()V
+PLcom/android/server/connectivity/NetdEventListenerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/connectivity/NetdEventListenerService;-><init>(Landroid/net/ConnectivityManager;)V
+PLcom/android/server/connectivity/NetdEventListenerService;->addNetdEventCallback(ILandroid/net/INetdEventCallback;)Z
+HPLcom/android/server/connectivity/NetdEventListenerService;->collectPendingMetricsSnapshot(JZ)V
+HPLcom/android/server/connectivity/NetdEventListenerService;->getMetricsForNetwork(JI)Landroid/net/metrics/NetworkMetrics;
+PLcom/android/server/connectivity/NetdEventListenerService;->isValidCallerType(I)Z
+PLcom/android/server/connectivity/NetdEventListenerService;->onConnectEvent(IIILjava/lang/String;II)V
+HPLcom/android/server/connectivity/NetdEventListenerService;->onDnsEvent(IIIILjava/lang/String;[Ljava/lang/String;II)V
+PLcom/android/server/connectivity/NetdEventListenerService;->projectSnapshotTime(J)J
+PLcom/android/server/connectivity/PacProxyService$1;-><init>(Lcom/android/server/connectivity/PacProxyService;)V
+PLcom/android/server/connectivity/PacProxyService$PacRefreshIntentReceiver;-><init>(Lcom/android/server/connectivity/PacProxyService;)V
+PLcom/android/server/connectivity/PacProxyService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/connectivity/PacProxyService;->addListener(Landroid/net/IPacProxyInstalledListener;)V
+PLcom/android/server/connectivity/Vpn$1;-><init>(Lcom/android/server/connectivity/Vpn;)V
+PLcom/android/server/connectivity/Vpn$Dependencies;-><init>()V
+PLcom/android/server/connectivity/Vpn$Ikev2SessionCreator;-><init>()V
+PLcom/android/server/connectivity/Vpn$SystemServices;-><init>(Landroid/content/Context;)V
+PLcom/android/server/connectivity/Vpn$SystemServices;->getContentResolverAsUser(I)Landroid/content/ContentResolver;
+PLcom/android/server/connectivity/Vpn$SystemServices;->settingsSecureGetIntForUser(Ljava/lang/String;II)I
+PLcom/android/server/connectivity/Vpn$SystemServices;->settingsSecureGetStringForUser(Ljava/lang/String;I)Ljava/lang/String;
+PLcom/android/server/connectivity/Vpn;-><clinit>()V
+PLcom/android/server/connectivity/Vpn;-><init>(Landroid/os/Looper;Landroid/content/Context;Landroid/os/INetworkManagementService;Landroid/net/INetd;ILcom/android/server/connectivity/VpnProfileStore;)V
+HPLcom/android/server/connectivity/Vpn;-><init>(Landroid/os/Looper;Landroid/content/Context;Lcom/android/server/connectivity/Vpn$Dependencies;Landroid/os/INetworkManagementService;Landroid/net/INetd;ILcom/android/server/connectivity/VpnProfileStore;Lcom/android/server/connectivity/Vpn$SystemServices;Lcom/android/server/connectivity/Vpn$Ikev2SessionCreator;)V
+PLcom/android/server/connectivity/Vpn;->doesPackageTargetAtLeastQ(Ljava/lang/String;)Z
+PLcom/android/server/connectivity/Vpn;->enforceControlPermissionOrInternalCaller()V
+PLcom/android/server/connectivity/Vpn;->getAlwaysOnPackage()Ljava/lang/String;
+PLcom/android/server/connectivity/Vpn;->getAppUid(Landroid/content/Context;Ljava/lang/String;I)I
+PLcom/android/server/connectivity/Vpn;->isCurrentPreparedPackage(Ljava/lang/String;)Z
+PLcom/android/server/connectivity/Vpn;->isNullOrLegacyVpn(Ljava/lang/String;)Z
+PLcom/android/server/connectivity/Vpn;->loadAlwaysOnPackage()V
+PLcom/android/server/connectivity/Vpn;->setAllowOnlyVpnForUids(ZLjava/util/Collection;)Z
+PLcom/android/server/connectivity/Vpn;->setAlwaysOnPackageInternal(Ljava/lang/String;ZLjava/util/List;)Z
+PLcom/android/server/connectivity/Vpn;->setVpnForcedLocked(Z)V
+PLcom/android/server/connectivity/Vpn;->startAlwaysOnVpn()Z
+PLcom/android/server/connectivity/Vpn;->updateAlwaysOnNotification(Landroid/net/NetworkInfo$DetailedState;)V
+PLcom/android/server/connectivity/VpnProfileStore;-><init>()V
+PLcom/android/server/connectivity/VpnProfileStore;->get(Ljava/lang/String;)[B
+PLcom/android/server/content/ContentService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/content/ContentService;)V
+PLcom/android/server/content/ContentService$1;-><init>(Lcom/android/server/content/ContentService;)V
+PLcom/android/server/content/ContentService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/content/ContentService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/content/ContentService$Lifecycle;->onStart()V
+PLcom/android/server/content/ContentService$Lifecycle;->onUserStarting(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/content/ContentService$Lifecycle;->onUserUnlocking(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/content/ContentService$ObserverCollector$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/content/ContentService$ObserverCollector$Key;Ljava/util/List;)V
+PLcom/android/server/content/ContentService$ObserverCollector$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/content/ContentService$ObserverCollector$Key;-><init>(Landroid/database/IContentObserver;IZII)V
+HPLcom/android/server/content/ContentService$ObserverCollector$Key;->hashCode()I
+PLcom/android/server/content/ContentService$ObserverCollector;->$r8$lambda$Enmwrm6HznBNY378PKC1kmqC6_o(Lcom/android/server/content/ContentService$ObserverCollector$Key;Ljava/util/List;)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
+PLcom/android/server/content/ContentService$ObserverNode$ObserverEntry;->-$$Nest$fgetuserHandle(Lcom/android/server/content/ContentService$ObserverNode$ObserverEntry;)I
+HPLcom/android/server/content/ContentService$ObserverNode$ObserverEntry;-><init>(Lcom/android/server/content/ContentService$ObserverNode;Landroid/database/IContentObserver;ZLjava/lang/Object;IIILandroid/net/Uri;)V
+PLcom/android/server/content/ContentService$ObserverNode$ObserverEntry;->binderDied()V
+HPLcom/android/server/content/ContentService$ObserverNode;-><init>(Ljava/lang/String;)V
+HPLcom/android/server/content/ContentService$ObserverNode;->addObserverLocked(Landroid/net/Uri;ILandroid/database/IContentObserver;ZLjava/lang/Object;III)V
+HPLcom/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
+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;->countUriSegments(Landroid/net/Uri;)I
+HPLcom/android/server/content/ContentService$ObserverNode;->getUriSegment(Landroid/net/Uri;I)Ljava/lang/String;
+HPLcom/android/server/content/ContentService$ObserverNode;->removeObserverLocked(Landroid/database/IContentObserver;)Z
+PLcom/android/server/content/ContentService;->-$$Nest$sfgetsObserverDeathDispatcher()Lcom/android/internal/os/BinderDeathDispatcher;
+PLcom/android/server/content/ContentService;-><clinit>()V
+PLcom/android/server/content/ContentService;-><init>(Landroid/content/Context;Z)V
+PLcom/android/server/content/ContentService;->enforceCrossUserPermission(ILjava/lang/String;)V
+PLcom/android/server/content/ContentService;->getProcStateForStatsd(I)I
+HPLcom/android/server/content/ContentService;->getProviderPackageName(Landroid/net/Uri;I)Ljava/lang/String;
+PLcom/android/server/content/ContentService;->getRestrictionLevelForStatsd(I)I
+HPLcom/android/server/content/ContentService;->getSyncAdapterPackagesForAuthorityAsUser(Ljava/lang/String;I)[Ljava/lang/String;
+HPLcom/android/server/content/ContentService;->getSyncExemptionAndCleanUpExtrasForCaller(ILandroid/os/Bundle;)I
+HPLcom/android/server/content/ContentService;->getSyncExemptionForCaller(I)I
+HPLcom/android/server/content/ContentService;->getSyncManager()Lcom/android/server/content/SyncManager;
+HPLcom/android/server/content/ContentService;->handleIncomingUser(Landroid/net/Uri;IIIZI)I
+HPLcom/android/server/content/ContentService;->invalidateCacheLocked(ILjava/lang/String;Landroid/net/Uri;)V
+HPLcom/android/server/content/ContentService;->notifyChange([Landroid/net/Uri;Landroid/database/IContentObserver;ZIIILjava/lang/String;)V
+PLcom/android/server/content/ContentService;->onBootPhase(I)V
+PLcom/android/server/content/ContentService;->onStartUser(I)V
+PLcom/android/server/content/ContentService;->onUnlockUser(I)V
+HPLcom/android/server/content/ContentService;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/IContentObserver;II)V
+HPLcom/android/server/content/ContentService;->unregisterContentObserver(Landroid/database/IContentObserver;)V
+PLcom/android/server/content/SyncLogger$RotatingFileLogger$MyHandler;-><init>(Lcom/android/server/content/SyncLogger$RotatingFileLogger;Landroid/os/Looper;)V
+PLcom/android/server/content/SyncLogger$RotatingFileLogger$MyHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/content/SyncLogger$RotatingFileLogger$MyHandler;->log(J[Ljava/lang/Object;)V
+PLcom/android/server/content/SyncLogger$RotatingFileLogger;-><clinit>()V
+PLcom/android/server/content/SyncLogger$RotatingFileLogger;-><init>()V
+PLcom/android/server/content/SyncLogger$RotatingFileLogger;->closeCurrentLogLocked()V
+PLcom/android/server/content/SyncLogger$RotatingFileLogger;->enabled()Z
+PLcom/android/server/content/SyncLogger$RotatingFileLogger;->log([Ljava/lang/Object;)V
+HPLcom/android/server/content/SyncLogger$RotatingFileLogger;->logInner(J[Ljava/lang/Object;)V
+HPLcom/android/server/content/SyncLogger$RotatingFileLogger;->openLogLocked(J)V
+PLcom/android/server/content/SyncLogger;-><init>()V
+PLcom/android/server/content/SyncLogger;->getInstance()Lcom/android/server/content/SyncLogger;
+PLcom/android/server/content/SyncManager$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/content/SyncManager;)V
+PLcom/android/server/content/SyncManager$$ExternalSyntheticLambda1;-><init>()V
+PLcom/android/server/content/SyncManager$$ExternalSyntheticLambda2;-><init>()V
+PLcom/android/server/content/SyncManager$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/content/SyncManager;I)V
+PLcom/android/server/content/SyncManager$$ExternalSyntheticLambda3;->run()V
+PLcom/android/server/content/SyncManager$$ExternalSyntheticLambda7;-><init>(Lcom/android/server/content/SyncManager;I)V
+PLcom/android/server/content/SyncManager$$ExternalSyntheticLambda7;->run()V
+PLcom/android/server/content/SyncManager$10;-><init>(Lcom/android/server/content/SyncManager;)V
+PLcom/android/server/content/SyncManager$1;-><init>(Lcom/android/server/content/SyncManager;)V
+PLcom/android/server/content/SyncManager$2;-><init>(Lcom/android/server/content/SyncManager;)V
+PLcom/android/server/content/SyncManager$3;-><init>(Lcom/android/server/content/SyncManager;)V
+PLcom/android/server/content/SyncManager$4;-><init>(Lcom/android/server/content/SyncManager;)V
+PLcom/android/server/content/SyncManager$4;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/content/SyncManager$5;-><init>(Lcom/android/server/content/SyncManager;)V
+PLcom/android/server/content/SyncManager$5;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/content/SyncManager$6;-><init>(Lcom/android/server/content/SyncManager;)V
+PLcom/android/server/content/SyncManager$6;->run()V
+PLcom/android/server/content/SyncManager$7;-><init>(Lcom/android/server/content/SyncManager;)V
+PLcom/android/server/content/SyncManager$8;-><init>(Lcom/android/server/content/SyncManager;)V
+PLcom/android/server/content/SyncManager$9;-><init>(Lcom/android/server/content/SyncManager;)V
+PLcom/android/server/content/SyncManager$PackageMonitorImpl;-><init>()V
+PLcom/android/server/content/SyncManager$PackageMonitorImpl;-><init>(Lcom/android/server/content/SyncManager$PackageMonitorImpl-IA;)V
+PLcom/android/server/content/SyncManager$PackageMonitorImpl;->onHandleForceStop(Landroid/content/Intent;[Ljava/lang/String;IZLandroid/os/Bundle;)Z
+PLcom/android/server/content/SyncManager$PackageMonitorImpl;->onPackageUnstopped(Ljava/lang/String;ILandroid/os/Bundle;)V
+PLcom/android/server/content/SyncManager$SyncHandler;-><init>(Lcom/android/server/content/SyncManager;Landroid/os/Looper;)V
+PLcom/android/server/content/SyncManager$SyncHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/content/SyncManager$SyncHandler;->handleSyncMessage(Landroid/os/Message;)V
+PLcom/android/server/content/SyncManager$SyncHandler;->updateRunningAccountsH(Lcom/android/server/content/SyncStorageEngine$EndPoint;)V
+PLcom/android/server/content/SyncManager$SyncTimeTracker;-><init>(Lcom/android/server/content/SyncManager;)V
+PLcom/android/server/content/SyncManager$SyncTimeTracker;-><init>(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncManager$SyncTimeTracker-IA;)V
+PLcom/android/server/content/SyncManager$SyncTimeTracker;->update()V
+PLcom/android/server/content/SyncManager;->$r8$lambda$W-Rf2gPTxsU_UZt2y9rLu7Qfz_o(Lcom/android/server/content/SyncManager;I)V
+PLcom/android/server/content/SyncManager;->$r8$lambda$stKFIA2giNVVLgh3fNVz1esLG_U(Lcom/android/server/content/SyncManager;I)V
+PLcom/android/server/content/SyncManager;->-$$Nest$fgetmAccountsLock(Lcom/android/server/content/SyncManager;)Ljava/lang/Object;
+PLcom/android/server/content/SyncManager;->-$$Nest$fgetmLogger(Lcom/android/server/content/SyncManager;)Lcom/android/server/content/SyncLogger;
+PLcom/android/server/content/SyncManager;->-$$Nest$fgetmRunningAccounts(Lcom/android/server/content/SyncManager;)[Landroid/accounts/AccountAndUser;
+PLcom/android/server/content/SyncManager;->-$$Nest$fgetmSyncManagerWakeLock(Lcom/android/server/content/SyncManager;)Landroid/os/PowerManager$WakeLock;
+PLcom/android/server/content/SyncManager;->-$$Nest$fgetmSyncStorageEngine(Lcom/android/server/content/SyncManager;)Lcom/android/server/content/SyncStorageEngine;
+PLcom/android/server/content/SyncManager;->-$$Nest$fputmDataConnectionIsConnected(Lcom/android/server/content/SyncManager;Z)V
+PLcom/android/server/content/SyncManager;->-$$Nest$fputmRunningAccounts(Lcom/android/server/content/SyncManager;[Landroid/accounts/AccountAndUser;)V
+PLcom/android/server/content/SyncManager;->-$$Nest$mgetAllPendingSyncs(Lcom/android/server/content/SyncManager;)Ljava/util/List;
+PLcom/android/server/content/SyncManager;->-$$Nest$monUserUnlocked(Lcom/android/server/content/SyncManager;I)V
+PLcom/android/server/content/SyncManager;->-$$Nest$mreadDataConnectionState(Lcom/android/server/content/SyncManager;)Z
+PLcom/android/server/content/SyncManager;->-$$Nest$mremoveStaleAccounts(Lcom/android/server/content/SyncManager;)V
+PLcom/android/server/content/SyncManager;-><clinit>()V
+HPLcom/android/server/content/SyncManager;-><init>(Landroid/content/Context;Z)V
+PLcom/android/server/content/SyncManager;->allowListExistingSyncAdaptersIfNeeded()V
+PLcom/android/server/content/SyncManager;->cleanupJobs()V
+PLcom/android/server/content/SyncManager;->getAccountManagerInternal()Landroid/accounts/AccountManagerInternal;
+PLcom/android/server/content/SyncManager;->getAllPendingSyncs()Ljava/util/List;
+PLcom/android/server/content/SyncManager;->getConnectivityManager()Landroid/net/ConnectivityManager;
+PLcom/android/server/content/SyncManager;->getJobStats()Ljava/lang/String;
+HPLcom/android/server/content/SyncManager;->getSyncAdapterPackagesForAuthorityAsUser(Ljava/lang/String;II)[Ljava/lang/String;
+PLcom/android/server/content/SyncManager;->isDeviceProvisioned()Z
+PLcom/android/server/content/SyncManager;->lambda$onStartUser$1(I)V
+PLcom/android/server/content/SyncManager;->lambda$onUnlockUser$2(I)V
+PLcom/android/server/content/SyncManager;->likelyHasPeriodicSyncs()Z
+PLcom/android/server/content/SyncManager;->migrateSyncJobNamespaceIfNeeded()V
+PLcom/android/server/content/SyncManager;->onBootPhase(I)V
+PLcom/android/server/content/SyncManager;->onStartUser(I)V
+PLcom/android/server/content/SyncManager;->onUnlockUser(I)V
+PLcom/android/server/content/SyncManager;->onUserUnlocked(I)V
+PLcom/android/server/content/SyncManager;->readDataConnectionState()Z
+PLcom/android/server/content/SyncManager;->removeStaleAccounts()V
+HPLcom/android/server/content/SyncManager;->scheduleLocalSync(Landroid/accounts/Account;IILjava/lang/String;IIILjava/lang/String;)V
+PLcom/android/server/content/SyncManager;->scheduleSync(Landroid/accounts/Account;IILjava/lang/String;Landroid/os/Bundle;IIIILjava/lang/String;)V
+HPLcom/android/server/content/SyncManager;->scheduleSync(Landroid/accounts/Account;IILjava/lang/String;Landroid/os/Bundle;IJZIIILjava/lang/String;)V
+PLcom/android/server/content/SyncManager;->updateRunningAccounts(Lcom/android/server/content/SyncStorageEngine$EndPoint;)V
+PLcom/android/server/content/SyncManager;->verifyJobScheduler()V
+PLcom/android/server/content/SyncManagerConstants$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/content/SyncManagerConstants;)V
+PLcom/android/server/content/SyncManagerConstants$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/content/SyncManagerConstants;->$r8$lambda$C0hj3KUN5qSzbVr_vPnWooTwtTU(Lcom/android/server/content/SyncManagerConstants;)V
+PLcom/android/server/content/SyncManagerConstants;-><init>(Landroid/content/Context;)V
+PLcom/android/server/content/SyncManagerConstants;->lambda$start$0()V
+PLcom/android/server/content/SyncManagerConstants;->refresh()V
+PLcom/android/server/content/SyncManagerConstants;->start()V
+PLcom/android/server/content/SyncStorageEngine$EndPoint;-><clinit>()V
+PLcom/android/server/content/SyncStorageEngine$EndPoint;-><init>(Landroid/accounts/Account;Ljava/lang/String;I)V
+PLcom/android/server/content/SyncStorageEngine$MyHandler;-><init>(Lcom/android/server/content/SyncStorageEngine;Landroid/os/Looper;)V
+PLcom/android/server/content/SyncStorageEngine;-><clinit>()V
+HPLcom/android/server/content/SyncStorageEngine;-><init>(Landroid/content/Context;Ljava/io/File;Landroid/os/Looper;)V
+PLcom/android/server/content/SyncStorageEngine;->getAuthorityCount()I
+PLcom/android/server/content/SyncStorageEngine;->getSingleton()Lcom/android/server/content/SyncStorageEngine;
+PLcom/android/server/content/SyncStorageEngine;->init(Landroid/content/Context;Landroid/os/Looper;)V
+PLcom/android/server/content/SyncStorageEngine;->isJobAttributionFixed()Z
+PLcom/android/server/content/SyncStorageEngine;->isJobNamespaceMigrated()Z
+PLcom/android/server/content/SyncStorageEngine;->maybeDeleteLegacyPendingInfoLocked(Ljava/io/File;)V
+PLcom/android/server/content/SyncStorageEngine;->readAccountInfoLocked()V
+PLcom/android/server/content/SyncStorageEngine;->readStatisticsLocked()V
+PLcom/android/server/content/SyncStorageEngine;->readStatusInfoLocked(Ljava/io/InputStream;)V
+PLcom/android/server/content/SyncStorageEngine;->readStatusLocked()V
+PLcom/android/server/content/SyncStorageEngine;->removeStaleAccounts([Landroid/accounts/Account;I)V
+PLcom/android/server/content/SyncStorageEngine;->setClockValid()V
+PLcom/android/server/content/SyncStorageEngine;->setOnAuthorityRemovedListener(Lcom/android/server/content/SyncStorageEngine$OnAuthorityRemovedListener;)V
+PLcom/android/server/content/SyncStorageEngine;->setOnSyncRequestListener(Lcom/android/server/content/SyncStorageEngine$OnSyncRequestListener;)V
+PLcom/android/server/content/SyncStorageEngine;->setPeriodicSyncAddedListener(Lcom/android/server/content/SyncStorageEngine$PeriodicSyncAddedListener;)V
+PLcom/android/server/content/SyncStorageEngine;->shouldGrantSyncAdaptersAccountAccess()Z
+PLcom/android/server/content/SyncStorageEngine;->upgradeStatisticsIfNeededLocked()V
+PLcom/android/server/content/SyncStorageEngine;->upgradeStatusIfNeededLocked()V
+PLcom/android/server/coverage/CoverageService;-><clinit>()V
+HPLcom/android/server/cpu/CpuAvailabilityInfo;-><init>(IJIIJ)V
+PLcom/android/server/cpu/CpuInfoReader$$ExternalSyntheticLambda1;-><init>()V
+PLcom/android/server/cpu/CpuInfoReader$$ExternalSyntheticLambda1;->accept(Ljava/io/File;)Z
+PLcom/android/server/cpu/CpuInfoReader$$ExternalSyntheticLambda2;-><init>()V
+PLcom/android/server/cpu/CpuInfoReader$$ExternalSyntheticLambda2;->accept(Ljava/io/File;)Z
+HPLcom/android/server/cpu/CpuInfoReader$CpuInfo;-><init>(IIZJJJJLcom/android/server/cpu/CpuInfoReader$CpuUsageStats;)V
+PLcom/android/server/cpu/CpuInfoReader$CpuInfo;-><init>(IIZJJJLcom/android/server/cpu/CpuInfoReader$CpuUsageStats;)V
+HPLcom/android/server/cpu/CpuInfoReader$CpuInfo;->computeNormalizedAvailableCpuFreqKHz()J
+PLcom/android/server/cpu/CpuInfoReader$CpuInfo;->getNormalizedAvailableCpuFreqKHz()J
+HPLcom/android/server/cpu/CpuInfoReader$CpuUsageStats;-><init>(JJJJJJJJJJ)V
+HPLcom/android/server/cpu/CpuInfoReader$CpuUsageStats;->delta(Lcom/android/server/cpu/CpuInfoReader$CpuUsageStats;)Lcom/android/server/cpu/CpuInfoReader$CpuUsageStats;
+PLcom/android/server/cpu/CpuInfoReader$CpuUsageStats;->diff(JJ)J
+HPLcom/android/server/cpu/CpuInfoReader$CpuUsageStats;->getTotalTimeMillis()J
+PLcom/android/server/cpu/CpuInfoReader$DynamicPolicyInfo;-><init>(JJJLandroid/util/IntArray;)V
+PLcom/android/server/cpu/CpuInfoReader$StaticPolicyInfo;-><init>(Landroid/util/IntArray;)V
+PLcom/android/server/cpu/CpuInfoReader;->$r8$lambda$jQBUynzxWR2ZUcdjqmjLMG5hjjk(Ljava/io/File;)Z
+PLcom/android/server/cpu/CpuInfoReader;-><clinit>()V
+PLcom/android/server/cpu/CpuInfoReader;-><init>()V
+PLcom/android/server/cpu/CpuInfoReader;-><init>(Ljava/io/File;Ljava/io/File;Ljava/io/File;J)V
+PLcom/android/server/cpu/CpuInfoReader;->calculateAvgCpuFreq(Landroid/util/LongSparseLongArray;)J
+PLcom/android/server/cpu/CpuInfoReader;->calculateDeltaTimeInState(Landroid/util/LongSparseLongArray;Landroid/util/LongSparseLongArray;)Landroid/util/LongSparseLongArray;
+PLcom/android/server/cpu/CpuInfoReader;->clockTickStrToMillis(Ljava/lang/String;)J
+PLcom/android/server/cpu/CpuInfoReader;->init()Z
+PLcom/android/server/cpu/CpuInfoReader;->lambda$init$0(Ljava/io/File;)Z
+PLcom/android/server/cpu/CpuInfoReader;->populateCpuFreqPolicyDirsById([Ljava/io/File;)V
+HPLcom/android/server/cpu/CpuInfoReader;->readAvgTimeInStateCpuFrequency(ILjava/io/File;)J
+HPLcom/android/server/cpu/CpuInfoReader;->readCpuCores(Ljava/io/File;)Landroid/util/IntArray;
+HPLcom/android/server/cpu/CpuInfoReader;->readCpuFreqKHz(Ljava/io/File;)J
+HPLcom/android/server/cpu/CpuInfoReader;->readCpuInfos()Landroid/util/SparseArray;
+PLcom/android/server/cpu/CpuInfoReader;->readCpusetCategories()V
+HPLcom/android/server/cpu/CpuInfoReader;->readCumulativeCpuUsageStats()Landroid/util/SparseArray;
+HPLcom/android/server/cpu/CpuInfoReader;->readDynamicPolicyInfo()Landroid/util/SparseArray;
+HPLcom/android/server/cpu/CpuInfoReader;->readLatestCpuUsageStats()Landroid/util/SparseArray;
+PLcom/android/server/cpu/CpuInfoReader;->readStaticPolicyInfo()V
+HPLcom/android/server/cpu/CpuInfoReader;->readTimeInState(Ljava/io/File;)Landroid/util/LongSparseLongArray;
+PLcom/android/server/cpu/CpuMonitorInternal;-><init>()V
+PLcom/android/server/cpu/CpuMonitorService$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/cpu/CpuMonitorService;)V
+PLcom/android/server/cpu/CpuMonitorService$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/cpu/CpuMonitorService$1;-><init>(Lcom/android/server/cpu/CpuMonitorService;)V
+PLcom/android/server/cpu/CpuMonitorService$CpuMonitorBinder$1;-><init>(Lcom/android/server/cpu/CpuMonitorService$CpuMonitorBinder;)V
+PLcom/android/server/cpu/CpuMonitorService$CpuMonitorBinder;-><init>(Lcom/android/server/cpu/CpuMonitorService;)V
+PLcom/android/server/cpu/CpuMonitorService$CpuMonitorBinder;-><init>(Lcom/android/server/cpu/CpuMonitorService;Lcom/android/server/cpu/CpuMonitorService$CpuMonitorBinder-IA;)V
+PLcom/android/server/cpu/CpuMonitorService$CpusetInfo$Snapshot;-><init>(J)V
+HPLcom/android/server/cpu/CpuMonitorService$CpusetInfo$Snapshot;->appendCpuInfo(Lcom/android/server/cpu/CpuInfoReader$CpuInfo;)V
+PLcom/android/server/cpu/CpuMonitorService$CpusetInfo$Snapshot;->getAverageAvailableCpuFreqPercent()I
+PLcom/android/server/cpu/CpuMonitorService$CpusetInfo;-><init>(I)V
+HPLcom/android/server/cpu/CpuMonitorService$CpusetInfo;->appendCpuInfo(JLcom/android/server/cpu/CpuInfoReader$CpuInfo;)V
+HPLcom/android/server/cpu/CpuMonitorService$CpusetInfo;->getCumulativeAvgAvailabilityPercent(J)I
+PLcom/android/server/cpu/CpuMonitorService$CpusetInfo;->getLatestCpuAvailabilityInfo()Lcom/android/server/cpu/CpuAvailabilityInfo;
+PLcom/android/server/cpu/CpuMonitorService$CpusetInfo;->getPrevCpuAvailabilityPercent()I
+HPLcom/android/server/cpu/CpuMonitorService$CpusetInfo;->populateLatestCpuAvailabilityInfo(JJ)V
+PLcom/android/server/cpu/CpuMonitorService;->$r8$lambda$5b7hWobM0wDK4hsjD37skajm2e8(Lcom/android/server/cpu/CpuMonitorService;)V
+PLcom/android/server/cpu/CpuMonitorService;->-$$Nest$sfgetCACHE_DURATION_MILLISECONDS()J
+PLcom/android/server/cpu/CpuMonitorService;->-$$Nest$smcontainsCpuset(II)Z
+PLcom/android/server/cpu/CpuMonitorService;-><clinit>()V
+PLcom/android/server/cpu/CpuMonitorService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/cpu/CpuMonitorService;-><init>(Landroid/content/Context;Lcom/android/server/cpu/CpuInfoReader;Landroid/os/HandlerThread;ZJJJ)V
+PLcom/android/server/cpu/CpuMonitorService;->checkClientThresholdsAndNotifyLocked(Lcom/android/server/cpu/CpuMonitorService$CpusetInfo;)V
+PLcom/android/server/cpu/CpuMonitorService;->containsCpuset(II)Z
+PLcom/android/server/cpu/CpuMonitorService;->hasClientCallbacksLocked()Z
+HPLcom/android/server/cpu/CpuMonitorService;->monitorCpuStats()V
+PLcom/android/server/cpu/CpuMonitorService;->onStart()V
+HSPLcom/android/server/criticalevents/CriticalEventLog$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/criticalevents/CriticalEventLog;)V
+PLcom/android/server/criticalevents/CriticalEventLog$$ExternalSyntheticLambda0;->run()V
+HSPLcom/android/server/criticalevents/CriticalEventLog$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/criticalevents/CriticalEventLog;Lcom/android/server/criticalevents/CriticalEventLog$ILogLoader;)V
+HSPLcom/android/server/criticalevents/CriticalEventLog$$ExternalSyntheticLambda1;->run()V
+HSPLcom/android/server/criticalevents/CriticalEventLog$LogLoader;-><init>()V
+HSPLcom/android/server/criticalevents/CriticalEventLog$LogLoader;->load(Ljava/io/File;Lcom/android/server/criticalevents/CriticalEventLog$ThreadSafeRingBuffer;)V
+HSPLcom/android/server/criticalevents/CriticalEventLog$LogLoader;->loadLogFromFile(Ljava/io/File;)Lcom/android/server/criticalevents/nano/CriticalEventLogStorageProto;
+PLcom/android/server/criticalevents/CriticalEventLog$LogSanitizer;-><init>(ILjava/lang/String;I)V
+PLcom/android/server/criticalevents/CriticalEventLog$LogSanitizer;->process(Lcom/android/server/criticalevents/nano/CriticalEventProto;)Lcom/android/server/criticalevents/nano/CriticalEventProto;
+HSPLcom/android/server/criticalevents/CriticalEventLog$ThreadSafeRingBuffer;-><init>(Ljava/lang/Class;I)V
+HSPLcom/android/server/criticalevents/CriticalEventLog$ThreadSafeRingBuffer;->append(Ljava/lang/Object;)V
+PLcom/android/server/criticalevents/CriticalEventLog$ThreadSafeRingBuffer;->capacity()I
+PLcom/android/server/criticalevents/CriticalEventLog$ThreadSafeRingBuffer;->toArray()[Ljava/lang/Object;
+HSPLcom/android/server/criticalevents/CriticalEventLog;->$r8$lambda$lY5bRq3e1qTEzCvfI4SPBg_RsKI(Lcom/android/server/criticalevents/CriticalEventLog;Lcom/android/server/criticalevents/CriticalEventLog$ILogLoader;)V
+HSPLcom/android/server/criticalevents/CriticalEventLog;-><clinit>()V
+HSPLcom/android/server/criticalevents/CriticalEventLog;-><init>()V
+HSPLcom/android/server/criticalevents/CriticalEventLog;-><init>(Ljava/lang/String;IIJZLcom/android/server/criticalevents/CriticalEventLog$ILogLoader;)V
+PLcom/android/server/criticalevents/CriticalEventLog;->appendAndSave(Lcom/android/server/criticalevents/nano/CriticalEventProto;)V
+HSPLcom/android/server/criticalevents/CriticalEventLog;->getInstance()Lcom/android/server/criticalevents/CriticalEventLog;
+PLcom/android/server/criticalevents/CriticalEventLog;->getOutputLogProto(ILjava/lang/String;I)Lcom/android/server/criticalevents/nano/CriticalEventLogProto;
+PLcom/android/server/criticalevents/CriticalEventLog;->getWallTimeMillis()J
+HSPLcom/android/server/criticalevents/CriticalEventLog;->init()V
+HSPLcom/android/server/criticalevents/CriticalEventLog;->lambda$new$0(Lcom/android/server/criticalevents/CriticalEventLog$ILogLoader;)V
+PLcom/android/server/criticalevents/CriticalEventLog;->log(Lcom/android/server/criticalevents/nano/CriticalEventProto;)V
+PLcom/android/server/criticalevents/CriticalEventLog;->logAnr(Ljava/lang/String;ILjava/lang/String;II)V
+PLcom/android/server/criticalevents/CriticalEventLog;->logLinesForTraceFile(ILjava/lang/String;I)Ljava/lang/String;
+PLcom/android/server/criticalevents/CriticalEventLog;->logSystemServerStarted()V
+PLcom/android/server/criticalevents/CriticalEventLog;->recentEventsWithMinTimestamp(J)[Lcom/android/server/criticalevents/nano/CriticalEventProto;
+PLcom/android/server/criticalevents/CriticalEventLog;->saveDelayMs()J
+PLcom/android/server/criticalevents/CriticalEventLog;->saveLogToFile()V
+PLcom/android/server/criticalevents/CriticalEventLog;->saveLogToFileNow()V
+HPLcom/android/server/devicepolicy/CallerIdentity;-><init>(ILjava/lang/String;Landroid/content/ComponentName;)V
+PLcom/android/server/devicepolicy/CallerIdentity;->getPackageName()Ljava/lang/String;
+PLcom/android/server/devicepolicy/CallerIdentity;->getUid()I
+PLcom/android/server/devicepolicy/CallerIdentity;->getUserId()I
+PLcom/android/server/devicepolicy/CertificateMonitor$1;-><init>(Lcom/android/server/devicepolicy/CertificateMonitor;)V
+PLcom/android/server/devicepolicy/CertificateMonitor$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/devicepolicy/CertificateMonitor;->-$$Nest$mupdateInstalledCertificates(Lcom/android/server/devicepolicy/CertificateMonitor;Landroid/os/UserHandle;)V
+PLcom/android/server/devicepolicy/CertificateMonitor;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;Landroid/os/Handler;)V
+PLcom/android/server/devicepolicy/CertificateMonitor;->getInstalledCaCertificates(Landroid/os/UserHandle;)Ljava/util/List;
+PLcom/android/server/devicepolicy/CertificateMonitor;->updateInstalledCertificates(Landroid/os/UserHandle;)V
+PLcom/android/server/devicepolicy/DeviceAdminServiceController;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyConstants;)V
+PLcom/android/server/devicepolicy/DeviceManagementResourcesProvider$Injector;-><init>()V
+PLcom/android/server/devicepolicy/DeviceManagementResourcesProvider$Injector;->environmentGetDataSystemDirectory()Ljava/io/File;
+PLcom/android/server/devicepolicy/DeviceManagementResourcesProvider$ResourcesReaderWriter;-><init>(Lcom/android/server/devicepolicy/DeviceManagementResourcesProvider;)V
+PLcom/android/server/devicepolicy/DeviceManagementResourcesProvider$ResourcesReaderWriter;-><init>(Lcom/android/server/devicepolicy/DeviceManagementResourcesProvider;Lcom/android/server/devicepolicy/DeviceManagementResourcesProvider$ResourcesReaderWriter-IA;)V
+PLcom/android/server/devicepolicy/DeviceManagementResourcesProvider$ResourcesReaderWriter;->readFromFileLocked()V
+PLcom/android/server/devicepolicy/DeviceManagementResourcesProvider;->-$$Nest$mgetResourcesFile(Lcom/android/server/devicepolicy/DeviceManagementResourcesProvider;)Ljava/io/File;
+PLcom/android/server/devicepolicy/DeviceManagementResourcesProvider;-><init>()V
+PLcom/android/server/devicepolicy/DeviceManagementResourcesProvider;-><init>(Lcom/android/server/devicepolicy/DeviceManagementResourcesProvider$Injector;)V
+PLcom/android/server/devicepolicy/DeviceManagementResourcesProvider;->getDrawable(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/app/admin/ParcelableResource;
+PLcom/android/server/devicepolicy/DeviceManagementResourcesProvider;->getDrawableForSourceLocked(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/app/admin/ParcelableResource;
+PLcom/android/server/devicepolicy/DeviceManagementResourcesProvider;->getResourcesFile()Ljava/io/File;
+PLcom/android/server/devicepolicy/DeviceManagementResourcesProvider;->getString(Ljava/lang/String;)Landroid/app/admin/ParcelableResource;
+PLcom/android/server/devicepolicy/DeviceManagementResourcesProvider;->load()V
+PLcom/android/server/devicepolicy/DevicePolicyCacheImpl;-><init>()V
+PLcom/android/server/devicepolicy/DevicePolicyCacheImpl;->getScreenCaptureDisallowedUser()I
+PLcom/android/server/devicepolicy/DevicePolicyCacheImpl;->isScreenCaptureAllowed(I)Z
+PLcom/android/server/devicepolicy/DevicePolicyCacheImpl;->isScreenCaptureAllowedInPolicyEngine(I)Z
+PLcom/android/server/devicepolicy/DevicePolicyCacheImpl;->setAdminCanGrantSensorsPermissions(Z)V
+PLcom/android/server/devicepolicy/DevicePolicyCacheImpl;->setPasswordQuality(II)V
+PLcom/android/server/devicepolicy/DevicePolicyCacheImpl;->setPermissionPolicy(II)V
+PLcom/android/server/devicepolicy/DevicePolicyConstants;-><init>(Ljava/lang/String;)V
+PLcom/android/server/devicepolicy/DevicePolicyConstants;->loadFromString(Ljava/lang/String;)Lcom/android/server/devicepolicy/DevicePolicyConstants;
+HPLcom/android/server/devicepolicy/DevicePolicyData;-><init>(I)V
+HPLcom/android/server/devicepolicy/DevicePolicyData;->load(Lcom/android/server/devicepolicy/DevicePolicyData;Lcom/android/internal/util/JournaledFile;Ljava/util/function/Function;Landroid/content/ComponentName;)V
+PLcom/android/server/devicepolicy/DevicePolicyData;->validatePasswordOwner()V
+PLcom/android/server/devicepolicy/DevicePolicyEngine$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/devicepolicy/DevicePolicyEngine;ILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/devicepolicy/DevicePolicyEngine$$ExternalSyntheticLambda6;->runOrThrow()V
+PLcom/android/server/devicepolicy/DevicePolicyEngine$DevicePoliciesReaderWriter;-><init>(Lcom/android/server/devicepolicy/DevicePolicyEngine;)V
+PLcom/android/server/devicepolicy/DevicePolicyEngine$DevicePoliciesReaderWriter;-><init>(Lcom/android/server/devicepolicy/DevicePolicyEngine;Lcom/android/server/devicepolicy/DevicePolicyEngine$DevicePoliciesReaderWriter-IA;)V
+PLcom/android/server/devicepolicy/DevicePolicyEngine$DevicePoliciesReaderWriter;->readFromFileLocked()V
+PLcom/android/server/devicepolicy/DevicePolicyEngine;->$r8$lambda$HEsFA9ci1FtT28qaffzy5LIPWrk(Lcom/android/server/devicepolicy/DevicePolicyEngine;ILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/devicepolicy/DevicePolicyEngine;-><clinit>()V
+PLcom/android/server/devicepolicy/DevicePolicyEngine;-><init>(Landroid/content/Context;Lcom/android/server/devicepolicy/DeviceAdminServiceController;Ljava/lang/Object;)V
+PLcom/android/server/devicepolicy/DevicePolicyEngine;->clear()V
+PLcom/android/server/devicepolicy/DevicePolicyEngine;->getEnforcingAdminsOnUser(I)Ljava/util/Set;
+PLcom/android/server/devicepolicy/DevicePolicyEngine;->handlePackageChanged(Ljava/lang/String;ILjava/lang/String;)V
+PLcom/android/server/devicepolicy/DevicePolicyEngine;->handleStartUser(I)V
+PLcom/android/server/devicepolicy/DevicePolicyEngine;->handleUnlockUser(I)V
+PLcom/android/server/devicepolicy/DevicePolicyEngine;->lambda$handlePackageChanged$6(ILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/devicepolicy/DevicePolicyEngine;->load()V
+PLcom/android/server/devicepolicy/DevicePolicyEngine;->reapplyAllPoliciesLocked()V
+PLcom/android/server/devicepolicy/DevicePolicyEngine;->updateDeviceAdminsServicesForUser(IZLjava/lang/String;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda100;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda100;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda102;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;ZILandroid/content/Context;J)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda102;->runOrThrow()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda113;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda132;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda132;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda142;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda142;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda161;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;ILandroid/app/role/RoleManager;Ljava/lang/String;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda161;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda163;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda163;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda177;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda177;->runOrThrow()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda17;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda17;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda188;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda188;->runOrThrow()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda192;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda192;->runOrThrow()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda195;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda195;->runOrThrow()V
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda199;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;ILjava/util/ArrayList;Ljava/util/function/Predicate;)V
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda199;->runOrThrow()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda27;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda27;->runOrThrow()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda38;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda38;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda42;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda42;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda46;-><init>(Landroid/content/Context;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda46;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda55;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda55;->run()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda68;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda68;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda6;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda72;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda72;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda80;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/CallerIdentity;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda80;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda86;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda89;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda89;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$1$1;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService$1;I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$1$1;->run()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$1;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$1;->sendDeviceOwnerUserCommand(Ljava/lang/String;I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$2;-><init>()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$CalculateHasIncompatibleAccountsTask;-><clinit>()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$CalculateHasIncompatibleAccountsTask;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$CalculateHasIncompatibleAccountsTask;->doInBackground([Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$CalculateHasIncompatibleAccountsTask;->doInBackground([Ljava/lang/Void;)Ljava/util/Map;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$CalculateHasIncompatibleAccountsTask;->onPostExecute(Ljava/lang/Object;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$CalculateHasIncompatibleAccountsTask;->onPostExecute(Ljava/util/Map;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$CalculateHasIncompatibleAccountsTask;->userHasIncompatibleAccounts(I)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyConstantsObserver;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/os/Handler;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyConstantsObserver;->register()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyManagementRoleObserver;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/content/Context;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyManagementRoleObserver;->register()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$DpmsUpgradeDataProvider;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$DpmsUpgradeDataProvider;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService$DpmsUpgradeDataProvider-IA;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$DpmsUpgradeDataProvider;->makePoliciesVersionJournaledFile(I)Lcom/android/internal/util/JournaledFile;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;-><init>(Landroid/content/Context;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->binderClearCallingIdentity()J
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->binderGetCallingUid()I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->binderRestoreCallingIdentity(J)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->binderWithCleanCallingIdentity(Lcom/android/internal/util/FunctionalUtils$ThrowingRunnable;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->binderWithCleanCallingIdentity(Lcom/android/internal/util/FunctionalUtils$ThrowingSupplier;)Ljava/lang/Object;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getActivityManagerInternal()Landroid/app/ActivityManagerInternal;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getActivityTaskManagerInternal()Lcom/android/server/wm/ActivityTaskManagerInternal;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getAlarmManager()Landroid/app/AlarmManager;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getDeviceManagementResourcesProvider()Lcom/android/server/devicepolicy/DeviceManagementResourcesProvider;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getIPackageManager()Landroid/content/pm/IPackageManager;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getIPermissionManager()Landroid/permission/IPermissionManager;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getLockSettingsInternal()Lcom/android/internal/widget/LockSettingsInternal;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getMyLooper()Landroid/os/Looper;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getNetworkPolicyManagerInternal()Lcom/android/server/net/NetworkPolicyManagerInternal;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getNotificationManager()Landroid/app/NotificationManager;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getPackageManager()Landroid/content/pm/PackageManager;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getPackageManagerInternal()Landroid/content/pm/PackageManagerInternal;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getPackageManagerLocal()Lcom/android/server/pm/PackageManagerLocal;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getPersistentDataBlockManagerInternal()Lcom/android/server/pdb/PersistentDataBlockManagerInternal;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getPowerManagerInternal()Landroid/os/PowerManagerInternal;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getRoleManager()Landroid/app/role/RoleManager;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getTelephonyManager()Landroid/telephony/TelephonyManager;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getUsageStatsManagerInternal()Landroid/app/usage/UsageStatsManagerInternal;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getUserManager()Landroid/os/UserManager;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getUserManagerInternal()Lcom/android/server/pm/UserManagerInternal;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->hasFeature()Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->keyChainBindAsUser(Landroid/os/UserHandle;)Landroid/security/KeyChain$KeyChainConnection;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->newLockPatternUtils()Lcom/android/internal/widget/LockPatternUtils;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->newTransferOwnershipMetadataManager()Lcom/android/server/devicepolicy/TransferOwnershipMetadataManager;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->postOnSystemServerInitThreadPool(Ljava/lang/Runnable;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->securityLogIsLoggingEnabled()Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->settingsGlobalGetInt(Ljava/lang/String;I)I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->settingsGlobalGetString(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->settingsSecureGetIntForUser(Ljava/lang/String;II)I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->systemPropertiesGet(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->systemPropertiesSet(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->userHandleGetCallingUserId()I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Lifecycle;->onStart()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Lifecycle;->onUserStarting(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Lifecycle;->onUserUnlocked(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Lifecycle;->onUserUnlocking(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->getDeviceOwnerUserId()I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->getDevicePolicyCache()Landroid/app/admin/DevicePolicyCache;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->getProfileOwnerAsUser(I)Landroid/content/ComponentName;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->getProfileOwnerOrDeviceOwnerSupervisionComponent(Landroid/os/UserHandle;)Landroid/content/ComponentName;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->isDeviceOrProfileOwnerInCallingUser(Ljava/lang/String;)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->isDeviceOwnerInCallingUser(Ljava/lang/String;)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->isProfileOwnerInCallingUser(Ljava/lang/String;)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$RestrictionsListener;-><init>(Landroid/content/Context;Lcom/android/server/pm/UserManagerInternal;Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$RestrictionsListener;->onUserRestrictionsChanged(ILandroid/os/Bundle;Landroid/os/Bundle;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$RestrictionsListener;->resetCrossProfileIntentFiltersIfNeeded(ILandroid/os/Bundle;Landroid/os/Bundle;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$RestrictionsListener;->resetUserVpnIfNeeded(ILandroid/os/Bundle;Landroid/os/Bundle;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$SetupContentObserver;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/os/Handler;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$SetupContentObserver;->register()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$UserLifecycleListener;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$UserLifecycleListener;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService$UserLifecycleListener-IA;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->$r8$lambda$-_z8hGRIb6pQyXYE8_6ZYacGvbw(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)Ljava/util/List;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->$r8$lambda$-q-2R58XHKASAfVcXG9652E3rcY(Lcom/android/server/devicepolicy/DevicePolicyManagerService;ZILandroid/content/Context;J)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->$r8$lambda$4qgfaLwflxT886ZjrVckFVIasDk(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)Ljava/lang/Integer;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->$r8$lambda$6U9Tynmb-Pyx3o9fk3BZ0wh6q3E(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)Lcom/android/server/devicepolicy/DevicePolicyData;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->$r8$lambda$8VXyNGD0KwgqhXPdcXu1QbxETRQ(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/CallerIdentity;)Landroid/content/ComponentName;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->$r8$lambda$Brh1ZdbohpkBgCPUEetYswzjMkc(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)Ljava/lang/Integer;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->$r8$lambda$CJDroM2Uh4rlsgC9LEZ9aehyHXM(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)Ljava/lang/Boolean;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->$r8$lambda$CRXhnBHjweCG-8NoO_CQy53GYYk(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)Ljava/lang/Boolean;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->$r8$lambda$CYNFk6GsglGWHquGPD3vL3X-AUg(Lcom/android/server/devicepolicy/DevicePolicyManagerService;ILjava/util/ArrayList;Ljava/util/function/Predicate;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->$r8$lambda$DyPvkrBjVftwiLi5cgJUKifQ0U0(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->$r8$lambda$JMLEf7na_pJZ1NV2yiBbR9cYggU(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->$r8$lambda$OK7dCZ1VEShdEVYkeM54BypjnE8(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->$r8$lambda$U1W3GVfS6PTjHhnIoEaSz9WC9vo(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->$r8$lambda$Yyzr3b2Kx_xWuoVgRMQEA4r_WrQ(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/app/admin/ParcelableResource;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->$r8$lambda$bycuYzhfY5R_qaetM6pnmUlgRYw(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)Ljava/lang/Boolean;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->$r8$lambda$i6aIKV8B6wjNaZ4yPJzuaqQ_iKs(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;)Landroid/app/admin/ParcelableResource;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->$r8$lambda$iNjWxaW0J6MCxP6Dq9qZBTkpUPU(Landroid/content/Context;)Ljava/lang/Boolean;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->$r8$lambda$l-CexO0TUb2n-ZZT32CKYYMXM8Q(Lcom/android/server/devicepolicy/DevicePolicyManagerService;ILandroid/app/role/RoleManager;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->$r8$lambda$nLvlTqg9n5B_Pl5TtcgHJOhZ3Bw(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->$r8$lambda$oJwZkF-N5rTQ3VjihBKUVksj8oQ(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->$r8$lambda$qyL5CPTjIZuQtn8bTDK3nNCBcR8(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)Lcom/android/server/devicepolicy/ActiveAdmin;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->$r8$lambda$y2NbOOaPwzvcsyukbUhSG1v0a0I(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)Landroid/content/pm/UserInfo;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->-$$Nest$fgetmPolicyCache(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)Lcom/android/server/devicepolicy/DevicePolicyCacheImpl;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->-$$Nest$fputmHasIncompatibleAccounts(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/util/Map;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->-$$Nest$mhandlePackagesChanged(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->-$$Nest$mhandlePasswordExpirationNotification(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->-$$Nest$misManagedProfile(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->-$$Nest$misNetworkLoggingEnabledInternalLocked(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->-$$Nest$mmakeJournaledFile(Lcom/android/server/devicepolicy/DevicePolicyManagerService;ILjava/lang/String;)Lcom/android/internal/util/JournaledFile;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->-$$Nest$mmaybeSendAdminEnabledBroadcastLocked(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->-$$Nest$mupdatePersonalAppsSuspensionOnUserStart(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;-><clinit>()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;Lcom/android/server/devicepolicy/PolicyPathProvider;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->applyManagedSubscriptionsPolicyIfRequired()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->applyProfileRestrictionsIfDeviceOwnerLocked()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->calculateHasIncompatibleAccounts()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->canManageUsers(Lcom/android/server/devicepolicy/CallerIdentity;)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->canUsbDataSignalingBeDisabledInternal(Landroid/content/Context;)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->checkCanExecuteOrThrowUnsafe(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->cleanUpOldUsers()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->doesCallerHoldRole(Lcom/android/server/devicepolicy/CallerIdentity;Ljava/lang/String;)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforcePermission(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforcePermission(Ljava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforcePermissionAndGetEnforcingAdmin(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;I)Lcom/android/server/devicepolicy/EnforcingAdmin;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->ensureDeviceOwnerUserStarted()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->ensureLocked()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->factoryResetIfDelayedEarlier()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->fetchOemSystemHolders([I)Ljava/util/Set;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->fixupAutoTimeRestrictionDuringOrganizationOwnedDeviceMigration()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getAcceptedCaCertificates(Landroid/os/UserHandle;)Ljava/util/Set;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminPackagesLocked(I)Ljava/util/Set;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdmins(I)Ljava/util/List;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminsForLockscreenPoliciesLocked(I)Ljava/util/List;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminsForUserAndItsManagedProfilesLocked(ILjava/util/function/Predicate;)Ljava/util/List;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCallerIdentity()Lcom/android/server/devicepolicy/CallerIdentity;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCallerIdentity(Landroid/content/ComponentName;)Lcom/android/server/devicepolicy/CallerIdentity;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCallerIdentity(Landroid/content/ComponentName;Ljava/lang/String;)Lcom/android/server/devicepolicy/CallerIdentity;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCallerIdentity(Ljava/lang/String;)Lcom/android/server/devicepolicy/CallerIdentity;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDefaultRoleHolderPackageName(I)Ljava/lang/String;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOrProfileOwnerAdminLocked(I)Lcom/android/server/devicepolicy/ActiveAdmin;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerAdminLocked()Lcom/android/server/devicepolicy/ActiveAdmin;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerComponent(Z)Landroid/content/ComponentName;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerComponentOnUser(I)Landroid/content/ComponentName;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerLocked(I)Lcom/android/server/devicepolicy/ActiveAdmin;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerName()Ljava/lang/String;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerOrProfileOwnerOfOrganizationOwnedDeviceLocked()Lcom/android/server/devicepolicy/ActiveAdmin;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerOrProfileOwnerOfOrganizationOwnedDeviceOrSystemPermissionBasedAdminLocked()Lcom/android/server/devicepolicy/ActiveAdmin;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerUserId()I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerUserIdUncheckedLocked()I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDpcType(Lcom/android/server/devicepolicy/CallerIdentity;)I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDrawable(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/app/admin/ParcelableResource;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getFactoryResetProtectionPolicy(Landroid/content/ComponentName;)Landroid/app/admin/FactoryResetProtectionPolicy;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getFrpManagementAgentUid()I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getFrpManagementAgentUidOrThrow()I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getKeepUninstalledPackagesLocked()Ljava/util/List;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getKeyguardDisabledFeatures(Landroid/content/ComponentName;IZ)I
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getLockObject()Ljava/lang/Object;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getMainUserId()I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getManagedUserId()I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getManagedUserId(I)I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getMaximumTimeToLockPolicyFromAdmins(Ljava/util/List;)J
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getMeteredDisabledPackages(I)Ljava/util/Set;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getNetworkLoggingAffectedUser()I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getNetworkLoggingControllingAdminLocked()Lcom/android/server/devicepolicy/ActiveAdmin;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getOrganizationOwnedProfileUserId()I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getOwnerComponent(I)Landroid/content/ComponentName;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getPasswordExpirationLocked(Landroid/content/ComponentName;IZ)J
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getPasswordQuality(Landroid/content/ComponentName;IZ)I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getPolicyFileDirectory(I)Ljava/io/File;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getPolicyManagedProfiles(Landroid/os/UserHandle;)Ljava/util/List;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getPowerManagerInternal()Landroid/os/PowerManagerInternal;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getProfileOwnerAdminLocked(I)Lcom/android/server/devicepolicy/ActiveAdmin;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getProfileOwnerAsUser(I)Landroid/content/ComponentName;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getProfileOwnerName(I)Ljava/lang/String;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getProfileOwnerNameUnchecked(I)Ljava/lang/String;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getProfileOwnerOfOrganizationOwnedDeviceLocked()Lcom/android/server/devicepolicy/ActiveAdmin;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getProfileOwnerOrDeviceOwnerLocked(I)Lcom/android/server/devicepolicy/ActiveAdmin;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getProfileOwnerOrDeviceOwnerSupervisionComponent(Landroid/os/UserHandle;)Landroid/content/ComponentName;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getProfileParentId(I)I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getProfileParentUserIfRequested(IZ)I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getRoleHolderPackageNameOnUser(Ljava/lang/String;I)Ljava/lang/String;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getString(Ljava/lang/String;)Landroid/app/admin/ParcelableResource;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getSystemUpdatePolicy()Landroid/app/admin/SystemUpdatePolicy;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getUnsafeOperationReason(I)I
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getUserData(I)Lcom/android/server/devicepolicy/DevicePolicyData;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getUserDataUnchecked(I)Lcom/android/server/devicepolicy/DevicePolicyData;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getUserInfo(I)Landroid/content/pm/UserInfo;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getUserProvisioningState(I)I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->handleOnUserUnlocked(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->handlePackagesChanged(Ljava/lang/String;I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->handlePasswordExpirationNotification(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->handleStartUser(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->handleUnlockUser(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->hasCallingOrSelfPermission(Ljava/lang/String;)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->hasCrossUsersPermission(Lcom/android/server/devicepolicy/CallerIdentity;I)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->hasFullCrossUsersPermission(Lcom/android/server/devicepolicy/CallerIdentity;I)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->hasPermission(Ljava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->invalidateBinderCaches()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isCallerDevicePolicyManagementRoleHolder(Lcom/android/server/devicepolicy/CallerIdentity;)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;->isDefaultDeviceOwner(Lcom/android/server/devicepolicy/CallerIdentity;)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isDeviceOwnerLocked(Lcom/android/server/devicepolicy/CallerIdentity;)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isDeviceOwnerUserId(I)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isFinancedDeviceOwner(Lcom/android/server/devicepolicy/CallerIdentity;)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isManagedProfile(I)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isNetworkLoggingEnabledInternalLocked()Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isOrganizationOwnedDeviceWithManagedProfile()Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isPermissionCheckFlagEnabled()Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isProfileOwner(Lcom/android/server/devicepolicy/CallerIdentity;)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isProfileOwnerOfOrganizationOwnedDevice(I)Z
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isSeparateProfileChallengeEnabled(I)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isSupervisionComponentLocked(Landroid/content/ComponentName;)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isUnicornFlagEnabled()Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isUsbDataSignalingEnabledInternalLocked()Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isUserAffiliatedWithDeviceLocked(I)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$canUsbDataSignalingBeDisabledInternal$179(Landroid/content/Context;)Ljava/lang/Boolean;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getActiveAdminsForUserAndItsManagedProfilesLocked$22(ILjava/util/ArrayList;Ljava/util/function/Predicate;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getDrawable$185(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/app/admin/ParcelableResource;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getNetworkLoggingAffectedUser$146()Ljava/lang/Integer;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getPolicyManagedProfiles$196(I)Ljava/util/List;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getProfileOwnerOfOrganizationOwnedDeviceLocked$83()Lcom/android/server/devicepolicy/ActiveAdmin;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getProfileParentId$86(I)Ljava/lang/Integer;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getRoleHolderPackageNameOnUser$173(ILandroid/app/role/RoleManager;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getString$189(Ljava/lang/String;)Landroid/app/admin/ParcelableResource;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getUserDataUnchecked$5(I)Lcom/android/server/devicepolicy/DevicePolicyData;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getUserInfo$38(I)Landroid/content/pm/UserInfo;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$isProfileOwner$73(Lcom/android/server/devicepolicy/CallerIdentity;)Landroid/content/ComponentName;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$isSeparateProfileChallengeEnabled$24(I)Ljava/lang/Boolean;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$loadAdminDataAsync$14()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$migrateAccountManagementDisabledPolicyLocked$203()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$migratePermittedInputMethodsPolicyLocked$202()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$migratePoliciesToDevicePolicyEngine$200()Ljava/lang/Boolean;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$migrateScreenCapturePolicyLocked$201()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$migrateUserControlDisabledPackagesLocked$204()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setExpirationAlarmCheckLocked$6(ZILandroid/content/Context;J)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$shouldMigrateToDevicePolicyEngine$199()Ljava/lang/Boolean;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$updateMaximumTimeToLockLocked$40(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->loadAdminDataAsync()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->loadConstants()Lcom/android/server/devicepolicy/DevicePolicyConstants;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->loadOwners()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->loadSettingsLocked(Lcom/android/server/devicepolicy/DevicePolicyData;I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->makeJournaledFile(I)Lcom/android/internal/util/JournaledFile;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->makeJournaledFile(ILjava/lang/String;)Lcom/android/internal/util/JournaledFile;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->makeOwners(Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;Lcom/android/server/devicepolicy/PolicyPathProvider;)Lcom/android/server/devicepolicy/Owners;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->maybeLogStart()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->maybeSendAdminEnabledBroadcastLocked(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->maybeSetDefaultProfileOwnerUserRestrictions()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->maybeStartSecurityLogMonitorOnActivityManagerReady()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->migrateAccountManagementDisabledPolicyLocked()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->migratePermittedInputMethodsPolicyLocked()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->migratePoliciesToDevicePolicyEngine()Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->migrateScreenCapturePolicyLocked()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->migrateToProfileOnOrganizationOwnedDeviceIfCompLocked()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->migrateUserControlDisabledPackagesLocked()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->onInstalledCertificatesChanged(Landroid/os/UserHandle;Ljava/util/Collection;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->onLockSettingsReady()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->performPolicyVersionUpgrade()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->pushActiveAdminPackages()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->pushAllMeteredRestrictedPackages()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->revertTransferOwnershipIfNecessaryLocked()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setDeviceOwnershipSystemPropertyLocked()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setExpirationAlarmCheckLocked(Landroid/content/Context;IZ)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setUserControlDisabledPackages(Landroid/content/ComponentName;Ljava/lang/String;Ljava/util/List;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->shouldMigrateToDevicePolicyEngine()Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->showNewUserDisclaimerIfNecessary(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->startOwnerService(ILjava/lang/String;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->suspendPersonalAppsInternal(IIZ)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->systemReady(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->unsuspendWorkAppsIfNecessary()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateAdminCanGrantSensorsPermissionCache(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateMaximumTimeToLockLocked(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateNetworkPreferenceForUser(ILjava/util/List;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->updatePasswordQualityCacheForUserGroup(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->updatePermissionPolicyCache(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->updatePersonalAppsSuspensionOnUserStart(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateSystemUpdateFreezePeriodsRecord(Z)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateUsbDataSignal(Landroid/content/Context;Z)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateUserSetupCompleteAndPaired()V
+PLcom/android/server/devicepolicy/DeviceStateCacheImpl;-><init>()V
+PLcom/android/server/devicepolicy/DeviceStateCacheImpl;->setDeviceOwnerType(I)V
+PLcom/android/server/devicepolicy/DeviceStateCacheImpl;->setDeviceProvisioned(Z)V
+PLcom/android/server/devicepolicy/DeviceStateCacheImpl;->setHasProfileOwner(IZ)V
+PLcom/android/server/devicepolicy/OverlayPackagesProvider$DefaultInjector;-><init>()V
+PLcom/android/server/devicepolicy/OverlayPackagesProvider$DefaultInjector;-><init>(Lcom/android/server/devicepolicy/OverlayPackagesProvider$DefaultInjector-IA;)V
+PLcom/android/server/devicepolicy/OverlayPackagesProvider;-><clinit>()V
+PLcom/android/server/devicepolicy/OverlayPackagesProvider;-><init>(Landroid/content/Context;)V
+PLcom/android/server/devicepolicy/OverlayPackagesProvider;-><init>(Landroid/content/Context;Lcom/android/server/devicepolicy/OverlayPackagesProvider$Injector;)V
+PLcom/android/server/devicepolicy/Owners$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/devicepolicy/Owners$$ExternalSyntheticLambda0;->applyAsInt(Ljava/lang/Object;)I
+PLcom/android/server/devicepolicy/Owners;->$r8$lambda$6w4HWUbvXPWGKa7vKtQD2v4JRdk(Landroid/content/pm/UserInfo;)I
+PLcom/android/server/devicepolicy/Owners;-><init>(Landroid/os/UserManager;Lcom/android/server/pm/UserManagerInternal;Landroid/content/pm/PackageManagerInternal;Lcom/android/server/wm/ActivityTaskManagerInternal;Landroid/app/ActivityManagerInternal;Lcom/android/server/devicepolicy/DeviceStateCacheImpl;Lcom/android/server/devicepolicy/PolicyPathProvider;)V
+PLcom/android/server/devicepolicy/Owners;->getDeviceOwnerComponent()Landroid/content/ComponentName;
+PLcom/android/server/devicepolicy/Owners;->getDeviceOwnerUidLocked()I
+HPLcom/android/server/devicepolicy/Owners;->getDeviceOwnerUserId()I
+HPLcom/android/server/devicepolicy/Owners;->getProfileOwnerComponent(I)Landroid/content/ComponentName;
+PLcom/android/server/devicepolicy/Owners;->getProfileOwnerKeys()Ljava/util/Set;
+PLcom/android/server/devicepolicy/Owners;->getProfileOwnerUidsLocked()Ljava/util/Set;
+PLcom/android/server/devicepolicy/Owners;->getSystemUpdatePolicy()Landroid/app/admin/SystemUpdatePolicy;
+HPLcom/android/server/devicepolicy/Owners;->hasDeviceOwner()Z
+PLcom/android/server/devicepolicy/Owners;->hasProfileOwner(I)Z
+PLcom/android/server/devicepolicy/Owners;->isMigratedToPolicyEngine()Z
+PLcom/android/server/devicepolicy/Owners;->isProfileOwnerOfOrganizationOwnedDevice(I)Z
+PLcom/android/server/devicepolicy/Owners;->lambda$load$0(Landroid/content/pm/UserInfo;)I
+PLcom/android/server/devicepolicy/Owners;->load()V
+PLcom/android/server/devicepolicy/Owners;->markMigrationToPolicyEngine()V
+PLcom/android/server/devicepolicy/Owners;->notifyChangeLocked()V
+PLcom/android/server/devicepolicy/Owners;->pushDeviceOwnerUidToActivityTaskManagerLocked()V
+PLcom/android/server/devicepolicy/Owners;->pushProfileOwnerUidsToActivityTaskManagerLocked()V
+PLcom/android/server/devicepolicy/Owners;->pushToActivityManagerLocked()V
+PLcom/android/server/devicepolicy/Owners;->pushToAppOpsLocked()V
+PLcom/android/server/devicepolicy/Owners;->pushToDevicePolicyManager()V
+PLcom/android/server/devicepolicy/Owners;->pushToPackageManagerLocked()V
+PLcom/android/server/devicepolicy/Owners;->systemReady()V
+PLcom/android/server/devicepolicy/OwnersData$DeviceOwnerReadWriter;-><init>(Lcom/android/server/devicepolicy/OwnersData;)V
+PLcom/android/server/devicepolicy/OwnersData$DeviceOwnerReadWriter;->shouldWrite()Z
+PLcom/android/server/devicepolicy/OwnersData$FileReadWriter;-><init>(Ljava/io/File;)V
+PLcom/android/server/devicepolicy/OwnersData$FileReadWriter;->readFromFileLocked()V
+PLcom/android/server/devicepolicy/OwnersData$FileReadWriter;->writeToFileLocked()Z
+PLcom/android/server/devicepolicy/OwnersData$ProfileOwnerReadWriter;-><init>(Lcom/android/server/devicepolicy/OwnersData;I)V
+PLcom/android/server/devicepolicy/OwnersData;-><init>(Lcom/android/server/devicepolicy/PolicyPathProvider;)V
+PLcom/android/server/devicepolicy/OwnersData;->getDeviceOwnerFile()Ljava/io/File;
+PLcom/android/server/devicepolicy/OwnersData;->getProfileOwnerFile(I)Ljava/io/File;
+PLcom/android/server/devicepolicy/OwnersData;->load([I)V
+PLcom/android/server/devicepolicy/OwnersData;->writeDeviceOwner()Z
+PLcom/android/server/devicepolicy/PolicyPathProvider;->getDataSystemDirectory()Ljava/io/File;
+PLcom/android/server/devicepolicy/PolicyPathProvider;->getUserSystemDirectory(I)Ljava/io/File;
+PLcom/android/server/devicepolicy/PolicyVersionUpgrader;-><init>(Lcom/android/server/devicepolicy/PolicyUpgraderDataProvider;Lcom/android/server/devicepolicy/PolicyPathProvider;)V
+PLcom/android/server/devicepolicy/PolicyVersionUpgrader;->getVersionFile()Lcom/android/internal/util/JournaledFile;
+PLcom/android/server/devicepolicy/PolicyVersionUpgrader;->readVersion()I
+PLcom/android/server/devicepolicy/PolicyVersionUpgrader;->upgradePolicy(I)V
+PLcom/android/server/devicepolicy/RemoteBugreportManager$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/devicepolicy/RemoteBugreportManager;)V
+PLcom/android/server/devicepolicy/RemoteBugreportManager$1;-><init>(Lcom/android/server/devicepolicy/RemoteBugreportManager;)V
+PLcom/android/server/devicepolicy/RemoteBugreportManager$2;-><init>(Lcom/android/server/devicepolicy/RemoteBugreportManager;)V
+PLcom/android/server/devicepolicy/RemoteBugreportManager;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;)V
+PLcom/android/server/devicepolicy/SecurityLogMonitor;-><clinit>()V
+PLcom/android/server/devicepolicy/SecurityLogMonitor;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
+PLcom/android/server/devicepolicy/SecurityLogMonitor;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;J)V
+PLcom/android/server/devicepolicy/TransferOwnershipMetadataManager$Injector;-><init>()V
+PLcom/android/server/devicepolicy/TransferOwnershipMetadataManager$Injector;->getOwnerTransferMetadataDir()Ljava/io/File;
+PLcom/android/server/devicepolicy/TransferOwnershipMetadataManager;-><clinit>()V
+PLcom/android/server/devicepolicy/TransferOwnershipMetadataManager;-><init>()V
+PLcom/android/server/devicepolicy/TransferOwnershipMetadataManager;-><init>(Lcom/android/server/devicepolicy/TransferOwnershipMetadataManager$Injector;)V
+PLcom/android/server/devicepolicy/TransferOwnershipMetadataManager;->metadataFileExists()Z
+PLcom/android/server/devicestate/DeviceState;-><init>(ILjava/lang/String;I)V
+PLcom/android/server/devicestate/DeviceState;->equals(Ljava/lang/Object;)Z
+PLcom/android/server/devicestate/DeviceState;->getIdentifier()I
+PLcom/android/server/devicestate/DeviceState;->getName()Ljava/lang/String;
+PLcom/android/server/devicestate/DeviceState;->hasFlag(I)Z
+PLcom/android/server/devicestate/DeviceStateManagerService$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/devicestate/DeviceStateManagerService$$ExternalSyntheticLambda0;->setDebugTracingDeviceStateProperty(Ljava/lang/String;)V
+PLcom/android/server/devicestate/DeviceStateManagerService$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/devicestate/DeviceStateManagerService;)V
+PLcom/android/server/devicestate/DeviceStateManagerService$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/devicestate/DeviceStateManagerService;)V
+PLcom/android/server/devicestate/DeviceStateManagerService$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/devicestate/DeviceStateManagerService;)V
+PLcom/android/server/devicestate/DeviceStateManagerService$$ExternalSyntheticLambda4;->run()V
+PLcom/android/server/devicestate/DeviceStateManagerService$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/devicestate/DeviceStateManagerService;)V
+PLcom/android/server/devicestate/DeviceStateManagerService$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/devicestate/DeviceStateManagerService;)V
+PLcom/android/server/devicestate/DeviceStateManagerService$$ExternalSyntheticLambda6;->run()V
+PLcom/android/server/devicestate/DeviceStateManagerService$1;-><init>(Lcom/android/server/devicestate/DeviceStateManagerService;)V
+PLcom/android/server/devicestate/DeviceStateManagerService$1;->onForegroundActivitiesChanged(IIZ)V
+PLcom/android/server/devicestate/DeviceStateManagerService$1;->onForegroundServicesChanged(III)V
+PLcom/android/server/devicestate/DeviceStateManagerService$1;->onProcessDied(II)V
+PLcom/android/server/devicestate/DeviceStateManagerService$BinderService;-><init>(Lcom/android/server/devicestate/DeviceStateManagerService;)V
+PLcom/android/server/devicestate/DeviceStateManagerService$BinderService;-><init>(Lcom/android/server/devicestate/DeviceStateManagerService;Lcom/android/server/devicestate/DeviceStateManagerService$BinderService-IA;)V
+PLcom/android/server/devicestate/DeviceStateManagerService$BinderService;->registerCallback(Landroid/hardware/devicestate/IDeviceStateManagerCallback;)V
+PLcom/android/server/devicestate/DeviceStateManagerService$DeviceStateProviderListener;-><init>(Lcom/android/server/devicestate/DeviceStateManagerService;)V
+PLcom/android/server/devicestate/DeviceStateManagerService$DeviceStateProviderListener;-><init>(Lcom/android/server/devicestate/DeviceStateManagerService;Lcom/android/server/devicestate/DeviceStateManagerService$DeviceStateProviderListener-IA;)V
+PLcom/android/server/devicestate/DeviceStateManagerService$DeviceStateProviderListener;->onStateChanged(I)V
+PLcom/android/server/devicestate/DeviceStateManagerService$DeviceStateProviderListener;->onSupportedDeviceStatesChanged([Lcom/android/server/devicestate/DeviceState;I)V
+PLcom/android/server/devicestate/DeviceStateManagerService$LocalService;-><init>(Lcom/android/server/devicestate/DeviceStateManagerService;)V
+PLcom/android/server/devicestate/DeviceStateManagerService$LocalService;-><init>(Lcom/android/server/devicestate/DeviceStateManagerService;Lcom/android/server/devicestate/DeviceStateManagerService$LocalService-IA;)V
+PLcom/android/server/devicestate/DeviceStateManagerService$OverrideRequestScreenObserver;-><init>(Lcom/android/server/devicestate/DeviceStateManagerService;)V
+PLcom/android/server/devicestate/DeviceStateManagerService$OverrideRequestScreenObserver;-><init>(Lcom/android/server/devicestate/DeviceStateManagerService;Lcom/android/server/devicestate/DeviceStateManagerService$OverrideRequestScreenObserver-IA;)V
+PLcom/android/server/devicestate/DeviceStateManagerService$OverrideRequestScreenObserver;->onKeyguardStateChanged(Z)V
+PLcom/android/server/devicestate/DeviceStateManagerService$ProcessRecord$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/devicestate/DeviceStateManagerService$ProcessRecord;Landroid/hardware/devicestate/DeviceStateInfo;)V
+PLcom/android/server/devicestate/DeviceStateManagerService$ProcessRecord$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/devicestate/DeviceStateManagerService$ProcessRecord;->$r8$lambda$nIhPLI20eH9RacaP39kxGqE_dy4(Lcom/android/server/devicestate/DeviceStateManagerService$ProcessRecord;Landroid/hardware/devicestate/DeviceStateInfo;)V
+PLcom/android/server/devicestate/DeviceStateManagerService$ProcessRecord;-><init>(Landroid/hardware/devicestate/IDeviceStateManagerCallback;ILcom/android/server/devicestate/DeviceStateManagerService$ProcessRecord$DeathListener;Landroid/os/Handler;)V
+PLcom/android/server/devicestate/DeviceStateManagerService$ProcessRecord;->lambda$notifyDeviceStateInfoAsync$0(Landroid/hardware/devicestate/DeviceStateInfo;)V
+PLcom/android/server/devicestate/DeviceStateManagerService$ProcessRecord;->notifyDeviceStateInfoAsync(Landroid/hardware/devicestate/DeviceStateInfo;)V
+PLcom/android/server/devicestate/DeviceStateManagerService;->$r8$lambda$6S_FM3Urv4lHJLVX2jHkYwHw8e8(Lcom/android/server/devicestate/DeviceStateManagerService;)V
+PLcom/android/server/devicestate/DeviceStateManagerService;->$r8$lambda$77DysMvX-MjvuW05plFI2snaWgo(Ljava/lang/String;)V
+PLcom/android/server/devicestate/DeviceStateManagerService;->$r8$lambda$Pt9nYBQnPB5YrI3sLG37X4OCyMY(Lcom/android/server/devicestate/DeviceStateManagerService;)V
+PLcom/android/server/devicestate/DeviceStateManagerService;->-$$Nest$fgetmLock(Lcom/android/server/devicestate/DeviceStateManagerService;)Ljava/lang/Object;
+PLcom/android/server/devicestate/DeviceStateManagerService;->-$$Nest$mregisterProcess(Lcom/android/server/devicestate/DeviceStateManagerService;ILandroid/hardware/devicestate/IDeviceStateManagerCallback;)V
+PLcom/android/server/devicestate/DeviceStateManagerService;->-$$Nest$msetBaseState(Lcom/android/server/devicestate/DeviceStateManagerService;I)V
+PLcom/android/server/devicestate/DeviceStateManagerService;->-$$Nest$mshouldCancelOverrideRequestWhenRequesterNotOnTop(Lcom/android/server/devicestate/DeviceStateManagerService;)Z
+PLcom/android/server/devicestate/DeviceStateManagerService;->-$$Nest$mupdateSupportedStates(Lcom/android/server/devicestate/DeviceStateManagerService;[Lcom/android/server/devicestate/DeviceState;I)V
+PLcom/android/server/devicestate/DeviceStateManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/devicestate/DeviceStateManagerService;-><init>(Landroid/content/Context;Lcom/android/server/devicestate/DeviceStatePolicy;)V
+PLcom/android/server/devicestate/DeviceStateManagerService;-><init>(Landroid/content/Context;Lcom/android/server/devicestate/DeviceStatePolicy;Lcom/android/server/devicestate/DeviceStateManagerService$SystemPropertySetter;)V
+PLcom/android/server/devicestate/DeviceStateManagerService;->commitPendingState()V
+PLcom/android/server/devicestate/DeviceStateManagerService;->getDeviceStateInfoLocked()Landroid/hardware/devicestate/DeviceStateInfo;
+PLcom/android/server/devicestate/DeviceStateManagerService;->getStateLocked(I)Ljava/util/Optional;
+PLcom/android/server/devicestate/DeviceStateManagerService;->getSupportedStateIdentifiersLocked()[I
+PLcom/android/server/devicestate/DeviceStateManagerService;->isSupportedStateLocked(I)Z
+PLcom/android/server/devicestate/DeviceStateManagerService;->lambda$new$0(Ljava/lang/String;)V
+PLcom/android/server/devicestate/DeviceStateManagerService;->notifyDeviceStateInfoChangedAsync()V
+PLcom/android/server/devicestate/DeviceStateManagerService;->notifyPolicyIfNeeded()V
+PLcom/android/server/devicestate/DeviceStateManagerService;->onStart()V
+PLcom/android/server/devicestate/DeviceStateManagerService;->readFoldedStates()Ljava/util/Set;
+PLcom/android/server/devicestate/DeviceStateManagerService;->readStatesAvailableForRequestFromApps()V
+PLcom/android/server/devicestate/DeviceStateManagerService;->registerProcess(ILandroid/hardware/devicestate/IDeviceStateManagerCallback;)V
+PLcom/android/server/devicestate/DeviceStateManagerService;->setBaseState(I)V
+PLcom/android/server/devicestate/DeviceStateManagerService;->setRearDisplayStateLocked()V
+PLcom/android/server/devicestate/DeviceStateManagerService;->shouldCancelOverrideRequestWhenRequesterNotOnTop()Z
+PLcom/android/server/devicestate/DeviceStateManagerService;->updatePendingStateLocked()Z
+PLcom/android/server/devicestate/DeviceStateManagerService;->updateSupportedStates([Lcom/android/server/devicestate/DeviceState;I)V
+PLcom/android/server/devicestate/DeviceStateNotificationController$NotificationInfoProvider;-><init>(Landroid/content/Context;)V
+PLcom/android/server/devicestate/DeviceStateNotificationController;-><init>(Landroid/content/Context;Landroid/os/Handler;Ljava/lang/Runnable;)V
+PLcom/android/server/devicestate/DeviceStateNotificationController;-><init>(Landroid/content/Context;Landroid/os/Handler;Ljava/lang/Runnable;Lcom/android/server/devicestate/DeviceStateNotificationController$NotificationInfoProvider;Landroid/content/pm/PackageManager;Landroid/app/NotificationManager;)V
+PLcom/android/server/devicestate/DeviceStatePolicy$DefaultProvider;-><init>()V
+PLcom/android/server/devicestate/DeviceStatePolicy$DefaultProvider;->instantiate(Landroid/content/Context;)Lcom/android/server/devicestate/DeviceStatePolicy;
+PLcom/android/server/devicestate/DeviceStatePolicy$Provider;->fromResources(Landroid/content/res/Resources;)Lcom/android/server/devicestate/DeviceStatePolicy$Provider;
+PLcom/android/server/devicestate/DeviceStatePolicy;-><init>(Landroid/content/Context;)V
+PLcom/android/server/devicestate/OverrideRequestController;-><init>(Lcom/android/server/devicestate/OverrideRequestController$StatusChangeListener;)V
+PLcom/android/server/devicestate/OverrideRequestController;->cancelStickyRequest()V
+PLcom/android/server/devicestate/OverrideRequestController;->handleBaseStateChanged(I)V
+PLcom/android/server/devicestate/OverrideRequestController;->handleNewSupportedStates([II)V
+PLcom/android/server/devicestate/OverrideRequestController;->setStickyRequestsAllowed(Z)V
+HSPLcom/android/server/display/BrightnessMappingStrategy;-><clinit>()V
+PLcom/android/server/display/BrightnessMappingStrategy;->create(Landroid/content/Context;Lcom/android/server/display/DisplayDeviceConfig;ILcom/android/server/display/whitebalance/DisplayWhiteBalanceController;)Lcom/android/server/display/BrightnessMappingStrategy;
+HSPLcom/android/server/display/BrightnessMappingStrategy;->getFloatArray(Landroid/content/res/TypedArray;)[F
+PLcom/android/server/display/BrightnessMappingStrategy;->isValidMapping([F[F)Z
+PLcom/android/server/display/BrightnessRangeController$$ExternalSyntheticLambda4;-><init>(Ljava/lang/Runnable;)V
+PLcom/android/server/display/BrightnessRangeController$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/display/BrightnessRangeController;I)V
+PLcom/android/server/display/BrightnessRangeController$$ExternalSyntheticLambda5;->getAsBoolean()Z
+PLcom/android/server/display/BrightnessRangeController$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/display/BrightnessRangeController;I)V
+PLcom/android/server/display/BrightnessRangeController$$ExternalSyntheticLambda6;->run()V
+PLcom/android/server/display/BrightnessRangeController;->$r8$lambda$dKtp9_j8KRcoYxWMg8d00hzlVN0(Lcom/android/server/display/BrightnessRangeController;I)V
+PLcom/android/server/display/BrightnessRangeController;->$r8$lambda$zpmKQQW2rDvBS46nbBqX3mXvWvI(Lcom/android/server/display/BrightnessRangeController;I)Z
+PLcom/android/server/display/BrightnessRangeController;-><init>(Lcom/android/server/display/HighBrightnessModeController;Ljava/lang/Runnable;Lcom/android/server/display/DisplayDeviceConfig;Landroid/os/Handler;Lcom/android/server/display/feature/DisplayManagerFlags;Landroid/os/IBinder;Lcom/android/server/display/DisplayDeviceInfo;)V
+PLcom/android/server/display/BrightnessRangeController;-><init>(Lcom/android/server/display/HighBrightnessModeController;Ljava/lang/Runnable;Lcom/android/server/display/DisplayDeviceConfig;Lcom/android/server/display/brightness/clamper/HdrClamper;Lcom/android/server/display/feature/DisplayManagerFlags;Landroid/os/IBinder;Lcom/android/server/display/DisplayDeviceInfo;)V
+PLcom/android/server/display/BrightnessRangeController;->applyChanges(Ljava/util/function/BooleanSupplier;Ljava/lang/Runnable;)V
+HPLcom/android/server/display/BrightnessRangeController;->getCurrentBrightnessMax()F
+PLcom/android/server/display/BrightnessRangeController;->getCurrentBrightnessMin()F
+PLcom/android/server/display/BrightnessRangeController;->getHighBrightnessMode()I
+PLcom/android/server/display/BrightnessRangeController;->getTransitionPoint()F
+PLcom/android/server/display/BrightnessRangeController;->lambda$setAutoBrightnessEnabled$4(I)Z
+PLcom/android/server/display/BrightnessRangeController;->lambda$setAutoBrightnessEnabled$5(I)V
+PLcom/android/server/display/BrightnessRangeController;->onBrightnessChanged(FFI)V
+PLcom/android/server/display/BrightnessRangeController;->setAutoBrightnessEnabled(I)V
+PLcom/android/server/display/BrightnessRangeController;->updateHdrClamper(Lcom/android/server/display/DisplayDeviceInfo;Landroid/os/IBinder;Lcom/android/server/display/DisplayDeviceConfig;)V
+PLcom/android/server/display/BrightnessSetting$1;-><init>(Lcom/android/server/display/BrightnessSetting;Landroid/os/Looper;)V
+PLcom/android/server/display/BrightnessSetting;-><init>(ILcom/android/server/display/PersistentDataStore;Lcom/android/server/display/LogicalDisplay;Lcom/android/server/display/DisplayManagerService$SyncRoot;)V
+PLcom/android/server/display/BrightnessSetting;->getBrightness()F
+PLcom/android/server/display/BrightnessSetting;->registerListener(Lcom/android/server/display/BrightnessSetting$BrightnessSettingListener;)V
+PLcom/android/server/display/BrightnessThrottler$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/display/BrightnessThrottler$$ExternalSyntheticLambda1;-><init>()V
+PLcom/android/server/display/BrightnessThrottler$DeviceConfigListener;-><init>(Lcom/android/server/display/BrightnessThrottler;)V
+PLcom/android/server/display/BrightnessThrottler$DeviceConfigListener;->startListening()V
+PLcom/android/server/display/BrightnessThrottler$Injector;-><init>()V
+PLcom/android/server/display/BrightnessThrottler$Injector;->getDeviceConfig()Landroid/provider/DeviceConfigInterface;
+PLcom/android/server/display/BrightnessThrottler$SkinThermalStatusObserver;-><init>(Lcom/android/server/display/BrightnessThrottler;Lcom/android/server/display/BrightnessThrottler$Injector;Landroid/os/Handler;)V
+PLcom/android/server/display/BrightnessThrottler$SkinThermalStatusObserver;->stopObserving()V
+PLcom/android/server/display/BrightnessThrottler;->-$$Nest$fgetmConfigParameterProvider(Lcom/android/server/display/BrightnessThrottler;)Lcom/android/server/display/feature/DeviceConfigParameterProvider;
+PLcom/android/server/display/BrightnessThrottler;->-$$Nest$fgetmDeviceConfigHandler(Lcom/android/server/display/BrightnessThrottler;)Landroid/os/Handler;
+PLcom/android/server/display/BrightnessThrottler;->-$$Nest$sfgetDEBUG()Z
+PLcom/android/server/display/BrightnessThrottler;-><clinit>()V
+PLcom/android/server/display/BrightnessThrottler;-><init>(Landroid/os/Handler;Ljava/lang/Runnable;Ljava/lang/String;Ljava/lang/String;Ljava/util/HashMap;)V
+PLcom/android/server/display/BrightnessThrottler;-><init>(Lcom/android/server/display/BrightnessThrottler$Injector;Landroid/os/Handler;Landroid/os/Handler;Ljava/lang/Runnable;Ljava/lang/String;Ljava/lang/String;Ljava/util/HashMap;)V
+PLcom/android/server/display/BrightnessThrottler;->deviceSupportsThrottling()Z
+PLcom/android/server/display/BrightnessThrottler;->getConfigFromId(Ljava/lang/String;)Lcom/android/server/display/DisplayDeviceConfig$ThermalBrightnessThrottlingData;
+PLcom/android/server/display/BrightnessThrottler;->loadThermalBrightnessThrottlingDataFromDeviceConfig()V
+PLcom/android/server/display/BrightnessThrottler;->loadThermalBrightnessThrottlingDataFromDisplayDeviceConfig(Ljava/util/HashMap;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/display/BrightnessThrottler;->resetThermalThrottlingData()V
+PLcom/android/server/display/BrightnessThrottler;->stop()V
+PLcom/android/server/display/BrightnessTracker$Injector;-><init>()V
+PLcom/android/server/display/BrightnessTracker$Injector;->getBackgroundHandler()Landroid/os/Handler;
+PLcom/android/server/display/BrightnessTracker$TrackerHandler;-><init>(Lcom/android/server/display/BrightnessTracker;Landroid/os/Looper;)V
+PLcom/android/server/display/BrightnessTracker;-><clinit>()V
+PLcom/android/server/display/BrightnessTracker;-><init>(Landroid/content/Context;Lcom/android/server/display/BrightnessTracker$Injector;)V
+HSPLcom/android/server/display/DeviceStateToLayoutMap;-><clinit>()V
+HSPLcom/android/server/display/DeviceStateToLayoutMap;-><init>(Lcom/android/server/display/layout/DisplayIdProducer;Lcom/android/server/display/feature/DisplayManagerFlags;)V
+HSPLcom/android/server/display/DeviceStateToLayoutMap;-><init>(Lcom/android/server/display/layout/DisplayIdProducer;Lcom/android/server/display/feature/DisplayManagerFlags;Ljava/io/File;)V
+HSPLcom/android/server/display/DeviceStateToLayoutMap;->createLayout(I)Lcom/android/server/display/layout/Layout;
+HSPLcom/android/server/display/DeviceStateToLayoutMap;->get(I)Lcom/android/server/display/layout/Layout;
+HSPLcom/android/server/display/DeviceStateToLayoutMap;->getConfigFile()Ljava/io/File;
+HSPLcom/android/server/display/DeviceStateToLayoutMap;->loadLayoutsFromConfig(Ljava/io/File;)V
+HSPLcom/android/server/display/DeviceStateToLayoutMap;->size()I
+HSPLcom/android/server/display/DisplayAdapter$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/display/DisplayAdapter;)V
+HSPLcom/android/server/display/DisplayAdapter$$ExternalSyntheticLambda0;->run()V
+HSPLcom/android/server/display/DisplayAdapter$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/display/DisplayAdapter;Lcom/android/server/display/DisplayDevice;I)V
+HSPLcom/android/server/display/DisplayAdapter$$ExternalSyntheticLambda1;->run()V
+HSPLcom/android/server/display/DisplayAdapter;->$r8$lambda$9V0Zb4R5pN2d6Ym6JsffUDuLT04(Lcom/android/server/display/DisplayAdapter;)V
+HSPLcom/android/server/display/DisplayAdapter;->$r8$lambda$m53kLy5P6p-BQH88mDK_wnWdYlc(Lcom/android/server/display/DisplayAdapter;Lcom/android/server/display/DisplayDevice;I)V
+HSPLcom/android/server/display/DisplayAdapter;-><clinit>()V
+HSPLcom/android/server/display/DisplayAdapter;-><init>(Lcom/android/server/display/DisplayManagerService$SyncRoot;Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/display/DisplayAdapter$Listener;Ljava/lang/String;Lcom/android/server/display/feature/DisplayManagerFlags;)V
+HSPLcom/android/server/display/DisplayAdapter;->createMode(IIFF[F[I)Landroid/view/Display$Mode;
+HSPLcom/android/server/display/DisplayAdapter;->getContext()Landroid/content/Context;
+HSPLcom/android/server/display/DisplayAdapter;->getFeatureFlags()Lcom/android/server/display/feature/DisplayManagerFlags;
+HSPLcom/android/server/display/DisplayAdapter;->getHandler()Landroid/os/Handler;
+PLcom/android/server/display/DisplayAdapter;->getSyncRoot()Lcom/android/server/display/DisplayManagerService$SyncRoot;
+HSPLcom/android/server/display/DisplayAdapter;->lambda$sendDisplayDeviceEventLocked$0(Lcom/android/server/display/DisplayDevice;I)V
+HSPLcom/android/server/display/DisplayAdapter;->lambda$sendTraversalRequestLocked$1()V
+HSPLcom/android/server/display/DisplayAdapter;->registerLocked()V
+HSPLcom/android/server/display/DisplayAdapter;->sendDisplayDeviceEventLocked(Lcom/android/server/display/DisplayDevice;I)V
+HSPLcom/android/server/display/DisplayAdapter;->sendTraversalRequestLocked()V
+HPLcom/android/server/display/DisplayBrightnessState$Builder;-><init>()V
+PLcom/android/server/display/DisplayBrightnessState$Builder;->build()Lcom/android/server/display/DisplayBrightnessState;
+HPLcom/android/server/display/DisplayBrightnessState$Builder;->from(Lcom/android/server/display/DisplayBrightnessState;)Lcom/android/server/display/DisplayBrightnessState$Builder;
+PLcom/android/server/display/DisplayBrightnessState$Builder;->getBrightness()F
+PLcom/android/server/display/DisplayBrightnessState$Builder;->getBrightnessReason()Lcom/android/server/display/brightness/BrightnessReason;
+PLcom/android/server/display/DisplayBrightnessState$Builder;->getCustomAnimationRate()F
+PLcom/android/server/display/DisplayBrightnessState$Builder;->getDisplayBrightnessStrategyName()Ljava/lang/String;
+PLcom/android/server/display/DisplayBrightnessState$Builder;->getMaxBrightness()F
+PLcom/android/server/display/DisplayBrightnessState$Builder;->getMinBrightness()F
+PLcom/android/server/display/DisplayBrightnessState$Builder;->getSdrBrightness()F
+PLcom/android/server/display/DisplayBrightnessState$Builder;->getShouldUseAutoBrightness()Z
+PLcom/android/server/display/DisplayBrightnessState$Builder;->isSlowChange()Z
+PLcom/android/server/display/DisplayBrightnessState$Builder;->setBrightness(F)Lcom/android/server/display/DisplayBrightnessState$Builder;
+PLcom/android/server/display/DisplayBrightnessState$Builder;->setBrightnessReason(Lcom/android/server/display/brightness/BrightnessReason;)Lcom/android/server/display/DisplayBrightnessState$Builder;
+PLcom/android/server/display/DisplayBrightnessState$Builder;->setCustomAnimationRate(F)Lcom/android/server/display/DisplayBrightnessState$Builder;
+PLcom/android/server/display/DisplayBrightnessState$Builder;->setDisplayBrightnessStrategyName(Ljava/lang/String;)Lcom/android/server/display/DisplayBrightnessState$Builder;
+PLcom/android/server/display/DisplayBrightnessState$Builder;->setIsSlowChange(Z)Lcom/android/server/display/DisplayBrightnessState$Builder;
+PLcom/android/server/display/DisplayBrightnessState$Builder;->setMaxBrightness(F)Lcom/android/server/display/DisplayBrightnessState$Builder;
+PLcom/android/server/display/DisplayBrightnessState$Builder;->setMinBrightness(F)Lcom/android/server/display/DisplayBrightnessState$Builder;
+PLcom/android/server/display/DisplayBrightnessState$Builder;->setSdrBrightness(F)Lcom/android/server/display/DisplayBrightnessState$Builder;
+PLcom/android/server/display/DisplayBrightnessState$Builder;->setShouldUpdateScreenBrightnessSetting(Z)Lcom/android/server/display/DisplayBrightnessState$Builder;
+PLcom/android/server/display/DisplayBrightnessState$Builder;->setShouldUseAutoBrightness(Z)Lcom/android/server/display/DisplayBrightnessState$Builder;
+PLcom/android/server/display/DisplayBrightnessState$Builder;->shouldUpdateScreenBrightnessSetting()Z
+HPLcom/android/server/display/DisplayBrightnessState;-><init>(Lcom/android/server/display/DisplayBrightnessState$Builder;)V
+PLcom/android/server/display/DisplayBrightnessState;-><init>(Lcom/android/server/display/DisplayBrightnessState$Builder;Lcom/android/server/display/DisplayBrightnessState-IA;)V
+PLcom/android/server/display/DisplayBrightnessState;->builder()Lcom/android/server/display/DisplayBrightnessState$Builder;
+PLcom/android/server/display/DisplayBrightnessState;->getBrightness()F
+PLcom/android/server/display/DisplayBrightnessState;->getBrightnessReason()Lcom/android/server/display/brightness/BrightnessReason;
+PLcom/android/server/display/DisplayBrightnessState;->getCustomAnimationRate()F
+PLcom/android/server/display/DisplayBrightnessState;->getDisplayBrightnessStrategyName()Ljava/lang/String;
+PLcom/android/server/display/DisplayBrightnessState;->getMaxBrightness()F
+PLcom/android/server/display/DisplayBrightnessState;->getMinBrightness()F
+PLcom/android/server/display/DisplayBrightnessState;->getSdrBrightness()F
+PLcom/android/server/display/DisplayBrightnessState;->getShouldUseAutoBrightness()Z
+PLcom/android/server/display/DisplayBrightnessState;->isSlowChange()Z
+PLcom/android/server/display/DisplayBrightnessState;->shouldUpdateScreenBrightnessSetting()Z
+PLcom/android/server/display/DisplayControl;->getHdrOutputConversionSupport()Z
+HSPLcom/android/server/display/DisplayControl;->getPhysicalDisplayIds()[J
+HSPLcom/android/server/display/DisplayControl;->getPhysicalDisplayToken(J)Landroid/os/IBinder;
+HSPLcom/android/server/display/DisplayDevice;-><clinit>()V
+HSPLcom/android/server/display/DisplayDevice;-><init>(Lcom/android/server/display/DisplayAdapter;Landroid/os/IBinder;Ljava/lang/String;Landroid/content/Context;)V
+PLcom/android/server/display/DisplayDevice;->getDisplayIdToMirrorLocked()I
+PLcom/android/server/display/DisplayDevice;->getDisplayTokenLocked()Landroid/os/IBinder;
+HSPLcom/android/server/display/DisplayDevice;->getUniqueId()Ljava/lang/String;
+PLcom/android/server/display/DisplayDevice;->isWindowManagerMirroringLocked()Z
+PLcom/android/server/display/DisplayDevice;->performTraversalLocked(Landroid/view/SurfaceControl$Transaction;)V
+HPLcom/android/server/display/DisplayDevice;->populateViewportLocked(Landroid/hardware/display/DisplayViewport;)V
+PLcom/android/server/display/DisplayDevice;->setDisplayFlagsLocked(Landroid/view/SurfaceControl$Transaction;I)V
+PLcom/android/server/display/DisplayDevice;->setLayerStackLocked(Landroid/view/SurfaceControl$Transaction;II)V
+HPLcom/android/server/display/DisplayDevice;->setProjectionLocked(Landroid/view/SurfaceControl$Transaction;ILandroid/graphics/Rect;Landroid/graphics/Rect;)V
+PLcom/android/server/display/DisplayDeviceConfig$BrightnessLimitMapType;->$values()[Lcom/android/server/display/DisplayDeviceConfig$BrightnessLimitMapType;
+PLcom/android/server/display/DisplayDeviceConfig$BrightnessLimitMapType;-><clinit>()V
+PLcom/android/server/display/DisplayDeviceConfig$BrightnessLimitMapType;-><init>(Ljava/lang/String;I)V
+HSPLcom/android/server/display/DisplayDeviceConfig;-><clinit>()V
+HSPLcom/android/server/display/DisplayDeviceConfig;-><init>(Landroid/content/Context;Lcom/android/server/display/feature/DisplayManagerFlags;)V
+HSPLcom/android/server/display/DisplayDeviceConfig;->constraintInRangeIfNeeded([F)[F
+HSPLcom/android/server/display/DisplayDeviceConfig;->copyUninitializedValuesFromSecondaryConfig(Lcom/android/server/display/config/DisplayConfiguration;)V
+HSPLcom/android/server/display/DisplayDeviceConfig;->create(Landroid/content/Context;JZLcom/android/server/display/feature/DisplayManagerFlags;)Lcom/android/server/display/DisplayDeviceConfig;
+HSPLcom/android/server/display/DisplayDeviceConfig;->create(Landroid/content/Context;ZLcom/android/server/display/feature/DisplayManagerFlags;)Lcom/android/server/display/DisplayDeviceConfig;
+HSPLcom/android/server/display/DisplayDeviceConfig;->createWithoutDefaultValues(Landroid/content/Context;JZLcom/android/server/display/feature/DisplayManagerFlags;)Lcom/android/server/display/DisplayDeviceConfig;
+HSPLcom/android/server/display/DisplayDeviceConfig;->getAmbientLightSensor()Lcom/android/server/display/config/SensorData;
+PLcom/android/server/display/DisplayDeviceConfig;->getAutoBrightnessBrighteningLevels(II)[F
+PLcom/android/server/display/DisplayDeviceConfig;->getAutoBrightnessBrighteningLevelsLux(II)[F
+PLcom/android/server/display/DisplayDeviceConfig;->getAutoBrightnessBrighteningLevelsNits()[F
+PLcom/android/server/display/DisplayDeviceConfig;->getBacklightFromBrightness(F)F
+PLcom/android/server/display/DisplayDeviceConfig;->getBrightness()[F
+PLcom/android/server/display/DisplayDeviceConfig;->getBrightnessCapForWearBedtimeMode()F
+HSPLcom/android/server/display/DisplayDeviceConfig;->getBrightnessDefault()F
+HSPLcom/android/server/display/DisplayDeviceConfig;->getBrightnessLevelAndPercentage(Lcom/android/server/display/config/BrightnessThresholds;II[F[F)Landroid/util/Pair;
+HSPLcom/android/server/display/DisplayDeviceConfig;->getBrightnessLevelAndPercentage(Lcom/android/server/display/config/BrightnessThresholds;II[F[FZ)Landroid/util/Pair;
+PLcom/android/server/display/DisplayDeviceConfig;->getBrightnessRampDecreaseMaxIdleMillis()J
+PLcom/android/server/display/DisplayDeviceConfig;->getBrightnessRampDecreaseMaxMillis()J
+PLcom/android/server/display/DisplayDeviceConfig;->getBrightnessRampFastDecrease()F
+PLcom/android/server/display/DisplayDeviceConfig;->getBrightnessRampFastIncrease()F
+PLcom/android/server/display/DisplayDeviceConfig;->getBrightnessRampIncreaseMaxIdleMillis()J
+PLcom/android/server/display/DisplayDeviceConfig;->getBrightnessRampIncreaseMaxMillis()J
+PLcom/android/server/display/DisplayDeviceConfig;->getBrightnessRampSlowDecrease()F
+PLcom/android/server/display/DisplayDeviceConfig;->getBrightnessRampSlowDecreaseIdle()F
+PLcom/android/server/display/DisplayDeviceConfig;->getBrightnessRampSlowIncrease()F
+PLcom/android/server/display/DisplayDeviceConfig;->getBrightnessRampSlowIncreaseIdle()F
+HSPLcom/android/server/display/DisplayDeviceConfig;->getConfigFromGlobalXml(Landroid/content/Context;Lcom/android/server/display/feature/DisplayManagerFlags;)Lcom/android/server/display/DisplayDeviceConfig;
+HSPLcom/android/server/display/DisplayDeviceConfig;->getConfigFromSuffix(Landroid/content/Context;Ljava/io/File;Ljava/lang/String;JLcom/android/server/display/feature/DisplayManagerFlags;)Lcom/android/server/display/DisplayDeviceConfig;
+HSPLcom/android/server/display/DisplayDeviceConfig;->getDefaultHighBlockingZoneRefreshRate()I
+HSPLcom/android/server/display/DisplayDeviceConfig;->getDefaultLowBlockingZoneRefreshRate()I
+HSPLcom/android/server/display/DisplayDeviceConfig;->getDefaultPeakRefreshRate()I
+HSPLcom/android/server/display/DisplayDeviceConfig;->getDefaultRefreshRate()I
+HSPLcom/android/server/display/DisplayDeviceConfig;->getDefaultRefreshRateInHbmHdr()I
+HSPLcom/android/server/display/DisplayDeviceConfig;->getDefaultRefreshRateInHbmSunlight()I
+HSPLcom/android/server/display/DisplayDeviceConfig;->getDensityMapping()Lcom/android/server/display/DensityMapping;
+HSPLcom/android/server/display/DisplayDeviceConfig;->getFirstExistingFile(Ljava/util/Collection;)Ljava/io/File;
+HSPLcom/android/server/display/DisplayDeviceConfig;->getFloatArray(Landroid/content/res/TypedArray;F)[F
+PLcom/android/server/display/DisplayDeviceConfig;->getHdrBrightnessData()Lcom/android/server/display/config/HdrBrightnessData;
+HSPLcom/android/server/display/DisplayDeviceConfig;->getHighAmbientBrightnessThresholds()[F
+HSPLcom/android/server/display/DisplayDeviceConfig;->getHighBlockingZoneThermalMap()Landroid/util/SparseArray;
+PLcom/android/server/display/DisplayDeviceConfig;->getHighBrightnessModeData()Lcom/android/server/display/DisplayDeviceConfig$HighBrightnessModeData;
+HSPLcom/android/server/display/DisplayDeviceConfig;->getHighDisplayBrightnessThresholds()[F
+HSPLcom/android/server/display/DisplayDeviceConfig;->getLowAmbientBrightnessThresholds()[F
+HSPLcom/android/server/display/DisplayDeviceConfig;->getLowBlockingZoneThermalMap()Landroid/util/SparseArray;
+HSPLcom/android/server/display/DisplayDeviceConfig;->getLowDisplayBrightnessThresholds()[F
+HSPLcom/android/server/display/DisplayDeviceConfig;->getLuxLevels([I)[F
+PLcom/android/server/display/DisplayDeviceConfig;->getLuxThrottlingData()Ljava/util/Map;
+HSPLcom/android/server/display/DisplayDeviceConfig;->getName()Ljava/lang/String;
+PLcom/android/server/display/DisplayDeviceConfig;->getNits()[F
+PLcom/android/server/display/DisplayDeviceConfig;->getNitsFromBacklight(F)F
+PLcom/android/server/display/DisplayDeviceConfig;->getPowerThrottlingConfigData()Lcom/android/server/display/DisplayDeviceConfig$PowerThrottlingConfigData;
+PLcom/android/server/display/DisplayDeviceConfig;->getPowerThrottlingDataMapByThrottlingId()Ljava/util/HashMap;
+PLcom/android/server/display/DisplayDeviceConfig;->getProximitySensor()Lcom/android/server/display/config/SensorData;
+HSPLcom/android/server/display/DisplayDeviceConfig;->getRefreshRange(Ljava/lang/String;)Landroid/view/SurfaceControl$RefreshRateRange;
+PLcom/android/server/display/DisplayDeviceConfig;->getThermalBrightnessThrottlingDataMapByThrottlingId()Ljava/util/HashMap;
+HSPLcom/android/server/display/DisplayDeviceConfig;->getThermalRefreshRateThrottlingData(Ljava/lang/String;)Landroid/util/SparseArray;
+HSPLcom/android/server/display/DisplayDeviceConfig;->hasQuirk(Ljava/lang/String;)Z
+PLcom/android/server/display/DisplayDeviceConfig;->hasSdrToHdrRatioSpline()Z
+HSPLcom/android/server/display/DisplayDeviceConfig;->initFromFile(Ljava/io/File;)Z
+HSPLcom/android/server/display/DisplayDeviceConfig;->initFromGlobalXml()V
+HSPLcom/android/server/display/DisplayDeviceConfig;->isAllInRange([FFF)Z
+PLcom/android/server/display/DisplayDeviceConfig;->isAutoBrightnessAvailable()Z
+HSPLcom/android/server/display/DisplayDeviceConfig;->loadAmbientBrightnessThresholds(Lcom/android/server/display/config/DisplayConfiguration;)V
+HSPLcom/android/server/display/DisplayDeviceConfig;->loadAmbientBrightnessThresholdsIdle(Lcom/android/server/display/config/DisplayConfiguration;)V
+HSPLcom/android/server/display/DisplayDeviceConfig;->loadAutoBrightnessAvailableFromConfigXml()V
+HSPLcom/android/server/display/DisplayDeviceConfig;->loadAutoBrightnessConfigsFromConfigXml()V
+HSPLcom/android/server/display/DisplayDeviceConfig;->loadBrightnessCapForWearBedtimeModeFromConfigXml()V
+HSPLcom/android/server/display/DisplayDeviceConfig;->loadBrightnessChangeThresholds(Lcom/android/server/display/config/DisplayConfiguration;)V
+HSPLcom/android/server/display/DisplayDeviceConfig;->loadBrightnessChangeThresholdsFromXml()V
+HSPLcom/android/server/display/DisplayDeviceConfig;->loadBrightnessConstraintsFromConfigXml()V
+HSPLcom/android/server/display/DisplayDeviceConfig;->loadBrightnessDefaultFromConfigXml()V
+HSPLcom/android/server/display/DisplayDeviceConfig;->loadBrightnessMapFromConfigXml()V
+HSPLcom/android/server/display/DisplayDeviceConfig;->loadBrightnessRampsFromConfigXml()V
+HSPLcom/android/server/display/DisplayDeviceConfig;->loadConfigFromDirectory(Landroid/content/Context;Ljava/io/File;JLcom/android/server/display/feature/DisplayManagerFlags;)Lcom/android/server/display/DisplayDeviceConfig;
+HSPLcom/android/server/display/DisplayDeviceConfig;->loadDefaultConfigurationXml(Landroid/content/Context;)Lcom/android/server/display/config/DisplayConfiguration;
+HSPLcom/android/server/display/DisplayDeviceConfig;->loadDefaultRefreshRate(Lcom/android/server/display/config/RefreshRateConfigs;)V
+HSPLcom/android/server/display/DisplayDeviceConfig;->loadDefaultRefreshRateInHbm(Lcom/android/server/display/config/RefreshRateConfigs;)V
+HSPLcom/android/server/display/DisplayDeviceConfig;->loadDisplayBrightnessThresholds(Lcom/android/server/display/config/DisplayConfiguration;)V
+HSPLcom/android/server/display/DisplayDeviceConfig;->loadDisplayBrightnessThresholdsIdle(Lcom/android/server/display/config/DisplayConfiguration;)V
+HSPLcom/android/server/display/DisplayDeviceConfig;->loadHigherBlockingZoneDefaultRefreshRate(Lcom/android/server/display/config/BlockingZoneConfig;)V
+HSPLcom/android/server/display/DisplayDeviceConfig;->loadHigherBrightnessThresholds(Lcom/android/server/display/config/BlockingZoneConfig;)V
+HSPLcom/android/server/display/DisplayDeviceConfig;->loadHigherRefreshRateBlockingZones(Lcom/android/server/display/config/BlockingZoneConfig;)V
+HSPLcom/android/server/display/DisplayDeviceConfig;->loadLowerBlockingZoneDefaultRefreshRate(Lcom/android/server/display/config/BlockingZoneConfig;)V
+HSPLcom/android/server/display/DisplayDeviceConfig;->loadLowerBrightnessThresholds(Lcom/android/server/display/config/BlockingZoneConfig;)V
+HSPLcom/android/server/display/DisplayDeviceConfig;->loadLowerRefreshRateBlockingZones(Lcom/android/server/display/config/BlockingZoneConfig;)V
+HSPLcom/android/server/display/DisplayDeviceConfig;->loadPeakDefaultRefreshRate(Lcom/android/server/display/config/RefreshRateConfigs;)V
+HSPLcom/android/server/display/DisplayDeviceConfig;->loadRefreshRateSetting(Lcom/android/server/display/config/DisplayConfiguration;)V
+HSPLcom/android/server/display/DisplayDeviceConfig;->loadRefreshRateZoneProfiles(Lcom/android/server/display/config/RefreshRateConfigs;)V
+HSPLcom/android/server/display/DisplayDeviceConfig;->setSimpleMappingStrategyValues()V
+HSPLcom/android/server/display/DisplayDeviceInfo;-><init>()V
+HPLcom/android/server/display/DisplayDeviceInfo;->diff(Lcom/android/server/display/DisplayDeviceInfo;)I
+PLcom/android/server/display/DisplayDeviceInfo;->equals(Lcom/android/server/display/DisplayDeviceInfo;)Z
+PLcom/android/server/display/DisplayDeviceInfo;->equals(Ljava/lang/Object;)Z
+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/DisplayDeviceRepository;-><clinit>()V
+HSPLcom/android/server/display/DisplayDeviceRepository;-><init>(Lcom/android/server/display/DisplayManagerService$SyncRoot;Lcom/android/server/display/PersistentDataStore;)V
+HSPLcom/android/server/display/DisplayDeviceRepository;->addListener(Lcom/android/server/display/DisplayDeviceRepository$Listener;)V
+HSPLcom/android/server/display/DisplayDeviceRepository;->containsLocked(Lcom/android/server/display/DisplayDevice;)Z
+HSPLcom/android/server/display/DisplayDeviceRepository;->getByAddressLocked(Landroid/view/DisplayAddress;)Lcom/android/server/display/DisplayDevice;
+HSPLcom/android/server/display/DisplayDeviceRepository;->handleDisplayDeviceAdded(Lcom/android/server/display/DisplayDevice;)V
+HPLcom/android/server/display/DisplayDeviceRepository;->handleDisplayDeviceChanged(Lcom/android/server/display/DisplayDevice;)V
+HSPLcom/android/server/display/DisplayDeviceRepository;->onDisplayDeviceEvent(Lcom/android/server/display/DisplayDevice;I)V
+HSPLcom/android/server/display/DisplayDeviceRepository;->onTraversalRequested()V
+PLcom/android/server/display/DisplayDeviceRepository;->sendChangedEventLocked(Lcom/android/server/display/DisplayDevice;I)V
+HSPLcom/android/server/display/DisplayDeviceRepository;->sendEventLocked(Lcom/android/server/display/DisplayDevice;I)V
+HSPLcom/android/server/display/DisplayGroup;-><init>(I)V
+HSPLcom/android/server/display/DisplayGroup;->addDisplayLocked(Lcom/android/server/display/LogicalDisplay;)V
+HSPLcom/android/server/display/DisplayGroup;->containsLocked(Lcom/android/server/display/LogicalDisplay;)Z
+HSPLcom/android/server/display/DisplayGroup;->getChangeCountLocked()I
+HPLcom/android/server/display/DisplayGroup;->getIdLocked(I)I
+HPLcom/android/server/display/DisplayGroup;->getSizeLocked()I
+HSPLcom/android/server/display/DisplayGroup;->isEmptyLocked()Z
+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
+PLcom/android/server/display/DisplayManagerService$$ExternalSyntheticLambda13;-><init>(Lcom/android/server/display/DisplayManagerService;I)V
+PLcom/android/server/display/DisplayManagerService$$ExternalSyntheticLambda13;->accept(Ljava/lang/Object;)V
+PLcom/android/server/display/DisplayManagerService$$ExternalSyntheticLambda15;-><init>(Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/LogicalDisplay;)V
+PLcom/android/server/display/DisplayManagerService$$ExternalSyntheticLambda15;->run()V
+PLcom/android/server/display/DisplayManagerService$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/display/DisplayManagerService;)V
+PLcom/android/server/display/DisplayManagerService$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/display/DisplayManagerService;Landroid/util/SparseArray;Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/display/DisplayManagerService$$ExternalSyntheticLambda2;->accept(Ljava/lang/Object;)V
+PLcom/android/server/display/DisplayManagerService$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/display/DisplayManagerService;)V
+PLcom/android/server/display/DisplayManagerService$$ExternalSyntheticLambda6;->accept(Ljava/lang/Object;)V
+PLcom/android/server/display/DisplayManagerService$$ExternalSyntheticLambda7;-><init>(Lcom/android/server/display/DisplayManagerService;)V
+PLcom/android/server/display/DisplayManagerService$$ExternalSyntheticLambda7;->accept(Ljava/lang/Object;)V
+HSPLcom/android/server/display/DisplayManagerService$1;-><init>(Lcom/android/server/display/DisplayManagerService;)V
+PLcom/android/server/display/DisplayManagerService$1;->requestDisplayState(IIFF)V
+HSPLcom/android/server/display/DisplayManagerService$2;-><init>(Lcom/android/server/display/DisplayManagerService;)V
+HSPLcom/android/server/display/DisplayManagerService$BinderService;-><init>(Lcom/android/server/display/DisplayManagerService;)V
+PLcom/android/server/display/DisplayManagerService$BinderService;->getBrightness(I)F
+PLcom/android/server/display/DisplayManagerService$BinderService;->getBrightnessInfo(I)Landroid/hardware/display/BrightnessInfo;
+HPLcom/android/server/display/DisplayManagerService$BinderService;->getDisplayIds(Z)[I
+HSPLcom/android/server/display/DisplayManagerService$BinderService;->getDisplayInfo(I)Landroid/view/DisplayInfo;
+HSPLcom/android/server/display/DisplayManagerService$BinderService;->getOverlaySupport()Landroid/hardware/OverlayProperties;
+HSPLcom/android/server/display/DisplayManagerService$BinderService;->getPreferredWideGamutColorSpaceId()I
+PLcom/android/server/display/DisplayManagerService$BinderService;->getStableDisplaySize()Landroid/graphics/Point;
+PLcom/android/server/display/DisplayManagerService$BinderService;->getWifiDisplayStatus()Landroid/hardware/display/WifiDisplayStatus;
+HPLcom/android/server/display/DisplayManagerService$BinderService;->registerCallbackWithEventMask(Landroid/hardware/display/IDisplayManagerCallback;J)V
+HSPLcom/android/server/display/DisplayManagerService$BrightnessPair;-><init>(Lcom/android/server/display/DisplayManagerService;FF)V
+HPLcom/android/server/display/DisplayManagerService$CallbackRecord;-><init>(Lcom/android/server/display/DisplayManagerService;IILandroid/hardware/display/IDisplayManagerCallback;J)V
+HPLcom/android/server/display/DisplayManagerService$CallbackRecord;->notifyDisplayEventAsync(II)Z
+PLcom/android/server/display/DisplayManagerService$CallbackRecord;->shouldSendEvent(I)Z
+PLcom/android/server/display/DisplayManagerService$CallbackRecord;->updateEventsMask(J)V
+PLcom/android/server/display/DisplayManagerService$DesiredDisplayModeSpecsObserver$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/display/DisplayManagerService$DesiredDisplayModeSpecsObserver;)V
+PLcom/android/server/display/DisplayManagerService$DesiredDisplayModeSpecsObserver$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
+PLcom/android/server/display/DisplayManagerService$DesiredDisplayModeSpecsObserver;->$r8$lambda$kO7ZAVjumuDiLx2z8mCVaTQeBAM(Lcom/android/server/display/DisplayManagerService$DesiredDisplayModeSpecsObserver;Lcom/android/server/display/LogicalDisplay;)V
+PLcom/android/server/display/DisplayManagerService$DesiredDisplayModeSpecsObserver;-><init>(Lcom/android/server/display/DisplayManagerService;)V
+PLcom/android/server/display/DisplayManagerService$DesiredDisplayModeSpecsObserver;->lambda$new$0(Lcom/android/server/display/LogicalDisplay;)V
+PLcom/android/server/display/DisplayManagerService$DesiredDisplayModeSpecsObserver;->onDesiredDisplayModeSpecsChanged()V
+PLcom/android/server/display/DisplayManagerService$DeviceStateListener;-><init>(Lcom/android/server/display/DisplayManagerService;)V
+PLcom/android/server/display/DisplayManagerService$DeviceStateListener;->onBaseStateChanged(I)V
+PLcom/android/server/display/DisplayManagerService$DeviceStateListener;->onStateChanged(I)V
+HSPLcom/android/server/display/DisplayManagerService$DisplayManagerHandler;-><init>(Lcom/android/server/display/DisplayManagerService;Landroid/os/Looper;)V
+HSPLcom/android/server/display/DisplayManagerService$DisplayManagerHandler;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/server/display/DisplayManagerService$ExternalDisplayPolicyInjector;-><init>(Lcom/android/server/display/DisplayManagerService;)V
+HSPLcom/android/server/display/DisplayManagerService$ExternalDisplayPolicyInjector;-><init>(Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/DisplayManagerService$ExternalDisplayPolicyInjector-IA;)V
+HSPLcom/android/server/display/DisplayManagerService$ExternalDisplayPolicyInjector;->getDisplayNotificationManager()Lcom/android/server/display/notifications/DisplayNotificationManager;
+HSPLcom/android/server/display/DisplayManagerService$ExternalDisplayPolicyInjector;->getFlags()Lcom/android/server/display/feature/DisplayManagerFlags;
+HSPLcom/android/server/display/DisplayManagerService$ExternalDisplayPolicyInjector;->getHandler()Landroid/os/Handler;
+HSPLcom/android/server/display/DisplayManagerService$ExternalDisplayPolicyInjector;->getLogicalDisplayMapper()Lcom/android/server/display/LogicalDisplayMapper;
+HSPLcom/android/server/display/DisplayManagerService$ExternalDisplayPolicyInjector;->getSyncRoot()Lcom/android/server/display/DisplayManagerService$SyncRoot;
+PLcom/android/server/display/DisplayManagerService$ExternalDisplayPolicyInjector;->getThermalService()Landroid/os/IThermalService;
+HSPLcom/android/server/display/DisplayManagerService$Injector;-><init>()V
+HSPLcom/android/server/display/DisplayManagerService$Injector;->getDefaultDisplayDelayTimeout()J
+HSPLcom/android/server/display/DisplayManagerService$Injector;->getFlags()Lcom/android/server/display/feature/DisplayManagerFlags;
+PLcom/android/server/display/DisplayManagerService$Injector;->getHdrOutputConversionSupport()Z
+HSPLcom/android/server/display/DisplayManagerService$Injector;->getLocalDisplayAdapter(Lcom/android/server/display/DisplayManagerService$SyncRoot;Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/display/DisplayAdapter$Listener;Lcom/android/server/display/feature/DisplayManagerFlags;Lcom/android/server/display/notifications/DisplayNotificationManager;)Lcom/android/server/display/LocalDisplayAdapter;
+HSPLcom/android/server/display/DisplayManagerService$Injector;->getVirtualDisplayAdapter(Lcom/android/server/display/DisplayManagerService$SyncRoot;Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/display/DisplayAdapter$Listener;Lcom/android/server/display/feature/DisplayManagerFlags;)Lcom/android/server/display/VirtualDisplayAdapter;
+PLcom/android/server/display/DisplayManagerService$LocalService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/display/DisplayManagerService$LocalService;Ljava/util/Set;Landroid/util/IntArray;)V
+PLcom/android/server/display/DisplayManagerService$LocalService$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
+PLcom/android/server/display/DisplayManagerService$LocalService;->$r8$lambda$89AgyCQh3snd66tyHFfbP9_BZ4s(Lcom/android/server/display/DisplayManagerService$LocalService;Ljava/util/Set;Landroid/util/IntArray;Lcom/android/server/display/LogicalDisplay;)V
+HSPLcom/android/server/display/DisplayManagerService$LocalService;-><init>(Lcom/android/server/display/DisplayManagerService;)V
+PLcom/android/server/display/DisplayManagerService$LocalService;->getAmbientLightSensorData(I)Landroid/hardware/display/DisplayManagerInternal$AmbientLightSensorData;
+PLcom/android/server/display/DisplayManagerService$LocalService;->getDisplayGroupIds()Landroid/util/IntArray;
+HPLcom/android/server/display/DisplayManagerService$LocalService;->getDisplayIdToMirror(I)I
+HPLcom/android/server/display/DisplayManagerService$LocalService;->getDisplayInfo(I)Landroid/view/DisplayInfo;
+PLcom/android/server/display/DisplayManagerService$LocalService;->getDisplayWindowPolicyController(I)Landroid/window/DisplayWindowPolicyController;
+PLcom/android/server/display/DisplayManagerService$LocalService;->getNonOverrideDisplayInfo(ILandroid/view/DisplayInfo;)V
+HPLcom/android/server/display/DisplayManagerService$LocalService;->getRefreshRateSwitchingType()I
+PLcom/android/server/display/DisplayManagerService$LocalService;->initPowerManagement(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;Landroid/os/Handler;Landroid/hardware/SensorManager;)V
+PLcom/android/server/display/DisplayManagerService$LocalService;->isProximitySensorAvailable()Z
+PLcom/android/server/display/DisplayManagerService$LocalService;->lambda$getDisplayGroupIds$0(Ljava/util/Set;Landroid/util/IntArray;Lcom/android/server/display/LogicalDisplay;)V
+HPLcom/android/server/display/DisplayManagerService$LocalService;->performTraversal(Landroid/view/SurfaceControl$Transaction;Landroid/util/SparseArray;)V
+PLcom/android/server/display/DisplayManagerService$LocalService;->registerDisplayGroupListener(Landroid/hardware/display/DisplayManagerInternal$DisplayGroupListener;)V
+PLcom/android/server/display/DisplayManagerService$LocalService;->registerDisplayOffloader(ILandroid/hardware/display/DisplayManagerInternal$DisplayOffloader;)Landroid/hardware/display/DisplayManagerInternal$DisplayOffloadSession;
+HPLcom/android/server/display/DisplayManagerService$LocalService;->requestPowerState(ILandroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;Z)Z
+PLcom/android/server/display/DisplayManagerService$LocalService;->setDisplayAccessUIDs(Landroid/util/SparseArray;)V
+PLcom/android/server/display/DisplayManagerService$LocalService;->setDisplayInfoOverrideFromWindowManager(ILandroid/view/DisplayInfo;)V
+HPLcom/android/server/display/DisplayManagerService$LocalService;->setDisplayProperties(IZFIFFZZZ)V
+HSPLcom/android/server/display/DisplayManagerService$LogicalDisplayListener;-><init>(Lcom/android/server/display/DisplayManagerService;)V
+HSPLcom/android/server/display/DisplayManagerService$LogicalDisplayListener;-><init>(Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/DisplayManagerService$LogicalDisplayListener-IA;)V
+HSPLcom/android/server/display/DisplayManagerService$LogicalDisplayListener;->onDisplayGroupEventLocked(II)V
+HSPLcom/android/server/display/DisplayManagerService$LogicalDisplayListener;->onLogicalDisplayEventLocked(Lcom/android/server/display/LogicalDisplay;I)V
+HSPLcom/android/server/display/DisplayManagerService$LogicalDisplayListener;->onTraversalRequested()V
+PLcom/android/server/display/DisplayManagerService$SettingsObserver;-><init>(Lcom/android/server/display/DisplayManagerService;)V
+HSPLcom/android/server/display/DisplayManagerService$SyncRoot;-><init>()V
+HSPLcom/android/server/display/DisplayManagerService$UidImportanceListener;-><init>(Lcom/android/server/display/DisplayManagerService;)V
+HSPLcom/android/server/display/DisplayManagerService$UidImportanceListener;-><init>(Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/DisplayManagerService$UidImportanceListener-IA;)V
+HPLcom/android/server/display/DisplayManagerService$UidImportanceListener;->onUidImportance(II)V
+PLcom/android/server/display/DisplayManagerService;->$r8$lambda$0MAlsLZlHa5skv0nhkou167e-6I(Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/LogicalDisplay;)V
+PLcom/android/server/display/DisplayManagerService;->$r8$lambda$7iX7XzFpN-QayQDgHGWOvHZ4RH4(Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/LogicalDisplay;)V
+PLcom/android/server/display/DisplayManagerService;->$r8$lambda$oYWCtx3PEcj2fx_7P6LhCa_tIsw(Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/LogicalDisplay;)Lcom/android/server/display/DisplayPowerControllerInterface;
+PLcom/android/server/display/DisplayManagerService;->$r8$lambda$sbGEKbzmOtvlr0tn0wH0Gqp3iQE(Lcom/android/server/display/DisplayManagerService;ILcom/android/server/display/LogicalDisplay;)V
+PLcom/android/server/display/DisplayManagerService;->$r8$lambda$vHSuA5rkAynhvjoHbD27CpXaGlI(Lcom/android/server/display/DisplayManagerService;Landroid/util/SparseArray;Landroid/view/SurfaceControl$Transaction;Lcom/android/server/display/LogicalDisplay;)V
+PLcom/android/server/display/DisplayManagerService;->-$$Nest$fgetmContext(Lcom/android/server/display/DisplayManagerService;)Landroid/content/Context;
+PLcom/android/server/display/DisplayManagerService;->-$$Nest$fgetmDisplayGroupListeners(Lcom/android/server/display/DisplayManagerService;)Ljava/util/concurrent/CopyOnWriteArrayList;
+PLcom/android/server/display/DisplayManagerService;->-$$Nest$fgetmDisplayModeDirector(Lcom/android/server/display/DisplayManagerService;)Lcom/android/server/display/mode/DisplayModeDirector;
+HSPLcom/android/server/display/DisplayManagerService;->-$$Nest$fgetmDisplayNotificationManager(Lcom/android/server/display/DisplayManagerService;)Lcom/android/server/display/notifications/DisplayNotificationManager;
+PLcom/android/server/display/DisplayManagerService;->-$$Nest$fgetmDisplayPowerCallbacks(Lcom/android/server/display/DisplayManagerService;)Landroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;
+PLcom/android/server/display/DisplayManagerService;->-$$Nest$fgetmDisplayPowerControllers(Lcom/android/server/display/DisplayManagerService;)Landroid/util/SparseArray;
+PLcom/android/server/display/DisplayManagerService;->-$$Nest$fgetmDisplayStates(Lcom/android/server/display/DisplayManagerService;)Landroid/util/SparseIntArray;
+HSPLcom/android/server/display/DisplayManagerService;->-$$Nest$fgetmFlags(Lcom/android/server/display/DisplayManagerService;)Lcom/android/server/display/feature/DisplayManagerFlags;
+HSPLcom/android/server/display/DisplayManagerService;->-$$Nest$fgetmHandler(Lcom/android/server/display/DisplayManagerService;)Lcom/android/server/display/DisplayManagerService$DisplayManagerHandler;
+PLcom/android/server/display/DisplayManagerService;->-$$Nest$fgetmInputManagerInternal(Lcom/android/server/display/DisplayManagerService;)Lcom/android/server/input/InputManagerInternal;
+HSPLcom/android/server/display/DisplayManagerService;->-$$Nest$fgetmLogicalDisplayMapper(Lcom/android/server/display/DisplayManagerService;)Lcom/android/server/display/LogicalDisplayMapper;
+HSPLcom/android/server/display/DisplayManagerService;->-$$Nest$fgetmSyncRoot(Lcom/android/server/display/DisplayManagerService;)Lcom/android/server/display/DisplayManagerService$SyncRoot;
+PLcom/android/server/display/DisplayManagerService;->-$$Nest$fgetmTempViewports(Lcom/android/server/display/DisplayManagerService;)Ljava/util/ArrayList;
+PLcom/android/server/display/DisplayManagerService;->-$$Nest$fgetmViewports(Lcom/android/server/display/DisplayManagerService;)Ljava/util/ArrayList;
+PLcom/android/server/display/DisplayManagerService;->-$$Nest$fgetmWindowManagerInternal(Lcom/android/server/display/DisplayManagerService;)Lcom/android/server/wm/WindowManagerInternal;
+PLcom/android/server/display/DisplayManagerService;->-$$Nest$fputmDisplayPowerCallbacks(Lcom/android/server/display/DisplayManagerService;Landroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;)V
+PLcom/android/server/display/DisplayManagerService;->-$$Nest$fputmPowerHandler(Lcom/android/server/display/DisplayManagerService;Landroid/os/Handler;)V
+PLcom/android/server/display/DisplayManagerService;->-$$Nest$fputmSensorManager(Lcom/android/server/display/DisplayManagerService;Landroid/hardware/SensorManager;)V
+HSPLcom/android/server/display/DisplayManagerService;->-$$Nest$mdeliverDisplayEvent(Lcom/android/server/display/DisplayManagerService;ILandroid/util/ArraySet;I)V
+HSPLcom/android/server/display/DisplayManagerService;->-$$Nest$mdeliverDisplayGroupEvent(Lcom/android/server/display/DisplayManagerService;II)V
+PLcom/android/server/display/DisplayManagerService;->-$$Nest$mextraLogging(Lcom/android/server/display/DisplayManagerService;Ljava/lang/String;)Z
+HSPLcom/android/server/display/DisplayManagerService;->-$$Nest$mgetDisplayInfoInternal(Lcom/android/server/display/DisplayManagerService;II)Landroid/view/DisplayInfo;
+PLcom/android/server/display/DisplayManagerService;->-$$Nest$mgetNonOverrideDisplayInfoInternal(Lcom/android/server/display/DisplayManagerService;ILandroid/view/DisplayInfo;)V
+PLcom/android/server/display/DisplayManagerService;->-$$Nest$mgetStableDisplaySizeInternal(Lcom/android/server/display/DisplayManagerService;)Landroid/graphics/Point;
+PLcom/android/server/display/DisplayManagerService;->-$$Nest$mgetWifiDisplayStatusInternal(Lcom/android/server/display/DisplayManagerService;)Landroid/hardware/display/WifiDisplayStatus;
+HSPLcom/android/server/display/DisplayManagerService;->-$$Nest$mhandleLogicalDisplayAddedLocked(Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/LogicalDisplay;)V
+PLcom/android/server/display/DisplayManagerService;->-$$Nest$mhandleLogicalDisplayChangedLocked(Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/LogicalDisplay;)V
+HSPLcom/android/server/display/DisplayManagerService;->-$$Nest$mhandleLogicalDisplayConnectedLocked(Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/LogicalDisplay;)V
+PLcom/android/server/display/DisplayManagerService;->-$$Nest$mhandleLogicalDisplayFrameRateOverridesChangedLocked(Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/LogicalDisplay;)V
+PLcom/android/server/display/DisplayManagerService;->-$$Nest$minitializeDisplayPowerControllersLocked(Lcom/android/server/display/DisplayManagerService;)V
+PLcom/android/server/display/DisplayManagerService;->-$$Nest$mloadBrightnessConfigurations(Lcom/android/server/display/DisplayManagerService;)V
+PLcom/android/server/display/DisplayManagerService;->-$$Nest$mregisterCallbackInternal(Lcom/android/server/display/DisplayManagerService;Landroid/hardware/display/IDisplayManagerCallback;IIJ)V
+HSPLcom/android/server/display/DisplayManagerService;->-$$Nest$mregisterDefaultDisplayAdapters(Lcom/android/server/display/DisplayManagerService;)V
+PLcom/android/server/display/DisplayManagerService;->-$$Nest$mrequestDisplayStateInternal(Lcom/android/server/display/DisplayManagerService;IIFF)V
+HSPLcom/android/server/display/DisplayManagerService;->-$$Nest$mscheduleTraversalLocked(Lcom/android/server/display/DisplayManagerService;Z)V
+HSPLcom/android/server/display/DisplayManagerService;->-$$Nest$msendDisplayGroupEvent(Lcom/android/server/display/DisplayManagerService;II)V
+PLcom/android/server/display/DisplayManagerService;->-$$Nest$msetDisplayAccessUIDsInternal(Lcom/android/server/display/DisplayManagerService;Landroid/util/SparseArray;)V
+PLcom/android/server/display/DisplayManagerService;->-$$Nest$sfgetDEBUG()Z
+HSPLcom/android/server/display/DisplayManagerService;-><clinit>()V
+HSPLcom/android/server/display/DisplayManagerService;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/display/DisplayManagerService;-><init>(Landroid/content/Context;Lcom/android/server/display/DisplayManagerService$Injector;)V
+HSPLcom/android/server/display/DisplayManagerService;->addDisplayPowerControllerLocked(Lcom/android/server/display/LogicalDisplay;)Lcom/android/server/display/DisplayPowerControllerInterface;
+PLcom/android/server/display/DisplayManagerService;->applyDisplayChangedLocked(Lcom/android/server/display/LogicalDisplay;)V
+PLcom/android/server/display/DisplayManagerService;->clampBrightness(IF)F
+PLcom/android/server/display/DisplayManagerService;->clearViewportsLocked()V
+HSPLcom/android/server/display/DisplayManagerService;->configureColorModeLocked(Lcom/android/server/display/LogicalDisplay;Lcom/android/server/display/DisplayDevice;)V
+HPLcom/android/server/display/DisplayManagerService;->configureDisplayLocked(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/display/DisplayDevice;)V
+HSPLcom/android/server/display/DisplayManagerService;->configurePreferredDisplayModeLocked(Lcom/android/server/display/LogicalDisplay;)V
+HSPLcom/android/server/display/DisplayManagerService;->deliverDisplayEvent(ILandroid/util/ArraySet;I)V
+HSPLcom/android/server/display/DisplayManagerService;->deliverDisplayGroupEvent(II)V
+PLcom/android/server/display/DisplayManagerService;->extraLogging(Ljava/lang/String;)Z
+PLcom/android/server/display/DisplayManagerService;->getBrightnessConfigForDisplayWithPdsFallbackLocked(Ljava/lang/String;I)Landroid/hardware/display/BrightnessConfiguration;
+HSPLcom/android/server/display/DisplayManagerService;->getDisplayInfoForFrameRateOverride([Landroid/view/DisplayEventReceiver$FrameRateOverride;Landroid/view/DisplayInfo;I)Landroid/view/DisplayInfo;
+HSPLcom/android/server/display/DisplayManagerService;->getDisplayInfoInternal(II)Landroid/view/DisplayInfo;
+HSPLcom/android/server/display/DisplayManagerService;->getFloatArray(Landroid/content/res/TypedArray;)[F
+PLcom/android/server/display/DisplayManagerService;->getNonOverrideDisplayInfoInternal(ILandroid/view/DisplayInfo;)V
+HSPLcom/android/server/display/DisplayManagerService;->getOverlaySupportInternal()Landroid/hardware/OverlayProperties;
+HSPLcom/android/server/display/DisplayManagerService;->getPreferredWideGamutColorSpaceIdInternal()I
+HPLcom/android/server/display/DisplayManagerService;->getRefreshRateSwitchingTypeInternal()I
+PLcom/android/server/display/DisplayManagerService;->getStableDisplaySizeInternal()Landroid/graphics/Point;
+PLcom/android/server/display/DisplayManagerService;->getUserManager()Landroid/os/UserManager;
+HPLcom/android/server/display/DisplayManagerService;->getViewportLocked(ILjava/lang/String;)Landroid/hardware/display/DisplayViewport;
+PLcom/android/server/display/DisplayManagerService;->getViewportType(Lcom/android/server/display/DisplayDeviceInfo;)Ljava/util/Optional;
+PLcom/android/server/display/DisplayManagerService;->getWifiDisplayStatusInternal()Landroid/hardware/display/WifiDisplayStatus;
+PLcom/android/server/display/DisplayManagerService;->handleBrightnessChange(Lcom/android/server/display/LogicalDisplay;)V
+HSPLcom/android/server/display/DisplayManagerService;->handleLogicalDisplayAddedLocked(Lcom/android/server/display/LogicalDisplay;)V
+PLcom/android/server/display/DisplayManagerService;->handleLogicalDisplayChangedLocked(Lcom/android/server/display/LogicalDisplay;)V
+HSPLcom/android/server/display/DisplayManagerService;->handleLogicalDisplayConnectedLocked(Lcom/android/server/display/LogicalDisplay;)V
+PLcom/android/server/display/DisplayManagerService;->handleLogicalDisplayFrameRateOverridesChangedLocked(Lcom/android/server/display/LogicalDisplay;)V
+PLcom/android/server/display/DisplayManagerService;->initializeDisplayPowerControllersLocked()V
+HPLcom/android/server/display/DisplayManagerService;->isMinimalPostProcessingAllowed()Z
+PLcom/android/server/display/DisplayManagerService;->isResolutionAndRefreshRateValid(Landroid/view/Display$Mode;)Z
+PLcom/android/server/display/DisplayManagerService;->isUidCached(I)Z
+PLcom/android/server/display/DisplayManagerService;->lambda$addDisplayPowerControllerLocked$14(Lcom/android/server/display/LogicalDisplay;)V
+PLcom/android/server/display/DisplayManagerService;->lambda$loadBrightnessConfigurations$10(ILcom/android/server/display/LogicalDisplay;)V
+HPLcom/android/server/display/DisplayManagerService;->lambda$performTraversalLocked$11(Landroid/util/SparseArray;Landroid/view/SurfaceControl$Transaction;Lcom/android/server/display/LogicalDisplay;)V
+PLcom/android/server/display/DisplayManagerService;->lambda$updateUserPreferredDisplayModeSettingsLocked$4(Lcom/android/server/display/LogicalDisplay;)V
+PLcom/android/server/display/DisplayManagerService;->loadBrightnessConfigurations()V
+HSPLcom/android/server/display/DisplayManagerService;->loadStableDisplayValuesLocked()V
+HSPLcom/android/server/display/DisplayManagerService;->notifyDefaultDisplayDeviceUpdated(Lcom/android/server/display/LogicalDisplay;)V
+HSPLcom/android/server/display/DisplayManagerService;->onBootPhase(I)V
+HSPLcom/android/server/display/DisplayManagerService;->onStart()V
+HPLcom/android/server/display/DisplayManagerService;->performTraversalInternal(Landroid/view/SurfaceControl$Transaction;Landroid/util/SparseArray;)V
+HPLcom/android/server/display/DisplayManagerService;->performTraversalLocked(Landroid/view/SurfaceControl$Transaction;Landroid/util/SparseArray;)V
+HPLcom/android/server/display/DisplayManagerService;->populateViewportLocked(IILcom/android/server/display/DisplayDevice;Lcom/android/server/display/DisplayDeviceInfo;)V
+HSPLcom/android/server/display/DisplayManagerService;->recordStableDisplayStatsIfNeededLocked(Lcom/android/server/display/LogicalDisplay;)V
+HSPLcom/android/server/display/DisplayManagerService;->recordTopInsetLocked(Lcom/android/server/display/LogicalDisplay;)V
+PLcom/android/server/display/DisplayManagerService;->registerAdditionalDisplayAdapters()V
+HPLcom/android/server/display/DisplayManagerService;->registerCallbackInternal(Landroid/hardware/display/IDisplayManagerCallback;IIJ)V
+HSPLcom/android/server/display/DisplayManagerService;->registerDefaultDisplayAdapters()V
+HSPLcom/android/server/display/DisplayManagerService;->registerDisplayAdapterLocked(Lcom/android/server/display/DisplayAdapter;)V
+PLcom/android/server/display/DisplayManagerService;->registerOverlayDisplayAdapterLocked()V
+PLcom/android/server/display/DisplayManagerService;->registerWifiDisplayAdapterLocked()V
+HPLcom/android/server/display/DisplayManagerService;->requestDisplayStateInternal(IIFF)V
+HSPLcom/android/server/display/DisplayManagerService;->scheduleTraversalLocked(Z)V
+PLcom/android/server/display/DisplayManagerService;->sendDisplayEventFrameRateOverrideLocked(I)V
+HSPLcom/android/server/display/DisplayManagerService;->sendDisplayEventIfEnabledLocked(Lcom/android/server/display/LogicalDisplay;I)V
+HSPLcom/android/server/display/DisplayManagerService;->sendDisplayEventLocked(Lcom/android/server/display/LogicalDisplay;I)V
+HSPLcom/android/server/display/DisplayManagerService;->sendDisplayGroupEvent(II)V
+PLcom/android/server/display/DisplayManagerService;->setDisplayAccessUIDsInternal(Landroid/util/SparseArray;)V
+PLcom/android/server/display/DisplayManagerService;->setDisplayInfoOverrideFromWindowManagerInternal(ILandroid/view/DisplayInfo;)V
+HPLcom/android/server/display/DisplayManagerService;->setDisplayPropertiesInternal(IZFIFFZZZ)V
+PLcom/android/server/display/DisplayManagerService;->setHdrConversionModeInternal(Landroid/hardware/display/HdrConversionMode;)V
+PLcom/android/server/display/DisplayManagerService;->setMinimalPostProcessingAllowed(Z)V
+HSPLcom/android/server/display/DisplayManagerService;->setupLogicalDisplay(Lcom/android/server/display/LogicalDisplay;)V
+PLcom/android/server/display/DisplayManagerService;->setupSchedulerPolicies()V
+PLcom/android/server/display/DisplayManagerService;->shouldRegisterNonEssentialDisplayAdaptersLocked()Z
+PLcom/android/server/display/DisplayManagerService;->systemReady(Z)V
+PLcom/android/server/display/DisplayManagerService;->updateDisplayPowerControllerLeaderLocked(Lcom/android/server/display/DisplayPowerControllerInterface;I)V
+HSPLcom/android/server/display/DisplayManagerService;->updateDisplayStateLocked(Lcom/android/server/display/DisplayDevice;)Ljava/lang/Runnable;
+PLcom/android/server/display/DisplayManagerService;->updateHdrConversionModeSettingsLocked()V
+HSPLcom/android/server/display/DisplayManagerService;->updateLogicalDisplayState(Lcom/android/server/display/LogicalDisplay;)V
+PLcom/android/server/display/DisplayManagerService;->updateSettingsLocked()V
+PLcom/android/server/display/DisplayManagerService;->updateUserDisabledHdrTypesFromSettingsLocked()V
+PLcom/android/server/display/DisplayManagerService;->updateUserPreferredDisplayModeSettingsLocked()V
+HPLcom/android/server/display/DisplayManagerService;->updateViewportPowerStateLocked(Lcom/android/server/display/LogicalDisplay;)V
+PLcom/android/server/display/DisplayManagerService;->windowManagerAndInputReady()V
+PLcom/android/server/display/DisplayOffloadSessionImpl;-><init>(Landroid/hardware/display/DisplayManagerInternal$DisplayOffloader;Lcom/android/server/display/DisplayPowerControllerInterface;)V
+PLcom/android/server/display/DisplayOffloadSessionImpl;->getAutoBrightnessLevels(I)[F
+PLcom/android/server/display/DisplayOffloadSessionImpl;->getAutoBrightnessLuxLevels(I)[F
+PLcom/android/server/display/DisplayPowerController$$ExternalSyntheticLambda11;-><init>(Lcom/android/server/display/DisplayPowerController;)V
+PLcom/android/server/display/DisplayPowerController$$ExternalSyntheticLambda12;-><init>(Lcom/android/server/display/DisplayPowerController;)V
+PLcom/android/server/display/DisplayPowerController$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/display/DisplayPowerController;)V
+PLcom/android/server/display/DisplayPowerController$$ExternalSyntheticLambda4;->run()V
+PLcom/android/server/display/DisplayPowerController$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/display/DisplayPowerController;)V
+PLcom/android/server/display/DisplayPowerController$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/display/DisplayPowerController;)V
+PLcom/android/server/display/DisplayPowerController$$ExternalSyntheticLambda7;-><init>(Lcom/android/server/display/DisplayPowerController;)V
+PLcom/android/server/display/DisplayPowerController$$ExternalSyntheticLambda9;-><init>(Lcom/android/server/display/DisplayPowerController;)V
+PLcom/android/server/display/DisplayPowerController$1;-><init>(Lcom/android/server/display/DisplayPowerController;)V
+PLcom/android/server/display/DisplayPowerController$2;-><init>(Lcom/android/server/display/DisplayPowerController;)V
+PLcom/android/server/display/DisplayPowerController$3;-><init>(Lcom/android/server/display/DisplayPowerController;)V
+PLcom/android/server/display/DisplayPowerController$CachedBrightnessInfo;-><init>()V
+PLcom/android/server/display/DisplayPowerController$CachedBrightnessInfo;->checkAndSetFloat(Landroid/util/MutableFloat;F)Z
+PLcom/android/server/display/DisplayPowerController$CachedBrightnessInfo;->checkAndSetInt(Landroid/util/MutableInt;I)Z
+PLcom/android/server/display/DisplayPowerController$DisplayControllerHandler;-><init>(Lcom/android/server/display/DisplayPowerController;Landroid/os/Looper;)V
+PLcom/android/server/display/DisplayPowerController$DisplayControllerHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/display/DisplayPowerController$Injector$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/display/DisplayPowerController$Injector$$ExternalSyntheticLambda0;->uptimeMillis()J
+PLcom/android/server/display/DisplayPowerController$Injector;-><init>()V
+PLcom/android/server/display/DisplayPowerController$Injector;->getBrightnessClamperController(Landroid/os/Handler;Lcom/android/server/display/brightness/clamper/BrightnessClamperController$ClamperChangeListener;Lcom/android/server/display/brightness/clamper/BrightnessClamperController$DisplayDeviceData;Landroid/content/Context;Lcom/android/server/display/feature/DisplayManagerFlags;)Lcom/android/server/display/brightness/clamper/BrightnessClamperController;
+PLcom/android/server/display/DisplayPowerController$Injector;->getBrightnessRangeController(Lcom/android/server/display/HighBrightnessModeController;Ljava/lang/Runnable;Lcom/android/server/display/DisplayDeviceConfig;Landroid/os/Handler;Lcom/android/server/display/feature/DisplayManagerFlags;Landroid/os/IBinder;Lcom/android/server/display/DisplayDeviceInfo;)Lcom/android/server/display/BrightnessRangeController;
+PLcom/android/server/display/DisplayPowerController$Injector;->getClock()Lcom/android/server/display/DisplayPowerController$Clock;
+PLcom/android/server/display/DisplayPowerController$Injector;->getDefaultModeBrightnessMapper(Landroid/content/Context;Lcom/android/server/display/DisplayDeviceConfig;Lcom/android/server/display/whitebalance/DisplayWhiteBalanceController;)Lcom/android/server/display/BrightnessMappingStrategy;
+PLcom/android/server/display/DisplayPowerController$Injector;->getDisplayPowerProximityStateController(Lcom/android/server/display/WakelockController;Lcom/android/server/display/DisplayDeviceConfig;Landroid/os/Looper;Ljava/lang/Runnable;ILandroid/hardware/SensorManager;)Lcom/android/server/display/DisplayPowerProximityStateController;
+PLcom/android/server/display/DisplayPowerController$Injector;->getDisplayPowerState(Lcom/android/server/display/DisplayBlanker;Lcom/android/server/display/ColorFade;II)Lcom/android/server/display/DisplayPowerState;
+PLcom/android/server/display/DisplayPowerController$Injector;->getDisplayWhiteBalanceController(Landroid/os/Handler;Landroid/hardware/SensorManager;Landroid/content/res/Resources;)Lcom/android/server/display/whitebalance/DisplayWhiteBalanceController;
+PLcom/android/server/display/DisplayPowerController$Injector;->getDualRampAnimator(Lcom/android/server/display/DisplayPowerState;Landroid/util/FloatProperty;Landroid/util/FloatProperty;)Lcom/android/server/display/RampAnimator$DualRampAnimator;
+PLcom/android/server/display/DisplayPowerController$Injector;->getHighBrightnessModeController(Landroid/os/Handler;IILandroid/os/IBinder;Ljava/lang/String;FFLcom/android/server/display/DisplayDeviceConfig$HighBrightnessModeData;Lcom/android/server/display/HighBrightnessModeController$HdrBrightnessDeviceConfig;Ljava/lang/Runnable;Lcom/android/server/display/HighBrightnessModeMetadata;Landroid/content/Context;)Lcom/android/server/display/HighBrightnessModeController;
+PLcom/android/server/display/DisplayPowerController$Injector;->getWakelockController(ILandroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;)Lcom/android/server/display/WakelockController;
+PLcom/android/server/display/DisplayPowerController$Injector;->isColorFadeEnabled()Z
+PLcom/android/server/display/DisplayPowerController$SettingsObserver;-><init>(Lcom/android/server/display/DisplayPowerController;Landroid/os/Handler;)V
+PLcom/android/server/display/DisplayPowerController;->$r8$lambda$3lWZJ4BpIHcX_GeenBdRfMVq_oU(Lcom/android/server/display/DisplayPowerController;)V
+PLcom/android/server/display/DisplayPowerController;->-$$Nest$fputmBootCompleted(Lcom/android/server/display/DisplayPowerController;Z)V
+PLcom/android/server/display/DisplayPowerController;->-$$Nest$mupdatePowerState(Lcom/android/server/display/DisplayPowerController;)V
+PLcom/android/server/display/DisplayPowerController;-><clinit>()V
+HPLcom/android/server/display/DisplayPowerController;-><init>(Landroid/content/Context;Lcom/android/server/display/DisplayPowerController$Injector;Landroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;Landroid/os/Handler;Landroid/hardware/SensorManager;Lcom/android/server/display/DisplayBlanker;Lcom/android/server/display/LogicalDisplay;Lcom/android/server/display/BrightnessTracker;Lcom/android/server/display/BrightnessSetting;Ljava/lang/Runnable;Lcom/android/server/display/HighBrightnessModeMetadata;ZLcom/android/server/display/feature/DisplayManagerFlags;)V
+PLcom/android/server/display/DisplayPowerController;->animateScreenBrightness(FFF)V
+PLcom/android/server/display/DisplayPowerController;->animateScreenBrightness(FFFZ)V
+PLcom/android/server/display/DisplayPowerController;->animateScreenStateChange(IZ)V
+HPLcom/android/server/display/DisplayPowerController;->clampScreenBrightness(F)F
+PLcom/android/server/display/DisplayPowerController;->convertBrightnessReasonToStatsEnum(I)I
+PLcom/android/server/display/DisplayPowerController;->createBrightnessThrottlerLocked()Lcom/android/server/display/BrightnessThrottler;
+PLcom/android/server/display/DisplayPowerController;->createHbmControllerLocked(Lcom/android/server/display/HighBrightnessModeMetadata;Ljava/lang/Runnable;)Lcom/android/server/display/HighBrightnessModeController;
+HPLcom/android/server/display/DisplayPowerController;->getAutoBrightnessLevels(I)[F
+HPLcom/android/server/display/DisplayPowerController;->getAutoBrightnessLuxLevels(I)[F
+HPLcom/android/server/display/DisplayPowerController;->getBrightnessInfo()Landroid/hardware/display/BrightnessInfo;
+PLcom/android/server/display/DisplayPowerController;->getLeadDisplayId()I
+PLcom/android/server/display/DisplayPowerController;->getScreenBrightnessSetting()F
+PLcom/android/server/display/DisplayPowerController;->handleBrightnessModeChange()V
+PLcom/android/server/display/DisplayPowerController;->initialize(I)V
+PLcom/android/server/display/DisplayPowerController;->isProximitySensorAvailable()Z
+PLcom/android/server/display/DisplayPowerController;->loadBrightnessRampRates()V
+PLcom/android/server/display/DisplayPowerController;->loadNitsRange(Landroid/content/res/Resources;)V
+HPLcom/android/server/display/DisplayPowerController;->logBrightnessEvent(Lcom/android/server/display/brightness/BrightnessEvent;F)V
+PLcom/android/server/display/DisplayPowerController;->logDisplayPolicyChanged(I)V
+PLcom/android/server/display/DisplayPowerController;->nitsToRangeIndex(F)I
+PLcom/android/server/display/DisplayPowerController;->noteScreenBrightness(F)V
+PLcom/android/server/display/DisplayPowerController;->noteScreenState(I)V
+PLcom/android/server/display/DisplayPowerController;->notifyBrightnessTrackerChanged(FZZZZZ)V
+PLcom/android/server/display/DisplayPowerController;->onBootCompleted()V
+PLcom/android/server/display/DisplayPowerController;->postBrightnessChangeRunnable()V
+PLcom/android/server/display/DisplayPowerController;->readyToUpdateDisplayState()Z
+HPLcom/android/server/display/DisplayPowerController;->requestPowerState(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;Z)Z
+PLcom/android/server/display/DisplayPowerController;->saveBrightnessInfo(F)Z
+HPLcom/android/server/display/DisplayPowerController;->saveBrightnessInfo(FFLcom/android/server/display/DisplayBrightnessState;)Z
+PLcom/android/server/display/DisplayPowerController;->saveBrightnessInfo(FLcom/android/server/display/DisplayBrightnessState;)Z
+PLcom/android/server/display/DisplayPowerController;->sendOnStateChangedWithWakelock()V
+PLcom/android/server/display/DisplayPowerController;->sendUpdatePowerState()V
+PLcom/android/server/display/DisplayPowerController;->sendUpdatePowerStateLocked()V
+PLcom/android/server/display/DisplayPowerController;->setAnimatorRampSpeeds(Z)V
+PLcom/android/server/display/DisplayPowerController;->setDisplayOffloadSession(Landroid/hardware/display/DisplayManagerInternal$DisplayOffloadSession;)V
+PLcom/android/server/display/DisplayPowerController;->setReportedScreenState(I)V
+PLcom/android/server/display/DisplayPowerController;->setScreenState(I)Z
+PLcom/android/server/display/DisplayPowerController;->setScreenState(IZ)Z
+PLcom/android/server/display/DisplayPowerController;->setUpAutoBrightness(Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/display/DisplayPowerController;->unblockScreenOn()V
+PLcom/android/server/display/DisplayPowerController;->unblockScreenOnByDisplayOffload()V
+PLcom/android/server/display/DisplayPowerController;->updatePowerState()V
+HPLcom/android/server/display/DisplayPowerController;->updatePowerStateInternal()V
+PLcom/android/server/display/DisplayPowerProximityStateController$1;-><init>(Lcom/android/server/display/DisplayPowerProximityStateController;)V
+PLcom/android/server/display/DisplayPowerProximityStateController$DisplayPowerProximityStateHandler;-><init>(Lcom/android/server/display/DisplayPowerProximityStateController;Landroid/os/Looper;)V
+PLcom/android/server/display/DisplayPowerProximityStateController$Injector$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/display/DisplayPowerProximityStateController$Injector;-><init>()V
+PLcom/android/server/display/DisplayPowerProximityStateController$Injector;->createClock()Lcom/android/server/display/DisplayPowerProximityStateController$Clock;
+PLcom/android/server/display/DisplayPowerProximityStateController;-><init>(Lcom/android/server/display/WakelockController;Lcom/android/server/display/DisplayDeviceConfig;Landroid/os/Looper;Ljava/lang/Runnable;ILandroid/hardware/SensorManager;Lcom/android/server/display/DisplayPowerProximityStateController$Injector;)V
+PLcom/android/server/display/DisplayPowerProximityStateController;->isProximitySensorAvailable()Z
+PLcom/android/server/display/DisplayPowerProximityStateController;->isScreenOffBecauseOfProximity()Z
+PLcom/android/server/display/DisplayPowerProximityStateController;->loadProximitySensor()V
+HPLcom/android/server/display/DisplayPowerProximityStateController;->setPendingWaitForNegativeProximityLocked(Z)Z
+PLcom/android/server/display/DisplayPowerProximityStateController;->setProximitySensorEnabled(Z)V
+PLcom/android/server/display/DisplayPowerProximityStateController;->shouldSkipRampBecauseOfProximityChangeToNegative()Z
+PLcom/android/server/display/DisplayPowerProximityStateController;->updatePendingProximityRequestsLocked()V
+PLcom/android/server/display/DisplayPowerProximityStateController;->updateProximityState(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;I)V
+PLcom/android/server/display/DisplayPowerState$1;-><init>(Ljava/lang/String;)V
+PLcom/android/server/display/DisplayPowerState$2;-><init>(Ljava/lang/String;)V
+PLcom/android/server/display/DisplayPowerState$2;->setValue(Lcom/android/server/display/DisplayPowerState;F)V
+PLcom/android/server/display/DisplayPowerState$2;->setValue(Ljava/lang/Object;F)V
+PLcom/android/server/display/DisplayPowerState$3;-><init>(Ljava/lang/String;)V
+PLcom/android/server/display/DisplayPowerState$3;->setValue(Lcom/android/server/display/DisplayPowerState;F)V
+PLcom/android/server/display/DisplayPowerState$3;->setValue(Ljava/lang/Object;F)V
+PLcom/android/server/display/DisplayPowerState$4;-><init>(Lcom/android/server/display/DisplayPowerState;)V
+HPLcom/android/server/display/DisplayPowerState$4;->run()V
+PLcom/android/server/display/DisplayPowerState$5;-><init>(Lcom/android/server/display/DisplayPowerState;)V
+PLcom/android/server/display/DisplayPowerState$PhotonicModulator;-><init>(Lcom/android/server/display/DisplayPowerState;)V
+HPLcom/android/server/display/DisplayPowerState$PhotonicModulator;->run()V
+PLcom/android/server/display/DisplayPowerState$PhotonicModulator;->setState(IFF)Z
+PLcom/android/server/display/DisplayPowerState;->-$$Nest$fgetmBlanker(Lcom/android/server/display/DisplayPowerState;)Lcom/android/server/display/DisplayBlanker;
+PLcom/android/server/display/DisplayPowerState;->-$$Nest$fgetmColorFadeLevel(Lcom/android/server/display/DisplayPowerState;)F
+PLcom/android/server/display/DisplayPowerState;->-$$Nest$fgetmDisplayId(Lcom/android/server/display/DisplayPowerState;)I
+PLcom/android/server/display/DisplayPowerState;->-$$Nest$fgetmPhotonicModulator(Lcom/android/server/display/DisplayPowerState;)Lcom/android/server/display/DisplayPowerState$PhotonicModulator;
+PLcom/android/server/display/DisplayPowerState;->-$$Nest$fgetmScreenBrightness(Lcom/android/server/display/DisplayPowerState;)F
+PLcom/android/server/display/DisplayPowerState;->-$$Nest$fgetmScreenState(Lcom/android/server/display/DisplayPowerState;)I
+PLcom/android/server/display/DisplayPowerState;->-$$Nest$fgetmSdrScreenBrightness(Lcom/android/server/display/DisplayPowerState;)F
+PLcom/android/server/display/DisplayPowerState;->-$$Nest$fputmScreenReady(Lcom/android/server/display/DisplayPowerState;Z)V
+PLcom/android/server/display/DisplayPowerState;->-$$Nest$fputmScreenUpdatePending(Lcom/android/server/display/DisplayPowerState;Z)V
+PLcom/android/server/display/DisplayPowerState;->-$$Nest$minvokeCleanListenerIfNeeded(Lcom/android/server/display/DisplayPowerState;)V
+PLcom/android/server/display/DisplayPowerState;->-$$Nest$mpostScreenUpdateThreadSafe(Lcom/android/server/display/DisplayPowerState;)V
+PLcom/android/server/display/DisplayPowerState;->-$$Nest$sfgetDEBUG()Z
+PLcom/android/server/display/DisplayPowerState;-><clinit>()V
+PLcom/android/server/display/DisplayPowerState;-><init>(Lcom/android/server/display/DisplayBlanker;Lcom/android/server/display/ColorFade;II)V
+PLcom/android/server/display/DisplayPowerState;-><init>(Lcom/android/server/display/DisplayBlanker;Lcom/android/server/display/ColorFade;IILjava/util/concurrent/Executor;)V
+PLcom/android/server/display/DisplayPowerState;->dismissColorFade()V
+PLcom/android/server/display/DisplayPowerState;->getColorFadeLevel()F
+PLcom/android/server/display/DisplayPowerState;->getScreenBrightness()F
+PLcom/android/server/display/DisplayPowerState;->getScreenState()I
+PLcom/android/server/display/DisplayPowerState;->getSdrScreenBrightness()F
+PLcom/android/server/display/DisplayPowerState;->invokeCleanListenerIfNeeded()V
+PLcom/android/server/display/DisplayPowerState;->postScreenUpdateThreadSafe()V
+PLcom/android/server/display/DisplayPowerState;->scheduleScreenUpdate()V
+PLcom/android/server/display/DisplayPowerState;->setColorFadeLevel(F)V
+PLcom/android/server/display/DisplayPowerState;->setScreenBrightness(F)V
+PLcom/android/server/display/DisplayPowerState;->setSdrScreenBrightness(F)V
+PLcom/android/server/display/DisplayPowerState;->waitUntilClean(Ljava/lang/Runnable;)Z
+PLcom/android/server/display/ExternalDisplayPolicy$SkinThermalStatusObserver;-><init>(Lcom/android/server/display/ExternalDisplayPolicy;)V
+PLcom/android/server/display/ExternalDisplayPolicy$SkinThermalStatusObserver;-><init>(Lcom/android/server/display/ExternalDisplayPolicy;Lcom/android/server/display/ExternalDisplayPolicy$SkinThermalStatusObserver-IA;)V
+PLcom/android/server/display/ExternalDisplayPolicy$SkinThermalStatusObserver;->notifyThrottling(Landroid/os/Temperature;)V
+PLcom/android/server/display/ExternalDisplayPolicy;->-$$Nest$fgetmStatus(Lcom/android/server/display/ExternalDisplayPolicy;)I
+PLcom/android/server/display/ExternalDisplayPolicy;->-$$Nest$fputmStatus(Lcom/android/server/display/ExternalDisplayPolicy;I)V
+HSPLcom/android/server/display/ExternalDisplayPolicy;-><clinit>()V
+HSPLcom/android/server/display/ExternalDisplayPolicy;-><init>(Lcom/android/server/display/ExternalDisplayPolicy$Injector;)V
+HSPLcom/android/server/display/ExternalDisplayPolicy;->isExternalDisplay(Lcom/android/server/display/LogicalDisplay;)Z
+PLcom/android/server/display/ExternalDisplayPolicy;->onBootCompleted()V
+PLcom/android/server/display/ExternalDisplayPolicy;->registerThermalServiceListener(Landroid/os/IThermalEventListener$Stub;)Z
+PLcom/android/server/display/HighBrightnessModeController$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/display/HighBrightnessModeController;)V
+PLcom/android/server/display/HighBrightnessModeController$HdrListener;-><init>(Lcom/android/server/display/HighBrightnessModeController;)V
+PLcom/android/server/display/HighBrightnessModeController$Injector$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/display/HighBrightnessModeController$Injector;-><init>()V
+PLcom/android/server/display/HighBrightnessModeController$Injector;->getClock()Lcom/android/server/display/DisplayManagerService$Clock;
+PLcom/android/server/display/HighBrightnessModeController$SettingsObserver;-><init>(Lcom/android/server/display/HighBrightnessModeController;Landroid/os/Handler;)V
+PLcom/android/server/display/HighBrightnessModeController$SettingsObserver;->stopObserving()V
+PLcom/android/server/display/HighBrightnessModeController;->-$$Nest$fputmIsBlockedByLowPowerMode(Lcom/android/server/display/HighBrightnessModeController;Z)V
+PLcom/android/server/display/HighBrightnessModeController;-><clinit>()V
+PLcom/android/server/display/HighBrightnessModeController;-><init>(Landroid/os/Handler;IILandroid/os/IBinder;Ljava/lang/String;FFLcom/android/server/display/DisplayDeviceConfig$HighBrightnessModeData;Lcom/android/server/display/HighBrightnessModeController$HdrBrightnessDeviceConfig;Ljava/lang/Runnable;Lcom/android/server/display/HighBrightnessModeMetadata;Landroid/content/Context;)V
+PLcom/android/server/display/HighBrightnessModeController;-><init>(Lcom/android/server/display/HighBrightnessModeController$Injector;Landroid/os/Handler;IILandroid/os/IBinder;Ljava/lang/String;FFLcom/android/server/display/DisplayDeviceConfig$HighBrightnessModeData;Lcom/android/server/display/HighBrightnessModeController$HdrBrightnessDeviceConfig;Ljava/lang/Runnable;Lcom/android/server/display/HighBrightnessModeMetadata;Landroid/content/Context;)V
+PLcom/android/server/display/HighBrightnessModeController;->deviceSupportsHbm()Z
+PLcom/android/server/display/HighBrightnessModeController;->getCurrentBrightnessMax()F
+PLcom/android/server/display/HighBrightnessModeController;->getCurrentBrightnessMin()F
+PLcom/android/server/display/HighBrightnessModeController;->getHighBrightnessMode()I
+PLcom/android/server/display/HighBrightnessModeController;->getTransitionPoint()F
+PLcom/android/server/display/HighBrightnessModeController;->onBrightnessChanged(FFI)V
+PLcom/android/server/display/HighBrightnessModeController;->resetHbmData(IILandroid/os/IBinder;Ljava/lang/String;Lcom/android/server/display/DisplayDeviceConfig$HighBrightnessModeData;Lcom/android/server/display/HighBrightnessModeController$HdrBrightnessDeviceConfig;)V
+PLcom/android/server/display/HighBrightnessModeController;->setAutoBrightnessEnabled(I)V
+PLcom/android/server/display/HighBrightnessModeController;->unregisterHdrListener()V
+HSPLcom/android/server/display/HighBrightnessModeMetadataMapper;-><init>()V
+PLcom/android/server/display/HighBrightnessModeMetadataMapper;->getHighBrightnessModeMetadataLocked(Lcom/android/server/display/LogicalDisplay;)Lcom/android/server/display/HighBrightnessModeMetadata;
+HSPLcom/android/server/display/LocalDisplayAdapter$BacklightAdapter;-><init>(Landroid/os/IBinder;ZLcom/android/server/display/LocalDisplayAdapter$SurfaceControlProxy;)V
+PLcom/android/server/display/LocalDisplayAdapter$BacklightAdapter;->setBacklight(FFFF)V
+HSPLcom/android/server/display/LocalDisplayAdapter$BacklightAdapter;->setForceSurfaceControl(Z)V
+HSPLcom/android/server/display/LocalDisplayAdapter$DisplayModeRecord;-><init>(Landroid/view/SurfaceControl$DisplayMode;[F)V
+HSPLcom/android/server/display/LocalDisplayAdapter$DisplayModeRecord;->hasMatchingMode(Landroid/view/SurfaceControl$DisplayMode;)Z
+HSPLcom/android/server/display/LocalDisplayAdapter$Injector;-><init>()V
+HSPLcom/android/server/display/LocalDisplayAdapter$Injector;->createDisplayDeviceConfig(Landroid/content/Context;JZLcom/android/server/display/feature/DisplayManagerFlags;)Lcom/android/server/display/DisplayDeviceConfig;
+HSPLcom/android/server/display/LocalDisplayAdapter$Injector;->getSurfaceControlProxy()Lcom/android/server/display/LocalDisplayAdapter$SurfaceControlProxy;
+HSPLcom/android/server/display/LocalDisplayAdapter$Injector;->setDisplayEventListenerLocked(Landroid/os/Looper;Lcom/android/server/display/LocalDisplayAdapter$DisplayEventListener;)V
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$1;-><init>(Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;IIZFFJLcom/android/server/display/DisplayOffloadSessionImpl;Landroid/os/IBinder;)V
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$1;->backlightToNits(F)F
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$1;->brightnessToBacklight(F)F
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$1;->run()V
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$1;->setCommittedState(I)V
+HPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$1;->setDisplayBrightness(FF)V
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$1;->setDisplayState(I)V
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->$r8$lambda$nQXuR3rRi3rSRLFK9tosCrQw4ig(Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;Landroid/os/IBinder;Landroid/view/SurfaceControl$DesiredDisplayModeSpecs;)V
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->-$$Nest$fgetmBacklightAdapter(Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;)Lcom/android/server/display/LocalDisplayAdapter$BacklightAdapter;
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->-$$Nest$fputmBrightnessState(Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;F)V
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->-$$Nest$fputmCommittedState(Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;I)V
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->-$$Nest$fputmSdrBrightnessState(Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;F)V
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->-$$Nest$mupdateDeviceInfoLocked(Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;)V
+HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;-><clinit>()V
+HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;-><init>(Lcom/android/server/display/LocalDisplayAdapter;Landroid/os/IBinder;JLandroid/view/SurfaceControl$StaticDisplayInfo;Landroid/view/SurfaceControl$DynamicDisplayInfo;Landroid/view/SurfaceControl$DesiredDisplayModeSpecs;Z)V
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->applyPendingDisplayDeviceInfoChangesLocked()V
+HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->findDisplayModeRecord(Landroid/view/SurfaceControl$DisplayMode;Ljava/util/List;)Lcom/android/server/display/LocalDisplayAdapter$DisplayModeRecord;
+HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->findMatchingModeIdLocked(I)I
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->findSfDisplayModeIdLocked(II)I
+HSPLcom/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;->getLogicalDensity()I
+HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->getModeById([Landroid/view/SurfaceControl$DisplayMode;I)Landroid/view/SurfaceControl$DisplayMode;
+HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->getPreferredModeId()I
+HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->hasStableUniqueId()Z
+HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->loadDisplayDeviceConfig()V
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->onActiveDisplayModeChangedLocked(IF)V
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->onFrameRateOverridesChanged([Landroid/view/DisplayEventReceiver$FrameRateOverride;)V
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->requestColorModeLocked(I)V
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->requestDisplayStateLocked(IFFLcom/android/server/display/DisplayOffloadSessionImpl;)Ljava/lang/Runnable;
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->setAutoLowLatencyModeLocked(Z)V
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->setDesiredDisplayModeSpecsAsync(Landroid/os/IBinder;Landroid/view/SurfaceControl$DesiredDisplayModeSpecs;)V
+HPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->setDesiredDisplayModeSpecsLocked(Lcom/android/server/display/mode/DisplayModeDirector$DesiredDisplayModeSpecs;)V
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->setGameContentTypeLocked(Z)V
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->setRequestedColorModeLocked(I)V
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->updateActiveModeLocked(IF)Z
+HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->updateAllmSupport(Z)Z
+HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->updateColorModesLocked([II)Z
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->updateDeviceInfoLocked()V
+HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->updateDisplayModesLocked([Landroid/view/SurfaceControl$DisplayMode;IIFLandroid/view/SurfaceControl$DesiredDisplayModeSpecs;)Z
+HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->updateDisplayPropertiesLocked(Landroid/view/SurfaceControl$StaticDisplayInfo;Landroid/view/SurfaceControl$DynamicDisplayInfo;Landroid/view/SurfaceControl$DesiredDisplayModeSpecs;)Z
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->updateFrameRateOverridesLocked([Landroid/view/DisplayEventReceiver$FrameRateOverride;)Z
+HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->updateGameContentTypeSupport(Z)Z
+HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->updateHdrCapabilitiesLocked(Landroid/view/Display$HdrCapabilities;)Z
+HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->updateStaticInfo(Landroid/view/SurfaceControl$StaticDisplayInfo;)Z
+HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayEventListener;-><init>(Lcom/android/server/display/LocalDisplayAdapter;)V
+HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayEventListener;-><init>(Lcom/android/server/display/LocalDisplayAdapter;Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayEventListener-IA;)V
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayEventListener;->onFrameRateOverridesChanged(JJ[Landroid/view/DisplayEventReceiver$FrameRateOverride;)V
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayEventListener;->onModeChanged(JJIJ)V
+HSPLcom/android/server/display/LocalDisplayAdapter$ProxyDisplayEventReceiver;-><init>(Landroid/os/Looper;Lcom/android/server/display/LocalDisplayAdapter$DisplayEventListener;)V
+PLcom/android/server/display/LocalDisplayAdapter$ProxyDisplayEventReceiver;->onFrameRateOverridesChanged(JJ[Landroid/view/DisplayEventReceiver$FrameRateOverride;)V
+PLcom/android/server/display/LocalDisplayAdapter$ProxyDisplayEventReceiver;->onModeChanged(JJIJ)V
+HSPLcom/android/server/display/LocalDisplayAdapter$SurfaceControlProxy;-><init>()V
+HSPLcom/android/server/display/LocalDisplayAdapter$SurfaceControlProxy;->getBootDisplayModeSupport()Z
+HSPLcom/android/server/display/LocalDisplayAdapter$SurfaceControlProxy;->getDesiredDisplayModeSpecs(Landroid/os/IBinder;)Landroid/view/SurfaceControl$DesiredDisplayModeSpecs;
+HSPLcom/android/server/display/LocalDisplayAdapter$SurfaceControlProxy;->getDisplayBrightnessSupport(Landroid/os/IBinder;)Z
+HSPLcom/android/server/display/LocalDisplayAdapter$SurfaceControlProxy;->getDynamicDisplayInfo(J)Landroid/view/SurfaceControl$DynamicDisplayInfo;
+HSPLcom/android/server/display/LocalDisplayAdapter$SurfaceControlProxy;->getPhysicalDisplayIds()[J
+HSPLcom/android/server/display/LocalDisplayAdapter$SurfaceControlProxy;->getPhysicalDisplayToken(J)Landroid/os/IBinder;
+HSPLcom/android/server/display/LocalDisplayAdapter$SurfaceControlProxy;->getStaticDisplayInfo(J)Landroid/view/SurfaceControl$StaticDisplayInfo;
+PLcom/android/server/display/LocalDisplayAdapter$SurfaceControlProxy;->setDesiredDisplayModeSpecs(Landroid/os/IBinder;Landroid/view/SurfaceControl$DesiredDisplayModeSpecs;)Z
+PLcom/android/server/display/LocalDisplayAdapter$SurfaceControlProxy;->setDisplayPowerMode(Landroid/os/IBinder;I)V
+PLcom/android/server/display/LocalDisplayAdapter;->-$$Nest$fgetmDevices(Lcom/android/server/display/LocalDisplayAdapter;)Landroid/util/LongSparseArray;
+HSPLcom/android/server/display/LocalDisplayAdapter;->-$$Nest$fgetmInjector(Lcom/android/server/display/LocalDisplayAdapter;)Lcom/android/server/display/LocalDisplayAdapter$Injector;
+HSPLcom/android/server/display/LocalDisplayAdapter;->-$$Nest$fgetmSurfaceControlProxy(Lcom/android/server/display/LocalDisplayAdapter;)Lcom/android/server/display/LocalDisplayAdapter$SurfaceControlProxy;
+HSPLcom/android/server/display/LocalDisplayAdapter;-><init>(Lcom/android/server/display/DisplayManagerService$SyncRoot;Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/display/DisplayAdapter$Listener;Lcom/android/server/display/feature/DisplayManagerFlags;Lcom/android/server/display/notifications/DisplayNotificationManager;)V
+HSPLcom/android/server/display/LocalDisplayAdapter;-><init>(Lcom/android/server/display/DisplayManagerService$SyncRoot;Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/display/DisplayAdapter$Listener;Lcom/android/server/display/feature/DisplayManagerFlags;Lcom/android/server/display/notifications/DisplayNotificationManager;Lcom/android/server/display/LocalDisplayAdapter$Injector;)V
+HSPLcom/android/server/display/LocalDisplayAdapter;->getOverlayContext()Landroid/content/Context;
+PLcom/android/server/display/LocalDisplayAdapter;->getPowerModeForState(I)I
+HSPLcom/android/server/display/LocalDisplayAdapter;->registerLocked()V
+HSPLcom/android/server/display/LocalDisplayAdapter;->tryConnectDisplayLocked(J)V
+HSPLcom/android/server/display/LogicalDisplay;-><clinit>()V
+HSPLcom/android/server/display/LogicalDisplay;-><init>(IILcom/android/server/display/DisplayDevice;)V
+HPLcom/android/server/display/LogicalDisplay;->configureDisplayLocked(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/display/DisplayDevice;Z)V
+PLcom/android/server/display/LogicalDisplay;->getDesiredDisplayModeSpecsLocked()Lcom/android/server/display/mode/DisplayModeDirector$DesiredDisplayModeSpecs;
+HSPLcom/android/server/display/LogicalDisplay;->getDisplayGroupNameLocked()Ljava/lang/String;
+HSPLcom/android/server/display/LogicalDisplay;->getDisplayIdLocked()I
+HSPLcom/android/server/display/LogicalDisplay;->getDisplayInfoLocked()Landroid/view/DisplayInfo;
+PLcom/android/server/display/LogicalDisplay;->getDisplayOffloadSessionLocked()Lcom/android/server/display/DisplayOffloadSessionImpl;
+HSPLcom/android/server/display/LogicalDisplay;->getFrameRateOverrides()[Landroid/view/DisplayEventReceiver$FrameRateOverride;
+PLcom/android/server/display/LogicalDisplay;->getInsets()Landroid/graphics/Rect;
+PLcom/android/server/display/LogicalDisplay;->getLeadDisplayIdLocked()I
+HSPLcom/android/server/display/LogicalDisplay;->getMaskingInsets(Lcom/android/server/display/DisplayDeviceInfo;)Landroid/graphics/Rect;
+HSPLcom/android/server/display/LogicalDisplay;->getNonOverrideDisplayInfoLocked(Landroid/view/DisplayInfo;)V
+PLcom/android/server/display/LogicalDisplay;->getPowerThrottlingDataIdLocked()Ljava/lang/String;
+HSPLcom/android/server/display/LogicalDisplay;->getPrimaryDisplayDeviceLocked()Lcom/android/server/display/DisplayDevice;
+PLcom/android/server/display/LogicalDisplay;->getRequestedMinimalPostProcessingLocked()Z
+PLcom/android/server/display/LogicalDisplay;->hasContentLocked()Z
+HSPLcom/android/server/display/LogicalDisplay;->isDirtyLocked()Z
+HSPLcom/android/server/display/LogicalDisplay;->isEnabledLocked()Z
+PLcom/android/server/display/LogicalDisplay;->isInTransitionLocked()Z
+HSPLcom/android/server/display/LogicalDisplay;->isValidLocked()Z
+PLcom/android/server/display/LogicalDisplay;->setDesiredDisplayModeSpecsLocked(Lcom/android/server/display/mode/DisplayModeDirector$DesiredDisplayModeSpecs;)V
+HSPLcom/android/server/display/LogicalDisplay;->setDevicePositionLocked(I)V
+HSPLcom/android/server/display/LogicalDisplay;->setDisplayGroupNameLocked(Ljava/lang/String;)V
+PLcom/android/server/display/LogicalDisplay;->setDisplayInfoOverrideFromWindowManagerLocked(Landroid/view/DisplayInfo;)Z
+PLcom/android/server/display/LogicalDisplay;->setDisplayOffloadSessionLocked(Lcom/android/server/display/DisplayOffloadSessionImpl;)V
+HSPLcom/android/server/display/LogicalDisplay;->setLeadDisplayLocked(I)V
+HSPLcom/android/server/display/LogicalDisplay;->setPowerThrottlingDataIdLocked(Ljava/lang/String;)V
+HSPLcom/android/server/display/LogicalDisplay;->setPrimaryDisplayDeviceLocked(Lcom/android/server/display/DisplayDevice;)Lcom/android/server/display/DisplayDevice;
+HSPLcom/android/server/display/LogicalDisplay;->setRequestedColorModeLocked(I)V
+HSPLcom/android/server/display/LogicalDisplay;->setThermalBrightnessThrottlingDataIdLocked(Ljava/lang/String;)V
+HSPLcom/android/server/display/LogicalDisplay;->swapDisplaysLocked(Lcom/android/server/display/LogicalDisplay;)V
+HSPLcom/android/server/display/LogicalDisplay;->updateDisplayGroupIdLocked(I)V
+HSPLcom/android/server/display/LogicalDisplay;->updateFrameRateOverrides(Lcom/android/server/display/DisplayDeviceInfo;)V
+HSPLcom/android/server/display/LogicalDisplay;->updateLayoutLimitedRefreshRateLocked(Landroid/view/SurfaceControl$RefreshRateRange;)V
+HSPLcom/android/server/display/LogicalDisplay;->updateLocked(Lcom/android/server/display/DisplayDeviceRepository;)V
+HSPLcom/android/server/display/LogicalDisplay;->updateThermalRefreshRateThrottling(Landroid/util/SparseArray;)V
+HSPLcom/android/server/display/LogicalDisplayMapper$$ExternalSyntheticLambda0;-><init>()V
+HSPLcom/android/server/display/LogicalDisplayMapper$$ExternalSyntheticLambda3;-><init>()V
+HSPLcom/android/server/display/LogicalDisplayMapper$$ExternalSyntheticLambda3;->getId(Z)I
+HSPLcom/android/server/display/LogicalDisplayMapper$LogicalDisplayMapperHandler;-><init>(Lcom/android/server/display/LogicalDisplayMapper;Landroid/os/Looper;)V
+HSPLcom/android/server/display/LogicalDisplayMapper;->$r8$lambda$CLkgta2MkaptkxpiszN50MW0yV0(Z)I
+HSPLcom/android/server/display/LogicalDisplayMapper;-><clinit>()V
+HSPLcom/android/server/display/LogicalDisplayMapper;-><init>(Landroid/content/Context;Lcom/android/server/utils/FoldSettingProvider;Lcom/android/server/display/DisplayDeviceRepository;Lcom/android/server/display/LogicalDisplayMapper$Listener;Lcom/android/server/display/DisplayManagerService$SyncRoot;Landroid/os/Handler;Lcom/android/server/display/DeviceStateToLayoutMap;Lcom/android/server/display/feature/DisplayManagerFlags;)V
+HSPLcom/android/server/display/LogicalDisplayMapper;-><init>(Landroid/content/Context;Lcom/android/server/utils/FoldSettingProvider;Lcom/android/server/display/DisplayDeviceRepository;Lcom/android/server/display/LogicalDisplayMapper$Listener;Lcom/android/server/display/DisplayManagerService$SyncRoot;Landroid/os/Handler;Lcom/android/server/display/feature/DisplayManagerFlags;)V
+HSPLcom/android/server/display/LogicalDisplayMapper;->applyLayoutLocked()V
+PLcom/android/server/display/LogicalDisplayMapper;->areAllTransitioningDisplaysOffLocked()Z
+HSPLcom/android/server/display/LogicalDisplayMapper;->assignDisplayGroupIdLocked(ZLjava/lang/String;ZLjava/lang/Integer;)I
+HSPLcom/android/server/display/LogicalDisplayMapper;->assignDisplayGroupLocked(Lcom/android/server/display/LogicalDisplay;)V
+HSPLcom/android/server/display/LogicalDisplayMapper;->assignLayerStackLocked(I)I
+HSPLcom/android/server/display/LogicalDisplayMapper;->createNewLogicalDisplayLocked(Lcom/android/server/display/DisplayDevice;I)Lcom/android/server/display/LogicalDisplay;
+PLcom/android/server/display/LogicalDisplayMapper;->finishStateTransitionLocked(Z)V
+PLcom/android/server/display/LogicalDisplayMapper;->forEachLocked(Ljava/util/function/Consumer;)V
+HPLcom/android/server/display/LogicalDisplayMapper;->forEachLocked(Ljava/util/function/Consumer;Z)V
+HSPLcom/android/server/display/LogicalDisplayMapper;->getDisplayGroupIdFromDisplayIdLocked(I)I
+HSPLcom/android/server/display/LogicalDisplayMapper;->getDisplayGroupLocked(I)Lcom/android/server/display/DisplayGroup;
+HPLcom/android/server/display/LogicalDisplayMapper;->getDisplayIdsLocked(IZ)[I
+HSPLcom/android/server/display/LogicalDisplayMapper;->getDisplayLocked(I)Lcom/android/server/display/LogicalDisplay;
+HSPLcom/android/server/display/LogicalDisplayMapper;->getDisplayLocked(IZ)Lcom/android/server/display/LogicalDisplay;
+HSPLcom/android/server/display/LogicalDisplayMapper;->getDisplayLocked(Lcom/android/server/display/DisplayDevice;)Lcom/android/server/display/LogicalDisplay;
+HSPLcom/android/server/display/LogicalDisplayMapper;->getDisplayLocked(Lcom/android/server/display/DisplayDevice;Z)Lcom/android/server/display/LogicalDisplay;
+HSPLcom/android/server/display/LogicalDisplayMapper;->handleDisplayDeviceAddedLocked(Lcom/android/server/display/DisplayDevice;)V
+HSPLcom/android/server/display/LogicalDisplayMapper;->initializeDefaultDisplayDeviceLocked(Lcom/android/server/display/DisplayDevice;)V
+HSPLcom/android/server/display/LogicalDisplayMapper;->lambda$new$0(Z)I
+PLcom/android/server/display/LogicalDisplayMapper;->onBootCompleted()V
+PLcom/android/server/display/LogicalDisplayMapper;->onDisplayDeviceChangedLocked(Lcom/android/server/display/DisplayDevice;I)V
+HSPLcom/android/server/display/LogicalDisplayMapper;->onDisplayDeviceEventLocked(Lcom/android/server/display/DisplayDevice;I)V
+HSPLcom/android/server/display/LogicalDisplayMapper;->onTraversalRequested()V
+PLcom/android/server/display/LogicalDisplayMapper;->resetLayoutLocked(IIZ)V
+HSPLcom/android/server/display/LogicalDisplayMapper;->sendUpdatesForDisplaysLocked(I)V
+HSPLcom/android/server/display/LogicalDisplayMapper;->sendUpdatesForGroupsLocked(I)V
+PLcom/android/server/display/LogicalDisplayMapper;->setDeviceStateLocked(IZ)V
+HSPLcom/android/server/display/LogicalDisplayMapper;->setEnabledLocked(Lcom/android/server/display/LogicalDisplay;Z)V
+PLcom/android/server/display/LogicalDisplayMapper;->shouldDeviceBePutToSleep(IIZZZ)Z
+PLcom/android/server/display/LogicalDisplayMapper;->shouldDeviceBeWoken(IIZZ)Z
+HSPLcom/android/server/display/LogicalDisplayMapper;->toSparseBooleanArray([I)Landroid/util/SparseBooleanArray;
+PLcom/android/server/display/LogicalDisplayMapper;->transitionToPendingStateLocked()V
+HSPLcom/android/server/display/LogicalDisplayMapper;->updateLogicalDisplaysLocked()V
+HSPLcom/android/server/display/LogicalDisplayMapper;->updateLogicalDisplaysLocked(I)V
+HSPLcom/android/server/display/LogicalDisplayMapper;->updateLogicalDisplaysLocked(IZ)V
+PLcom/android/server/display/NormalBrightnessModeController;-><init>()V
+PLcom/android/server/display/NormalBrightnessModeController;->getCurrentBrightnessMax()F
+PLcom/android/server/display/NormalBrightnessModeController;->recalculateMaxBrightness()Z
+PLcom/android/server/display/NormalBrightnessModeController;->resetNbmData(Ljava/util/Map;)Z
+PLcom/android/server/display/NormalBrightnessModeController;->setAutoBrightnessState(I)Z
+PLcom/android/server/display/OverlayDisplayAdapter$1$1;-><init>(Lcom/android/server/display/OverlayDisplayAdapter$1;Landroid/os/Handler;)V
+PLcom/android/server/display/OverlayDisplayAdapter$1;-><init>(Lcom/android/server/display/OverlayDisplayAdapter;)V
+PLcom/android/server/display/OverlayDisplayAdapter$1;->run()V
+PLcom/android/server/display/OverlayDisplayAdapter;->-$$Nest$mupdateOverlayDisplayDevices(Lcom/android/server/display/OverlayDisplayAdapter;)V
+PLcom/android/server/display/OverlayDisplayAdapter;-><clinit>()V
+PLcom/android/server/display/OverlayDisplayAdapter;-><init>(Lcom/android/server/display/DisplayManagerService$SyncRoot;Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/display/DisplayAdapter$Listener;Landroid/os/Handler;Lcom/android/server/display/feature/DisplayManagerFlags;)V
+PLcom/android/server/display/OverlayDisplayAdapter;->registerLocked()V
+PLcom/android/server/display/OverlayDisplayAdapter;->updateOverlayDisplayDevices()V
+PLcom/android/server/display/OverlayDisplayAdapter;->updateOverlayDisplayDevicesLocked()V
+HSPLcom/android/server/display/PersistentDataStore$BrightnessConfigurations;-><init>()V
+PLcom/android/server/display/PersistentDataStore$BrightnessConfigurations;->getBrightnessConfiguration(I)Landroid/hardware/display/BrightnessConfiguration;
+HSPLcom/android/server/display/PersistentDataStore$BrightnessConfigurations;->loadFromXml(Lcom/android/modules/utils/TypedXmlPullParser;)V
+HSPLcom/android/server/display/PersistentDataStore$Injector;-><init>()V
+HSPLcom/android/server/display/PersistentDataStore$Injector;->openRead()Ljava/io/InputStream;
+HSPLcom/android/server/display/PersistentDataStore$StableDeviceValues;->-$$Nest$mgetDisplaySize(Lcom/android/server/display/PersistentDataStore$StableDeviceValues;)Landroid/graphics/Point;
+HSPLcom/android/server/display/PersistentDataStore$StableDeviceValues;-><init>()V
+HSPLcom/android/server/display/PersistentDataStore$StableDeviceValues;-><init>(Lcom/android/server/display/PersistentDataStore$StableDeviceValues-IA;)V
+HSPLcom/android/server/display/PersistentDataStore$StableDeviceValues;->getDisplaySize()Landroid/graphics/Point;
+HSPLcom/android/server/display/PersistentDataStore$StableDeviceValues;->loadFromXml(Lcom/android/modules/utils/TypedXmlPullParser;)V
+HSPLcom/android/server/display/PersistentDataStore$StableDeviceValues;->loadIntValue(Lcom/android/modules/utils/TypedXmlPullParser;)I
+HSPLcom/android/server/display/PersistentDataStore;-><init>()V
+HSPLcom/android/server/display/PersistentDataStore;-><init>(Lcom/android/server/display/PersistentDataStore$Injector;)V
+HSPLcom/android/server/display/PersistentDataStore;-><init>(Lcom/android/server/display/PersistentDataStore$Injector;Landroid/os/Handler;)V
+HSPLcom/android/server/display/PersistentDataStore;->clearState()V
+PLcom/android/server/display/PersistentDataStore;->getBrightness(Lcom/android/server/display/DisplayDevice;I)F
+PLcom/android/server/display/PersistentDataStore;->getBrightnessConfiguration(I)Landroid/hardware/display/BrightnessConfiguration;
+PLcom/android/server/display/PersistentDataStore;->getBrightnessConfigurationForDisplayLocked(Ljava/lang/String;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;
+HSPLcom/android/server/display/PersistentDataStore;->getStableDisplaySize()Landroid/graphics/Point;
+HSPLcom/android/server/display/PersistentDataStore;->getUserPreferredRefreshRate(Lcom/android/server/display/DisplayDevice;)F
+HSPLcom/android/server/display/PersistentDataStore;->getUserPreferredResolution(Lcom/android/server/display/DisplayDevice;)Landroid/graphics/Point;
+HSPLcom/android/server/display/PersistentDataStore;->load()V
+HSPLcom/android/server/display/PersistentDataStore;->loadDisplaysFromXml(Lcom/android/modules/utils/TypedXmlPullParser;)V
+HSPLcom/android/server/display/PersistentDataStore;->loadFromXml(Lcom/android/modules/utils/TypedXmlPullParser;)V
+HSPLcom/android/server/display/PersistentDataStore;->loadIfNeeded()V
+HSPLcom/android/server/display/PersistentDataStore;->loadRememberedWifiDisplaysFromXml(Lcom/android/modules/utils/TypedXmlPullParser;)V
+PLcom/android/server/display/PersistentDataStore;->saveIfNeeded()V
+PLcom/android/server/display/RampAnimator$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/display/RampAnimator$DualRampAnimator$1;-><init>(Lcom/android/server/display/RampAnimator$DualRampAnimator;)V
+PLcom/android/server/display/RampAnimator$DualRampAnimator;-><init>(Ljava/lang/Object;Landroid/util/FloatProperty;Landroid/util/FloatProperty;)V
+PLcom/android/server/display/RampAnimator$DualRampAnimator;->animateTo(FFFZ)Z
+PLcom/android/server/display/RampAnimator$DualRampAnimator;->isAnimating()Z
+PLcom/android/server/display/RampAnimator$DualRampAnimator;->setAnimationTimeLimits(JJ)V
+PLcom/android/server/display/RampAnimator$DualRampAnimator;->setListener(Lcom/android/server/display/RampAnimator$Listener;)V
+PLcom/android/server/display/RampAnimator;-><init>(Ljava/lang/Object;Landroid/util/FloatProperty;)V
+PLcom/android/server/display/RampAnimator;-><init>(Ljava/lang/Object;Landroid/util/FloatProperty;Lcom/android/server/display/RampAnimator$Clock;)V
+PLcom/android/server/display/RampAnimator;->isAnimating()Z
+PLcom/android/server/display/RampAnimator;->setAnimationTarget(FFFF)Z
+PLcom/android/server/display/RampAnimator;->setAnimationTarget(FFZ)Z
+PLcom/android/server/display/RampAnimator;->setAnimationTimeLimits(JJ)V
+PLcom/android/server/display/RampAnimator;->setPropertyValue(F)V
+PLcom/android/server/display/SmallAreaDetectionController$OnPropertiesChangedListener;-><init>(Lcom/android/server/display/SmallAreaDetectionController;)V
+PLcom/android/server/display/SmallAreaDetectionController$OnPropertiesChangedListener;-><init>(Lcom/android/server/display/SmallAreaDetectionController;Lcom/android/server/display/SmallAreaDetectionController$OnPropertiesChangedListener-IA;)V
+PLcom/android/server/display/SmallAreaDetectionController$PackageReceiver;-><init>(Lcom/android/server/display/SmallAreaDetectionController;)V
+PLcom/android/server/display/SmallAreaDetectionController$PackageReceiver;-><init>(Lcom/android/server/display/SmallAreaDetectionController;Lcom/android/server/display/SmallAreaDetectionController$PackageReceiver-IA;)V
+PLcom/android/server/display/SmallAreaDetectionController;-><init>(Landroid/content/Context;Landroid/provider/DeviceConfigInterface;)V
+PLcom/android/server/display/SmallAreaDetectionController;->create(Landroid/content/Context;)Lcom/android/server/display/SmallAreaDetectionController;
+PLcom/android/server/display/SmallAreaDetectionController;->updateAllowlist(Ljava/lang/String;)V
+HSPLcom/android/server/display/VirtualDisplayAdapter$1;-><init>()V
+HSPLcom/android/server/display/VirtualDisplayAdapter;-><clinit>()V
+HSPLcom/android/server/display/VirtualDisplayAdapter;-><init>(Lcom/android/server/display/DisplayManagerService$SyncRoot;Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/display/DisplayAdapter$Listener;Lcom/android/server/display/VirtualDisplayAdapter$SurfaceControlDisplayFactory;Lcom/android/server/display/feature/DisplayManagerFlags;)V
+HSPLcom/android/server/display/VirtualDisplayAdapter;-><init>(Lcom/android/server/display/DisplayManagerService$SyncRoot;Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/display/DisplayAdapter$Listener;Lcom/android/server/display/feature/DisplayManagerFlags;)V
+HSPLcom/android/server/display/VirtualDisplayAdapter;->registerLocked()V
+PLcom/android/server/display/WakelockController$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/display/WakelockController;)V
+PLcom/android/server/display/WakelockController$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/display/WakelockController;->$r8$lambda$DC3Jjdcy5pC5tkL4-1bzHZx_j9Q(Lcom/android/server/display/WakelockController;)V
+PLcom/android/server/display/WakelockController;-><clinit>()V
+PLcom/android/server/display/WakelockController;-><init>(ILandroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;)V
+PLcom/android/server/display/WakelockController;->acquireStateChangedSuspendBlocker()Z
+PLcom/android/server/display/WakelockController;->acquireUnfinishedBusinessSuspendBlocker()Z
+PLcom/android/server/display/WakelockController;->acquireWakelock(I)Z
+PLcom/android/server/display/WakelockController;->acquireWakelockInternal(I)Z
+PLcom/android/server/display/WakelockController;->getOnStateChangedRunnable()Ljava/lang/Runnable;
+PLcom/android/server/display/WakelockController;->lambda$getOnStateChangedRunnable$1()V
+PLcom/android/server/display/WakelockController;->releaseUnfinishedBusinessSuspendBlocker()Z
+PLcom/android/server/display/WakelockController;->releaseWakelock(I)Z
+PLcom/android/server/display/WakelockController;->releaseWakelockInternal(I)Z
+PLcom/android/server/display/brightness/BrightnessEvent;-><clinit>()V
+PLcom/android/server/display/brightness/BrightnessEvent;-><init>(I)V
+PLcom/android/server/display/brightness/BrightnessEvent;-><init>(Lcom/android/server/display/brightness/BrightnessEvent;)V
+HPLcom/android/server/display/brightness/BrightnessEvent;->copyFrom(Lcom/android/server/display/brightness/BrightnessEvent;)V
+HPLcom/android/server/display/brightness/BrightnessEvent;->equalsMainData(Lcom/android/server/display/brightness/BrightnessEvent;)Z
+PLcom/android/server/display/brightness/BrightnessEvent;->flagsToString()Ljava/lang/String;
+PLcom/android/server/display/brightness/BrightnessEvent;->getAdjustmentFlags()I
+PLcom/android/server/display/brightness/BrightnessEvent;->getBrightness()F
+PLcom/android/server/display/brightness/BrightnessEvent;->getDisplayBrightnessStrategyName()Ljava/lang/String;
+PLcom/android/server/display/brightness/BrightnessEvent;->getDisplayId()I
+PLcom/android/server/display/brightness/BrightnessEvent;->getFlags()I
+PLcom/android/server/display/brightness/BrightnessEvent;->getHbmMax()F
+PLcom/android/server/display/brightness/BrightnessEvent;->getHbmMode()I
+PLcom/android/server/display/brightness/BrightnessEvent;->getInitialBrightness()F
+PLcom/android/server/display/brightness/BrightnessEvent;->getLux()F
+PLcom/android/server/display/brightness/BrightnessEvent;->getPhysicalDisplayId()Ljava/lang/String;
+PLcom/android/server/display/brightness/BrightnessEvent;->getPowerFactor()F
+PLcom/android/server/display/brightness/BrightnessEvent;->getPreThresholdBrightness()F
+PLcom/android/server/display/brightness/BrightnessEvent;->getPreThresholdLux()F
+PLcom/android/server/display/brightness/BrightnessEvent;->getRbcStrength()I
+PLcom/android/server/display/brightness/BrightnessEvent;->getReason()Lcom/android/server/display/brightness/BrightnessReason;
+PLcom/android/server/display/brightness/BrightnessEvent;->getRecommendedBrightness()F
+PLcom/android/server/display/brightness/BrightnessEvent;->getThermalMax()F
+PLcom/android/server/display/brightness/BrightnessEvent;->getTime()J
+PLcom/android/server/display/brightness/BrightnessEvent;->isAutomaticBrightnessEnabled()Z
+PLcom/android/server/display/brightness/BrightnessEvent;->isLowPowerModeSet()Z
+PLcom/android/server/display/brightness/BrightnessEvent;->isRbcEnabled()Z
+HPLcom/android/server/display/brightness/BrightnessEvent;->reset()V
+PLcom/android/server/display/brightness/BrightnessEvent;->setAdjustmentFlags(I)V
+PLcom/android/server/display/brightness/BrightnessEvent;->setAutomaticBrightnessEnabled(Z)V
+PLcom/android/server/display/brightness/BrightnessEvent;->setBrightness(F)V
+PLcom/android/server/display/brightness/BrightnessEvent;->setDisplayBrightnessStrategyName(Ljava/lang/String;)V
+PLcom/android/server/display/brightness/BrightnessEvent;->setFlags(I)V
+PLcom/android/server/display/brightness/BrightnessEvent;->setHbmMax(F)V
+PLcom/android/server/display/brightness/BrightnessEvent;->setHbmMode(I)V
+PLcom/android/server/display/brightness/BrightnessEvent;->setInitialBrightness(F)V
+PLcom/android/server/display/brightness/BrightnessEvent;->setPhysicalDisplayId(Ljava/lang/String;)V
+PLcom/android/server/display/brightness/BrightnessEvent;->setPowerFactor(F)V
+PLcom/android/server/display/brightness/BrightnessEvent;->setRbcStrength(I)V
+PLcom/android/server/display/brightness/BrightnessEvent;->setReason(Lcom/android/server/display/brightness/BrightnessReason;)V
+PLcom/android/server/display/brightness/BrightnessEvent;->setTime(J)V
+PLcom/android/server/display/brightness/BrightnessEvent;->setWasShortTermModelActive(Z)Z
+HPLcom/android/server/display/brightness/BrightnessEvent;->toString(Z)Ljava/lang/String;
+PLcom/android/server/display/brightness/BrightnessEvent;->wasShortTermModelActive()Z
+PLcom/android/server/display/brightness/BrightnessReason;-><init>()V
+PLcom/android/server/display/brightness/BrightnessReason;->addModifier(I)V
+PLcom/android/server/display/brightness/BrightnessReason;->equals(Ljava/lang/Object;)Z
+PLcom/android/server/display/brightness/BrightnessReason;->getModifier()I
+PLcom/android/server/display/brightness/BrightnessReason;->getReason()I
+PLcom/android/server/display/brightness/BrightnessReason;->reasonToString(I)Ljava/lang/String;
+PLcom/android/server/display/brightness/BrightnessReason;->set(Lcom/android/server/display/brightness/BrightnessReason;)V
+PLcom/android/server/display/brightness/BrightnessReason;->setModifier(I)V
+PLcom/android/server/display/brightness/BrightnessReason;->setReason(I)V
+PLcom/android/server/display/brightness/BrightnessReason;->toString()Ljava/lang/String;
+HPLcom/android/server/display/brightness/BrightnessReason;->toString(I)Ljava/lang/String;
+PLcom/android/server/display/brightness/BrightnessUtils;->clampAbsoluteBrightness(F)F
+PLcom/android/server/display/brightness/BrightnessUtils;->clampBrightnessAdjustment(F)F
+PLcom/android/server/display/brightness/BrightnessUtils;->constructDisplayBrightnessState(IFFLjava/lang/String;)Lcom/android/server/display/DisplayBrightnessState;
+HPLcom/android/server/display/brightness/BrightnessUtils;->constructDisplayBrightnessState(IFFLjava/lang/String;Z)Lcom/android/server/display/DisplayBrightnessState;
+PLcom/android/server/display/brightness/BrightnessUtils;->isValidBrightnessValue(F)Z
+PLcom/android/server/display/brightness/DisplayBrightnessController$Injector;-><init>()V
+PLcom/android/server/display/brightness/DisplayBrightnessController$Injector;->getDisplayBrightnessStrategySelector(Landroid/content/Context;ILcom/android/server/display/feature/DisplayManagerFlags;)Lcom/android/server/display/brightness/DisplayBrightnessStrategySelector;
+PLcom/android/server/display/brightness/DisplayBrightnessController;-><init>(Landroid/content/Context;Lcom/android/server/display/brightness/DisplayBrightnessController$Injector;IFLcom/android/server/display/BrightnessSetting;Ljava/lang/Runnable;Landroid/os/HandlerExecutor;Lcom/android/server/display/feature/DisplayManagerFlags;)V
+PLcom/android/server/display/brightness/DisplayBrightnessController;->addAutomaticBrightnessState(Lcom/android/server/display/DisplayBrightnessState;)Lcom/android/server/display/DisplayBrightnessState;
+PLcom/android/server/display/brightness/DisplayBrightnessController;->convertToAdjustedNits(F)F
+PLcom/android/server/display/brightness/DisplayBrightnessController;->getAutomaticBrightnessStrategy()Lcom/android/server/display/brightness/strategy/AutomaticBrightnessStrategy;
+PLcom/android/server/display/brightness/DisplayBrightnessController;->getCurrentBrightness()F
+PLcom/android/server/display/brightness/DisplayBrightnessController;->getLastUserSetScreenBrightness()F
+HPLcom/android/server/display/brightness/DisplayBrightnessController;->getScreenBrightnessSetting()F
+PLcom/android/server/display/brightness/DisplayBrightnessController;->isAllowAutoBrightnessWhileDozingConfig()Z
+PLcom/android/server/display/brightness/DisplayBrightnessController;->registerBrightnessSettingChangeListener(Lcom/android/server/display/BrightnessSetting$BrightnessSettingListener;)V
+PLcom/android/server/display/brightness/DisplayBrightnessController;->updateBrightness(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;I)Lcom/android/server/display/DisplayBrightnessState;
+PLcom/android/server/display/brightness/DisplayBrightnessController;->updateUserSetScreenBrightness()Z
+PLcom/android/server/display/brightness/DisplayBrightnessStrategySelector$Injector;-><init>()V
+PLcom/android/server/display/brightness/DisplayBrightnessStrategySelector$Injector;->getAutomaticBrightnessStrategy(Landroid/content/Context;I)Lcom/android/server/display/brightness/strategy/AutomaticBrightnessStrategy;
+PLcom/android/server/display/brightness/DisplayBrightnessStrategySelector$Injector;->getBoostBrightnessStrategy()Lcom/android/server/display/brightness/strategy/BoostBrightnessStrategy;
+PLcom/android/server/display/brightness/DisplayBrightnessStrategySelector$Injector;->getDozeBrightnessStrategy()Lcom/android/server/display/brightness/strategy/DozeBrightnessStrategy;
+PLcom/android/server/display/brightness/DisplayBrightnessStrategySelector$Injector;->getFollowerBrightnessStrategy(I)Lcom/android/server/display/brightness/strategy/FollowerBrightnessStrategy;
+PLcom/android/server/display/brightness/DisplayBrightnessStrategySelector$Injector;->getInvalidBrightnessStrategy()Lcom/android/server/display/brightness/strategy/InvalidBrightnessStrategy;
+PLcom/android/server/display/brightness/DisplayBrightnessStrategySelector$Injector;->getOffloadBrightnessStrategy()Lcom/android/server/display/brightness/strategy/OffloadBrightnessStrategy;
+PLcom/android/server/display/brightness/DisplayBrightnessStrategySelector$Injector;->getOverrideBrightnessStrategy()Lcom/android/server/display/brightness/strategy/OverrideBrightnessStrategy;
+PLcom/android/server/display/brightness/DisplayBrightnessStrategySelector$Injector;->getScreenOffBrightnessStrategy()Lcom/android/server/display/brightness/strategy/ScreenOffBrightnessStrategy;
+PLcom/android/server/display/brightness/DisplayBrightnessStrategySelector$Injector;->getTemporaryBrightnessStrategy()Lcom/android/server/display/brightness/strategy/TemporaryBrightnessStrategy;
+PLcom/android/server/display/brightness/DisplayBrightnessStrategySelector;-><init>(Landroid/content/Context;Lcom/android/server/display/brightness/DisplayBrightnessStrategySelector$Injector;ILcom/android/server/display/feature/DisplayManagerFlags;)V
+PLcom/android/server/display/brightness/DisplayBrightnessStrategySelector;->getAutomaticBrightnessStrategy()Lcom/android/server/display/brightness/strategy/AutomaticBrightnessStrategy;
+PLcom/android/server/display/brightness/DisplayBrightnessStrategySelector;->isAllowAutoBrightnessWhileDozingConfig()Z
+HPLcom/android/server/display/brightness/DisplayBrightnessStrategySelector;->selectStrategy(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;I)Lcom/android/server/display/brightness/strategy/DisplayBrightnessStrategy;
+PLcom/android/server/display/brightness/DisplayBrightnessStrategySelector;->shouldUseDozeBrightnessStrategy(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;)Z
+PLcom/android/server/display/brightness/clamper/BrightnessClamper;-><init>(Landroid/os/Handler;Lcom/android/server/display/brightness/clamper/BrightnessClamperController$ClamperChangeListener;)V
+PLcom/android/server/display/brightness/clamper/BrightnessClamperController$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/display/brightness/clamper/BrightnessClamperController;)V
+PLcom/android/server/display/brightness/clamper/BrightnessClamperController$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/display/brightness/clamper/BrightnessClamperController;Ljava/lang/Runnable;)V
+PLcom/android/server/display/brightness/clamper/BrightnessClamperController$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/display/brightness/clamper/BrightnessClamperController;)V
+PLcom/android/server/display/brightness/clamper/BrightnessClamperController$DisplayDeviceData;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/server/display/DisplayDeviceConfig;)V
+PLcom/android/server/display/brightness/clamper/BrightnessClamperController$DisplayDeviceData;->getBrightnessWearBedtimeModeCap()F
+PLcom/android/server/display/brightness/clamper/BrightnessClamperController$DisplayDeviceData;->getPowerThrottlingConfigData()Lcom/android/server/display/DisplayDeviceConfig$PowerThrottlingConfigData;
+PLcom/android/server/display/brightness/clamper/BrightnessClamperController$DisplayDeviceData;->getPowerThrottlingData()Lcom/android/server/display/DisplayDeviceConfig$PowerThrottlingData;
+PLcom/android/server/display/brightness/clamper/BrightnessClamperController$DisplayDeviceData;->getPowerThrottlingDataId()Ljava/lang/String;
+PLcom/android/server/display/brightness/clamper/BrightnessClamperController$DisplayDeviceData;->getThermalBrightnessThrottlingData()Lcom/android/server/display/DisplayDeviceConfig$ThermalBrightnessThrottlingData;
+PLcom/android/server/display/brightness/clamper/BrightnessClamperController$DisplayDeviceData;->getThermalThrottlingDataId()Ljava/lang/String;
+PLcom/android/server/display/brightness/clamper/BrightnessClamperController$DisplayDeviceData;->getUniqueDisplayId()Ljava/lang/String;
+PLcom/android/server/display/brightness/clamper/BrightnessClamperController$Injector;-><init>()V
+PLcom/android/server/display/brightness/clamper/BrightnessClamperController$Injector;->getClampers(Landroid/os/Handler;Lcom/android/server/display/brightness/clamper/BrightnessClamperController$ClamperChangeListener;Lcom/android/server/display/brightness/clamper/BrightnessClamperController$DisplayDeviceData;Lcom/android/server/display/feature/DisplayManagerFlags;Landroid/content/Context;)Ljava/util/List;
+PLcom/android/server/display/brightness/clamper/BrightnessClamperController$Injector;->getDeviceConfigParameterProvider()Lcom/android/server/display/feature/DeviceConfigParameterProvider;
+PLcom/android/server/display/brightness/clamper/BrightnessClamperController$Injector;->getModifiers(Lcom/android/server/display/feature/DisplayManagerFlags;Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/display/brightness/clamper/BrightnessClamperController$ClamperChangeListener;)Ljava/util/List;
+PLcom/android/server/display/brightness/clamper/BrightnessClamperController;-><init>(Landroid/os/Handler;Lcom/android/server/display/brightness/clamper/BrightnessClamperController$ClamperChangeListener;Lcom/android/server/display/brightness/clamper/BrightnessClamperController$DisplayDeviceData;Landroid/content/Context;Lcom/android/server/display/feature/DisplayManagerFlags;)V
+PLcom/android/server/display/brightness/clamper/BrightnessClamperController;-><init>(Lcom/android/server/display/brightness/clamper/BrightnessClamperController$Injector;Landroid/os/Handler;Lcom/android/server/display/brightness/clamper/BrightnessClamperController$ClamperChangeListener;Lcom/android/server/display/brightness/clamper/BrightnessClamperController$DisplayDeviceData;Landroid/content/Context;Lcom/android/server/display/feature/DisplayManagerFlags;)V
+HPLcom/android/server/display/brightness/clamper/BrightnessClamperController;->clamp(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;FZ)Lcom/android/server/display/DisplayBrightnessState;
+PLcom/android/server/display/brightness/clamper/BrightnessClamperController;->getBrightnessMaxReason()I
+PLcom/android/server/display/brightness/clamper/BrightnessClamperController;->start()V
+PLcom/android/server/display/brightness/clamper/BrightnessLowPowerModeModifier;-><init>()V
+PLcom/android/server/display/brightness/clamper/BrightnessLowPowerModeModifier;->shouldApply(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;)Z
+PLcom/android/server/display/brightness/clamper/BrightnessModifier;-><init>()V
+PLcom/android/server/display/brightness/clamper/BrightnessModifier;->apply(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;Lcom/android/server/display/DisplayBrightnessState$Builder;)V
+PLcom/android/server/display/brightness/clamper/BrightnessPowerClamper$$ExternalSyntheticLambda1;-><init>()V
+PLcom/android/server/display/brightness/clamper/BrightnessPowerClamper$$ExternalSyntheticLambda2;-><init>()V
+PLcom/android/server/display/brightness/clamper/BrightnessPowerClamper$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/display/brightness/clamper/BrightnessPowerClamper;Lcom/android/server/display/brightness/clamper/BrightnessPowerClamper$PowerData;)V
+PLcom/android/server/display/brightness/clamper/BrightnessPowerClamper$$ExternalSyntheticLambda3;->run()V
+PLcom/android/server/display/brightness/clamper/BrightnessPowerClamper$Injector;-><init>()V
+PLcom/android/server/display/brightness/clamper/BrightnessPowerClamper$Injector;->getDeviceConfigParameterProvider()Lcom/android/server/display/feature/DeviceConfigParameterProvider;
+PLcom/android/server/display/brightness/clamper/BrightnessPowerClamper;->$r8$lambda$-hfcoJ5P6TW4qcVQWR4feG_Xmbw(Lcom/android/server/display/brightness/clamper/BrightnessPowerClamper;Lcom/android/server/display/brightness/clamper/BrightnessPowerClamper$PowerData;)V
+PLcom/android/server/display/brightness/clamper/BrightnessPowerClamper;-><init>(Landroid/os/Handler;Lcom/android/server/display/brightness/clamper/BrightnessClamperController$ClamperChangeListener;Lcom/android/server/display/brightness/clamper/BrightnessPowerClamper$PowerData;)V
+PLcom/android/server/display/brightness/clamper/BrightnessPowerClamper;-><init>(Lcom/android/server/display/brightness/clamper/BrightnessPowerClamper$Injector;Landroid/os/Handler;Lcom/android/server/display/brightness/clamper/BrightnessClamperController$ClamperChangeListener;Lcom/android/server/display/brightness/clamper/BrightnessPowerClamper$PowerData;)V
+PLcom/android/server/display/brightness/clamper/BrightnessPowerClamper;->lambda$new$1(Lcom/android/server/display/brightness/clamper/BrightnessPowerClamper$PowerData;)V
+PLcom/android/server/display/brightness/clamper/BrightnessPowerClamper;->loadOverrideData()V
+PLcom/android/server/display/brightness/clamper/BrightnessPowerClamper;->setDisplayData(Lcom/android/server/display/brightness/clamper/BrightnessPowerClamper$PowerData;)V
+PLcom/android/server/display/brightness/clamper/BrightnessPowerClamper;->start()V
+PLcom/android/server/display/brightness/clamper/BrightnessThermalClamper$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/display/brightness/clamper/BrightnessThermalClamper$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/display/brightness/clamper/BrightnessThermalClamper;Lcom/android/server/display/brightness/clamper/BrightnessThermalClamper$ThermalData;)V
+PLcom/android/server/display/brightness/clamper/BrightnessThermalClamper$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/display/brightness/clamper/BrightnessThermalClamper$1$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/display/brightness/clamper/BrightnessThermalClamper$1;I)V
+PLcom/android/server/display/brightness/clamper/BrightnessThermalClamper$1$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/display/brightness/clamper/BrightnessThermalClamper$1;->$r8$lambda$ENq4KcyEOUIqb1nFJWEAw_M1iU0(Lcom/android/server/display/brightness/clamper/BrightnessThermalClamper$1;I)V
+PLcom/android/server/display/brightness/clamper/BrightnessThermalClamper$1;-><init>(Lcom/android/server/display/brightness/clamper/BrightnessThermalClamper;)V
+PLcom/android/server/display/brightness/clamper/BrightnessThermalClamper$1;->lambda$notifyThrottling$0(I)V
+PLcom/android/server/display/brightness/clamper/BrightnessThermalClamper$1;->notifyThrottling(Landroid/os/Temperature;)V
+PLcom/android/server/display/brightness/clamper/BrightnessThermalClamper$Injector;-><init>()V
+PLcom/android/server/display/brightness/clamper/BrightnessThermalClamper$Injector;->getDeviceConfigParameterProvider()Lcom/android/server/display/feature/DeviceConfigParameterProvider;
+PLcom/android/server/display/brightness/clamper/BrightnessThermalClamper$Injector;->getThermalService()Landroid/os/IThermalService;
+PLcom/android/server/display/brightness/clamper/BrightnessThermalClamper;->$r8$lambda$Mo-cWrPIfBxywgDfbuUnjZBYHLg(Lcom/android/server/display/brightness/clamper/BrightnessThermalClamper;Lcom/android/server/display/brightness/clamper/BrightnessThermalClamper$ThermalData;)V
+PLcom/android/server/display/brightness/clamper/BrightnessThermalClamper;->-$$Nest$mthermalStatusChanged(Lcom/android/server/display/brightness/clamper/BrightnessThermalClamper;I)V
+PLcom/android/server/display/brightness/clamper/BrightnessThermalClamper;-><init>(Landroid/os/Handler;Lcom/android/server/display/brightness/clamper/BrightnessClamperController$ClamperChangeListener;Lcom/android/server/display/brightness/clamper/BrightnessThermalClamper$ThermalData;)V
+PLcom/android/server/display/brightness/clamper/BrightnessThermalClamper;-><init>(Lcom/android/server/display/brightness/clamper/BrightnessThermalClamper$Injector;Landroid/os/Handler;Lcom/android/server/display/brightness/clamper/BrightnessClamperController$ClamperChangeListener;Lcom/android/server/display/brightness/clamper/BrightnessThermalClamper$ThermalData;)V
+PLcom/android/server/display/brightness/clamper/BrightnessThermalClamper;->lambda$new$1(Lcom/android/server/display/brightness/clamper/BrightnessThermalClamper$ThermalData;)V
+PLcom/android/server/display/brightness/clamper/BrightnessThermalClamper;->loadOverrideData()V
+PLcom/android/server/display/brightness/clamper/BrightnessThermalClamper;->setDisplayData(Lcom/android/server/display/brightness/clamper/BrightnessThermalClamper$ThermalData;)V
+PLcom/android/server/display/brightness/clamper/BrightnessThermalClamper;->start()V
+PLcom/android/server/display/brightness/clamper/BrightnessThermalClamper;->thermalStatusChanged(I)V
+PLcom/android/server/display/brightness/clamper/BrightnessWearBedtimeModeClamper$1;-><init>(Lcom/android/server/display/brightness/clamper/BrightnessWearBedtimeModeClamper;Landroid/os/Handler;)V
+PLcom/android/server/display/brightness/clamper/BrightnessWearBedtimeModeClamper$Injector;-><init>()V
+PLcom/android/server/display/brightness/clamper/BrightnessWearBedtimeModeClamper$Injector;->registerBedtimeModeObserver(Landroid/content/ContentResolver;Landroid/database/ContentObserver;)V
+PLcom/android/server/display/brightness/clamper/BrightnessWearBedtimeModeClamper;-><init>(Landroid/os/Handler;Landroid/content/Context;Lcom/android/server/display/brightness/clamper/BrightnessClamperController$ClamperChangeListener;Lcom/android/server/display/brightness/clamper/BrightnessWearBedtimeModeClamper$WearBedtimeModeData;)V
+PLcom/android/server/display/brightness/clamper/BrightnessWearBedtimeModeClamper;-><init>(Lcom/android/server/display/brightness/clamper/BrightnessWearBedtimeModeClamper$Injector;Landroid/os/Handler;Landroid/content/Context;Lcom/android/server/display/brightness/clamper/BrightnessClamperController$ClamperChangeListener;Lcom/android/server/display/brightness/clamper/BrightnessWearBedtimeModeClamper$WearBedtimeModeData;)V
+PLcom/android/server/display/brightness/clamper/DisplayDimModifier;-><init>(Landroid/content/Context;)V
+PLcom/android/server/display/brightness/clamper/DisplayDimModifier;->getBrightnessAdjusted(FLandroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;)F
+PLcom/android/server/display/brightness/clamper/DisplayDimModifier;->getModifier()I
+PLcom/android/server/display/brightness/clamper/DisplayDimModifier;->shouldApply(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;)Z
+PLcom/android/server/display/brightness/clamper/HdrClamper$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/display/brightness/clamper/HdrClamper;)V
+PLcom/android/server/display/brightness/clamper/HdrClamper$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/display/brightness/clamper/HdrClamper;)V
+PLcom/android/server/display/brightness/clamper/HdrClamper$HdrLayerInfoListener;->-$$Nest$fgetmHdrMinPixels(Lcom/android/server/display/brightness/clamper/HdrClamper$HdrLayerInfoListener;)F
+PLcom/android/server/display/brightness/clamper/HdrClamper$HdrLayerInfoListener;->-$$Nest$fputmHdrMinPixels(Lcom/android/server/display/brightness/clamper/HdrClamper$HdrLayerInfoListener;F)V
+PLcom/android/server/display/brightness/clamper/HdrClamper$HdrLayerInfoListener;-><init>(Lcom/android/server/display/brightness/clamper/HdrClamper$HdrListener;Landroid/os/Handler;)V
+PLcom/android/server/display/brightness/clamper/HdrClamper$Injector;-><init>()V
+PLcom/android/server/display/brightness/clamper/HdrClamper$Injector;->getHdrListener(Lcom/android/server/display/brightness/clamper/HdrClamper$HdrListener;Landroid/os/Handler;)Lcom/android/server/display/brightness/clamper/HdrClamper$HdrLayerInfoListener;
+PLcom/android/server/display/brightness/clamper/HdrClamper;-><init>(Lcom/android/server/display/brightness/clamper/BrightnessClamperController$ClamperChangeListener;Landroid/os/Handler;)V
+PLcom/android/server/display/brightness/clamper/HdrClamper;-><init>(Lcom/android/server/display/brightness/clamper/BrightnessClamperController$ClamperChangeListener;Landroid/os/Handler;Lcom/android/server/display/brightness/clamper/HdrClamper$Injector;)V
+PLcom/android/server/display/brightness/clamper/HdrClamper;->recalculateBrightnessCap(Lcom/android/server/display/config/HdrBrightnessData;FZ)V
+PLcom/android/server/display/brightness/clamper/HdrClamper;->reset()V
+PLcom/android/server/display/brightness/clamper/HdrClamper;->resetHdrConfig(Lcom/android/server/display/config/HdrBrightnessData;IIFLandroid/os/IBinder;)V
+PLcom/android/server/display/brightness/strategy/AutomaticBrightnessStrategy;-><init>(Landroid/content/Context;I)V
+PLcom/android/server/display/brightness/strategy/AutomaticBrightnessStrategy;->accommodateUserBrightnessChanges(ZFILandroid/hardware/display/BrightnessConfiguration;I)V
+PLcom/android/server/display/brightness/strategy/AutomaticBrightnessStrategy;->getAutoBrightnessAdjustmentChanged()Z
+PLcom/android/server/display/brightness/strategy/AutomaticBrightnessStrategy;->getAutoBrightnessAdjustmentSetting()F
+PLcom/android/server/display/brightness/strategy/AutomaticBrightnessStrategy;->isAutoBrightnessDisabledDueToDisplayOff()Z
+PLcom/android/server/display/brightness/strategy/AutomaticBrightnessStrategy;->isAutoBrightnessEnabled()Z
+PLcom/android/server/display/brightness/strategy/AutomaticBrightnessStrategy;->isShortTermModelActive()Z
+PLcom/android/server/display/brightness/strategy/AutomaticBrightnessStrategy;->isTemporaryAutoBrightnessAdjustmentApplied()Z
+PLcom/android/server/display/brightness/strategy/AutomaticBrightnessStrategy;->processPendingAutoBrightnessAdjustments()Z
+PLcom/android/server/display/brightness/strategy/AutomaticBrightnessStrategy;->setAutoBrightnessApplied(Z)V
+PLcom/android/server/display/brightness/strategy/AutomaticBrightnessStrategy;->setAutoBrightnessState(IZIIFZ)V
+PLcom/android/server/display/brightness/strategy/AutomaticBrightnessStrategy;->setUseAutoBrightness(Z)V
+PLcom/android/server/display/brightness/strategy/AutomaticBrightnessStrategy;->shouldUseAutoBrightness()Z
+PLcom/android/server/display/brightness/strategy/AutomaticBrightnessStrategy;->updateTemporaryAutoBrightnessAdjustments()F
+PLcom/android/server/display/brightness/strategy/BoostBrightnessStrategy;-><init>()V
+PLcom/android/server/display/brightness/strategy/DozeBrightnessStrategy;-><init>()V
+PLcom/android/server/display/brightness/strategy/FollowerBrightnessStrategy;-><init>(I)V
+PLcom/android/server/display/brightness/strategy/FollowerBrightnessStrategy;->getBrightnessToFollow()F
+PLcom/android/server/display/brightness/strategy/InvalidBrightnessStrategy;-><init>()V
+PLcom/android/server/display/brightness/strategy/InvalidBrightnessStrategy;->getName()Ljava/lang/String;
+PLcom/android/server/display/brightness/strategy/InvalidBrightnessStrategy;->updateBrightness(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;)Lcom/android/server/display/DisplayBrightnessState;
+PLcom/android/server/display/brightness/strategy/OffloadBrightnessStrategy;-><init>()V
+PLcom/android/server/display/brightness/strategy/OffloadBrightnessStrategy;->getOffloadScreenBrightness()F
+PLcom/android/server/display/brightness/strategy/OverrideBrightnessStrategy;-><init>()V
+PLcom/android/server/display/brightness/strategy/OverrideBrightnessStrategy;->getName()Ljava/lang/String;
+PLcom/android/server/display/brightness/strategy/OverrideBrightnessStrategy;->updateBrightness(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;)Lcom/android/server/display/DisplayBrightnessState;
+PLcom/android/server/display/brightness/strategy/ScreenOffBrightnessStrategy;-><init>()V
+PLcom/android/server/display/brightness/strategy/TemporaryBrightnessStrategy;-><init>()V
+PLcom/android/server/display/brightness/strategy/TemporaryBrightnessStrategy;->getTemporaryScreenBrightness()F
+PLcom/android/server/display/color/AppSaturationController$SaturationController;->-$$Nest$maddColorTransformController(Lcom/android/server/display/color/AppSaturationController$SaturationController;Ljava/lang/ref/WeakReference;)Z
+PLcom/android/server/display/color/AppSaturationController$SaturationController;-><init>()V
+PLcom/android/server/display/color/AppSaturationController$SaturationController;-><init>(Lcom/android/server/display/color/AppSaturationController$SaturationController-IA;)V
+PLcom/android/server/display/color/AppSaturationController$SaturationController;->addColorTransformController(Ljava/lang/ref/WeakReference;)Z
+PLcom/android/server/display/color/AppSaturationController$SaturationController;->clearExpiredReferences()V
+PLcom/android/server/display/color/AppSaturationController;-><clinit>()V
+PLcom/android/server/display/color/AppSaturationController;-><init>()V
+PLcom/android/server/display/color/AppSaturationController;->addColorTransformController(Ljava/lang/String;ILjava/lang/ref/WeakReference;)Z
+PLcom/android/server/display/color/AppSaturationController;->getOrCreateSaturationControllerLocked(Landroid/util/SparseArray;I)Lcom/android/server/display/color/AppSaturationController$SaturationController;
+PLcom/android/server/display/color/AppSaturationController;->getOrCreateUserIdMapLocked(Ljava/lang/String;)Landroid/util/SparseArray;
+PLcom/android/server/display/color/AppSaturationController;->getSaturationControllerLocked(Ljava/lang/String;I)Lcom/android/server/display/color/AppSaturationController$SaturationController;
+PLcom/android/server/display/color/ColorDisplayService$2;-><init>(Lcom/android/server/display/color/ColorDisplayService;Landroid/os/Handler;)V
+PLcom/android/server/display/color/ColorDisplayService$BinderService;-><init>(Lcom/android/server/display/color/ColorDisplayService;)V
+PLcom/android/server/display/color/ColorDisplayService$ColorDisplayServiceInternal;-><init>(Lcom/android/server/display/color/ColorDisplayService;)V
+PLcom/android/server/display/color/ColorDisplayService$ColorDisplayServiceInternal;->attachColorTransformController(Ljava/lang/String;ILjava/lang/ref/WeakReference;)Z
+PLcom/android/server/display/color/ColorDisplayService$ColorDisplayServiceInternal;->getReduceBrightColorsStrength()I
+PLcom/android/server/display/color/ColorDisplayService$ColorDisplayServiceInternal;->setReduceBrightColorsListener(Lcom/android/server/display/color/ColorDisplayService$ReduceBrightColorsListener;)Z
+PLcom/android/server/display/color/ColorDisplayService$ColorMatrixEvaluator;-><init>()V
+PLcom/android/server/display/color/ColorDisplayService$ColorMatrixEvaluator;-><init>(Lcom/android/server/display/color/ColorDisplayService$ColorMatrixEvaluator-IA;)V
+PLcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;-><init>(Lcom/android/server/display/color/ColorDisplayService;)V
+PLcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;-><init>(Lcom/android/server/display/color/ColorDisplayService;Lcom/android/server/display/color/ColorDisplayService$NightDisplayTintController-IA;)V
+PLcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;->isAvailable(Landroid/content/Context;)Z
+PLcom/android/server/display/color/ColorDisplayService$TintHandler;-><init>(Lcom/android/server/display/color/ColorDisplayService;Landroid/os/Looper;)V
+PLcom/android/server/display/color/ColorDisplayService$TintHandler;-><init>(Lcom/android/server/display/color/ColorDisplayService;Landroid/os/Looper;Lcom/android/server/display/color/ColorDisplayService$TintHandler-IA;)V
+PLcom/android/server/display/color/ColorDisplayService$TintHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/display/color/ColorDisplayService;->-$$Nest$fgetmAppSaturationController(Lcom/android/server/display/color/ColorDisplayService;)Lcom/android/server/display/color/AppSaturationController;
+PLcom/android/server/display/color/ColorDisplayService;->-$$Nest$fgetmReduceBrightColorsTintController(Lcom/android/server/display/color/ColorDisplayService;)Lcom/android/server/display/color/ReduceBrightColorsTintController;
+PLcom/android/server/display/color/ColorDisplayService;->-$$Nest$fputmReduceBrightColorsListener(Lcom/android/server/display/color/ColorDisplayService;Lcom/android/server/display/color/ColorDisplayService$ReduceBrightColorsListener;)V
+PLcom/android/server/display/color/ColorDisplayService;->-$$Nest$msetUp(Lcom/android/server/display/color/ColorDisplayService;)V
+PLcom/android/server/display/color/ColorDisplayService;-><clinit>()V
+PLcom/android/server/display/color/ColorDisplayService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/display/color/ColorDisplayService;->getColorModeInternal()I
+PLcom/android/server/display/color/ColorDisplayService;->getCurrentColorModeFromSystemProperties()I
+PLcom/android/server/display/color/ColorDisplayService;->isAccessibilityEnabled()Z
+PLcom/android/server/display/color/ColorDisplayService;->isAccessiblityDaltonizerEnabled()Z
+PLcom/android/server/display/color/ColorDisplayService;->isAccessiblityInversionEnabled()Z
+PLcom/android/server/display/color/ColorDisplayService;->isColorModeAvailable(I)Z
+PLcom/android/server/display/color/ColorDisplayService;->isUserSetupCompleted(Landroid/content/ContentResolver;I)Z
+PLcom/android/server/display/color/ColorDisplayService;->onAccessibilityDaltonizerChanged()V
+PLcom/android/server/display/color/ColorDisplayService;->onAccessibilityInversionChanged()V
+PLcom/android/server/display/color/ColorDisplayService;->onBootPhase(I)V
+PLcom/android/server/display/color/ColorDisplayService;->onDisplayColorModeChanged(I)V
+PLcom/android/server/display/color/ColorDisplayService;->onStart()V
+PLcom/android/server/display/color/ColorDisplayService;->onUserChanged(I)V
+PLcom/android/server/display/color/ColorDisplayService;->onUserStarting(Lcom/android/server/SystemService$TargetUser;)V
+HPLcom/android/server/display/color/ColorDisplayService;->setUp()V
+PLcom/android/server/display/color/ColorDisplayService;->setUpDisplayCompositionColorSpaces(Landroid/content/res/Resources;)V
+PLcom/android/server/display/color/ColorTemperatureTintController;-><init>()V
+PLcom/android/server/display/color/DisplayTransformManager;-><clinit>()V
+PLcom/android/server/display/color/DisplayTransformManager;-><init>()V
+PLcom/android/server/display/color/DisplayTransformManager;->setColorMatrix(I[F)V
+PLcom/android/server/display/color/DisplayTransformManager;->setDaltonizerMode(I)V
+PLcom/android/server/display/color/DisplayWhiteBalanceTintController;-><init>(Landroid/hardware/display/DisplayManagerInternal;Lcom/android/server/display/feature/DisplayManagerFlags;)V
+PLcom/android/server/display/color/DisplayWhiteBalanceTintController;->isAvailable(Landroid/content/Context;)Z
+PLcom/android/server/display/color/GlobalSaturationTintController;-><init>()V
+PLcom/android/server/display/color/ReduceBrightColorsTintController;-><init>()V
+PLcom/android/server/display/color/ReduceBrightColorsTintController;->getStrength()I
+PLcom/android/server/display/color/ReduceBrightColorsTintController;->isActivated()Z
+PLcom/android/server/display/color/ReduceBrightColorsTintController;->isAvailable(Landroid/content/Context;)Z
+PLcom/android/server/display/color/TintController;-><init>()V
+PLcom/android/server/display/color/TintController;->isActivated()Z
+HSPLcom/android/server/display/config/AutoBrightnessModeName;->$values()[Lcom/android/server/display/config/AutoBrightnessModeName;
+HSPLcom/android/server/display/config/AutoBrightnessModeName;-><clinit>()V
+HSPLcom/android/server/display/config/AutoBrightnessModeName;-><init>(Ljava/lang/String;ILjava/lang/String;)V
+HSPLcom/android/server/display/config/AutoBrightnessModeName;->getRawName()Ljava/lang/String;
+HSPLcom/android/server/display/config/AutoBrightnessSettingName;->$values()[Lcom/android/server/display/config/AutoBrightnessSettingName;
+HSPLcom/android/server/display/config/AutoBrightnessSettingName;-><clinit>()V
+HSPLcom/android/server/display/config/AutoBrightnessSettingName;-><init>(Ljava/lang/String;ILjava/lang/String;)V
+HSPLcom/android/server/display/config/AutoBrightnessSettingName;->getRawName()Ljava/lang/String;
+HSPLcom/android/server/display/config/DisplayBrightnessMappingConfig;-><clinit>()V
+HSPLcom/android/server/display/config/DisplayBrightnessMappingConfig;-><init>(Landroid/content/Context;Lcom/android/server/display/feature/DisplayManagerFlags;Lcom/android/server/display/config/AutoBrightness;Landroid/util/Spline;)V
+PLcom/android/server/display/config/DisplayBrightnessMappingConfig;->autoBrightnessModeToString(I)Ljava/lang/String;
+PLcom/android/server/display/config/DisplayBrightnessMappingConfig;->autoBrightnessPresetToString(I)Ljava/lang/String;
+HSPLcom/android/server/display/config/DisplayBrightnessMappingConfig;->brightnessArrayIntToFloat([ILandroid/util/Spline;)[F
+HPLcom/android/server/display/config/DisplayBrightnessMappingConfig;->getBrightnessArray(II)[F
+HPLcom/android/server/display/config/DisplayBrightnessMappingConfig;->getLuxArray(II)[F
+PLcom/android/server/display/config/DisplayBrightnessMappingConfig;->getNitsArray()[F
+HSPLcom/android/server/display/config/SensorData;-><init>()V
+HSPLcom/android/server/display/config/SensorData;-><init>(Ljava/lang/String;Ljava/lang/String;)V
+HSPLcom/android/server/display/config/SensorData;-><init>(Ljava/lang/String;Ljava/lang/String;FF)V
+HSPLcom/android/server/display/config/SensorData;-><init>(Ljava/lang/String;Ljava/lang/String;FFLjava/util/List;)V
+HSPLcom/android/server/display/config/SensorData;->loadAmbientLightSensorConfig(Landroid/content/res/Resources;)Lcom/android/server/display/config/SensorData;
+HSPLcom/android/server/display/config/SensorData;->loadSensorUnspecifiedConfig()Lcom/android/server/display/config/SensorData;
+HSPLcom/android/server/display/feature/DeviceConfigParameterProvider;-><init>(Landroid/provider/DeviceConfigInterface;)V
+PLcom/android/server/display/feature/DeviceConfigParameterProvider;->addOnPropertiesChangedListener(Ljava/util/concurrent/Executor;Landroid/provider/DeviceConfig$OnPropertiesChangedListener;)V
+PLcom/android/server/display/feature/DeviceConfigParameterProvider;->getBrightnessThrottlingData()Ljava/lang/String;
+HSPLcom/android/server/display/feature/DeviceConfigParameterProvider;->getHighAmbientBrightnessThresholds()[F
+HSPLcom/android/server/display/feature/DeviceConfigParameterProvider;->getHighDisplayBrightnessThresholds()[F
+HSPLcom/android/server/display/feature/DeviceConfigParameterProvider;->getIntArrayProperty(Ljava/lang/String;)[I
+HSPLcom/android/server/display/feature/DeviceConfigParameterProvider;->getLowAmbientBrightnessThresholds()[F
+HSPLcom/android/server/display/feature/DeviceConfigParameterProvider;->getLowDisplayBrightnessThresholds()[F
+HSPLcom/android/server/display/feature/DeviceConfigParameterProvider;->getPeakRefreshRateDefault()F
+PLcom/android/server/display/feature/DeviceConfigParameterProvider;->getPowerThrottlingData()Ljava/lang/String;
+HSPLcom/android/server/display/feature/DeviceConfigParameterProvider;->getRefreshRateInHbmHdr()I
+HSPLcom/android/server/display/feature/DeviceConfigParameterProvider;->getRefreshRateInHbmSunlight()I
+HSPLcom/android/server/display/feature/DeviceConfigParameterProvider;->getRefreshRateInHighZone()I
+HSPLcom/android/server/display/feature/DeviceConfigParameterProvider;->getRefreshRateInLowZone()I
+PLcom/android/server/display/feature/DeviceConfigParameterProvider;->isDisableScreenWakeLocksWhileCachedFeatureEnabled()Z
+PLcom/android/server/display/feature/DeviceConfigParameterProvider;->isHdrOutputControlFeatureEnabled()Z
+PLcom/android/server/display/feature/DeviceConfigParameterProvider;->removeOnPropertiesChangedListener(Landroid/provider/DeviceConfig$OnPropertiesChangedListener;)V
+HSPLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda0;-><init>()V
+HSPLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda0;->get()Ljava/lang/Object;
+HSPLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda10;-><init>()V
+PLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda10;->get()Ljava/lang/Object;
+HSPLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda11;-><init>()V
+HSPLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda11;->get()Ljava/lang/Object;
+HSPLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda12;-><init>()V
+HSPLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda12;->get()Ljava/lang/Object;
+HSPLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda13;-><init>()V
+PLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda13;->get()Ljava/lang/Object;
+HSPLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda14;-><init>()V
+PLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda14;->get()Ljava/lang/Object;
+HSPLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda15;-><init>()V
+PLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda15;->get()Ljava/lang/Object;
+HSPLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda16;-><init>()V
+HSPLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda17;-><init>()V
+HSPLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda17;->get()Ljava/lang/Object;
+HSPLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda18;-><init>()V
+HSPLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda18;->get()Ljava/lang/Object;
+HSPLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda19;-><init>()V
+HSPLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda19;->get()Ljava/lang/Object;
+HSPLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda1;-><init>()V
+PLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda1;->get()Ljava/lang/Object;
+HSPLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda20;-><init>()V
+HSPLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda20;->get()Ljava/lang/Object;
+HSPLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda2;-><init>()V
+PLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda2;->get()Ljava/lang/Object;
+HSPLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda3;-><init>()V
+PLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda3;->get()Ljava/lang/Object;
+HSPLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda4;-><init>()V
+HSPLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda4;->get()Ljava/lang/Object;
+HSPLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda5;-><init>()V
+HSPLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda6;-><init>()V
+HSPLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda7;-><init>()V
+HSPLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda8;-><init>()V
+PLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda8;->get()Ljava/lang/Object;
+HSPLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda9;-><init>()V
+HSPLcom/android/server/display/feature/DisplayManagerFlags$$ExternalSyntheticLambda9;->get()Ljava/lang/Object;
+HSPLcom/android/server/display/feature/DisplayManagerFlags$FlagState;->-$$Nest$misEnabled(Lcom/android/server/display/feature/DisplayManagerFlags$FlagState;)Z
+HSPLcom/android/server/display/feature/DisplayManagerFlags$FlagState;-><init>(Ljava/lang/String;Ljava/util/function/Supplier;)V
+HSPLcom/android/server/display/feature/DisplayManagerFlags$FlagState;-><init>(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/android/server/display/feature/DisplayManagerFlags$FlagState-IA;)V
+HSPLcom/android/server/display/feature/DisplayManagerFlags$FlagState;->flagOrSystemProperty(Ljava/util/function/Supplier;Ljava/lang/String;)Z
+HSPLcom/android/server/display/feature/DisplayManagerFlags$FlagState;->isEnabled()Z
+HSPLcom/android/server/display/feature/DisplayManagerFlags;->-$$Nest$sfgetDEBUG()Z
+HSPLcom/android/server/display/feature/DisplayManagerFlags;-><clinit>()V
+HSPLcom/android/server/display/feature/DisplayManagerFlags;-><init>()V
+HSPLcom/android/server/display/feature/DisplayManagerFlags;->areAutoBrightnessModesEnabled()Z
+PLcom/android/server/display/feature/DisplayManagerFlags;->isAdaptiveTone1Enabled()Z
+HSPLcom/android/server/display/feature/DisplayManagerFlags;->isBackUpSmoothDisplayAndForcePeakRefreshRateEnabled()Z
+HSPLcom/android/server/display/feature/DisplayManagerFlags;->isBrightnessIntRangeUserPerceptionEnabled()Z
+PLcom/android/server/display/feature/DisplayManagerFlags;->isBrightnessWearBedtimeModeClamperEnabled()Z
+HSPLcom/android/server/display/feature/DisplayManagerFlags;->isConnectedDisplayErrorHandlingEnabled()Z
+HSPLcom/android/server/display/feature/DisplayManagerFlags;->isConnectedDisplayManagementEnabled()Z
+HSPLcom/android/server/display/feature/DisplayManagerFlags;->isDisplayOffloadEnabled()Z
+HSPLcom/android/server/display/feature/DisplayManagerFlags;->isDisplayResolutionRangeVotingEnabled()Z
+HSPLcom/android/server/display/feature/DisplayManagerFlags;->isDisplaysRefreshRatesSynchronizationEnabled()Z
+PLcom/android/server/display/feature/DisplayManagerFlags;->isEvenDimmerEnabled()Z
+HSPLcom/android/server/display/feature/DisplayManagerFlags;->isExternalDisplayLimitModeEnabled()Z
+PLcom/android/server/display/feature/DisplayManagerFlags;->isFastHdrTransitionsEnabled()Z
+PLcom/android/server/display/feature/DisplayManagerFlags;->isHdrClamperEnabled()Z
+PLcom/android/server/display/feature/DisplayManagerFlags;->isNbmControllerEnabled()Z
+HSPLcom/android/server/display/feature/DisplayManagerFlags;->isPortInDisplayLayoutEnabled()Z
+PLcom/android/server/display/feature/DisplayManagerFlags;->isPowerThrottlingClamperEnabled()Z
+HSPLcom/android/server/display/feature/DisplayManagerFlags;->isRefreshRateVotingTelemetryEnabled()Z
+PLcom/android/server/display/feature/DisplayManagerFlags;->isSmallAreaDetectionEnabled()Z
+HSPLcom/android/server/display/feature/DisplayManagerFlags;->isUserPreferredModeVoteEnabled()Z
+HSPLcom/android/server/display/layout/Layout$Display;-><init>(Landroid/view/DisplayAddress;IZLjava/lang/String;Ljava/lang/String;ILandroid/view/DisplayAddress;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+HSPLcom/android/server/display/layout/Layout$Display;-><init>(Landroid/view/DisplayAddress;IZLjava/lang/String;Ljava/lang/String;ILandroid/view/DisplayAddress;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/server/display/layout/Layout$Display-IA;)V
+HSPLcom/android/server/display/layout/Layout$Display;->getAddress()Landroid/view/DisplayAddress;
+HSPLcom/android/server/display/layout/Layout$Display;->getDisplayGroupName()Ljava/lang/String;
+HSPLcom/android/server/display/layout/Layout$Display;->getLeadDisplayId()I
+HSPLcom/android/server/display/layout/Layout$Display;->getLogicalDisplayId()I
+HSPLcom/android/server/display/layout/Layout$Display;->getPosition()I
+HSPLcom/android/server/display/layout/Layout$Display;->getPowerThrottlingMapId()Ljava/lang/String;
+HSPLcom/android/server/display/layout/Layout$Display;->getRefreshRateThermalThrottlingMapId()Ljava/lang/String;
+HSPLcom/android/server/display/layout/Layout$Display;->getRefreshRateZoneId()Ljava/lang/String;
+HSPLcom/android/server/display/layout/Layout$Display;->getThermalBrightnessThrottlingMapId()Ljava/lang/String;
+HSPLcom/android/server/display/layout/Layout$Display;->isEnabled()Z
+HSPLcom/android/server/display/layout/Layout$Display;->toString()Ljava/lang/String;
+HSPLcom/android/server/display/layout/Layout;-><init>()V
+HSPLcom/android/server/display/layout/Layout;->contains(Landroid/view/DisplayAddress;)Z
+HSPLcom/android/server/display/layout/Layout;->createDefaultDisplayLocked(Landroid/view/DisplayAddress;Lcom/android/server/display/layout/DisplayIdProducer;)V
+HSPLcom/android/server/display/layout/Layout;->createDisplayLocked(Landroid/view/DisplayAddress;ZZLjava/lang/String;Lcom/android/server/display/layout/DisplayIdProducer;ILandroid/view/DisplayAddress;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+HSPLcom/android/server/display/layout/Layout;->getAt(I)Lcom/android/server/display/layout/Layout$Display;
+HSPLcom/android/server/display/layout/Layout;->getByAddress(Landroid/view/DisplayAddress;)Lcom/android/server/display/layout/Layout$Display;
+HSPLcom/android/server/display/layout/Layout;->getById(I)Lcom/android/server/display/layout/Layout$Display;
+HSPLcom/android/server/display/layout/Layout;->size()I
+HSPLcom/android/server/display/layout/Layout;->toString()Ljava/lang/String;
+HSPLcom/android/server/display/mode/DisplayModeDirector$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/display/mode/DisplayModeDirector;)V
+PLcom/android/server/display/mode/DisplayModeDirector$$ExternalSyntheticLambda0;->onChanged()V
+HSPLcom/android/server/display/mode/DisplayModeDirector$AppRequestObserver;-><init>(Lcom/android/server/display/mode/DisplayModeDirector;)V
+HPLcom/android/server/display/mode/DisplayModeDirector$AppRequestObserver;->findModeByIdLocked(II)Landroid/view/Display$Mode;
+HPLcom/android/server/display/mode/DisplayModeDirector$AppRequestObserver;->setAppPreferredRefreshRateRangeLocked(IFF)V
+HPLcom/android/server/display/mode/DisplayModeDirector$AppRequestObserver;->setAppRequest(IIFF)V
+HPLcom/android/server/display/mode/DisplayModeDirector$AppRequestObserver;->setAppRequestedModeLocked(II)V
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda10;-><init>(Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;)V
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda10;->call()Ljava/lang/Object;
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda11;-><init>(Lcom/android/server/display/DisplayDeviceConfig;)V
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda11;->call()Ljava/lang/Object;
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda12;-><init>(Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;)V
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda12;->call()Ljava/lang/Object;
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda13;-><init>(Lcom/android/server/display/DisplayDeviceConfig;)V
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda13;->call()Ljava/lang/Object;
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda2;-><init>()V
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda2;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda5;-><init>()V
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda5;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;)V
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda6;->call()Ljava/lang/Object;
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda7;-><init>(Lcom/android/server/display/DisplayDeviceConfig;)V
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda7;->call()Ljava/lang/Object;
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda8;-><init>(Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;)V
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda8;->call()Ljava/lang/Object;
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda9;-><init>(Lcom/android/server/display/DisplayDeviceConfig;)V
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda9;->call()Ljava/lang/Object;
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$1;-><init>(Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;)V
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$LightSensorEventListener$1;-><init>(Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$LightSensorEventListener;)V
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$LightSensorEventListener;-><init>(Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;)V
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$LightSensorEventListener;-><init>(Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$LightSensorEventListener-IA;)V
+PLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$LightSensorEventListener;->removeCallbacks()V
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->$r8$lambda$8DAn56bU6WgFgsFx-a9p7-LZAcI(Lcom/android/server/display/DisplayDeviceConfig;)[F
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->$r8$lambda$Ay2prysMHDYMO6gnyiTQlctgcyI(Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;)[F
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->$r8$lambda$IKnEMBFyGRQBJ1PKPV09LlnUYcQ(Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;)[F
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->$r8$lambda$QQJ_8KNK1PlQxWszYy-c-kL2A3U(Lcom/android/server/display/DisplayDeviceConfig;)[F
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->$r8$lambda$TOfl-cGYXuStF3el4JR8AneQz-w(Lcom/android/server/display/DisplayDeviceConfig;)[F
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->$r8$lambda$horxynV7MmybweJstKDz3KJXC50(Lcom/android/server/display/DisplayDeviceConfig;)[F
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->$r8$lambda$q9lF_A0quq49fCqX-dNNPJaLYQ8(Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;)[F
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->$r8$lambda$ukYjuV9AUGT_8BbrisQUwkGAqfM(Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;)[F
+PLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->-$$Nest$fgetmHandler(Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;)Landroid/os/Handler;
+PLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->-$$Nest$mobserve(Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;Landroid/hardware/SensorManager;)V
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->-$$Nest$mreloadLightSensor(Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;Lcom/android/server/display/DisplayDeviceConfig;)V
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;-><init>(Lcom/android/server/display/mode/DisplayModeDirector;Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/display/mode/DisplayModeDirector$Injector;ZLcom/android/server/display/feature/DisplayManagerFlags;)V
+PLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->getBrightness(I)F
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->lambda$loadHighBrightnessThresholds$4()[F
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->lambda$loadHighBrightnessThresholds$5(Lcom/android/server/display/DisplayDeviceConfig;)[F
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->lambda$loadHighBrightnessThresholds$6()[F
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->lambda$loadHighBrightnessThresholds$7(Lcom/android/server/display/DisplayDeviceConfig;)[F
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->lambda$loadLowBrightnessThresholds$0()[F
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->lambda$loadLowBrightnessThresholds$1(Lcom/android/server/display/DisplayDeviceConfig;)[F
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->lambda$loadLowBrightnessThresholds$2()[F
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->lambda$loadLowBrightnessThresholds$3(Lcom/android/server/display/DisplayDeviceConfig;)[F
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->loadBrightnessThresholds(Ljava/util/concurrent/Callable;Ljava/util/concurrent/Callable;ILcom/android/server/display/DisplayDeviceConfig;ZLjava/util/function/Function;)[F
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->loadHighBrightnessThresholds(Lcom/android/server/display/DisplayDeviceConfig;Z)V
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->loadLowBrightnessThresholds(Lcom/android/server/display/DisplayDeviceConfig;Z)V
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->loadRefreshRateInHighZone(Lcom/android/server/display/DisplayDeviceConfig;Z)V
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->loadRefreshRateInLowZone(Lcom/android/server/display/DisplayDeviceConfig;Z)V
+PLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->observe(Landroid/hardware/SensorManager;)V
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->onBrightnessChangedLocked()V
+PLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->onDisplayChanged(I)V
+PLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->onLowPowerModeEnabledLocked(Z)V
+PLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->onRefreshRateSettingChangedLocked(FF)V
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->reloadLightSensor(Lcom/android/server/display/DisplayDeviceConfig;)V
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->reloadLightSensorData(Lcom/android/server/display/DisplayDeviceConfig;)V
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->restartObserver()V
+PLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->setDefaultDisplayState(I)V
+PLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->unregisterSensorListener()V
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->updateBlockingZoneThresholds(Lcom/android/server/display/DisplayDeviceConfig;Z)V
+PLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->updateDefaultDisplayState()V
+HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->updateSensorStatus()V
+HSPLcom/android/server/display/mode/DisplayModeDirector$DesiredDisplayModeSpecs;-><init>()V
+PLcom/android/server/display/mode/DisplayModeDirector$DesiredDisplayModeSpecs;-><init>(IZLandroid/view/SurfaceControl$RefreshRateRanges;Landroid/view/SurfaceControl$RefreshRateRanges;)V
+PLcom/android/server/display/mode/DisplayModeDirector$DesiredDisplayModeSpecs;->copyFrom(Lcom/android/server/display/mode/DisplayModeDirector$DesiredDisplayModeSpecs;)V
+HPLcom/android/server/display/mode/DisplayModeDirector$DesiredDisplayModeSpecs;->equals(Ljava/lang/Object;)Z
+HSPLcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings;)V
+HSPLcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings$$ExternalSyntheticLambda0;->getAsInt()I
+HSPLcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/display/DisplayDeviceConfig;)V
+HSPLcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings$$ExternalSyntheticLambda1;->getAsInt()I
+HSPLcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings;)V
+HSPLcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings$$ExternalSyntheticLambda2;->getAsInt()I
+HSPLcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/display/DisplayDeviceConfig;)V
+HSPLcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings$$ExternalSyntheticLambda3;->getAsInt()I
+HSPLcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings;->$r8$lambda$4IM44pR3egbsLgKCJgtproSJ4HU(Lcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings;)I
+HSPLcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings;->$r8$lambda$UjQJH7qg8DdCnUYR-DTJghZFPuQ(Lcom/android/server/display/DisplayDeviceConfig;)I
+HSPLcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings;->$r8$lambda$Zlf8FUrJAId9oJETwAtYDKb3u9M(Lcom/android/server/display/DisplayDeviceConfig;)I
+HSPLcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings;->$r8$lambda$p85UmY-pmP6AkHPGqUwdtsPukFw(Lcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings;)I
+HSPLcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings;->-$$Nest$mgetRefreshRateInHbmHdr(Lcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings;Lcom/android/server/display/DisplayDeviceConfig;)I
+HSPLcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings;->-$$Nest$mgetRefreshRateInHbmSunlight(Lcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings;Lcom/android/server/display/DisplayDeviceConfig;)I
+HSPLcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings;-><init>(Lcom/android/server/display/mode/DisplayModeDirector;)V
+HSPLcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings;-><init>(Lcom/android/server/display/mode/DisplayModeDirector;Lcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings-IA;)V
+HSPLcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings;->getRefreshRate(Ljava/util/function/IntSupplier;Ljava/util/function/IntSupplier;ILcom/android/server/display/DisplayDeviceConfig;)I
+HSPLcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings;->getRefreshRateInHbmHdr(Lcom/android/server/display/DisplayDeviceConfig;)I
+HSPLcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings;->getRefreshRateInHbmSunlight(Lcom/android/server/display/DisplayDeviceConfig;)I
+HSPLcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings;->lambda$getRefreshRateInHbmHdr$0()I
+HSPLcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings;->lambda$getRefreshRateInHbmHdr$1(Lcom/android/server/display/DisplayDeviceConfig;)I
+HSPLcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings;->lambda$getRefreshRateInHbmSunlight$2()I
+HSPLcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings;->lambda$getRefreshRateInHbmSunlight$3(Lcom/android/server/display/DisplayDeviceConfig;)I
+PLcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings;->startListening()V
+HSPLcom/android/server/display/mode/DisplayModeDirector$DisplayModeDirectorHandler;-><init>(Lcom/android/server/display/mode/DisplayModeDirector;Landroid/os/Looper;)V
+PLcom/android/server/display/mode/DisplayModeDirector$DisplayModeDirectorHandler;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/server/display/mode/DisplayModeDirector$DisplayObserver;-><init>(Lcom/android/server/display/mode/DisplayModeDirector;Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/display/mode/VotesStorage;)V
+PLcom/android/server/display/mode/DisplayModeDirector$DisplayObserver;->getDisplayInfo(I)Landroid/view/DisplayInfo;
+PLcom/android/server/display/mode/DisplayModeDirector$DisplayObserver;->isExternalDisplayLocked(I)Z
+PLcom/android/server/display/mode/DisplayModeDirector$DisplayObserver;->observe()V
+HSPLcom/android/server/display/mode/DisplayModeDirector$HbmObserver;-><init>(Lcom/android/server/display/mode/DisplayModeDirector;Lcom/android/server/display/mode/DisplayModeDirector$Injector;Lcom/android/server/display/mode/VotesStorage;Landroid/os/Handler;Lcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings;)V
+PLcom/android/server/display/mode/DisplayModeDirector$HbmObserver;->observe()V
+PLcom/android/server/display/mode/DisplayModeDirector$HbmObserver;->onDisplayChanged(I)V
+HSPLcom/android/server/display/mode/DisplayModeDirector$HbmObserver;->setupHdrRefreshRates(Lcom/android/server/display/DisplayDeviceConfig;)V
+PLcom/android/server/display/mode/DisplayModeDirector$Injector;-><clinit>()V
+HSPLcom/android/server/display/mode/DisplayModeDirector$RealInjector;-><init>(Landroid/content/Context;)V
+PLcom/android/server/display/mode/DisplayModeDirector$RealInjector;->getBrightnessInfo(I)Landroid/hardware/display/BrightnessInfo;
+HSPLcom/android/server/display/mode/DisplayModeDirector$RealInjector;->getDeviceConfig()Landroid/provider/DeviceConfigInterface;
+PLcom/android/server/display/mode/DisplayModeDirector$RealInjector;->getDisplay(I)Landroid/view/Display;
+PLcom/android/server/display/mode/DisplayModeDirector$RealInjector;->getDisplayInfo(ILandroid/view/DisplayInfo;)Z
+PLcom/android/server/display/mode/DisplayModeDirector$RealInjector;->getDisplayManager()Landroid/hardware/display/DisplayManager;
+PLcom/android/server/display/mode/DisplayModeDirector$RealInjector;->getDisplayManagerInternal()Landroid/hardware/display/DisplayManagerInternal;
+PLcom/android/server/display/mode/DisplayModeDirector$RealInjector;->getDisplays()[Landroid/view/Display;
+PLcom/android/server/display/mode/DisplayModeDirector$RealInjector;->getSensorManagerInternal()Lcom/android/server/sensors/SensorManagerInternal;
+PLcom/android/server/display/mode/DisplayModeDirector$RealInjector;->getStatusBarManagerInternal()Lcom/android/server/statusbar/StatusBarManagerInternal;
+PLcom/android/server/display/mode/DisplayModeDirector$RealInjector;->getThermalService()Landroid/os/IThermalService;
+HSPLcom/android/server/display/mode/DisplayModeDirector$RealInjector;->getVotesStatsReporter(Z)Lcom/android/server/display/mode/VotesStatsReporter;
+PLcom/android/server/display/mode/DisplayModeDirector$RealInjector;->isDozeState(Landroid/view/Display;)Z
+PLcom/android/server/display/mode/DisplayModeDirector$RealInjector;->registerDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;Landroid/os/Handler;)V
+PLcom/android/server/display/mode/DisplayModeDirector$RealInjector;->registerDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;Landroid/os/Handler;J)V
+PLcom/android/server/display/mode/DisplayModeDirector$RealInjector;->registerMinRefreshRateObserver(Landroid/content/ContentResolver;Landroid/database/ContentObserver;)V
+PLcom/android/server/display/mode/DisplayModeDirector$RealInjector;->registerPeakRefreshRateObserver(Landroid/content/ContentResolver;Landroid/database/ContentObserver;)V
+PLcom/android/server/display/mode/DisplayModeDirector$RealInjector;->registerThermalServiceListener(Landroid/os/IThermalEventListener;)Z
+HSPLcom/android/server/display/mode/DisplayModeDirector$RealInjector;->supportsFrameRateOverride()Z
+HSPLcom/android/server/display/mode/DisplayModeDirector$SensorObserver;-><init>(Landroid/content/Context;Lcom/android/server/display/mode/VotesStorage;Lcom/android/server/display/mode/DisplayModeDirector$Injector;)V
+PLcom/android/server/display/mode/DisplayModeDirector$SensorObserver;->observe()V
+PLcom/android/server/display/mode/DisplayModeDirector$SensorObserver;->onProximityActive(Z)V
+HSPLcom/android/server/display/mode/DisplayModeDirector$SettingsObserver;-><init>(Lcom/android/server/display/mode/DisplayModeDirector;Landroid/content/Context;Landroid/os/Handler;ZLcom/android/server/display/feature/DisplayManagerFlags;)V
+PLcom/android/server/display/mode/DisplayModeDirector$SettingsObserver;->observe()V
+HSPLcom/android/server/display/mode/DisplayModeDirector$SettingsObserver;->setDefaultPeakRefreshRate(Lcom/android/server/display/DisplayDeviceConfig;Z)V
+HSPLcom/android/server/display/mode/DisplayModeDirector$SettingsObserver;->setRefreshRates(Lcom/android/server/display/DisplayDeviceConfig;Z)V
+PLcom/android/server/display/mode/DisplayModeDirector$SettingsObserver;->updateLowPowerModeSettingLocked()V
+PLcom/android/server/display/mode/DisplayModeDirector$SettingsObserver;->updateModeSwitchingTypeSettingLocked()V
+PLcom/android/server/display/mode/DisplayModeDirector$SettingsObserver;->updateRefreshRateSettingLocked()V
+PLcom/android/server/display/mode/DisplayModeDirector$SettingsObserver;->updateRefreshRateSettingLocked(FFFI)V
+PLcom/android/server/display/mode/DisplayModeDirector$SettingsObserver;->updateRefreshRateSettingLocked(I)V
+HSPLcom/android/server/display/mode/DisplayModeDirector$UdfpsObserver;-><init>(Lcom/android/server/display/mode/DisplayModeDirector;)V
+HSPLcom/android/server/display/mode/DisplayModeDirector$UdfpsObserver;-><init>(Lcom/android/server/display/mode/DisplayModeDirector;Lcom/android/server/display/mode/DisplayModeDirector$UdfpsObserver-IA;)V
+PLcom/android/server/display/mode/DisplayModeDirector$UdfpsObserver;->observe()V
+PLcom/android/server/display/mode/DisplayModeDirector;->$r8$lambda$CBSdi5wPAhAASfeb2bCpd2owPvs(Lcom/android/server/display/mode/DisplayModeDirector;)V
+PLcom/android/server/display/mode/DisplayModeDirector;->-$$Nest$fgetmBrightnessObserver(Lcom/android/server/display/mode/DisplayModeDirector;)Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;
+HSPLcom/android/server/display/mode/DisplayModeDirector;->-$$Nest$fgetmConfigParameterProvider(Lcom/android/server/display/mode/DisplayModeDirector;)Lcom/android/server/display/feature/DeviceConfigParameterProvider;
+PLcom/android/server/display/mode/DisplayModeDirector;->-$$Nest$fgetmContext(Lcom/android/server/display/mode/DisplayModeDirector;)Landroid/content/Context;
+PLcom/android/server/display/mode/DisplayModeDirector;->-$$Nest$fgetmDefaultDisplayDeviceConfig(Lcom/android/server/display/mode/DisplayModeDirector;)Lcom/android/server/display/DisplayDeviceConfig;
+PLcom/android/server/display/mode/DisplayModeDirector;->-$$Nest$fgetmDefaultModeByDisplay(Lcom/android/server/display/mode/DisplayModeDirector;)Landroid/util/SparseArray;
+PLcom/android/server/display/mode/DisplayModeDirector;->-$$Nest$fgetmDeviceConfigDisplaySettings(Lcom/android/server/display/mode/DisplayModeDirector;)Lcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings;
+PLcom/android/server/display/mode/DisplayModeDirector;->-$$Nest$fgetmInjector(Lcom/android/server/display/mode/DisplayModeDirector;)Lcom/android/server/display/mode/DisplayModeDirector$Injector;
+PLcom/android/server/display/mode/DisplayModeDirector;->-$$Nest$fgetmIsBackUpSmoothDisplayAndForcePeakRefreshRateEnabled(Lcom/android/server/display/mode/DisplayModeDirector;)Z
+HSPLcom/android/server/display/mode/DisplayModeDirector;->-$$Nest$fgetmLock(Lcom/android/server/display/mode/DisplayModeDirector;)Ljava/lang/Object;
+PLcom/android/server/display/mode/DisplayModeDirector;->-$$Nest$fgetmModeSwitchingType(Lcom/android/server/display/mode/DisplayModeDirector;)I
+HPLcom/android/server/display/mode/DisplayModeDirector;->-$$Nest$fgetmSupportedModesByDisplay(Lcom/android/server/display/mode/DisplayModeDirector;)Landroid/util/SparseArray;
+PLcom/android/server/display/mode/DisplayModeDirector;->-$$Nest$fgetmVotesStorage(Lcom/android/server/display/mode/DisplayModeDirector;)Lcom/android/server/display/mode/VotesStorage;
+PLcom/android/server/display/mode/DisplayModeDirector;->-$$Nest$mgetMaxRefreshRateLocked(Lcom/android/server/display/mode/DisplayModeDirector;I)F
+HSPLcom/android/server/display/mode/DisplayModeDirector;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/display/feature/DisplayManagerFlags;)V
+HSPLcom/android/server/display/mode/DisplayModeDirector;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/display/mode/DisplayModeDirector$Injector;Lcom/android/server/display/feature/DisplayManagerFlags;)V
+HSPLcom/android/server/display/mode/DisplayModeDirector;->defaultDisplayDeviceUpdated(Lcom/android/server/display/DisplayDeviceConfig;)V
+PLcom/android/server/display/mode/DisplayModeDirector;->getAppRequestObserver()Lcom/android/server/display/mode/DisplayModeDirector$AppRequestObserver;
+HPLcom/android/server/display/mode/DisplayModeDirector;->getDesiredDisplayModeSpecs(I)Lcom/android/server/display/mode/DisplayModeDirector$DesiredDisplayModeSpecs;
+PLcom/android/server/display/mode/DisplayModeDirector;->getMaxRefreshRateLocked(I)F
+HPLcom/android/server/display/mode/DisplayModeDirector;->getModeSwitchingType()I
+PLcom/android/server/display/mode/DisplayModeDirector;->notifyDesiredDisplayModeSpecsChangedLocked()V
+PLcom/android/server/display/mode/DisplayModeDirector;->onBootCompleted()V
+PLcom/android/server/display/mode/DisplayModeDirector;->setDesiredDisplayModeSpecsListener(Lcom/android/server/display/mode/DisplayModeDirector$DesiredDisplayModeSpecsListener;)V
+PLcom/android/server/display/mode/DisplayModeDirector;->start(Landroid/hardware/SensorManager;)V
+PLcom/android/server/display/mode/RefreshRateVote$RenderVote;-><init>(FF)V
+PLcom/android/server/display/mode/RefreshRateVote$RenderVote;->equals(Ljava/lang/Object;)Z
+PLcom/android/server/display/mode/RefreshRateVote$RenderVote;->updateSummary(Lcom/android/server/display/mode/VoteSummary;)V
+PLcom/android/server/display/mode/RefreshRateVote;-><init>(FF)V
+HSPLcom/android/server/display/mode/SkinThermalStatusObserver;-><init>(Lcom/android/server/display/mode/DisplayModeDirector$Injector;Lcom/android/server/display/mode/VotesStorage;)V
+HSPLcom/android/server/display/mode/SkinThermalStatusObserver;-><init>(Lcom/android/server/display/mode/DisplayModeDirector$Injector;Lcom/android/server/display/mode/VotesStorage;Landroid/os/Handler;)V
+PLcom/android/server/display/mode/SkinThermalStatusObserver;->notifyThrottling(Landroid/os/Temperature;)V
+PLcom/android/server/display/mode/SkinThermalStatusObserver;->observe()V
+PLcom/android/server/display/mode/SkinThermalStatusObserver;->populateInitialDisplayInfo()V
+PLcom/android/server/display/mode/Vote;->forRenderFrameRates(FF)Lcom/android/server/display/mode/Vote;
+PLcom/android/server/display/mode/Vote;->priorityToString(I)Ljava/lang/String;
+PLcom/android/server/display/mode/VoteSummary;-><init>(ZZZZ)V
+PLcom/android/server/display/mode/VoteSummary;->adjustSize(Landroid/view/Display$Mode;[Landroid/view/Display$Mode;)V
+PLcom/android/server/display/mode/VoteSummary;->applyVotes(Landroid/util/SparseArray;II)V
+PLcom/android/server/display/mode/VoteSummary;->equalsWithinFloatTolerance(FF)Z
+PLcom/android/server/display/mode/VoteSummary;->filterModes([Landroid/view/Display$Mode;)Ljava/util/List;
+PLcom/android/server/display/mode/VoteSummary;->isRenderRateAchievable(F)Z
+PLcom/android/server/display/mode/VoteSummary;->isValid()Z
+PLcom/android/server/display/mode/VoteSummary;->limitRefreshRanges(Lcom/android/server/display/mode/VoteSummary;)V
+PLcom/android/server/display/mode/VoteSummary;->reset()V
+PLcom/android/server/display/mode/VoteSummary;->selectBaseMode(Ljava/util/List;Landroid/view/Display$Mode;)Landroid/view/Display$Mode;
+PLcom/android/server/display/mode/VoteSummary;->validateModeRenderRateAchievable(Landroid/view/Display$Mode;)Z
+PLcom/android/server/display/mode/VoteSummary;->validateModeSize(Landroid/view/Display$Mode;)Z
+PLcom/android/server/display/mode/VoteSummary;->validateModeSupported(Landroid/view/Display$Mode;)Z
+PLcom/android/server/display/mode/VoteSummary;->validateModeWithinPhysicalRefreshRange(Landroid/view/Display$Mode;)Z
+PLcom/android/server/display/mode/VoteSummary;->validateModeWithinRenderRefreshRange(Landroid/view/Display$Mode;)Z
+HSPLcom/android/server/display/mode/VotesStatsReporter;-><init>(ZZ)V
+PLcom/android/server/display/mode/VotesStatsReporter;->getMaxRefreshRate(Lcom/android/server/display/mode/Vote;Z)I
+PLcom/android/server/display/mode/VotesStatsReporter;->reportVoteAdded(IILcom/android/server/display/mode/Vote;)V
+PLcom/android/server/display/mode/VotesStatsReporter;->reportVoteChanged(IILcom/android/server/display/mode/Vote;)V
+PLcom/android/server/display/mode/VotesStatsReporter;->reportVotesActivated(IILandroid/view/Display$Mode;Landroid/util/SparseArray;)V
+HSPLcom/android/server/display/mode/VotesStorage;-><init>(Lcom/android/server/display/mode/VotesStorage$Listener;Lcom/android/server/display/mode/VotesStatsReporter;)V
+PLcom/android/server/display/mode/VotesStorage;->getVotes(I)Landroid/util/SparseArray;
+PLcom/android/server/display/mode/VotesStorage;->updateGlobalVote(ILcom/android/server/display/mode/Vote;)V
+PLcom/android/server/display/mode/VotesStorage;->updateVote(IILcom/android/server/display/mode/Vote;)V
+PLcom/android/server/display/notifications/ConnectedDisplayUsbErrorsDetector$$ExternalSyntheticLambda0;-><init>(Landroid/content/Context;)V
+PLcom/android/server/display/notifications/ConnectedDisplayUsbErrorsDetector$$ExternalSyntheticLambda0;->getUsbManager()Landroid/hardware/usb/UsbManager;
+PLcom/android/server/display/notifications/ConnectedDisplayUsbErrorsDetector;->$r8$lambda$PN4BrLCfdXQAp9PYfft5KYnxARY(Landroid/content/Context;)Landroid/hardware/usb/UsbManager;
+PLcom/android/server/display/notifications/ConnectedDisplayUsbErrorsDetector;-><init>(Lcom/android/server/display/feature/DisplayManagerFlags;Landroid/content/Context;)V
+PLcom/android/server/display/notifications/ConnectedDisplayUsbErrorsDetector;-><init>(Lcom/android/server/display/feature/DisplayManagerFlags;Landroid/content/Context;Lcom/android/server/display/notifications/ConnectedDisplayUsbErrorsDetector$Injector;)V
+PLcom/android/server/display/notifications/ConnectedDisplayUsbErrorsDetector;->lambda$new$0(Landroid/content/Context;)Landroid/hardware/usb/UsbManager;
+PLcom/android/server/display/notifications/ConnectedDisplayUsbErrorsDetector;->registerListener(Lcom/android/server/display/notifications/ConnectedDisplayUsbErrorsDetector$Listener;)V
+HSPLcom/android/server/display/notifications/DisplayNotificationManager$1;-><init>(Landroid/content/Context;Lcom/android/server/display/feature/DisplayManagerFlags;)V
+PLcom/android/server/display/notifications/DisplayNotificationManager$1;->getNotificationManager()Landroid/app/NotificationManager;
+PLcom/android/server/display/notifications/DisplayNotificationManager$1;->getUsbErrorsDetector()Lcom/android/server/display/notifications/ConnectedDisplayUsbErrorsDetector;
+HSPLcom/android/server/display/notifications/DisplayNotificationManager;-><init>(Lcom/android/server/display/feature/DisplayManagerFlags;Landroid/content/Context;)V
+HSPLcom/android/server/display/notifications/DisplayNotificationManager;-><init>(Lcom/android/server/display/feature/DisplayManagerFlags;Landroid/content/Context;Lcom/android/server/display/notifications/DisplayNotificationManager$Injector;)V
+PLcom/android/server/display/notifications/DisplayNotificationManager;->onBootCompleted()V
+PLcom/android/server/display/state/DisplayStateController;-><clinit>()V
+PLcom/android/server/display/state/DisplayStateController;-><init>(Lcom/android/server/display/DisplayPowerProximityStateController;)V
+PLcom/android/server/display/state/DisplayStateController;->shouldPerformScreenOffTransition()Z
+PLcom/android/server/display/state/DisplayStateController;->updateDisplayState(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;ZZ)I
+PLcom/android/server/display/utils/AmbientFilter$WeightedMovingAverageAmbientFilter;-><init>(Ljava/lang/String;IF)V
+PLcom/android/server/display/utils/AmbientFilter$WeightedMovingAverageAmbientFilter;->validateArguments(F)V
+PLcom/android/server/display/utils/AmbientFilter;-><init>(Ljava/lang/String;I)V
+PLcom/android/server/display/utils/AmbientFilter;->validateArguments(I)V
+PLcom/android/server/display/utils/AmbientFilterFactory;->createAmbientFilter(Ljava/lang/String;IF)Lcom/android/server/display/utils/AmbientFilter;
+PLcom/android/server/display/utils/AmbientFilterFactory;->createBrightnessFilter(Ljava/lang/String;Landroid/content/res/Resources;)Lcom/android/server/display/utils/AmbientFilter;
+PLcom/android/server/display/utils/AmbientFilterFactory;->getFloat(Landroid/content/res/Resources;I)F
+HSPLcom/android/server/display/utils/DebugUtils;-><clinit>()V
+HSPLcom/android/server/display/utils/DebugUtils;->isDebuggable(Ljava/lang/String;)Z
+HSPLcom/android/server/display/utils/DeviceConfigParsingUtils;->ambientBrightnessThresholdsIntToFloat([I)[F
+HSPLcom/android/server/display/utils/DeviceConfigParsingUtils;->displayBrightnessThresholdsIntToFloat([I)[F
+PLcom/android/server/display/utils/DeviceConfigParsingUtils;->parseDeviceConfigMap(Ljava/lang/String;Ljava/util/function/BiFunction;Ljava/util/function/Function;)Ljava/util/Map;
+PLcom/android/server/display/utils/History;-><init>(I)V
+PLcom/android/server/display/utils/History;-><init>(ILjava/time/Clock;)V
+HSPLcom/android/server/display/utils/Plog$SystemPlog;-><init>(Ljava/lang/String;)V
+HSPLcom/android/server/display/utils/Plog;-><init>()V
+HSPLcom/android/server/display/utils/Plog;->createSystemPlog(Ljava/lang/String;)Lcom/android/server/display/utils/Plog;
+PLcom/android/server/display/utils/RollingBuffer;-><init>()V
+PLcom/android/server/display/utils/RollingBuffer;->clear()V
+PLcom/android/server/display/utils/SensorUtils;->findSensor(Landroid/hardware/SensorManager;Lcom/android/server/display/config/SensorData;I)Landroid/hardware/Sensor;
+PLcom/android/server/display/utils/SensorUtils;->findSensor(Landroid/hardware/SensorManager;Ljava/lang/String;Ljava/lang/String;I)Landroid/hardware/Sensor;
+PLcom/android/server/display/whitebalance/AmbientSensor$1;-><init>(Lcom/android/server/display/whitebalance/AmbientSensor;)V
+PLcom/android/server/display/whitebalance/AmbientSensor$AmbientBrightnessSensor;-><init>(Landroid/os/Handler;Landroid/hardware/SensorManager;I)V
+HPLcom/android/server/display/whitebalance/AmbientSensor$AmbientColorTemperatureSensor;-><init>(Landroid/os/Handler;Landroid/hardware/SensorManager;Ljava/lang/String;I)V
+PLcom/android/server/display/whitebalance/AmbientSensor;-><init>(Ljava/lang/String;Landroid/os/Handler;Landroid/hardware/SensorManager;I)V
+PLcom/android/server/display/whitebalance/AmbientSensor;->validateArguments(Landroid/os/Handler;Landroid/hardware/SensorManager;I)V
+PLcom/android/server/display/whitebalance/DisplayWhiteBalanceFactory;->create(Landroid/os/Handler;Landroid/hardware/SensorManager;Landroid/content/res/Resources;)Lcom/android/server/display/whitebalance/DisplayWhiteBalanceController;
+PLcom/android/server/display/whitebalance/DisplayWhiteBalanceFactory;->createBrightnessSensor(Landroid/os/Handler;Landroid/hardware/SensorManager;Landroid/content/res/Resources;)Lcom/android/server/display/whitebalance/AmbientSensor$AmbientBrightnessSensor;
+PLcom/android/server/display/whitebalance/DisplayWhiteBalanceFactory;->createColorTemperatureSensor(Landroid/os/Handler;Landroid/hardware/SensorManager;Landroid/content/res/Resources;)Lcom/android/server/display/whitebalance/AmbientSensor$AmbientColorTemperatureSensor;
+PLcom/android/server/dreams/DreamController;-><clinit>()V
+PLcom/android/server/dreams/DreamController;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/dreams/DreamController$Listener;)V
+PLcom/android/server/dreams/DreamController;->createDreamingStartedStoppedOptions()Landroid/os/Bundle;
+PLcom/android/server/dreams/DreamManagerService$1;-><init>(Lcom/android/server/dreams/DreamManagerService;)V
+PLcom/android/server/dreams/DreamManagerService$2;-><init>(Lcom/android/server/dreams/DreamManagerService;)V
+PLcom/android/server/dreams/DreamManagerService$3;-><init>(Lcom/android/server/dreams/DreamManagerService;)V
+PLcom/android/server/dreams/DreamManagerService$4;-><init>(Lcom/android/server/dreams/DreamManagerService;)V
+PLcom/android/server/dreams/DreamManagerService$5;-><init>(Lcom/android/server/dreams/DreamManagerService;Landroid/os/Handler;)V
+PLcom/android/server/dreams/DreamManagerService$6;-><init>(Lcom/android/server/dreams/DreamManagerService;)V
+PLcom/android/server/dreams/DreamManagerService$BinderService;-><init>(Lcom/android/server/dreams/DreamManagerService;)V
+PLcom/android/server/dreams/DreamManagerService$BinderService;-><init>(Lcom/android/server/dreams/DreamManagerService;Lcom/android/server/dreams/DreamManagerService$BinderService-IA;)V
+PLcom/android/server/dreams/DreamManagerService$DreamHandler;-><init>(Landroid/os/Looper;)V
+PLcom/android/server/dreams/DreamManagerService$LocalService;-><init>(Lcom/android/server/dreams/DreamManagerService;)V
+PLcom/android/server/dreams/DreamManagerService$LocalService;-><init>(Lcom/android/server/dreams/DreamManagerService;Lcom/android/server/dreams/DreamManagerService$LocalService-IA;)V
+HPLcom/android/server/dreams/DreamManagerService$LocalService;->isDreaming()Z
+PLcom/android/server/dreams/DreamManagerService$LocalService;->registerDreamManagerStateListener(Landroid/service/dreams/DreamManagerInternal$DreamManagerStateListener;)V
+PLcom/android/server/dreams/DreamManagerService$SettingsObserver;-><init>(Lcom/android/server/dreams/DreamManagerService;Landroid/os/Handler;)V
+PLcom/android/server/dreams/DreamManagerService;->-$$Nest$fgetmDreamManagerStateListeners(Lcom/android/server/dreams/DreamManagerService;)Ljava/util/concurrent/CopyOnWriteArrayList;
+PLcom/android/server/dreams/DreamManagerService;->-$$Nest$misDreamingInternal(Lcom/android/server/dreams/DreamManagerService;)Z
+PLcom/android/server/dreams/DreamManagerService;->-$$Nest$mshouldKeepDreamingWhenUnplugging(Lcom/android/server/dreams/DreamManagerService;)Z
+HPLcom/android/server/dreams/DreamManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/dreams/DreamManagerService;->getDozeComponent()Landroid/content/ComponentName;
+PLcom/android/server/dreams/DreamManagerService;->getDozeComponent(I)Landroid/content/ComponentName;
+PLcom/android/server/dreams/DreamManagerService;->getServiceInfo(Landroid/content/ComponentName;)Landroid/content/pm/ServiceInfo;
+PLcom/android/server/dreams/DreamManagerService;->isDreamingInternal()Z
+PLcom/android/server/dreams/DreamManagerService;->onBootPhase(I)V
+PLcom/android/server/dreams/DreamManagerService;->onStart()V
+PLcom/android/server/dreams/DreamManagerService;->shouldKeepDreamingWhenUnplugging()Z
+PLcom/android/server/dreams/DreamManagerService;->updateWhenToDreamSettings()V
+PLcom/android/server/dreams/DreamManagerService;->validateDream(Landroid/content/ComponentName;)Z
+PLcom/android/server/dreams/DreamManagerService;->writePulseGestureEnabled()V
+PLcom/android/server/dreams/DreamUiEventLoggerImpl;-><init>([Ljava/lang/String;)V
+PLcom/android/server/emergency/EmergencyAffordanceService$1;-><init>(Lcom/android/server/emergency/EmergencyAffordanceService;)V
+PLcom/android/server/emergency/EmergencyAffordanceService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/emergency/EmergencyAffordanceService$2;-><init>(Lcom/android/server/emergency/EmergencyAffordanceService;)V
+PLcom/android/server/emergency/EmergencyAffordanceService$BinderService;-><init>(Lcom/android/server/emergency/EmergencyAffordanceService;)V
+PLcom/android/server/emergency/EmergencyAffordanceService$BinderService;-><init>(Lcom/android/server/emergency/EmergencyAffordanceService;Lcom/android/server/emergency/EmergencyAffordanceService$BinderService-IA;)V
+PLcom/android/server/emergency/EmergencyAffordanceService$MyHandler;-><init>(Lcom/android/server/emergency/EmergencyAffordanceService;Landroid/os/Looper;)V
+PLcom/android/server/emergency/EmergencyAffordanceService$MyHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/emergency/EmergencyAffordanceService;->-$$Nest$fgetmHandler(Lcom/android/server/emergency/EmergencyAffordanceService;)Lcom/android/server/emergency/EmergencyAffordanceService$MyHandler;
+PLcom/android/server/emergency/EmergencyAffordanceService;->-$$Nest$mhandleInitializeState(Lcom/android/server/emergency/EmergencyAffordanceService;)V
+PLcom/android/server/emergency/EmergencyAffordanceService;->-$$Nest$mhandleNetworkCountryChanged(Lcom/android/server/emergency/EmergencyAffordanceService;Ljava/lang/String;I)V
+PLcom/android/server/emergency/EmergencyAffordanceService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/emergency/EmergencyAffordanceService;->handleInitializeState()V
+PLcom/android/server/emergency/EmergencyAffordanceService;->handleNetworkCountryChanged(Ljava/lang/String;I)V
+PLcom/android/server/emergency/EmergencyAffordanceService;->handleThirdPartyBootPhase()V
+PLcom/android/server/emergency/EmergencyAffordanceService;->handleUpdateAirplaneModeStatus()V
+PLcom/android/server/emergency/EmergencyAffordanceService;->handleUpdateSimSubscriptionInfo()V
+PLcom/android/server/emergency/EmergencyAffordanceService;->isoRequiresEmergencyAffordance(Ljava/lang/String;)Z
+PLcom/android/server/emergency/EmergencyAffordanceService;->onBootPhase(I)V
+PLcom/android/server/emergency/EmergencyAffordanceService;->onStart()V
+PLcom/android/server/emergency/EmergencyAffordanceService;->updateEmergencyAffordanceNeeded()V
+PLcom/android/server/emergency/EmergencyAffordanceService;->updateNetworkCountry()V
+PLcom/android/server/feature/flags/FeatureFlagsImpl;-><clinit>()V
+PLcom/android/server/feature/flags/FeatureFlagsImpl;-><init>()V
+HPLcom/android/server/feature/flags/FeatureFlagsImpl;->enableReadDropboxPermission()Z
+PLcom/android/server/feature/flags/FeatureFlagsImpl;->load_overrides_preload_safety()V
+PLcom/android/server/feature/flags/Flags;-><clinit>()V
+HPLcom/android/server/feature/flags/Flags;->enableReadDropboxPermission()Z
+HSPLcom/android/server/firewall/AndFilter$1;-><init>(Ljava/lang/String;)V
+HSPLcom/android/server/firewall/AndFilter;-><clinit>()V
+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
+HSPLcom/android/server/firewall/FilterFactory;->getTagName()Ljava/lang/String;
+HSPLcom/android/server/firewall/IntentFirewall$FirewallHandler;-><init>(Lcom/android/server/firewall/IntentFirewall;Landroid/os/Looper;)V
+HSPLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;-><init>()V
+HSPLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;-><init>(Lcom/android/server/firewall/IntentFirewall$FirewallIntentResolver-IA;)V
+HPLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->queryByComponent(Landroid/content/ComponentName;Ljava/util/List;)V
+PLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->sortResults(Ljava/util/List;)V
+HSPLcom/android/server/firewall/IntentFirewall$RuleObserver;-><init>(Lcom/android/server/firewall/IntentFirewall;Ljava/io/File;)V
+HSPLcom/android/server/firewall/IntentFirewall;-><clinit>()V
+HSPLcom/android/server/firewall/IntentFirewall;-><init>(Lcom/android/server/firewall/IntentFirewall$AMSInterface;Landroid/os/Handler;)V
+HPLcom/android/server/firewall/IntentFirewall;->checkBroadcast(Landroid/content/Intent;IILjava/lang/String;I)Z
+HPLcom/android/server/firewall/IntentFirewall;->checkIntent(Lcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;Landroid/content/ComponentName;ILandroid/content/Intent;IILjava/lang/String;I)Z
+HPLcom/android/server/firewall/IntentFirewall;->checkService(Landroid/content/ComponentName;Landroid/content/Intent;IILjava/lang/String;Landroid/content/pm/ApplicationInfo;)Z
+PLcom/android/server/firewall/IntentFirewall;->checkStartActivity(Landroid/content/Intent;IILjava/lang/String;Landroid/content/pm/ApplicationInfo;)Z
+HPLcom/android/server/firewall/IntentFirewall;->getPackageManager()Landroid/content/pm/PackageManagerInternal;
+HSPLcom/android/server/firewall/IntentFirewall;->getRulesDir()Ljava/io/File;
+HSPLcom/android/server/firewall/IntentFirewall;->readRulesDir(Ljava/io/File;)V
+HSPLcom/android/server/firewall/NotFilter$1;-><init>(Ljava/lang/String;)V
+HSPLcom/android/server/firewall/NotFilter;-><clinit>()V
+HSPLcom/android/server/firewall/OrFilter$1;-><init>(Ljava/lang/String;)V
+HSPLcom/android/server/firewall/OrFilter;-><clinit>()V
+HSPLcom/android/server/firewall/PortFilter$1;-><init>(Ljava/lang/String;)V
+HSPLcom/android/server/firewall/PortFilter;-><clinit>()V
+HSPLcom/android/server/firewall/SenderFilter$1;-><init>(Ljava/lang/String;)V
+HSPLcom/android/server/firewall/SenderFilter$2;-><init>()V
+HSPLcom/android/server/firewall/SenderFilter$3;-><init>()V
+HSPLcom/android/server/firewall/SenderFilter$4;-><init>()V
+HSPLcom/android/server/firewall/SenderFilter$5;-><init>()V
+HSPLcom/android/server/firewall/SenderFilter;-><clinit>()V
+HSPLcom/android/server/firewall/SenderPackageFilter$1;-><init>(Ljava/lang/String;)V
+HSPLcom/android/server/firewall/SenderPackageFilter;-><clinit>()V
+HSPLcom/android/server/firewall/SenderPermissionFilter$1;-><init>(Ljava/lang/String;)V
+HSPLcom/android/server/firewall/SenderPermissionFilter;-><clinit>()V
+HSPLcom/android/server/firewall/StringFilter$10;-><init>(Ljava/lang/String;)V
+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
+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
+HSPLcom/android/server/firewall/StringFilter$7;-><init>(Ljava/lang/String;)V
+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$ValueProvider;-><init>(Ljava/lang/String;)V
+HSPLcom/android/server/firewall/StringFilter;-><clinit>()V
+HSPLcom/android/server/flags/DynamicFlagBinderDelegate$$ExternalSyntheticLambda0;-><init>()V
+HSPLcom/android/server/flags/DynamicFlagBinderDelegate$$ExternalSyntheticLambda0;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/server/flags/DynamicFlagBinderDelegate$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/flags/DynamicFlagBinderDelegate;)V
+HSPLcom/android/server/flags/DynamicFlagBinderDelegate$1;-><init>(Lcom/android/server/flags/DynamicFlagBinderDelegate;)V
+HSPLcom/android/server/flags/DynamicFlagBinderDelegate$BinderGriever;-><init>(Lcom/android/server/flags/DynamicFlagBinderDelegate;I)V
+HSPLcom/android/server/flags/DynamicFlagBinderDelegate$BinderGriever;-><init>(Lcom/android/server/flags/DynamicFlagBinderDelegate;ILcom/android/server/flags/DynamicFlagBinderDelegate$BinderGriever-IA;)V
+HSPLcom/android/server/flags/DynamicFlagBinderDelegate;->$r8$lambda$vcppf9Un-gROJ-J-LEIMgIKeYoY(Ljava/lang/Integer;)Ljava/util/Set;
+HSPLcom/android/server/flags/DynamicFlagBinderDelegate;-><clinit>()V
+HSPLcom/android/server/flags/DynamicFlagBinderDelegate;-><init>(Lcom/android/server/flags/FlagOverrideStore;)V
+HSPLcom/android/server/flags/DynamicFlagBinderDelegate;->lambda$static$0(Ljava/lang/Integer;)Ljava/util/Set;
+HSPLcom/android/server/flags/DynamicFlagBinderDelegate;->registerCallback(ILandroid/flags/IFeatureFlagsCallback;)V
+HSPLcom/android/server/flags/FeatureFlagsBinder;-><init>(Lcom/android/server/flags/FlagOverrideStore;Lcom/android/server/flags/FlagsShellCommand;Lcom/android/server/flags/FeatureFlagsService$PermissionsChecker;)V
+HSPLcom/android/server/flags/FeatureFlagsBinder;->registerCallback(Landroid/flags/IFeatureFlagsCallback;)V
+HSPLcom/android/server/flags/FeatureFlagsService$PermissionsChecker;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/flags/FeatureFlagsService;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/flags/FeatureFlagsService;->onBootPhase(I)V
+HSPLcom/android/server/flags/FeatureFlagsService;->onStart()V
+HSPLcom/android/server/flags/FlagCache$$ExternalSyntheticLambda0;-><init>()V
+HSPLcom/android/server/flags/FlagCache;-><init>()V
+HSPLcom/android/server/flags/FlagOverrideStore;-><init>(Lcom/android/server/flags/SettingsProxy;)V
+HSPLcom/android/server/flags/FlagOverrideStore;->setChangeCallback(Lcom/android/server/flags/FlagOverrideStore$FlagChangeCallback;)V
+HSPLcom/android/server/flags/FlagsShellCommand;-><init>(Lcom/android/server/flags/FlagOverrideStore;)V
+HSPLcom/android/server/flags/GlobalSettingsProxy;-><init>(Landroid/content/ContentResolver;)V
+PLcom/android/server/gpu/GpuService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/gpu/GpuService;->onBootPhase(I)V
+PLcom/android/server/gpu/GpuService;->onStart()V
+PLcom/android/server/grammaticalinflection/GrammaticalInflectionBackupHelper;-><clinit>()V
+PLcom/android/server/grammaticalinflection/GrammaticalInflectionBackupHelper;-><init>(Lcom/android/server/grammaticalinflection/GrammaticalInflectionService;Landroid/content/pm/PackageManager;)V
+PLcom/android/server/grammaticalinflection/GrammaticalInflectionManagerInternal;-><init>()V
+PLcom/android/server/grammaticalinflection/GrammaticalInflectionService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/grammaticalinflection/GrammaticalInflectionService;Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/grammaticalinflection/GrammaticalInflectionService$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/grammaticalinflection/GrammaticalInflectionService$GrammaticalInflectionBinderService;-><init>(Lcom/android/server/grammaticalinflection/GrammaticalInflectionService;)V
+PLcom/android/server/grammaticalinflection/GrammaticalInflectionService$GrammaticalInflectionBinderService;-><init>(Lcom/android/server/grammaticalinflection/GrammaticalInflectionService;Lcom/android/server/grammaticalinflection/GrammaticalInflectionService$GrammaticalInflectionBinderService-IA;)V
+PLcom/android/server/grammaticalinflection/GrammaticalInflectionService$GrammaticalInflectionManagerInternalImpl;-><init>(Lcom/android/server/grammaticalinflection/GrammaticalInflectionService;)V
+PLcom/android/server/grammaticalinflection/GrammaticalInflectionService$GrammaticalInflectionManagerInternalImpl;-><init>(Lcom/android/server/grammaticalinflection/GrammaticalInflectionService;Lcom/android/server/grammaticalinflection/GrammaticalInflectionService$GrammaticalInflectionManagerInternalImpl-IA;)V
+HPLcom/android/server/grammaticalinflection/GrammaticalInflectionService$GrammaticalInflectionManagerInternalImpl;->canGetSystemGrammaticalGender(ILjava/lang/String;)Z
+PLcom/android/server/grammaticalinflection/GrammaticalInflectionService$GrammaticalInflectionManagerInternalImpl;->getSystemGrammaticalGender(I)I
+PLcom/android/server/grammaticalinflection/GrammaticalInflectionService$GrammaticalInflectionManagerInternalImpl;->retrieveSystemGrammaticalGender(Landroid/content/res/Configuration;)I
+PLcom/android/server/grammaticalinflection/GrammaticalInflectionService;->$r8$lambda$sWnJ5Api2DUCiEAZO1zYUXFfRbI(Lcom/android/server/grammaticalinflection/GrammaticalInflectionService;Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/grammaticalinflection/GrammaticalInflectionService;->-$$Nest$fgetmContext(Lcom/android/server/grammaticalinflection/GrammaticalInflectionService;)Landroid/content/Context;
+HPLcom/android/server/grammaticalinflection/GrammaticalInflectionService;->-$$Nest$mcanGetSystemGrammaticalGender(Lcom/android/server/grammaticalinflection/GrammaticalInflectionService;Landroid/content/AttributionSource;)Z
+PLcom/android/server/grammaticalinflection/GrammaticalInflectionService;->-$$Nest$mcheckSystemTermsOfAddressIsEnabled(Lcom/android/server/grammaticalinflection/GrammaticalInflectionService;)Z
+PLcom/android/server/grammaticalinflection/GrammaticalInflectionService;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/grammaticalinflection/GrammaticalInflectionService;->canGetSystemGrammaticalGender(Landroid/content/AttributionSource;)Z
+HPLcom/android/server/grammaticalinflection/GrammaticalInflectionService;->checkSystemTermsOfAddressIsEnabled()Z
+PLcom/android/server/grammaticalinflection/GrammaticalInflectionService;->getGrammaticalGenderFile(I)Ljava/io/File;
+PLcom/android/server/grammaticalinflection/GrammaticalInflectionService;->getSystemGrammaticalGender(Landroid/content/AttributionSource;I)I
+PLcom/android/server/grammaticalinflection/GrammaticalInflectionService;->lambda$onUserUnlocked$0(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/grammaticalinflection/GrammaticalInflectionService;->onStart()V
+PLcom/android/server/grammaticalinflection/GrammaticalInflectionService;->onUserUnlocked(Lcom/android/server/SystemService$TargetUser;)V
+HPLcom/android/server/grammaticalinflection/GrammaticalInflectionUtils;->checkSystemGrammaticalGenderPermission(Landroid/permission/PermissionManager;Landroid/content/AttributionSource;)Z
+PLcom/android/server/graphics/fonts/FontManagerService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/graphics/fonts/FontManagerService;Ljava/util/concurrent/CompletableFuture;)V
+PLcom/android/server/graphics/fonts/FontManagerService$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/graphics/fonts/FontManagerService$FsverityUtilImpl;-><init>([Ljava/lang/String;)V
+PLcom/android/server/graphics/fonts/FontManagerService$Lifecycle$1;-><init>(Lcom/android/server/graphics/fonts/FontManagerService$Lifecycle;)V
+HPLcom/android/server/graphics/fonts/FontManagerService$Lifecycle$1;->getSerializedSystemFontMap()Landroid/os/SharedMemory;
+HPLcom/android/server/graphics/fonts/FontManagerService$Lifecycle;->-$$Nest$fgetmService(Lcom/android/server/graphics/fonts/FontManagerService$Lifecycle;)Lcom/android/server/graphics/fonts/FontManagerService;
+HPLcom/android/server/graphics/fonts/FontManagerService$Lifecycle;->-$$Nest$fgetmServiceStarted(Lcom/android/server/graphics/fonts/FontManagerService$Lifecycle;)Ljava/util/concurrent/CompletableFuture;
+PLcom/android/server/graphics/fonts/FontManagerService$Lifecycle;-><init>(Landroid/content/Context;Z)V
+PLcom/android/server/graphics/fonts/FontManagerService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/graphics/fonts/FontManagerService$Lifecycle;->onStart()V
+PLcom/android/server/graphics/fonts/FontManagerService;->$r8$lambda$6ntzwgOp0lINWCpV58rCsi7uat4(Lcom/android/server/graphics/fonts/FontManagerService;Ljava/util/concurrent/CompletableFuture;)V
+PLcom/android/server/graphics/fonts/FontManagerService;-><init>(Landroid/content/Context;ZLjava/util/concurrent/CompletableFuture;)V
+PLcom/android/server/graphics/fonts/FontManagerService;-><init>(Landroid/content/Context;ZLjava/util/concurrent/CompletableFuture;Lcom/android/server/graphics/fonts/FontManagerService-IA;)V
+PLcom/android/server/graphics/fonts/FontManagerService;->createUpdatableFontDir()Lcom/android/server/graphics/fonts/UpdatableFontDir;
+HPLcom/android/server/graphics/fonts/FontManagerService;->getCurrentFontMap()Landroid/os/SharedMemory;
+PLcom/android/server/graphics/fonts/FontManagerService;->getSystemFontConfig()Landroid/text/FontConfig;
+PLcom/android/server/graphics/fonts/FontManagerService;->initialize()V
+PLcom/android/server/graphics/fonts/FontManagerService;->lambda$new$0(Ljava/util/concurrent/CompletableFuture;)V
+PLcom/android/server/graphics/fonts/FontManagerService;->serializeFontMap(Landroid/text/FontConfig;)Landroid/os/SharedMemory;
+PLcom/android/server/graphics/fonts/FontManagerService;->setSerializedFontMap(Landroid/os/SharedMemory;)V
+PLcom/android/server/graphics/fonts/FontManagerService;->setSystemFontMap()V
+PLcom/android/server/graphics/fonts/FontManagerService;->updateSerializedFontMap()V
+PLcom/android/server/graphics/fonts/OtfFontFileParser;-><init>()V
+PLcom/android/server/graphics/fonts/PersistentSystemFontConfig$Config;-><init>()V
+PLcom/android/server/graphics/fonts/UpdatableFontDir$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/graphics/fonts/UpdatableFontDir$$ExternalSyntheticLambda1;-><init>()V
+PLcom/android/server/graphics/fonts/UpdatableFontDir$$ExternalSyntheticLambda1;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/graphics/fonts/UpdatableFontDir;->$r8$lambda$l6wKUt3kHk5foaoReX8Hx16jJGk(Ljava/util/Map;)Landroid/text/FontConfig;
+PLcom/android/server/graphics/fonts/UpdatableFontDir;-><init>(Ljava/io/File;Lcom/android/server/graphics/fonts/UpdatableFontDir$FontFileParser;Lcom/android/server/graphics/fonts/UpdatableFontDir$FsverityUtil;Ljava/io/File;)V
+PLcom/android/server/graphics/fonts/UpdatableFontDir;-><init>(Ljava/io/File;Lcom/android/server/graphics/fonts/UpdatableFontDir$FontFileParser;Lcom/android/server/graphics/fonts/UpdatableFontDir$FsverityUtil;Ljava/io/File;Ljava/util/function/Supplier;Ljava/util/function/Function;)V
+PLcom/android/server/graphics/fonts/UpdatableFontDir;->getPostScriptMap()Ljava/util/Map;
+PLcom/android/server/graphics/fonts/UpdatableFontDir;->getSystemFontConfig()Landroid/text/FontConfig;
+PLcom/android/server/graphics/fonts/UpdatableFontDir;->lambda$new$0(Ljava/util/Map;)Landroid/text/FontConfig;
+PLcom/android/server/graphics/fonts/UpdatableFontDir;->loadFontFileMap()V
+PLcom/android/server/graphics/fonts/UpdatableFontDir;->readPersistentConfig()Lcom/android/server/graphics/fonts/PersistentSystemFontConfig$Config;
+PLcom/android/server/health/HealthHalCallbackHidl;-><clinit>()V
+PLcom/android/server/health/HealthHalCallbackHidl;-><init>(Lcom/android/server/health/HealthInfoCallback;)V
+PLcom/android/server/health/HealthHalCallbackHidl;->healthInfoChanged_2_1(Landroid/hardware/health/V2_1/HealthInfo;)V
+PLcom/android/server/health/HealthHalCallbackHidl;->onRegistration(Landroid/hardware/health/V2_0/IHealth;Landroid/hardware/health/V2_0/IHealth;Ljava/lang/String;)V
+PLcom/android/server/health/HealthHalCallbackHidl;->traceBegin(Ljava/lang/String;)V
+PLcom/android/server/health/HealthHalCallbackHidl;->traceEnd()V
+PLcom/android/server/health/HealthRegCallbackAidl$HalInfoCallback;-><init>(Lcom/android/server/health/HealthRegCallbackAidl;)V
+PLcom/android/server/health/HealthRegCallbackAidl$HalInfoCallback;-><init>(Lcom/android/server/health/HealthRegCallbackAidl;Lcom/android/server/health/HealthRegCallbackAidl$HalInfoCallback-IA;)V
+PLcom/android/server/health/HealthRegCallbackAidl;-><init>(Lcom/android/server/health/HealthInfoCallback;)V
+PLcom/android/server/health/HealthServiceWrapper$1;-><init>()V
+PLcom/android/server/health/HealthServiceWrapper$2;-><init>()V
+PLcom/android/server/health/HealthServiceWrapper$3;-><init>()V
+PLcom/android/server/health/HealthServiceWrapper;-><init>()V
+PLcom/android/server/health/HealthServiceWrapper;->create(Lcom/android/server/health/HealthInfoCallback;)Lcom/android/server/health/HealthServiceWrapper;
+PLcom/android/server/health/HealthServiceWrapper;->create(Lcom/android/server/health/HealthRegCallbackAidl;Lcom/android/server/health/HealthServiceWrapperAidl$ServiceManagerStub;Lcom/android/server/health/HealthServiceWrapperHidl$Callback;Lcom/android/server/health/HealthServiceWrapperHidl$IServiceManagerSupplier;Lcom/android/server/health/HealthServiceWrapperHidl$IHealthSupplier;)Lcom/android/server/health/HealthServiceWrapper;
+PLcom/android/server/health/HealthServiceWrapperAidl$ServiceCallback;-><init>(Lcom/android/server/health/HealthServiceWrapperAidl;)V
+PLcom/android/server/health/HealthServiceWrapperAidl$ServiceCallback;-><init>(Lcom/android/server/health/HealthServiceWrapperAidl;Lcom/android/server/health/HealthServiceWrapperAidl$ServiceCallback-IA;)V
+PLcom/android/server/health/HealthServiceWrapperAidl$ServiceManagerStub;->waitForDeclaredService(Ljava/lang/String;)Landroid/hardware/health/IHealth;
+PLcom/android/server/health/HealthServiceWrapperAidl;-><clinit>()V
+PLcom/android/server/health/HealthServiceWrapperAidl;-><init>(Lcom/android/server/health/HealthRegCallbackAidl;Lcom/android/server/health/HealthServiceWrapperAidl$ServiceManagerStub;)V
+PLcom/android/server/health/HealthServiceWrapperAidl;->traceBegin(Ljava/lang/String;)V
+PLcom/android/server/health/HealthServiceWrapperAidl;->traceEnd()V
+PLcom/android/server/health/HealthServiceWrapperHidl$$ExternalSyntheticLambda4;-><init>(Landroid/util/MutableInt;Landroid/os/BatteryProperty;)V
+PLcom/android/server/health/HealthServiceWrapperHidl$$ExternalSyntheticLambda4;->onValues(II)V
+PLcom/android/server/health/HealthServiceWrapperHidl$IHealthSupplier;->get(Ljava/lang/String;)Landroid/hardware/health/V2_0/IHealth;
+PLcom/android/server/health/HealthServiceWrapperHidl$IServiceManagerSupplier;->get()Landroid/hidl/manager/V1_0/IServiceManager;
+PLcom/android/server/health/HealthServiceWrapperHidl$Notification$1;-><init>(Lcom/android/server/health/HealthServiceWrapperHidl$Notification;)V
+PLcom/android/server/health/HealthServiceWrapperHidl$Notification$1;->run()V
+PLcom/android/server/health/HealthServiceWrapperHidl$Notification;-><init>(Lcom/android/server/health/HealthServiceWrapperHidl;)V
+PLcom/android/server/health/HealthServiceWrapperHidl$Notification;-><init>(Lcom/android/server/health/HealthServiceWrapperHidl;Lcom/android/server/health/HealthServiceWrapperHidl$Notification-IA;)V
+PLcom/android/server/health/HealthServiceWrapperHidl$Notification;->onRegistration(Ljava/lang/String;Ljava/lang/String;Z)V
+PLcom/android/server/health/HealthServiceWrapperHidl;->$r8$lambda$eetuJn3PsYCN-V7Scb_L05ajA3Q(Landroid/util/MutableInt;Landroid/os/BatteryProperty;II)V
+PLcom/android/server/health/HealthServiceWrapperHidl;->-$$Nest$fgetmHandlerThread(Lcom/android/server/health/HealthServiceWrapperHidl;)Landroid/os/HandlerThread;
+PLcom/android/server/health/HealthServiceWrapperHidl;->-$$Nest$fgetmHealthSupplier(Lcom/android/server/health/HealthServiceWrapperHidl;)Lcom/android/server/health/HealthServiceWrapperHidl$IHealthSupplier;
+PLcom/android/server/health/HealthServiceWrapperHidl;->-$$Nest$fgetmInstanceName(Lcom/android/server/health/HealthServiceWrapperHidl;)Ljava/lang/String;
+PLcom/android/server/health/HealthServiceWrapperHidl;->-$$Nest$fgetmLastService(Lcom/android/server/health/HealthServiceWrapperHidl;)Ljava/util/concurrent/atomic/AtomicReference;
+HPLcom/android/server/health/HealthServiceWrapperHidl;-><init>(Lcom/android/server/health/HealthServiceWrapperHidl$Callback;Lcom/android/server/health/HealthServiceWrapperHidl$IServiceManagerSupplier;Lcom/android/server/health/HealthServiceWrapperHidl$IHealthSupplier;)V
+PLcom/android/server/health/HealthServiceWrapperHidl;->getProperty(ILandroid/os/BatteryProperty;)I
+PLcom/android/server/health/HealthServiceWrapperHidl;->lambda$getProperty$3(Landroid/util/MutableInt;Landroid/os/BatteryProperty;II)V
+PLcom/android/server/health/HealthServiceWrapperHidl;->traceBegin(Ljava/lang/String;)V
+PLcom/android/server/health/HealthServiceWrapperHidl;->traceEnd()V
+PLcom/android/server/incident/IncidentCompanionService$BinderService;-><init>(Lcom/android/server/incident/IncidentCompanionService;)V
+PLcom/android/server/incident/IncidentCompanionService$BinderService;-><init>(Lcom/android/server/incident/IncidentCompanionService;Lcom/android/server/incident/IncidentCompanionService$BinderService-IA;)V
+PLcom/android/server/incident/IncidentCompanionService;-><clinit>()V
+PLcom/android/server/incident/IncidentCompanionService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/incident/IncidentCompanionService;->onBootPhase(I)V
+PLcom/android/server/incident/IncidentCompanionService;->onStart()V
+PLcom/android/server/incident/PendingReports;-><init>(Landroid/content/Context;)V
+PLcom/android/server/incident/PendingReports;->onBootCompleted()V
+PLcom/android/server/incident/RequestQueue$1;-><init>(Lcom/android/server/incident/RequestQueue;)V
+PLcom/android/server/incident/RequestQueue;-><init>(Landroid/os/Handler;)V
+PLcom/android/server/incident/RequestQueue;->start()V
+PLcom/android/server/infra/AbstractMasterSystemService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/infra/AbstractMasterSystemService;)V
+PLcom/android/server/infra/AbstractMasterSystemService$1$$ExternalSyntheticLambda0;-><init>(Ljava/lang/String;)V
+PLcom/android/server/infra/AbstractMasterSystemService$1;-><init>(Lcom/android/server/infra/AbstractMasterSystemService;)V
+PLcom/android/server/infra/AbstractMasterSystemService$1;->getActiveServicePackageNameLocked()Ljava/lang/String;
+PLcom/android/server/infra/AbstractMasterSystemService$1;->handlePackageUpdateLocked(Ljava/lang/String;)V
+PLcom/android/server/infra/AbstractMasterSystemService$1;->onHandleForceStop(Landroid/content/Intent;[Ljava/lang/String;IZ)Z
+PLcom/android/server/infra/AbstractMasterSystemService$SettingsObserver;-><init>(Lcom/android/server/infra/AbstractMasterSystemService;Landroid/os/Handler;)V
+PLcom/android/server/infra/AbstractMasterSystemService;-><init>(Landroid/content/Context;Lcom/android/server/infra/ServiceNameResolver;Ljava/lang/String;)V
+PLcom/android/server/infra/AbstractMasterSystemService;-><init>(Landroid/content/Context;Lcom/android/server/infra/ServiceNameResolver;Ljava/lang/String;I)V
+PLcom/android/server/infra/AbstractMasterSystemService;->getServiceListForUserLocked(I)Ljava/util/List;
+PLcom/android/server/infra/AbstractMasterSystemService;->getServiceSettingsProperty()Ljava/lang/String;
+PLcom/android/server/infra/AbstractMasterSystemService;->isDisabledLocked(I)Z
+PLcom/android/server/infra/AbstractMasterSystemService;->onBootPhase(I)V
+PLcom/android/server/infra/AbstractMasterSystemService;->onServiceEnabledLocked(Lcom/android/server/infra/AbstractPerUserSystemService;I)V
+PLcom/android/server/infra/AbstractMasterSystemService;->onServiceRemoved(Lcom/android/server/infra/AbstractPerUserSystemService;I)V
+PLcom/android/server/infra/AbstractMasterSystemService;->onUserUnlocking(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/infra/AbstractMasterSystemService;->peekServiceForUserLocked(I)Lcom/android/server/infra/AbstractPerUserSystemService;
+PLcom/android/server/infra/AbstractMasterSystemService;->peekServiceListForUserLocked(I)Ljava/util/List;
+PLcom/android/server/infra/AbstractMasterSystemService;->registerForExtraSettingsChanges(Landroid/content/ContentResolver;Landroid/database/ContentObserver;)V
+PLcom/android/server/infra/AbstractMasterSystemService;->removeCachedServiceListLocked(I)Ljava/util/List;
+PLcom/android/server/infra/AbstractMasterSystemService;->startTrackingPackageChanges()V
+PLcom/android/server/infra/AbstractMasterSystemService;->updateCachedServiceListLocked(IZ)Ljava/util/List;
+PLcom/android/server/infra/AbstractMasterSystemService;->updateCachedServiceLocked(I)V
+PLcom/android/server/infra/AbstractMasterSystemService;->visitServicesLocked(Lcom/android/server/infra/AbstractMasterSystemService$Visitor;)V
+PLcom/android/server/infra/AbstractPerUserSystemService;-><init>(Lcom/android/server/infra/AbstractMasterSystemService;Ljava/lang/Object;I)V
+PLcom/android/server/infra/AbstractPerUserSystemService;->getComponentNameLocked()Ljava/lang/String;
+PLcom/android/server/infra/AbstractPerUserSystemService;->getContext()Landroid/content/Context;
+PLcom/android/server/infra/AbstractPerUserSystemService;->getServiceComponent(Ljava/lang/String;)Landroid/content/ComponentName;
+PLcom/android/server/infra/AbstractPerUserSystemService;->isEnabledLocked()Z
+PLcom/android/server/infra/AbstractPerUserSystemService;->updateIsSetupComplete(I)V
+PLcom/android/server/infra/AbstractPerUserSystemService;->updateLocked(Z)Z
+PLcom/android/server/infra/AbstractPerUserSystemService;->updateServiceInfoListLocked()[Landroid/content/ComponentName;
+PLcom/android/server/infra/AbstractPerUserSystemService;->updateServiceInfoLocked()Landroid/content/ComponentName;
+PLcom/android/server/infra/FrameworkResourcesServiceNameResolver;-><init>(Landroid/content/Context;I)V
+PLcom/android/server/infra/FrameworkResourcesServiceNameResolver;->readServiceName(I)Ljava/lang/String;
+PLcom/android/server/infra/ServiceNameBaseResolver;-><clinit>()V
+PLcom/android/server/infra/ServiceNameBaseResolver;-><init>(Landroid/content/Context;Z)V
+PLcom/android/server/infra/ServiceNameBaseResolver;->getDefaultServiceNameList(I)[Ljava/lang/String;
+PLcom/android/server/infra/ServiceNameBaseResolver;->getServiceName(I)Ljava/lang/String;
+PLcom/android/server/infra/ServiceNameBaseResolver;->getServiceNameList(I)[Ljava/lang/String;
+PLcom/android/server/infra/ServiceNameBaseResolver;->isConfiguredInMultipleMode()Z
+PLcom/android/server/infra/ServiceNameBaseResolver;->setOnTemporaryServiceNameChangedCallback(Lcom/android/server/infra/ServiceNameResolver$NameResolverListener;)V
+PLcom/android/server/input/AmbientKeyboardBacklightController$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/input/AmbientKeyboardBacklightController;)V
+PLcom/android/server/input/AmbientKeyboardBacklightController$$ExternalSyntheticLambda0;->handleMessage(Landroid/os/Message;)Z
+PLcom/android/server/input/AmbientKeyboardBacklightController$BrightnessStep;->-$$Nest$fgetmDecreaseLuxThreshold(Lcom/android/server/input/AmbientKeyboardBacklightController$BrightnessStep;)I
+PLcom/android/server/input/AmbientKeyboardBacklightController$BrightnessStep;->-$$Nest$fgetmIncreaseLuxThreshold(Lcom/android/server/input/AmbientKeyboardBacklightController$BrightnessStep;)I
+PLcom/android/server/input/AmbientKeyboardBacklightController$BrightnessStep;-><init>(III)V
+PLcom/android/server/input/AmbientKeyboardBacklightController$BrightnessStep;-><init>(IIILcom/android/server/input/AmbientKeyboardBacklightController$BrightnessStep-IA;)V
+PLcom/android/server/input/AmbientKeyboardBacklightController;->$r8$lambda$JJuuzJTMpjI9ZCGBKjwNrMezjco(Lcom/android/server/input/AmbientKeyboardBacklightController;Landroid/os/Message;)Z
+PLcom/android/server/input/AmbientKeyboardBacklightController;-><clinit>()V
+PLcom/android/server/input/AmbientKeyboardBacklightController;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
+PLcom/android/server/input/AmbientKeyboardBacklightController;->getAmbientLightSensor(Landroid/hardware/display/DisplayManagerInternal$AmbientLightSensorData;)Landroid/hardware/Sensor;
+PLcom/android/server/input/AmbientKeyboardBacklightController;->handleDisplayChange()V
+PLcom/android/server/input/AmbientKeyboardBacklightController;->handleMessage(Landroid/os/Message;)Z
+PLcom/android/server/input/AmbientKeyboardBacklightController;->initConfiguration()V
+PLcom/android/server/input/AmbientKeyboardBacklightController;->systemRunning()V
+PLcom/android/server/input/BatteryController$$ExternalSyntheticLambda6;-><init>()V
+PLcom/android/server/input/BatteryController$$ExternalSyntheticLambda6;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/input/BatteryController$1;-><init>(Lcom/android/server/input/BatteryController;)V
+PLcom/android/server/input/BatteryController$1;->onInputDeviceAdded(I)V
+PLcom/android/server/input/BatteryController$1;->onInputDeviceChanged(I)V
+PLcom/android/server/input/BatteryController$LocalBluetoothBatteryManager$1;-><init>(Lcom/android/server/input/BatteryController$LocalBluetoothBatteryManager;)V
+PLcom/android/server/input/BatteryController$LocalBluetoothBatteryManager;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
+PLcom/android/server/input/BatteryController;->$r8$lambda$n6_ejU_h9YIm1A7iCB3zx5esPWg(Landroid/view/InputDevice;)Ljava/lang/Boolean;
+PLcom/android/server/input/BatteryController;->-$$Nest$fgetmDeviceMonitors(Lcom/android/server/input/BatteryController;)Landroid/util/ArrayMap;
+PLcom/android/server/input/BatteryController;->-$$Nest$fgetmLock(Lcom/android/server/input/BatteryController;)Ljava/lang/Object;
+PLcom/android/server/input/BatteryController;->-$$Nest$misUsiDevice(Lcom/android/server/input/BatteryController;I)Z
+PLcom/android/server/input/BatteryController;-><clinit>()V
+PLcom/android/server/input/BatteryController;-><init>(Landroid/content/Context;Lcom/android/server/input/NativeInputManagerService;Landroid/os/Looper;Lcom/android/server/input/UEventManager;)V
+PLcom/android/server/input/BatteryController;-><init>(Landroid/content/Context;Lcom/android/server/input/NativeInputManagerService;Landroid/os/Looper;Lcom/android/server/input/UEventManager;Lcom/android/server/input/BatteryController$BluetoothBatteryManager;)V
+PLcom/android/server/input/BatteryController;->isUsiDevice(I)Z
+PLcom/android/server/input/BatteryController;->lambda$isUsiDevice$1(Landroid/view/InputDevice;)Ljava/lang/Boolean;
+PLcom/android/server/input/BatteryController;->monitor()V
+PLcom/android/server/input/BatteryController;->processInputDevice(ILjava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
+PLcom/android/server/input/BatteryController;->systemRunning()V
+PLcom/android/server/input/GestureMonitorSpyWindow;-><init>(Landroid/os/IBinder;Ljava/lang/String;IIILandroid/view/SurfaceControl;Landroid/view/InputChannel;)V
+PLcom/android/server/input/InputFeatureFlagProvider;-><clinit>()V
+PLcom/android/server/input/InputFeatureFlagProvider;->isAmbientKeyboardBacklightControlEnabled()Z
+PLcom/android/server/input/InputFeatureFlagProvider;->isKeyboardBacklightControlEnabled()Z
+PLcom/android/server/input/InputManagerInternal;-><init>()V
+PLcom/android/server/input/InputManagerService$$ExternalSyntheticLambda7;-><init>(Lcom/android/server/input/InputManagerService;Landroid/view/InputChannel;)V
+PLcom/android/server/input/InputManagerService$$ExternalSyntheticLambda8;-><init>(Ljava/util/List;)V
+PLcom/android/server/input/InputManagerService$1;-><init>(Lcom/android/server/input/InputManagerService;)V
+PLcom/android/server/input/InputManagerService$2;-><init>()V
+PLcom/android/server/input/InputManagerService$4;-><init>(Lcom/android/server/input/InputManagerService;)V
+HSPLcom/android/server/input/InputManagerService$AdditionalDisplayInputProperties;-><init>()V
+HSPLcom/android/server/input/InputManagerService$AdditionalDisplayInputProperties;->reset()V
+PLcom/android/server/input/InputManagerService$Injector;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/input/UEventManager;)V
+PLcom/android/server/input/InputManagerService$Injector;->getContext()Landroid/content/Context;
+PLcom/android/server/input/InputManagerService$Injector;->getLooper()Landroid/os/Looper;
+PLcom/android/server/input/InputManagerService$Injector;->getNativeService(Lcom/android/server/input/InputManagerService;)Lcom/android/server/input/NativeInputManagerService;
+PLcom/android/server/input/InputManagerService$Injector;->getUEventManager()Lcom/android/server/input/UEventManager;
+PLcom/android/server/input/InputManagerService$Injector;->registerLocalService(Lcom/android/server/input/InputManagerInternal;)V
+PLcom/android/server/input/InputManagerService$InputDevicesChangedListenerRecord;-><init>(Lcom/android/server/input/InputManagerService;ILandroid/hardware/input/IInputDevicesChangedListener;)V
+PLcom/android/server/input/InputManagerService$InputDevicesChangedListenerRecord;->notifyInputDevicesChanged([I)V
+PLcom/android/server/input/InputManagerService$InputManagerHandler;-><init>(Lcom/android/server/input/InputManagerService;Landroid/os/Looper;)V
+PLcom/android/server/input/InputManagerService$InputManagerHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/input/InputManagerService$InputMonitorHost;-><init>(Lcom/android/server/input/InputManagerService;Landroid/os/IBinder;)V
+PLcom/android/server/input/InputManagerService$LocalService;-><init>(Lcom/android/server/input/InputManagerService;)V
+PLcom/android/server/input/InputManagerService$LocalService;-><init>(Lcom/android/server/input/InputManagerService;Lcom/android/server/input/InputManagerService$LocalService-IA;)V
+PLcom/android/server/input/InputManagerService$LocalService;->notifyUserActivity()V
+PLcom/android/server/input/InputManagerService$LocalService;->onInputMethodSubtypeChangedForKeyboardLayoutMapping(ILcom/android/internal/inputmethod/InputMethodSubtypeHandle;Landroid/view/inputmethod/InputMethodSubtype;)V
+PLcom/android/server/input/InputManagerService$LocalService;->setDisplayViewports(Ljava/util/List;)V
+PLcom/android/server/input/InputManagerService$LocalService;->setPulseGestureEnabled(Z)V
+PLcom/android/server/input/InputManagerService$LocalService;->setStylusButtonMotionEventsEnabled(Z)V
+PLcom/android/server/input/InputManagerService;->-$$Nest$fgetmDoubleTouchGestureEnableFile(Lcom/android/server/input/InputManagerService;)Ljava/io/File;
+PLcom/android/server/input/InputManagerService;->-$$Nest$fgetmKeyboardBacklightController(Lcom/android/server/input/InputManagerService;)Lcom/android/server/input/InputManagerService$KeyboardBacklightControllerInterface;
+PLcom/android/server/input/InputManagerService;->-$$Nest$fgetmKeyboardLayoutManager(Lcom/android/server/input/InputManagerService;)Lcom/android/server/input/KeyboardLayoutManager;
+PLcom/android/server/input/InputManagerService;->-$$Nest$fgetmNative(Lcom/android/server/input/InputManagerService;)Lcom/android/server/input/NativeInputManagerService;
+PLcom/android/server/input/InputManagerService;->-$$Nest$mdeliverInputDevicesChanged(Lcom/android/server/input/InputManagerService;[Landroid/view/InputDevice;)V
+PLcom/android/server/input/InputManagerService;->-$$Nest$mreloadDeviceAliases(Lcom/android/server/input/InputManagerService;)V
+PLcom/android/server/input/InputManagerService;->-$$Nest$msetDisplayViewportsInternal(Lcom/android/server/input/InputManagerService;Ljava/util/List;)V
+HSPLcom/android/server/input/InputManagerService;-><clinit>()V
+PLcom/android/server/input/InputManagerService;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/input/InputManagerService;-><init>(Lcom/android/server/input/InputManagerService$Injector;)V
+PLcom/android/server/input/InputManagerService;->applyAdditionalDisplayInputProperties()V
+PLcom/android/server/input/InputManagerService;->applyAdditionalDisplayInputPropertiesLocked(Lcom/android/server/input/InputManagerService$AdditionalDisplayInputProperties;)V
+PLcom/android/server/input/InputManagerService;->canDispatchToDisplay(II)Z
+PLcom/android/server/input/InputManagerService;->checkCallingPermission(Ljava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/input/InputManagerService;->checkCallingPermission(Ljava/lang/String;Ljava/lang/String;Z)Z
+PLcom/android/server/input/InputManagerService;->createInputChannel(Ljava/lang/String;)Landroid/view/InputChannel;
+PLcom/android/server/input/InputManagerService;->createSpyWindowGestureMonitor(Landroid/os/IBinder;Ljava/lang/String;Landroid/view/SurfaceControl;III)Landroid/view/InputChannel;
+HPLcom/android/server/input/InputManagerService;->deliverInputDevicesChanged([Landroid/view/InputDevice;)V
+PLcom/android/server/input/InputManagerService;->flatten(Ljava/util/Map;)[Ljava/lang/String;
+PLcom/android/server/input/InputManagerService;->getDeviceAlias(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/input/InputManagerService;->getDeviceTypeAssociations()[Ljava/lang/String;
+PLcom/android/server/input/InputManagerService;->getDoubleTapTimeout()I
+HPLcom/android/server/input/InputManagerService;->getExcludedDeviceNames()[Ljava/lang/String;
+PLcom/android/server/input/InputManagerService;->getHoverTapSlop()I
+PLcom/android/server/input/InputManagerService;->getHoverTapTimeout()I
+PLcom/android/server/input/InputManagerService;->getInputDevice(I)Landroid/view/InputDevice;
+PLcom/android/server/input/InputManagerService;->getInputDeviceIds()[I
+PLcom/android/server/input/InputManagerService;->getInputDevices()[Landroid/view/InputDevice;
+PLcom/android/server/input/InputManagerService;->getInputPortAssociations()[Ljava/lang/String;
+PLcom/android/server/input/InputManagerService;->getInputUniqueIdAssociations()[Ljava/lang/String;
+PLcom/android/server/input/InputManagerService;->getKeyCodeState(III)I
+PLcom/android/server/input/InputManagerService;->getKeyboardLayoutAssociations()[Ljava/lang/String;
+PLcom/android/server/input/InputManagerService;->getKeyboardLayoutOverlay(Landroid/hardware/input/InputDeviceIdentifier;Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
+PLcom/android/server/input/InputManagerService;->getLights(I)Ljava/util/List;
+PLcom/android/server/input/InputManagerService;->getLongPressTimeout()I
+PLcom/android/server/input/InputManagerService;->getScanCodeState(III)I
+PLcom/android/server/input/InputManagerService;->getSwitchState(III)I
+PLcom/android/server/input/InputManagerService;->getTouchCalibrationForInputDevice(Ljava/lang/String;I)Landroid/hardware/input/TouchCalibration;
+PLcom/android/server/input/InputManagerService;->getVelocityTrackerStrategy()Ljava/lang/String;
+PLcom/android/server/input/InputManagerService;->getVirtualKeyQuietTimeMillis()I
+PLcom/android/server/input/InputManagerService;->isInputDeviceEnabled(I)Z
+PLcom/android/server/input/InputManagerService;->isMicMuted()I
+PLcom/android/server/input/InputManagerService;->loadStaticInputPortAssociations()Ljava/util/Map;
+HPLcom/android/server/input/InputManagerService;->monitor()V
+PLcom/android/server/input/InputManagerService;->monitorGestureInput(Landroid/os/IBinder;Ljava/lang/String;I)Landroid/view/InputMonitor;
+PLcom/android/server/input/InputManagerService;->monitorInput(Ljava/lang/String;I)Landroid/view/InputChannel;
+PLcom/android/server/input/InputManagerService;->notifyConfigurationChanged(J)V
+PLcom/android/server/input/InputManagerService;->notifyFocusChanged(Landroid/os/IBinder;Landroid/os/IBinder;)V
+PLcom/android/server/input/InputManagerService;->notifyInputDevicesChanged([Landroid/view/InputDevice;)V
+PLcom/android/server/input/InputManagerService;->registerInputDevicesChangedListener(Landroid/hardware/input/IInputDevicesChangedListener;)V
+PLcom/android/server/input/InputManagerService;->registerLidSwitchCallbackInternal(Lcom/android/server/input/InputManagerInternal$LidSwitchCallback;)V
+PLcom/android/server/input/InputManagerService;->reloadDeviceAliases()V
+PLcom/android/server/input/InputManagerService;->removeInputChannel(Landroid/os/IBinder;)V
+PLcom/android/server/input/InputManagerService;->setAccessibilityBounceKeysThreshold(I)V
+PLcom/android/server/input/InputManagerService;->setAccessibilitySlowKeysThreshold(I)V
+PLcom/android/server/input/InputManagerService;->setAccessibilityStickyKeysEnabled(Z)V
+PLcom/android/server/input/InputManagerService;->setDisplayViewportsInternal(Ljava/util/List;)V
+PLcom/android/server/input/InputManagerService;->setFocusedApplication(ILandroid/view/InputApplicationHandle;)V
+PLcom/android/server/input/InputManagerService;->setFocusedDisplay(I)V
+PLcom/android/server/input/InputManagerService;->setInTouchMode(ZIIZI)Z
+PLcom/android/server/input/InputManagerService;->setInputDispatchMode(ZZ)V
+PLcom/android/server/input/InputManagerService;->setUseLargePointerIcons(Z)V
+PLcom/android/server/input/InputManagerService;->setWindowManagerCallbacks(Lcom/android/server/input/InputManagerService$WindowManagerCallbacks;)V
+PLcom/android/server/input/InputManagerService;->start()V
+PLcom/android/server/input/InputManagerService;->systemRunning()V
+PLcom/android/server/input/InputManagerService;->updatePointerDisplayIdLocked(I)Z
+PLcom/android/server/input/InputManagerService;->updatePointerLocationEnabled(Z)V
+PLcom/android/server/input/InputManagerService;->updateShowKeyPresses(Z)V
+PLcom/android/server/input/InputManagerService;->updateShowRotaryInput(Z)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/input/InputSettingsObserver;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda10;-><init>(Lcom/android/server/input/InputSettingsObserver;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda10;->accept(Ljava/lang/Object;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda11;-><init>(Lcom/android/server/input/InputSettingsObserver;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda11;->accept(Ljava/lang/Object;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda12;-><init>(Lcom/android/server/input/InputSettingsObserver;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda12;->accept(Ljava/lang/Object;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda13;-><init>(Lcom/android/server/input/InputSettingsObserver;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda13;->accept(Ljava/lang/Object;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda14;-><init>(Lcom/android/server/input/InputSettingsObserver;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda14;->accept(Ljava/lang/Object;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda15;-><init>(Lcom/android/server/input/InputSettingsObserver;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda15;->accept(Ljava/lang/Object;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda16;-><init>(Lcom/android/server/input/InputSettingsObserver;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda16;->accept(Ljava/lang/Object;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda17;-><init>(Lcom/android/server/input/InputSettingsObserver;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda17;->accept(Ljava/lang/Object;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda18;-><init>(Lcom/android/server/input/InputSettingsObserver;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda18;->accept(Ljava/lang/Object;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/input/InputSettingsObserver;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/input/InputSettingsObserver;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda2;->accept(Ljava/lang/Object;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/input/InputSettingsObserver;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda3;->accept(Ljava/lang/Object;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/input/InputSettingsObserver;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda4;->accept(Ljava/lang/Object;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/input/InputSettingsObserver;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda5;->accept(Ljava/lang/Object;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/input/InputSettingsObserver;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda6;->accept(Ljava/lang/Object;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda7;-><init>(Lcom/android/server/input/InputSettingsObserver;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda7;->accept(Ljava/lang/Object;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda8;-><init>(Lcom/android/server/input/InputSettingsObserver;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda8;->accept(Ljava/lang/Object;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda9;-><init>(Lcom/android/server/input/InputSettingsObserver;)V
+PLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda9;->accept(Ljava/lang/Object;)V
+PLcom/android/server/input/InputSettingsObserver$1;-><init>(Lcom/android/server/input/InputSettingsObserver;)V
+HPLcom/android/server/input/InputSettingsObserver$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/input/InputSettingsObserver;->$r8$lambda$8-nmfADGlbXR2y7cYvJjCtqiCDU(Lcom/android/server/input/InputSettingsObserver;Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->$r8$lambda$B6UbsHTKEzcrp2SmYSj1UeL9fa0(Lcom/android/server/input/InputSettingsObserver;Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->$r8$lambda$E77TZbEY0Eiqo5odbeeaxq9YVVY(Lcom/android/server/input/InputSettingsObserver;Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->$r8$lambda$EZo0BN6vEeXLyFlM39mQLCNLQRU(Lcom/android/server/input/InputSettingsObserver;Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->$r8$lambda$H1paEVQ6iS1w225jbFS3KlGpUH0(Lcom/android/server/input/InputSettingsObserver;Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->$r8$lambda$IAIqOWxGj0NqFaNlwpNZXIwerhY(Lcom/android/server/input/InputSettingsObserver;Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->$r8$lambda$MotvkOT12GYIlX8NWJLa1hYA0GA(Lcom/android/server/input/InputSettingsObserver;Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->$r8$lambda$QdnpwXhg1-UovvW3vm6K6ReunTA(Lcom/android/server/input/InputSettingsObserver;Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->$r8$lambda$Rr0lgi-WpfNxFXW9-C-Qm7EPPAQ(Lcom/android/server/input/InputSettingsObserver;Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->$r8$lambda$ZZJw7liozvnfpwJy3dHpbXK6TBs(Lcom/android/server/input/InputSettingsObserver;Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->$r8$lambda$_fP8LM44ztL2nXy491rpD7KkA8M(Lcom/android/server/input/InputSettingsObserver;Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->$r8$lambda$bQ6Pakt0-8gsVCTKD29WSS6maqM(Lcom/android/server/input/InputSettingsObserver;Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->$r8$lambda$fenPZ8hwNeHQiC5wNUY7p_Nan68(Lcom/android/server/input/InputSettingsObserver;Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->$r8$lambda$fuEgvfKd7GY8eVSNTB3BzuuJKHQ(Lcom/android/server/input/InputSettingsObserver;Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->$r8$lambda$k6knUOK1nWWHQJdmB93hBPmnk4g(Lcom/android/server/input/InputSettingsObserver;Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->$r8$lambda$pqYW_K7ai5UbiF55BnWTwJfksFE(Lcom/android/server/input/InputSettingsObserver;Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->$r8$lambda$tCrW_EpGwbX9GnJRAW5H1bM6Rsc(Lcom/android/server/input/InputSettingsObserver;Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->$r8$lambda$uo0KjrciiUrgeyPJZXw8X_RZfIU(Lcom/android/server/input/InputSettingsObserver;Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->$r8$lambda$uxAhDD-5nvRXXpXuIseeY9peJ1s(Lcom/android/server/input/InputSettingsObserver;Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->-$$Nest$fgetmObservers(Lcom/android/server/input/InputSettingsObserver;)Ljava/util/Map;
+HPLcom/android/server/input/InputSettingsObserver;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/input/InputManagerService;Lcom/android/server/input/NativeInputManagerService;)V
+PLcom/android/server/input/InputSettingsObserver;->configureUserActivityPokeInterval()V
+PLcom/android/server/input/InputSettingsObserver;->constrainPointerSpeedValue(I)I
+PLcom/android/server/input/InputSettingsObserver;->getBoolean(Ljava/lang/String;Z)Z
+PLcom/android/server/input/InputSettingsObserver;->lambda$new$0(Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->lambda$new$1(Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->lambda$new$10(Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->lambda$new$11(Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->lambda$new$12(Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->lambda$new$13(Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->lambda$new$14(Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->lambda$new$15(Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->lambda$new$16(Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->lambda$new$17(Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->lambda$new$18(Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->lambda$new$2(Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->lambda$new$3(Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->lambda$new$4(Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->lambda$new$5(Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->lambda$new$6(Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->lambda$new$7(Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->lambda$new$8(Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->lambda$new$9(Ljava/lang/String;)V
+HPLcom/android/server/input/InputSettingsObserver;->registerAndUpdate()V
+PLcom/android/server/input/InputSettingsObserver;->updateAccessibilityBounceKeys()V
+PLcom/android/server/input/InputSettingsObserver;->updateAccessibilityLargePointer()V
+PLcom/android/server/input/InputSettingsObserver;->updateAccessibilitySlowKeys()V
+PLcom/android/server/input/InputSettingsObserver;->updateAccessibilityStickyKeys()V
+PLcom/android/server/input/InputSettingsObserver;->updateKeyRepeatInfo()V
+PLcom/android/server/input/InputSettingsObserver;->updateLongPressTimeout(Ljava/lang/String;)V
+PLcom/android/server/input/InputSettingsObserver;->updateMaximumObscuringOpacityForTouch()V
+PLcom/android/server/input/InputSettingsObserver;->updateMousePointerSpeed()V
+PLcom/android/server/input/InputSettingsObserver;->updatePointerLocation()V
+PLcom/android/server/input/InputSettingsObserver;->updateShowKeyPresses()V
+PLcom/android/server/input/InputSettingsObserver;->updateShowRotaryInput()V
+PLcom/android/server/input/InputSettingsObserver;->updateShowTouches()V
+PLcom/android/server/input/InputSettingsObserver;->updateStylusPointerIconEnabled()V
+PLcom/android/server/input/InputSettingsObserver;->updateTouchpadNaturalScrollingEnabled()V
+PLcom/android/server/input/InputSettingsObserver;->updateTouchpadPointerSpeed()V
+PLcom/android/server/input/InputSettingsObserver;->updateTouchpadRightClickZoneEnabled()V
+PLcom/android/server/input/InputSettingsObserver;->updateTouchpadTapDraggingEnabled()V
+PLcom/android/server/input/InputSettingsObserver;->updateTouchpadTapToClickEnabled()V
+PLcom/android/server/input/KeyRemapper$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/input/KeyRemapper;)V
+PLcom/android/server/input/KeyRemapper$$ExternalSyntheticLambda0;->handleMessage(Landroid/os/Message;)Z
+PLcom/android/server/input/KeyRemapper;->$r8$lambda$N4TqxA4BYCMFcqyr3TCvlujPC84(Lcom/android/server/input/KeyRemapper;Landroid/os/Message;)Z
+PLcom/android/server/input/KeyRemapper;-><init>(Landroid/content/Context;Lcom/android/server/input/NativeInputManagerService;Lcom/android/server/input/PersistentDataStore;Landroid/os/Looper;)V
+PLcom/android/server/input/KeyRemapper;->handleMessage(Landroid/os/Message;)Z
+PLcom/android/server/input/KeyRemapper;->onInputDeviceAdded(I)V
+PLcom/android/server/input/KeyRemapper;->onInputDeviceChanged(I)V
+PLcom/android/server/input/KeyRemapper;->supportRemapping()Z
+PLcom/android/server/input/KeyRemapper;->systemRunning()V
+PLcom/android/server/input/KeyboardBacklightController$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/input/KeyboardBacklightController$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/input/KeyboardBacklightController;)V
+PLcom/android/server/input/KeyboardBacklightController$$ExternalSyntheticLambda2;->handleMessage(Landroid/os/Message;)Z
+PLcom/android/server/input/KeyboardBacklightController$1;-><init>(Lcom/android/server/input/KeyboardBacklightController;)V
+PLcom/android/server/input/KeyboardBacklightController;->$r8$lambda$x56uNWQ8yZ3aSFy91aBfHRGVrXg(Lcom/android/server/input/KeyboardBacklightController;Landroid/os/Message;)Z
+PLcom/android/server/input/KeyboardBacklightController;-><clinit>()V
+PLcom/android/server/input/KeyboardBacklightController;-><init>(Landroid/content/Context;Lcom/android/server/input/NativeInputManagerService;Lcom/android/server/input/PersistentDataStore;Landroid/os/Looper;Lcom/android/server/input/KeyboardBacklightController$AnimatorFactory;Lcom/android/server/input/UEventManager;)V
+PLcom/android/server/input/KeyboardBacklightController;-><init>(Landroid/content/Context;Lcom/android/server/input/NativeInputManagerService;Lcom/android/server/input/PersistentDataStore;Landroid/os/Looper;Lcom/android/server/input/UEventManager;)V
+PLcom/android/server/input/KeyboardBacklightController;->getInputDevice(I)Landroid/view/InputDevice;
+PLcom/android/server/input/KeyboardBacklightController;->getKeyboardBacklight(Landroid/view/InputDevice;)Landroid/hardware/lights/Light;
+PLcom/android/server/input/KeyboardBacklightController;->handleMessage(Landroid/os/Message;)Z
+PLcom/android/server/input/KeyboardBacklightController;->handleUserActivity()V
+PLcom/android/server/input/KeyboardBacklightController;->handleUserInactivity()V
+PLcom/android/server/input/KeyboardBacklightController;->notifyUserActivity()V
+PLcom/android/server/input/KeyboardBacklightController;->onInputDeviceAdded(I)V
+PLcom/android/server/input/KeyboardBacklightController;->onInputDeviceChanged(I)V
+PLcom/android/server/input/KeyboardBacklightController;->systemRunning()V
+PLcom/android/server/input/KeyboardBacklightController;->updateAmbientLightListener()V
+PLcom/android/server/input/KeyboardLayoutManager$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/input/KeyboardLayoutManager;)V
+PLcom/android/server/input/KeyboardLayoutManager$$ExternalSyntheticLambda5;->handleMessage(Landroid/os/Message;)Z
+PLcom/android/server/input/KeyboardLayoutManager$$ExternalSyntheticLambda7;-><init>(Ljava/util/HashSet;)V
+HPLcom/android/server/input/KeyboardLayoutManager$$ExternalSyntheticLambda7;->visitKeyboardLayout(Landroid/content/res/Resources;ILandroid/hardware/input/KeyboardLayout;)V
+PLcom/android/server/input/KeyboardLayoutManager$1;-><init>(Lcom/android/server/input/KeyboardLayoutManager;)V
+PLcom/android/server/input/KeyboardLayoutManager$3;-><init>(Lcom/android/server/input/KeyboardLayoutManager;Lcom/android/server/input/KeyboardLayoutManager$KeyboardIdentifier;Ljava/util/ArrayList;Ljava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/input/KeyboardLayoutManager$3;->visitKeyboardLayout(Landroid/content/res/Resources;ILandroid/hardware/input/KeyboardLayout;)V
+PLcom/android/server/input/KeyboardLayoutManager$ImeInfo;-><init>(ILcom/android/internal/inputmethod/InputMethodSubtypeHandle;Landroid/view/inputmethod/InputMethodSubtype;)V
+HPLcom/android/server/input/KeyboardLayoutManager$KeyboardIdentifier;->-$$Nest$fgetmIdentifier(Lcom/android/server/input/KeyboardLayoutManager$KeyboardIdentifier;)Landroid/hardware/input/InputDeviceIdentifier;
+PLcom/android/server/input/KeyboardLayoutManager$KeyboardIdentifier;->-$$Nest$fgetmLanguageTag(Lcom/android/server/input/KeyboardLayoutManager$KeyboardIdentifier;)Ljava/lang/String;
+PLcom/android/server/input/KeyboardLayoutManager$KeyboardIdentifier;-><init>(Landroid/hardware/input/InputDeviceIdentifier;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/input/KeyboardLayoutManager$KeyboardIdentifier;-><init>(Landroid/hardware/input/InputDeviceIdentifier;Ljava/lang/String;Ljava/lang/String;Lcom/android/server/input/KeyboardLayoutManager$KeyboardIdentifier-IA;)V
+HPLcom/android/server/input/KeyboardLayoutManager$KeyboardIdentifier;->toString()Ljava/lang/String;
+HPLcom/android/server/input/KeyboardLayoutManager$KeyboardLayoutDescriptor;->format(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/input/KeyboardLayoutManager$LayoutKey;-><init>(Lcom/android/server/input/KeyboardLayoutManager$KeyboardIdentifier;Lcom/android/server/input/KeyboardLayoutManager$ImeInfo;)V
+PLcom/android/server/input/KeyboardLayoutManager$LayoutKey;-><init>(Lcom/android/server/input/KeyboardLayoutManager$KeyboardIdentifier;Lcom/android/server/input/KeyboardLayoutManager$ImeInfo;Lcom/android/server/input/KeyboardLayoutManager$LayoutKey-IA;)V
+HPLcom/android/server/input/KeyboardLayoutManager$LayoutKey;->toString()Ljava/lang/String;
+PLcom/android/server/input/KeyboardLayoutManager;->$r8$lambda$OSXbhKl2Ydsv_pJa-G91vzms3iI(Ljava/util/HashSet;Landroid/content/res/Resources;ILandroid/hardware/input/KeyboardLayout;)V
+PLcom/android/server/input/KeyboardLayoutManager;->$r8$lambda$y-LzIDNoOFY2WLN0_gSck9p-JRA(Lcom/android/server/input/KeyboardLayoutManager;Landroid/os/Message;)Z
+HPLcom/android/server/input/KeyboardLayoutManager;->-$$Nest$smisLayoutCompatibleWithLanguageTag(Landroid/hardware/input/KeyboardLayout;Ljava/lang/String;)Z
+PLcom/android/server/input/KeyboardLayoutManager;-><clinit>()V
+PLcom/android/server/input/KeyboardLayoutManager;-><init>(Landroid/content/Context;Lcom/android/server/input/NativeInputManagerService;Lcom/android/server/input/PersistentDataStore;Landroid/os/Looper;)V
+PLcom/android/server/input/KeyboardLayoutManager;->getDefaultKeyboardLayoutBasedOnImeInfo(Lcom/android/server/input/KeyboardLayoutManager$KeyboardIdentifier;Lcom/android/server/input/KeyboardLayoutManager$ImeInfo;[Landroid/hardware/input/KeyboardLayout;)Lcom/android/server/input/KeyboardLayoutManager$KeyboardLayoutInfo;
+PLcom/android/server/input/KeyboardLayoutManager;->getInputDevice(I)Landroid/view/InputDevice;
+HPLcom/android/server/input/KeyboardLayoutManager;->getKeyboardLayoutForInputDeviceInternal(Lcom/android/server/input/KeyboardLayoutManager$KeyboardIdentifier;Lcom/android/server/input/KeyboardLayoutManager$ImeInfo;)Lcom/android/server/input/KeyboardLayoutManager$KeyboardLayoutInfo;
+HPLcom/android/server/input/KeyboardLayoutManager;->getKeyboardLayoutListForInputDeviceInternal(Lcom/android/server/input/KeyboardLayoutManager$KeyboardIdentifier;Lcom/android/server/input/KeyboardLayoutManager$ImeInfo;)[Landroid/hardware/input/KeyboardLayout;
+PLcom/android/server/input/KeyboardLayoutManager;->getKeyboardLayoutOverlay(Landroid/hardware/input/InputDeviceIdentifier;Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
+HPLcom/android/server/input/KeyboardLayoutManager;->getLocalesFromLanguageTags(Ljava/lang/String;)Landroid/os/LocaleList;
+PLcom/android/server/input/KeyboardLayoutManager;->getMatchingLayoutForProvidedLanguageTag(Ljava/util/List;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/input/KeyboardLayoutManager;->getMatchingLayoutForProvidedLanguageTagAndLayoutType([Landroid/hardware/input/KeyboardLayout;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/input/KeyboardLayoutManager;->handleMessage(Landroid/os/Message;)Z
+HPLcom/android/server/input/KeyboardLayoutManager;->isLayoutCompatibleWithLanguageTag(Landroid/hardware/input/KeyboardLayout;Ljava/lang/String;)Z
+HPLcom/android/server/input/KeyboardLayoutManager;->lambda$updateKeyboardLayouts$1(Ljava/util/HashSet;Landroid/content/res/Resources;ILandroid/hardware/input/KeyboardLayout;)V
+PLcom/android/server/input/KeyboardLayoutManager;->onInputDeviceAdded(I)V
+PLcom/android/server/input/KeyboardLayoutManager;->onInputDeviceChanged(I)V
+PLcom/android/server/input/KeyboardLayoutManager;->onInputDeviceChangedInternal(IZ)V
+PLcom/android/server/input/KeyboardLayoutManager;->onInputMethodSubtypeChanged(ILcom/android/internal/inputmethod/InputMethodSubtypeHandle;Landroid/view/inputmethod/InputMethodSubtype;)V
+PLcom/android/server/input/KeyboardLayoutManager;->reloadKeyboardLayouts()V
+PLcom/android/server/input/KeyboardLayoutManager;->systemRunning()V
+PLcom/android/server/input/KeyboardLayoutManager;->updateKeyboardLayouts()V
+PLcom/android/server/input/KeyboardLayoutManager;->useNewSettingsUi()Z
+HPLcom/android/server/input/KeyboardLayoutManager;->visitAllKeyboardLayouts(Lcom/android/server/input/KeyboardLayoutManager$KeyboardLayoutVisitor;)V
+HPLcom/android/server/input/KeyboardLayoutManager;->visitKeyboardLayoutsInPackage(Landroid/content/pm/PackageManager;Landroid/content/pm/ActivityInfo;Ljava/lang/String;ILcom/android/server/input/KeyboardLayoutManager$KeyboardLayoutVisitor;)V
+PLcom/android/server/input/NativeInputManagerService$NativeImpl;-><init>(Lcom/android/server/input/InputManagerService;Landroid/os/MessageQueue;)V
+PLcom/android/server/input/PersistentDataStore$Injector;-><init>()V
+PLcom/android/server/input/PersistentDataStore$Injector;->openRead()Ljava/io/InputStream;
+PLcom/android/server/input/PersistentDataStore;-><init>()V
+PLcom/android/server/input/PersistentDataStore;-><init>(Lcom/android/server/input/PersistentDataStore$Injector;)V
+PLcom/android/server/input/PersistentDataStore;->clearState()V
+PLcom/android/server/input/PersistentDataStore;->getInputDeviceState(Ljava/lang/String;)Lcom/android/server/input/PersistentDataStore$InputDeviceState;
+PLcom/android/server/input/PersistentDataStore;->getKeyboardLayout(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/input/PersistentDataStore;->getTouchCalibration(Ljava/lang/String;I)Landroid/hardware/input/TouchCalibration;
+PLcom/android/server/input/PersistentDataStore;->load()V
+PLcom/android/server/input/PersistentDataStore;->loadIfNeeded()V
+PLcom/android/server/input/PersistentDataStore;->removeUninstalledKeyboardLayouts(Ljava/util/Set;)Z
+PLcom/android/server/input/PersistentDataStore;->saveIfNeeded()V
+PLcom/android/server/input/StickyModifierStateController;-><clinit>()V
+PLcom/android/server/input/StickyModifierStateController;-><init>()V
+PLcom/android/server/input/UEventManager$UEventListener$1;-><init>(Lcom/android/server/input/UEventManager$UEventListener;)V
+PLcom/android/server/input/UEventManager$UEventListener;->-$$Nest$fgetmObserver(Lcom/android/server/input/UEventManager$UEventListener;)Landroid/os/UEventObserver;
+PLcom/android/server/input/UEventManager$UEventListener;-><init>()V
+PLcom/android/server/input/UEventManager;->addListener(Lcom/android/server/input/UEventManager$UEventListener;Ljava/lang/String;)V
+PLcom/android/server/inputmethod/AdditionalSubtypeMap;-><clinit>()V
+PLcom/android/server/inputmethod/AdditionalSubtypeMap;-><init>(Landroid/util/ArrayMap;)V
+PLcom/android/server/inputmethod/AdditionalSubtypeMap;->get(Ljava/lang/String;)Ljava/util/List;
+PLcom/android/server/inputmethod/AdditionalSubtypeUtils;->getAdditionalSubtypeFile(Ljava/io/File;)Landroid/util/AtomicFile;
+PLcom/android/server/inputmethod/AdditionalSubtypeUtils;->getInputMethodDir(I)Ljava/io/File;
+PLcom/android/server/inputmethod/AdditionalSubtypeUtils;->load(I)Lcom/android/server/inputmethod/AdditionalSubtypeMap;
+PLcom/android/server/inputmethod/AutofillSuggestionsController;-><clinit>()V
+PLcom/android/server/inputmethod/AutofillSuggestionsController;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;)V
+PLcom/android/server/inputmethod/AutofillSuggestionsController;->performOnCreateInlineSuggestionsRequest()V
+PLcom/android/server/inputmethod/ClientController$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/inputmethod/ClientController;Lcom/android/server/inputmethod/IInputMethodClientInvoker;)V
+PLcom/android/server/inputmethod/ClientController$$ExternalSyntheticLambda0;->binderDied()V
+PLcom/android/server/inputmethod/ClientController;->$r8$lambda$eF4cD2NQlJ6H-Idt0s1NiLWRSeA(Lcom/android/server/inputmethod/ClientController;Lcom/android/server/inputmethod/IInputMethodClientInvoker;)V
+PLcom/android/server/inputmethod/ClientController;-><init>(Landroid/content/pm/PackageManagerInternal;)V
+HPLcom/android/server/inputmethod/ClientController;->addClient(Lcom/android/server/inputmethod/IInputMethodClientInvoker;Lcom/android/internal/inputmethod/IRemoteInputConnection;III)Lcom/android/server/inputmethod/ClientState;
+PLcom/android/server/inputmethod/ClientController;->addClientControllerCallback(Lcom/android/server/inputmethod/ClientController$ClientControllerCallback;)V
+PLcom/android/server/inputmethod/ClientController;->getClient(Landroid/os/IBinder;)Lcom/android/server/inputmethod/ClientState;
+PLcom/android/server/inputmethod/ClientController;->lambda$addClient$0(Lcom/android/server/inputmethod/IInputMethodClientInvoker;)V
+PLcom/android/server/inputmethod/ClientController;->removeClientAsBinder(Landroid/os/IBinder;)Z
+HPLcom/android/server/inputmethod/ClientState;-><init>(Lcom/android/server/inputmethod/IInputMethodClientInvoker;Lcom/android/internal/inputmethod/IRemoteInputConnection;IIILandroid/os/IBinder$DeathRecipient;)V
+PLcom/android/server/inputmethod/ClientState;->toString()Ljava/lang/String;
+PLcom/android/server/inputmethod/DefaultImeVisibilityApplier;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;)V
+PLcom/android/server/inputmethod/DefaultImeVisibilityApplier;->applyImeVisibility(Landroid/os/IBinder;Landroid/view/inputmethod/ImeTracker$Token;II)V
+PLcom/android/server/inputmethod/HandwritingModeController;-><clinit>()V
+PLcom/android/server/inputmethod/HandwritingModeController;-><init>(Landroid/content/Context;Landroid/os/Looper;Ljava/lang/Runnable;Ljava/util/function/IntConsumer;)V
+PLcom/android/server/inputmethod/HandwritingModeController;->clearPendingHandwritingDelegation()V
+PLcom/android/server/inputmethod/HandwritingModeController;->reset()V
+PLcom/android/server/inputmethod/HandwritingModeController;->reset(Z)V
+PLcom/android/server/inputmethod/HardwareKeyboardShortcutController;-><init>(Lcom/android/server/inputmethod/InputMethodMap;I)V
+PLcom/android/server/inputmethod/HardwareKeyboardShortcutController;->getUserId()I
+PLcom/android/server/inputmethod/HardwareKeyboardShortcutController;->reset(Lcom/android/server/inputmethod/InputMethodMap;)V
+PLcom/android/server/inputmethod/IInputMethodClientInvoker;-><init>(Lcom/android/internal/inputmethod/IInputMethodClient;ZLandroid/os/Handler;)V
+PLcom/android/server/inputmethod/IInputMethodClientInvoker;->asBinder()Landroid/os/IBinder;
+PLcom/android/server/inputmethod/IInputMethodClientInvoker;->create(Lcom/android/internal/inputmethod/IInputMethodClient;Landroid/os/Handler;)Lcom/android/server/inputmethod/IInputMethodClientInvoker;
+PLcom/android/server/inputmethod/IInputMethodClientInvoker;->onBindMethod(Lcom/android/internal/inputmethod/InputBindResult;)V
+PLcom/android/server/inputmethod/IInputMethodClientInvoker;->onBindMethodInternal(Lcom/android/internal/inputmethod/InputBindResult;)V
+PLcom/android/server/inputmethod/IInputMethodClientInvoker;->onUnbindMethod(II)V
+PLcom/android/server/inputmethod/IInputMethodClientInvoker;->onUnbindMethodInternal(II)V
+PLcom/android/server/inputmethod/IInputMethodClientInvoker;->reportFullscreenMode(Z)V
+PLcom/android/server/inputmethod/IInputMethodClientInvoker;->reportFullscreenModeInternal(Z)V
+PLcom/android/server/inputmethod/IInputMethodClientInvoker;->setActive(ZZ)V
+PLcom/android/server/inputmethod/IInputMethodClientInvoker;->setActiveInternal(ZZ)V
+PLcom/android/server/inputmethod/IInputMethodInvoker;-><init>(Lcom/android/internal/inputmethod/IInputMethod;)V
+PLcom/android/server/inputmethod/IInputMethodInvoker;->asBinder()Landroid/os/IBinder;
+PLcom/android/server/inputmethod/IInputMethodInvoker;->bindInput(Landroid/view/inputmethod/InputBinding;)V
+PLcom/android/server/inputmethod/IInputMethodInvoker;->create(Lcom/android/internal/inputmethod/IInputMethod;)Lcom/android/server/inputmethod/IInputMethodInvoker;
+PLcom/android/server/inputmethod/IInputMethodInvoker;->createSession(Landroid/view/InputChannel;Lcom/android/internal/inputmethod/IInputMethodSessionCallback;)V
+PLcom/android/server/inputmethod/IInputMethodInvoker;->initializeInternal(Landroid/os/IBinder;Lcom/android/internal/inputmethod/IInputMethodPrivilegedOperations;I)V
+PLcom/android/server/inputmethod/IInputMethodInvoker;->setSessionEnabled(Lcom/android/internal/inputmethod/IInputMethodSession;Z)V
+PLcom/android/server/inputmethod/IInputMethodInvoker;->startInput(Landroid/os/IBinder;Lcom/android/internal/inputmethod/IRemoteInputConnection;Landroid/view/inputmethod/EditorInfo;ZILandroid/window/ImeOnBackInvokedDispatcher;)V
+PLcom/android/server/inputmethod/ImePlatformCompatUtils;-><init>()V
+PLcom/android/server/inputmethod/ImePlatformCompatUtils;->isChangeEnabledByUid(JI)Z
+PLcom/android/server/inputmethod/ImePlatformCompatUtils;->shouldClearShowForcedFlag(I)Z
+PLcom/android/server/inputmethod/ImeTrackerService$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/inputmethod/ImeTrackerService;Landroid/view/inputmethod/ImeTracker$Token;)V
+PLcom/android/server/inputmethod/ImeTrackerService$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/inputmethod/ImeTrackerService$History$Entry;->-$$Nest$fgetmDuration(Lcom/android/server/inputmethod/ImeTrackerService$History$Entry;)J
+PLcom/android/server/inputmethod/ImeTrackerService$History$Entry;->-$$Nest$fgetmFromUser(Lcom/android/server/inputmethod/ImeTrackerService$History$Entry;)Z
+PLcom/android/server/inputmethod/ImeTrackerService$History$Entry;->-$$Nest$fgetmOrigin(Lcom/android/server/inputmethod/ImeTrackerService$History$Entry;)I
+PLcom/android/server/inputmethod/ImeTrackerService$History$Entry;->-$$Nest$fgetmPhase(Lcom/android/server/inputmethod/ImeTrackerService$History$Entry;)I
+PLcom/android/server/inputmethod/ImeTrackerService$History$Entry;->-$$Nest$fgetmReason(Lcom/android/server/inputmethod/ImeTrackerService$History$Entry;)I
+PLcom/android/server/inputmethod/ImeTrackerService$History$Entry;->-$$Nest$fgetmStartTime(Lcom/android/server/inputmethod/ImeTrackerService$History$Entry;)J
+PLcom/android/server/inputmethod/ImeTrackerService$History$Entry;->-$$Nest$fgetmStatus(Lcom/android/server/inputmethod/ImeTrackerService$History$Entry;)I
+PLcom/android/server/inputmethod/ImeTrackerService$History$Entry;->-$$Nest$fgetmType(Lcom/android/server/inputmethod/ImeTrackerService$History$Entry;)I
+PLcom/android/server/inputmethod/ImeTrackerService$History$Entry;->-$$Nest$fgetmUid(Lcom/android/server/inputmethod/ImeTrackerService$History$Entry;)I
+PLcom/android/server/inputmethod/ImeTrackerService$History$Entry;->-$$Nest$fputmDuration(Lcom/android/server/inputmethod/ImeTrackerService$History$Entry;J)V
+PLcom/android/server/inputmethod/ImeTrackerService$History$Entry;->-$$Nest$fputmPhase(Lcom/android/server/inputmethod/ImeTrackerService$History$Entry;I)V
+PLcom/android/server/inputmethod/ImeTrackerService$History$Entry;->-$$Nest$fputmStatus(Lcom/android/server/inputmethod/ImeTrackerService$History$Entry;I)V
+HPLcom/android/server/inputmethod/ImeTrackerService$History$Entry;-><init>(Ljava/lang/String;IIIIIZ)V
+PLcom/android/server/inputmethod/ImeTrackerService$History$Entry;-><init>(Ljava/lang/String;IIIIIZLcom/android/server/inputmethod/ImeTrackerService$History$Entry-IA;)V
+PLcom/android/server/inputmethod/ImeTrackerService$History;->-$$Nest$maddEntry(Lcom/android/server/inputmethod/ImeTrackerService$History;Landroid/os/IBinder;Lcom/android/server/inputmethod/ImeTrackerService$History$Entry;)V
+PLcom/android/server/inputmethod/ImeTrackerService$History;->-$$Nest$mgetEntry(Lcom/android/server/inputmethod/ImeTrackerService$History;Landroid/os/IBinder;)Lcom/android/server/inputmethod/ImeTrackerService$History$Entry;
+PLcom/android/server/inputmethod/ImeTrackerService$History;->-$$Nest$msetFinished(Lcom/android/server/inputmethod/ImeTrackerService$History;Landroid/view/inputmethod/ImeTracker$Token;II)V
+PLcom/android/server/inputmethod/ImeTrackerService$History;->-$$Nest$sfgetsSequenceNumber()Ljava/util/concurrent/atomic/AtomicInteger;
+PLcom/android/server/inputmethod/ImeTrackerService$History;-><clinit>()V
+PLcom/android/server/inputmethod/ImeTrackerService$History;-><init>()V
+PLcom/android/server/inputmethod/ImeTrackerService$History;-><init>(Lcom/android/server/inputmethod/ImeTrackerService$History-IA;)V
+PLcom/android/server/inputmethod/ImeTrackerService$History;->addEntry(Landroid/os/IBinder;Lcom/android/server/inputmethod/ImeTrackerService$History$Entry;)V
+PLcom/android/server/inputmethod/ImeTrackerService$History;->getEntry(Landroid/os/IBinder;)Lcom/android/server/inputmethod/ImeTrackerService$History$Entry;
+HPLcom/android/server/inputmethod/ImeTrackerService$History;->setFinished(Landroid/view/inputmethod/ImeTracker$Token;II)V
+PLcom/android/server/inputmethod/ImeTrackerService;->$r8$lambda$iu5qDG_Qa1HHpnJA5w-tOh7aP38(Lcom/android/server/inputmethod/ImeTrackerService;Landroid/view/inputmethod/ImeTracker$Token;)V
+PLcom/android/server/inputmethod/ImeTrackerService;-><init>(Landroid/os/Looper;)V
+PLcom/android/server/inputmethod/ImeTrackerService;->lambda$onRequestHide$1(Landroid/view/inputmethod/ImeTracker$Token;)V
+PLcom/android/server/inputmethod/ImeTrackerService;->onCancelled(Landroid/view/inputmethod/ImeTracker$Token;I)V
+PLcom/android/server/inputmethod/ImeTrackerService;->onProgress(Landroid/os/IBinder;I)V
+PLcom/android/server/inputmethod/ImeTrackerService;->onRequestHide(Ljava/lang/String;IIIZ)Landroid/view/inputmethod/ImeTracker$Token;
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/WindowManagerInternal;)V
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer$1;-><init>(Lcom/android/server/inputmethod/ImeVisibilityStateComputer;)V
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer$1;->onImeInputTargetVisibilityChanged(Landroid/os/IBinder;ZZ)V
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeTargetWindowState;->-$$Nest$fgetmSoftInputModeState(Lcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeTargetWindowState;)I
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeTargetWindowState;->-$$Nest$msetImeDisplayId(Lcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeTargetWindowState;I)V
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeTargetWindowState;->-$$Nest$msetRequestedImeVisible(Lcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeTargetWindowState;Z)V
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeTargetWindowState;-><init>(IIZZZI)V
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeTargetWindowState;->getWindowFlags()I
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeTargetWindowState;->hasEditorFocused()Z
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeTargetWindowState;->hasImeFocusChanged()Z
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeTargetWindowState;->isRequestedImeVisible()Z
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeTargetWindowState;->setImeDisplayId(I)V
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeTargetWindowState;->setRequestImeToken(Landroid/os/IBinder;)V
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeTargetWindowState;->setRequestedImeVisible(Z)V
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeVisibilityPolicy;->-$$Nest$fgetmPendingA11yRequestingHideKeyboard(Lcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeVisibilityPolicy;)Z
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeVisibilityPolicy;-><init>()V
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeVisibilityPolicy;->isImeHiddenByDisplayPolicy()Z
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeVisibilityPolicy;->setImeHiddenByDisplayPolicy(Z)V
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeVisibilityResult;-><init>(II)V
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeVisibilityResult;->getReason()I
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeVisibilityResult;->getState()I
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer;->-$$Nest$fgetmCurVisibleImeInputTarget(Lcom/android/server/inputmethod/ImeVisibilityStateComputer;)Landroid/os/IBinder;
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer;->-$$Nest$fputmCurVisibleImeInputTarget(Lcom/android/server/inputmethod/ImeVisibilityStateComputer;Landroid/os/IBinder;)V
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;)V
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;Lcom/android/server/wm/WindowManagerInternal;Lcom/android/server/inputmethod/InputMethodManagerService$ImeDisplayValidator;Lcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeVisibilityPolicy;)V
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer;->canHideIme(Landroid/view/inputmethod/ImeTracker$Token;I)Z
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer;->clearImeShowFlags()V
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer;->computeImeDisplayId(Lcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeTargetWindowState;I)I
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer;->computeState(Lcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeTargetWindowState;Z)Lcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeVisibilityResult;
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer;->getImePolicy()Lcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeVisibilityPolicy;
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer;->getOrCreateWindowState(Landroid/os/IBinder;)Lcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeTargetWindowState;
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer;->getWindowStateOrNull(Landroid/os/IBinder;)Lcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeTargetWindowState;
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer;->requestImeVisibility(Landroid/os/IBinder;Z)V
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer;->setWindowState(Landroid/os/IBinder;Lcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeTargetWindowState;)V
+PLcom/android/server/inputmethod/ImeVisibilityStateComputer;->setWindowStateInner(Landroid/os/IBinder;Lcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeTargetWindowState;)V
+PLcom/android/server/inputmethod/InputMethodBindingController$1;-><init>(Lcom/android/server/inputmethod/InputMethodBindingController;)V
+PLcom/android/server/inputmethod/InputMethodBindingController$2;-><init>(Lcom/android/server/inputmethod/InputMethodBindingController;)V
+PLcom/android/server/inputmethod/InputMethodBindingController$2;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/inputmethod/InputMethodBindingController$2;->updateCurrentMethodUid()V
+PLcom/android/server/inputmethod/InputMethodBindingController;->-$$Nest$fgetmCurIntent(Lcom/android/server/inputmethod/InputMethodBindingController;)Landroid/content/Intent;
+PLcom/android/server/inputmethod/InputMethodBindingController;->-$$Nest$fgetmCurMethod(Lcom/android/server/inputmethod/InputMethodBindingController;)Lcom/android/server/inputmethod/IInputMethodInvoker;
+PLcom/android/server/inputmethod/InputMethodBindingController;->-$$Nest$fgetmCurMethodUid(Lcom/android/server/inputmethod/InputMethodBindingController;)I
+PLcom/android/server/inputmethod/InputMethodBindingController;->-$$Nest$fgetmCurToken(Lcom/android/server/inputmethod/InputMethodBindingController;)Landroid/os/IBinder;
+PLcom/android/server/inputmethod/InputMethodBindingController;->-$$Nest$fgetmLatchForTesting(Lcom/android/server/inputmethod/InputMethodBindingController;)Ljava/util/concurrent/CountDownLatch;
+PLcom/android/server/inputmethod/InputMethodBindingController;->-$$Nest$fgetmPackageManagerInternal(Lcom/android/server/inputmethod/InputMethodBindingController;)Landroid/content/pm/PackageManagerInternal;
+PLcom/android/server/inputmethod/InputMethodBindingController;->-$$Nest$fgetmSelectedMethodId(Lcom/android/server/inputmethod/InputMethodBindingController;)Ljava/lang/String;
+PLcom/android/server/inputmethod/InputMethodBindingController;->-$$Nest$fgetmService(Lcom/android/server/inputmethod/InputMethodBindingController;)Lcom/android/server/inputmethod/InputMethodManagerService;
+PLcom/android/server/inputmethod/InputMethodBindingController;->-$$Nest$fgetmSupportsStylusHw(Lcom/android/server/inputmethod/InputMethodBindingController;)Z
+PLcom/android/server/inputmethod/InputMethodBindingController;->-$$Nest$fputmCurMethod(Lcom/android/server/inputmethod/InputMethodBindingController;Lcom/android/server/inputmethod/IInputMethodInvoker;)V
+PLcom/android/server/inputmethod/InputMethodBindingController;->-$$Nest$fputmCurMethodUid(Lcom/android/server/inputmethod/InputMethodBindingController;I)V
+PLcom/android/server/inputmethod/InputMethodBindingController;->-$$Nest$fputmSupportsStylusHw(Lcom/android/server/inputmethod/InputMethodBindingController;Z)V
+PLcom/android/server/inputmethod/InputMethodBindingController;-><clinit>()V
+PLcom/android/server/inputmethod/InputMethodBindingController;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;)V
+PLcom/android/server/inputmethod/InputMethodBindingController;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;ILjava/util/concurrent/CountDownLatch;)V
+PLcom/android/server/inputmethod/InputMethodBindingController;->addFreshWindowToken()V
+PLcom/android/server/inputmethod/InputMethodBindingController;->advanceSequenceNumber()V
+PLcom/android/server/inputmethod/InputMethodBindingController;->bindCurrentInputMethodService(Landroid/content/ServiceConnection;I)Z
+PLcom/android/server/inputmethod/InputMethodBindingController;->bindCurrentInputMethodServiceMainConnection()Z
+PLcom/android/server/inputmethod/InputMethodBindingController;->bindCurrentMethod()Lcom/android/internal/inputmethod/InputBindResult;
+PLcom/android/server/inputmethod/InputMethodBindingController;->clearCurMethodAndSessions()V
+PLcom/android/server/inputmethod/InputMethodBindingController;->createImeBindingIntent(Landroid/content/ComponentName;)Landroid/content/Intent;
+PLcom/android/server/inputmethod/InputMethodBindingController;->getCurId()Ljava/lang/String;
+PLcom/android/server/inputmethod/InputMethodBindingController;->getCurMethod()Lcom/android/server/inputmethod/IInputMethodInvoker;
+PLcom/android/server/inputmethod/InputMethodBindingController;->getCurMethodUid()I
+PLcom/android/server/inputmethod/InputMethodBindingController;->getCurToken()Landroid/os/IBinder;
+PLcom/android/server/inputmethod/InputMethodBindingController;->getLastBindTime()J
+PLcom/android/server/inputmethod/InputMethodBindingController;->getSelectedMethodId()Ljava/lang/String;
+PLcom/android/server/inputmethod/InputMethodBindingController;->getSequenceNumber()I
+PLcom/android/server/inputmethod/InputMethodBindingController;->hasMainConnection()Z
+PLcom/android/server/inputmethod/InputMethodBindingController;->isVisibleBound()Z
+PLcom/android/server/inputmethod/InputMethodBindingController;->removeCurrentToken()V
+PLcom/android/server/inputmethod/InputMethodBindingController;->setCurrentMethodNotVisible()V
+PLcom/android/server/inputmethod/InputMethodBindingController;->setSelectedMethodId(Ljava/lang/String;)V
+PLcom/android/server/inputmethod/InputMethodBindingController;->supportsStylusHandwriting()Z
+PLcom/android/server/inputmethod/InputMethodBindingController;->unbindCurrentMethod()V
+PLcom/android/server/inputmethod/InputMethodBindingController;->unbindMainConnection()V
+PLcom/android/server/inputmethod/InputMethodDeviceConfigs$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/inputmethod/InputMethodDeviceConfigs;)V
+PLcom/android/server/inputmethod/InputMethodDeviceConfigs;-><init>()V
+PLcom/android/server/inputmethod/InputMethodInfoUtils$InputMethodListBuilder;-><init>()V
+PLcom/android/server/inputmethod/InputMethodInfoUtils$InputMethodListBuilder;-><init>(Lcom/android/server/inputmethod/InputMethodInfoUtils$InputMethodListBuilder-IA;)V
+PLcom/android/server/inputmethod/InputMethodInfoUtils$InputMethodListBuilder;->build()Ljava/util/ArrayList;
+PLcom/android/server/inputmethod/InputMethodInfoUtils$InputMethodListBuilder;->fillAuxiliaryImes(Ljava/util/List;Landroid/content/Context;)Lcom/android/server/inputmethod/InputMethodInfoUtils$InputMethodListBuilder;
+PLcom/android/server/inputmethod/InputMethodInfoUtils$InputMethodListBuilder;->fillImes(Ljava/util/List;Landroid/content/Context;ZLjava/util/Locale;ZLjava/lang/String;)Lcom/android/server/inputmethod/InputMethodInfoUtils$InputMethodListBuilder;
+PLcom/android/server/inputmethod/InputMethodInfoUtils$InputMethodListBuilder;->isEmpty()Z
+PLcom/android/server/inputmethod/InputMethodInfoUtils;-><clinit>()V
+PLcom/android/server/inputmethod/InputMethodInfoUtils;->chooseSystemVoiceIme(Lcom/android/server/inputmethod/InputMethodMap;Ljava/lang/String;Ljava/lang/String;)Landroid/view/inputmethod/InputMethodInfo;
+PLcom/android/server/inputmethod/InputMethodInfoUtils;->getDefaultEnabledImes(Landroid/content/Context;Ljava/util/List;Z)Ljava/util/ArrayList;
+PLcom/android/server/inputmethod/InputMethodInfoUtils;->getFallbackLocaleForDefaultIme(Ljava/util/List;Landroid/content/Context;)Ljava/util/Locale;
+PLcom/android/server/inputmethod/InputMethodInfoUtils;->getMinimumKeyboardSetWithSystemLocale(Ljava/util/List;Landroid/content/Context;Ljava/util/Locale;Ljava/util/Locale;)Lcom/android/server/inputmethod/InputMethodInfoUtils$InputMethodListBuilder;
+PLcom/android/server/inputmethod/InputMethodInfoUtils;->getMostApplicableDefaultIME(Ljava/util/List;)Landroid/view/inputmethod/InputMethodInfo;
+PLcom/android/server/inputmethod/InputMethodManagerInternal$1;-><init>()V
+PLcom/android/server/inputmethod/InputMethodManagerInternal;-><clinit>()V
+PLcom/android/server/inputmethod/InputMethodManagerInternal;-><init>()V
+PLcom/android/server/inputmethod/InputMethodManagerInternal;->get()Lcom/android/server/inputmethod/InputMethodManagerInternal;
+PLcom/android/server/inputmethod/InputMethodManagerService$$ExternalSyntheticLambda10;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$$ExternalSyntheticLambda11;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;I)V
+PLcom/android/server/inputmethod/InputMethodManagerService$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/inputmethod/InputMethodManagerService$$ExternalSyntheticLambda2;-><init>(Ljava/util/List;I)V
+PLcom/android/server/inputmethod/InputMethodManagerService$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;IILcom/android/server/inputmethod/InputMethodSettings;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$$ExternalSyntheticLambda5;->test(Ljava/lang/Object;)Z
+PLcom/android/server/inputmethod/InputMethodManagerService$$ExternalSyntheticLambda7;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;Z)V
+PLcom/android/server/inputmethod/InputMethodManagerService$$ExternalSyntheticLambda7;->runOrThrow()V
+PLcom/android/server/inputmethod/InputMethodManagerService$$ExternalSyntheticLambda8;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$$ExternalSyntheticLambda9;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$$ExternalSyntheticLambda9;->onClientRemoved(Lcom/android/server/inputmethod/ClientState;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$1;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;Lcom/android/server/inputmethod/IInputMethodInvoker;Landroid/view/InputChannel;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$1;->sessionCreated(Lcom/android/internal/inputmethod/IInputMethodSession;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$3;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/hardware/input/InputManager;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$3;->onInputDeviceChanged(I)V
+PLcom/android/server/inputmethod/InputMethodManagerService$3;->remove(I)V
+PLcom/android/server/inputmethod/InputMethodManagerService$6;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$ImmsBroadcastReceiverForAllUsers;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$ImmsBroadcastReceiverForAllUsers;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;Lcom/android/server/inputmethod/InputMethodManagerService$ImmsBroadcastReceiverForAllUsers-IA;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$InkWindowInitializer;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$InkWindowInitializer;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;Lcom/android/server/inputmethod/InputMethodManagerService$InkWindowInitializer-IA;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$InputMethodPrivilegedOperationsImpl;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$InputMethodPrivilegedOperationsImpl;->reportFullscreenModeAsync(Z)V
+PLcom/android/server/inputmethod/InputMethodManagerService$InputMethodPrivilegedOperationsImpl;->reportStartInputAsync(Landroid/os/IBinder;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$InputMethodPrivilegedOperationsImpl;->updateStatusIconAsync(Ljava/lang/String;I)V
+PLcom/android/server/inputmethod/InputMethodManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$Lifecycle;-><init>(Landroid/content/Context;Lcom/android/server/inputmethod/InputMethodManagerService;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/inputmethod/InputMethodManagerService$Lifecycle;->onStart()V
+PLcom/android/server/inputmethod/InputMethodManagerService$Lifecycle;->onUserStarting(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$Lifecycle;->onUserUnlocking(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$LocalServiceImpl;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$LocalServiceImpl;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;Lcom/android/server/inputmethod/InputMethodManagerService$LocalServiceImpl-IA;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$LocalServiceImpl;->onImeParentChanged(I)V
+PLcom/android/server/inputmethod/InputMethodManagerService$LocalServiceImpl;->removeImeSurface(I)V
+PLcom/android/server/inputmethod/InputMethodManagerService$LocalServiceImpl;->reportImeControl(Landroid/os/IBinder;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;->addKnownImePackageNameLocked(Ljava/lang/String;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;->clearKnownImePackageNamesLocked()V
+PLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;->clearPackageChangeState()V
+PLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;->isChangingPackagesOfCurrentUserLocked()Z
+PLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;->onBeginPackageChanges()V
+PLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;->onFinishPackageChanges()V
+PLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;->onFinishPackageChangesInternal()V
+PLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;->onHandleForceStop(Landroid/content/Intent;[Ljava/lang/String;IZ)Z
+PLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;->shouldRebuildInputMethodListLocked()Z
+PLcom/android/server/inputmethod/InputMethodManagerService$SessionState;-><init>(Lcom/android/server/inputmethod/ClientState;Lcom/android/server/inputmethod/IInputMethodInvoker;Lcom/android/internal/inputmethod/IInputMethodSession;Landroid/view/InputChannel;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$SettingsObserver;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/Handler;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$SettingsObserver;->registerContentObserverLocked(I)V
+PLcom/android/server/inputmethod/InputMethodManagerService$SoftInputShowHideHistory;-><clinit>()V
+PLcom/android/server/inputmethod/InputMethodManagerService$SoftInputShowHideHistory;-><init>()V
+PLcom/android/server/inputmethod/InputMethodManagerService$StartInputHistory$Entry;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService$StartInputInfo;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$StartInputHistory$Entry;->set(Lcom/android/server/inputmethod/InputMethodManagerService$StartInputInfo;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$StartInputHistory;-><init>()V
+PLcom/android/server/inputmethod/InputMethodManagerService$StartInputHistory;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService$StartInputHistory-IA;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$StartInputHistory;->addEntry(Lcom/android/server/inputmethod/InputMethodManagerService$StartInputInfo;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$StartInputHistory;->getEntrySize()I
+PLcom/android/server/inputmethod/InputMethodManagerService$StartInputInfo;-><clinit>()V
+PLcom/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;->$r8$lambda$Ldb_lZJoevH2yGpbOQAZ4KPTou4(Lcom/android/server/inputmethod/InputMethodManagerService;I)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->$r8$lambda$MzZJToGrqrCYCFD7Mqd0xPdMqLo(Lcom/android/server/inputmethod/InputMethodManagerService;Lcom/android/server/inputmethod/ClientState;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->$r8$lambda$PHzs3DePqjjuRsDB9un1spyitV8(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;Z)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->$r8$lambda$apwJ5GwwA3tRoPWo5dXQONTyNlc(Lcom/android/server/inputmethod/InputMethodManagerService;IILcom/android/server/inputmethod/InputMethodSettings;Landroid/view/inputmethod/InputMethodInfo;)Z
+PLcom/android/server/inputmethod/InputMethodManagerService;->-$$Nest$fgetmHandler(Lcom/android/server/inputmethod/InputMethodManagerService;)Landroid/os/Handler;
+PLcom/android/server/inputmethod/InputMethodManagerService;->-$$Nest$fgetmSettings(Lcom/android/server/inputmethod/InputMethodManagerService;)Lcom/android/server/inputmethod/InputMethodSettings;
+PLcom/android/server/inputmethod/InputMethodManagerService;->-$$Nest$fputmCurPerceptible(Lcom/android/server/inputmethod/InputMethodManagerService;Z)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->-$$Nest$mpublishLocalService(Lcom/android/server/inputmethod/InputMethodManagerService;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->-$$Nest$mremoveStylusDeviceIdLocked(Lcom/android/server/inputmethod/InputMethodManagerService;I)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->-$$Nest$mreportFullscreenMode(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;Z)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->-$$Nest$mreportStartInput(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;Landroid/os/IBinder;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->-$$Nest$mupdateStatusIcon(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;Ljava/lang/String;I)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->-$$Nest$smisStylusDevice(Landroid/view/InputDevice;)Z
+PLcom/android/server/inputmethod/InputMethodManagerService;-><clinit>()V
+PLcom/android/server/inputmethod/InputMethodManagerService;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/inputmethod/InputMethodManagerService;-><init>(Landroid/content/Context;Lcom/android/server/ServiceThread;Lcom/android/server/inputmethod/InputMethodBindingController;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->addClient(Lcom/android/internal/inputmethod/IInputMethodClient;Lcom/android/internal/inputmethod/IRemoteInputConnection;I)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->advanceSequenceNumberLocked()V
+PLcom/android/server/inputmethod/InputMethodManagerService;->attachNewAccessibilityLocked(IZ)V
+HPLcom/android/server/inputmethod/InputMethodManagerService;->attachNewInputLocked(IZ)Lcom/android/internal/inputmethod/InputBindResult;
+HPLcom/android/server/inputmethod/InputMethodManagerService;->buildInputMethodListLocked(Z)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->calledWithValidTokenLocked(Landroid/os/IBinder;)Z
+PLcom/android/server/inputmethod/InputMethodManagerService;->canCallerAccessInputMethod(Ljava/lang/String;IILcom/android/server/inputmethod/InputMethodSettings;)Z
+PLcom/android/server/inputmethod/InputMethodManagerService;->chooseNewDefaultIMELocked()Z
+PLcom/android/server/inputmethod/InputMethodManagerService;->clearClientSessionForAccessibilityLocked(Lcom/android/server/inputmethod/ClientState;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->clearClientSessionLocked(Lcom/android/server/inputmethod/ClientState;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->clearClientSessionsLocked()V
+PLcom/android/server/inputmethod/InputMethodManagerService;->computeCurrentDeviceMethodIdLocked(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/inputmethod/InputMethodManagerService;->computeImeDisplayIdForTarget(ILcom/android/server/inputmethod/InputMethodManagerService$ImeDisplayValidator;)I
+PLcom/android/server/inputmethod/InputMethodManagerService;->createAccessibilityInputMethodSessions(Landroid/util/SparseArray;)Landroid/util/SparseArray;
+PLcom/android/server/inputmethod/InputMethodManagerService;->createStatsTokenForFocusedClient(ZIIZ)Landroid/view/inputmethod/ImeTracker$Token;
+PLcom/android/server/inputmethod/InputMethodManagerService;->filterInputMethodServices(Lcom/android/server/inputmethod/AdditionalSubtypeMap;Ljava/util/List;Landroid/content/Context;Ljava/util/List;)Lcom/android/server/inputmethod/InputMethodMap;
+PLcom/android/server/inputmethod/InputMethodManagerService;->finishSessionLocked(Lcom/android/server/inputmethod/InputMethodManagerService$SessionState;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->getCurIdLocked()Ljava/lang/String;
+PLcom/android/server/inputmethod/InputMethodManagerService;->getCurMethodLocked()Lcom/android/server/inputmethod/IInputMethodInvoker;
+PLcom/android/server/inputmethod/InputMethodManagerService;->getCurMethodUidLocked()I
+PLcom/android/server/inputmethod/InputMethodManagerService;->getCurTokenDisplayIdLocked()I
+PLcom/android/server/inputmethod/InputMethodManagerService;->getCurTokenLocked()Landroid/os/IBinder;
+PLcom/android/server/inputmethod/InputMethodManagerService;->getCurrentImeUserIdLocked()I
+PLcom/android/server/inputmethod/InputMethodManagerService;->getDisplayIdToShowImeLocked()I
+PLcom/android/server/inputmethod/InputMethodManagerService;->getEnabledInputMethodList(I)Ljava/util/List;
+PLcom/android/server/inputmethod/InputMethodManagerService;->getEnabledInputMethodListLocked(II)Ljava/util/List;
+PLcom/android/server/inputmethod/InputMethodManagerService;->getImeTrackerService()Lcom/android/internal/inputmethod/IImeTracker;
+PLcom/android/server/inputmethod/InputMethodManagerService;->getInputMethodNavButtonFlagsLocked()I
+PLcom/android/server/inputmethod/InputMethodManagerService;->getLastBindTimeLocked()J
+PLcom/android/server/inputmethod/InputMethodManagerService;->getPackageManagerForUser(Landroid/content/Context;I)Landroid/content/pm/PackageManager;
+PLcom/android/server/inputmethod/InputMethodManagerService;->getSelectedMethodIdLocked()Ljava/lang/String;
+PLcom/android/server/inputmethod/InputMethodManagerService;->getSequenceNumberLocked()I
+PLcom/android/server/inputmethod/InputMethodManagerService;->getStylusInputDeviceIds(Landroid/hardware/input/InputManager;)Landroid/util/IntArray;
+PLcom/android/server/inputmethod/InputMethodManagerService;->handleMessage(Landroid/os/Message;)Z
+PLcom/android/server/inputmethod/InputMethodManagerService;->hasConnectionLocked()Z
+HPLcom/android/server/inputmethod/InputMethodManagerService;->hideCurrentInputLocked(Landroid/os/IBinder;Landroid/view/inputmethod/ImeTracker$Token;ILandroid/os/ResultReceiver;I)Z
+PLcom/android/server/inputmethod/InputMethodManagerService;->hideStatusBarIconLocked()V
+PLcom/android/server/inputmethod/InputMethodManagerService;->initializeImeLocked(Lcom/android/server/inputmethod/IInputMethodInvoker;Landroid/os/IBinder;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->isImeTraceEnabled()Z
+PLcom/android/server/inputmethod/InputMethodManagerService;->isSelectedMethodBoundLocked()Z
+PLcom/android/server/inputmethod/InputMethodManagerService;->isShowRequestedForCurrentWindow()Z
+PLcom/android/server/inputmethod/InputMethodManagerService;->isStylusDevice(Landroid/view/InputDevice;)Z
+PLcom/android/server/inputmethod/InputMethodManagerService;->lambda$getEnabledInputMethodListLocked$6(IILcom/android/server/inputmethod/InputMethodSettings;Landroid/view/inputmethod/InputMethodInfo;)Z
+PLcom/android/server/inputmethod/InputMethodManagerService;->lambda$new$0(Lcom/android/server/inputmethod/ClientState;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->lambda$reportPerceptibleAsync$7(Landroid/os/IBinder;Z)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->lambda$systemRunning$4(I)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->maybeInitImeNavbarConfigLocked(I)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->notifyInputMethodSubtypeChangedLocked(ILandroid/view/inputmethod/InputMethodInfo;Landroid/view/inputmethod/InputMethodSubtype;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->onClientRemoved(Lcom/android/server/inputmethod/ClientState;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->onSessionCreated(Lcom/android/server/inputmethod/IInputMethodInvoker;Lcom/android/internal/inputmethod/IInputMethodSession;Landroid/view/InputChannel;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->onUnbindCurrentMethodByReset()V
+PLcom/android/server/inputmethod/InputMethodManagerService;->onUnlockUser(I)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->performOnCreateInlineSuggestionsRequestLocked()V
+PLcom/android/server/inputmethod/InputMethodManagerService;->prepareClientSwitchLocked(Lcom/android/server/inputmethod/ClientState;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->publishLocalService()V
+PLcom/android/server/inputmethod/InputMethodManagerService;->queryInputMethodForCurrentUserLocked(Ljava/lang/String;)Landroid/view/inputmethod/InputMethodInfo;
+PLcom/android/server/inputmethod/InputMethodManagerService;->queryInputMethodServicesInternal(Landroid/content/Context;ILcom/android/server/inputmethod/AdditionalSubtypeMap;I)Lcom/android/server/inputmethod/InputMethodSettings;
+PLcom/android/server/inputmethod/InputMethodManagerService;->reRequestCurrentClientSessionLocked()V
+PLcom/android/server/inputmethod/InputMethodManagerService;->registerDeviceListenerAndCheckStylusSupport()V
+PLcom/android/server/inputmethod/InputMethodManagerService;->removeImeSurfaceFromWindowAsync(Landroid/os/IBinder;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->removeStylusDeviceIdLocked(I)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->reportFullscreenMode(Landroid/os/IBinder;Z)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->reportPerceptibleAsync(Landroid/os/IBinder;Z)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->reportStartInput(Landroid/os/IBinder;Landroid/os/IBinder;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->requestClientSessionForAccessibilityLocked(Lcom/android/server/inputmethod/ClientState;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->requestClientSessionLocked(Lcom/android/server/inputmethod/ClientState;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->resetCurrentMethodAndClientLocked(I)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->resetSelectedInputMethodAndSubtypeLocked(Ljava/lang/String;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->resetSystemUiLocked()V
+PLcom/android/server/inputmethod/InputMethodManagerService;->scheduleNotifyImeUidToAudioService(I)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->scheduleResetStylusHandwriting()V
+PLcom/android/server/inputmethod/InputMethodManagerService;->sendOnNavButtonFlagsChangedLocked()V
+PLcom/android/server/inputmethod/InputMethodManagerService;->setCurTokenDisplayIdLocked(I)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->setEnabledSessionForAccessibilityLocked(Landroid/util/SparseArray;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->setEnabledSessionLocked(Lcom/android/server/inputmethod/InputMethodManagerService$SessionState;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->setInputMethodEnabledLocked(Ljava/lang/String;Z)Z
+PLcom/android/server/inputmethod/InputMethodManagerService;->setInputMethodLocked(Ljava/lang/String;I)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->setInputMethodLocked(Ljava/lang/String;II)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->setSelectedInputMethodAndSubtypeLocked(Landroid/view/inputmethod/InputMethodInfo;IZ)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->setSelectedMethodIdLocked(Ljava/lang/String;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->shouldPreventImeStartupLocked(Ljava/lang/String;II)Z
+PLcom/android/server/inputmethod/InputMethodManagerService;->shouldShowImeSwitcherLocked(I)Z
+HPLcom/android/server/inputmethod/InputMethodManagerService;->startInputOrWindowGainedFocus(ILcom/android/internal/inputmethod/IInputMethodClient;Landroid/os/IBinder;IIILandroid/view/inputmethod/EditorInfo;Lcom/android/internal/inputmethod/IRemoteInputConnection;Lcom/android/internal/inputmethod/IRemoteAccessibilityInputConnection;IILandroid/window/ImeOnBackInvokedDispatcher;)Lcom/android/internal/inputmethod/InputBindResult;
+HPLcom/android/server/inputmethod/InputMethodManagerService;->startInputOrWindowGainedFocusInternalLocked(ILcom/android/internal/inputmethod/IInputMethodClient;Landroid/os/IBinder;IIILandroid/view/inputmethod/EditorInfo;Lcom/android/internal/inputmethod/IRemoteInputConnection;Lcom/android/internal/inputmethod/IRemoteAccessibilityInputConnection;IILandroid/window/ImeOnBackInvokedDispatcher;Lcom/android/server/inputmethod/ClientState;)Lcom/android/internal/inputmethod/InputBindResult;
+HPLcom/android/server/inputmethod/InputMethodManagerService;->startInputUncheckedLocked(Lcom/android/server/inputmethod/ClientState;Lcom/android/internal/inputmethod/IRemoteInputConnection;Lcom/android/internal/inputmethod/IRemoteAccessibilityInputConnection;Landroid/view/inputmethod/EditorInfo;IIILandroid/window/ImeOnBackInvokedDispatcher;)Lcom/android/internal/inputmethod/InputBindResult;
+PLcom/android/server/inputmethod/InputMethodManagerService;->systemRunning()V
+PLcom/android/server/inputmethod/InputMethodManagerService;->tryReuseConnectionLocked(Lcom/android/server/inputmethod/ClientState;)Lcom/android/internal/inputmethod/InputBindResult;
+PLcom/android/server/inputmethod/InputMethodManagerService;->unbindCurrentClientLocked(I)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->updateDefaultVoiceImeIfNeededLocked()V
+PLcom/android/server/inputmethod/InputMethodManagerService;->updateFromSettingsLocked(Z)V
+HPLcom/android/server/inputmethod/InputMethodManagerService;->updateInputMethodsFromSettingsLocked(Z)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->updateStatusIcon(Landroid/os/IBinder;Ljava/lang/String;I)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->updateSystemUiLocked()V
+PLcom/android/server/inputmethod/InputMethodManagerService;->updateSystemUiLocked(II)V
+PLcom/android/server/inputmethod/InputMethodMap;-><clinit>()V
+PLcom/android/server/inputmethod/InputMethodMap;-><init>(Landroid/util/ArrayMap;)V
+PLcom/android/server/inputmethod/InputMethodMap;->containsKey(Ljava/lang/String;)Z
+PLcom/android/server/inputmethod/InputMethodMap;->emptyMap()Lcom/android/server/inputmethod/InputMethodMap;
+PLcom/android/server/inputmethod/InputMethodMap;->get(Ljava/lang/String;)Landroid/view/inputmethod/InputMethodInfo;
+PLcom/android/server/inputmethod/InputMethodMap;->of(Landroid/util/ArrayMap;)Lcom/android/server/inputmethod/InputMethodMap;
+PLcom/android/server/inputmethod/InputMethodMap;->values()Ljava/util/List;
+PLcom/android/server/inputmethod/InputMethodMenuController;-><clinit>()V
+PLcom/android/server/inputmethod/InputMethodMenuController;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;)V
+PLcom/android/server/inputmethod/InputMethodMenuController;->getSwitchingDialogLocked()Landroid/app/AlertDialog;
+PLcom/android/server/inputmethod/InputMethodMenuController;->hideInputMethodMenuLocked()V
+PLcom/android/server/inputmethod/InputMethodMenuController;->updateKeyboardFromSettingsLocked()V
+PLcom/android/server/inputmethod/InputMethodSettings;-><clinit>()V
+PLcom/android/server/inputmethod/InputMethodSettings;-><init>(Lcom/android/server/inputmethod/InputMethodMap;I)V
+PLcom/android/server/inputmethod/InputMethodSettings;->addSubtypeToHistory(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/inputmethod/InputMethodSettings;->create(Lcom/android/server/inputmethod/InputMethodMap;I)Lcom/android/server/inputmethod/InputMethodSettings;
+PLcom/android/server/inputmethod/InputMethodSettings;->createEmptyMap(I)Lcom/android/server/inputmethod/InputMethodSettings;
+HPLcom/android/server/inputmethod/InputMethodSettings;->createEnabledInputMethodList(Ljava/util/List;Ljava/util/function/Predicate;)Ljava/util/ArrayList;
+PLcom/android/server/inputmethod/InputMethodSettings;->getDefaultVoiceInputMethod()Ljava/lang/String;
+PLcom/android/server/inputmethod/InputMethodSettings;->getEnabledInputMethodList()Ljava/util/ArrayList;
+PLcom/android/server/inputmethod/InputMethodSettings;->getEnabledInputMethodListWithFilter(Ljava/util/function/Predicate;)Ljava/util/ArrayList;
+HPLcom/android/server/inputmethod/InputMethodSettings;->getEnabledInputMethodSubtypeList(Landroid/view/inputmethod/InputMethodInfo;)Ljava/util/List;
+PLcom/android/server/inputmethod/InputMethodSettings;->getEnabledInputMethodSubtypeList(Landroid/view/inputmethod/InputMethodInfo;Z)Ljava/util/List;
+HPLcom/android/server/inputmethod/InputMethodSettings;->getEnabledInputMethodsAndSubtypeList()Ljava/util/List;
+PLcom/android/server/inputmethod/InputMethodSettings;->getEnabledInputMethodsStr()Ljava/lang/String;
+PLcom/android/server/inputmethod/InputMethodSettings;->getInt(Ljava/lang/String;I)I
+PLcom/android/server/inputmethod/InputMethodSettings;->getMethodList()Ljava/util/List;
+PLcom/android/server/inputmethod/InputMethodSettings;->getMethodMap()Lcom/android/server/inputmethod/InputMethodMap;
+PLcom/android/server/inputmethod/InputMethodSettings;->getSelectedInputMethod()Ljava/lang/String;
+PLcom/android/server/inputmethod/InputMethodSettings;->getSelectedInputMethodSubtypeHashCode()I
+PLcom/android/server/inputmethod/InputMethodSettings;->getSelectedInputMethodSubtypeId(Ljava/lang/String;)I
+PLcom/android/server/inputmethod/InputMethodSettings;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/inputmethod/InputMethodSettings;->getSubtypeHistoryStr()Ljava/lang/String;
+PLcom/android/server/inputmethod/InputMethodSettings;->getUserId()I
+PLcom/android/server/inputmethod/InputMethodSettings;->loadInputMethodAndSubtypeHistory()Ljava/util/List;
+PLcom/android/server/inputmethod/InputMethodSettings;->putInt(Ljava/lang/String;I)V
+PLcom/android/server/inputmethod/InputMethodSettings;->putSelectedDefaultDeviceInputMethod(Ljava/lang/String;)V
+PLcom/android/server/inputmethod/InputMethodSettings;->putSelectedInputMethod(Ljava/lang/String;)V
+PLcom/android/server/inputmethod/InputMethodSettings;->putSelectedSubtype(I)V
+PLcom/android/server/inputmethod/InputMethodSettings;->putString(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/inputmethod/InputMethodSettings;->putSubtypeHistoryStr(Ljava/lang/String;)V
+PLcom/android/server/inputmethod/InputMethodSettings;->saveCurrentInputMethodAndSubtypeToHistory(Ljava/lang/String;Landroid/view/inputmethod/InputMethodSubtype;)V
+PLcom/android/server/inputmethod/InputMethodSettings;->saveSubtypeHistory(Ljava/util/List;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;-><init>(Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$DynamicRotationList;Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$StaticRotationList;)V
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;->createFrom(Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;Ljava/util/List;)Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;->filterImeSubtypeList(Ljava/util/List;Z)Ljava/util/List;
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$DynamicRotationList;->-$$Nest$fgetmImeSubtypeList(Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$DynamicRotationList;)Ljava/util/List;
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$DynamicRotationList;-><clinit>()V
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$DynamicRotationList;-><init>(Ljava/util/List;)V
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$DynamicRotationList;-><init>(Ljava/util/List;Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$DynamicRotationList-IA;)V
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ImeSubtypeListItem;-><init>(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/view/inputmethod/InputMethodInfo;ILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ImeSubtypeListItem;->equals(Ljava/lang/Object;)Z
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$StaticRotationList;->-$$Nest$fgetmImeSubtypeList(Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$StaticRotationList;)Ljava/util/List;
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$StaticRotationList;-><init>(Ljava/util/List;)V
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController;-><clinit>()V
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController;-><init>(Landroid/content/Context;Lcom/android/server/inputmethod/InputMethodMap;I)V
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController;->createInstanceLocked(Landroid/content/Context;Lcom/android/server/inputmethod/InputMethodMap;I)Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController;
+HPLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController;->getSortedInputMethodAndSubtypeList(ZZZLandroid/content/Context;Lcom/android/server/inputmethod/InputMethodMap;I)Ljava/util/List;
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController;->getUserId()I
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController;->resetCircularListLocked(Lcom/android/server/inputmethod/InputMethodMap;)V
+PLcom/android/server/inputmethod/InputMethodUtils$$ExternalSyntheticLambda0;-><init>(Ljava/util/ArrayList;)V
+PLcom/android/server/inputmethod/InputMethodUtils$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
+PLcom/android/server/inputmethod/InputMethodUtils$$ExternalSyntheticLambda1;-><init>(Landroid/util/ArraySet;)V
+PLcom/android/server/inputmethod/InputMethodUtils$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;)V
+PLcom/android/server/inputmethod/InputMethodUtils;->canAddToLastInputMethod(Landroid/view/inputmethod/InputMethodSubtype;)Z
+PLcom/android/server/inputmethod/InputMethodUtils;->checkIfPackageBelongsToUid(Landroid/content/pm/PackageManagerInternal;ILjava/lang/String;)Z
+PLcom/android/server/inputmethod/InputMethodUtils;->concatEnabledImeIds(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/inputmethod/InputMethodUtils;->convertIdToComponentName(Ljava/lang/String;)Landroid/content/ComponentName;
+PLcom/android/server/inputmethod/InputMethodUtils;->getEnabledInputMethodIdsForFiltering(Landroid/content/Context;I)Ljava/util/List;
+PLcom/android/server/inputmethod/InputMethodUtils;->isSoftInputModeStateVisibleAllowed(II)Z
+PLcom/android/server/inputmethod/InputMethodUtils;->resolveUserId(IILjava/io/PrintWriter;)[I
+PLcom/android/server/inputmethod/InputMethodUtils;->setNonSelectedSystemImesDisabledUntilUsed(Landroid/content/pm/PackageManager;Ljava/util/List;)V
+PLcom/android/server/inputmethod/InputMethodUtils;->splitEnabledImeStr(Ljava/lang/String;Ljava/util/function/Consumer;)V
+PLcom/android/server/inputmethod/LocaleUtils;->getSystemLocaleFromContext(Landroid/content/Context;)Ljava/util/Locale;
+PLcom/android/server/inputmethod/OverlayableSystemBooleanResourceWrapper$$ExternalSyntheticLambda0;-><init>(Landroid/content/Context;Landroid/content/BroadcastReceiver;)V
+PLcom/android/server/inputmethod/OverlayableSystemBooleanResourceWrapper$1;-><init>(Landroid/content/Context;ILjava/util/concurrent/atomic/AtomicBoolean;Ljava/util/function/Consumer;Lcom/android/server/inputmethod/OverlayableSystemBooleanResourceWrapper;)V
+PLcom/android/server/inputmethod/OverlayableSystemBooleanResourceWrapper;-><init>(ILjava/util/concurrent/atomic/AtomicBoolean;Ljava/util/concurrent/atomic/AtomicReference;)V
+PLcom/android/server/inputmethod/OverlayableSystemBooleanResourceWrapper;->create(Landroid/content/Context;ILandroid/os/Handler;Ljava/util/function/Consumer;)Lcom/android/server/inputmethod/OverlayableSystemBooleanResourceWrapper;
+PLcom/android/server/inputmethod/OverlayableSystemBooleanResourceWrapper;->evaluate(Landroid/content/Context;I)Z
+PLcom/android/server/inputmethod/OverlayableSystemBooleanResourceWrapper;->get()Z
+PLcom/android/server/inputmethod/SecureSettingsWrapper$1;-><init>()V
+PLcom/android/server/inputmethod/SecureSettingsWrapper$2;-><init>(I)V
+PLcom/android/server/inputmethod/SecureSettingsWrapper$LockedUserImpl;-><init>(ILandroid/content/ContentResolver;)V
+PLcom/android/server/inputmethod/SecureSettingsWrapper$LockedUserImpl;->getInt(Ljava/lang/String;I)I
+PLcom/android/server/inputmethod/SecureSettingsWrapper$LockedUserImpl;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/inputmethod/SecureSettingsWrapper$LockedUserImpl;->putInt(Ljava/lang/String;I)V
+PLcom/android/server/inputmethod/SecureSettingsWrapper$LockedUserImpl;->putString(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/inputmethod/SecureSettingsWrapper$UnlockedUserImpl;-><init>(ILandroid/content/ContentResolver;)V
+PLcom/android/server/inputmethod/SecureSettingsWrapper$UnlockedUserImpl;->getInt(Ljava/lang/String;I)I
+HPLcom/android/server/inputmethod/SecureSettingsWrapper$UnlockedUserImpl;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/inputmethod/SecureSettingsWrapper$UnlockedUserImpl;->putInt(Ljava/lang/String;I)V
+PLcom/android/server/inputmethod/SecureSettingsWrapper$UnlockedUserImpl;->putString(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/inputmethod/SecureSettingsWrapper;->-$$Nest$smgetUserIdForClonedSettings(Ljava/lang/String;I)I
+PLcom/android/server/inputmethod/SecureSettingsWrapper;-><clinit>()V
+PLcom/android/server/inputmethod/SecureSettingsWrapper;->createImpl(Lcom/android/server/pm/UserManagerInternal;I)Lcom/android/server/inputmethod/SecureSettingsWrapper$ReaderWriter;
+HPLcom/android/server/inputmethod/SecureSettingsWrapper;->get(I)Lcom/android/server/inputmethod/SecureSettingsWrapper$ReaderWriter;
+PLcom/android/server/inputmethod/SecureSettingsWrapper;->getBoolean(Ljava/lang/String;ZI)Z
+PLcom/android/server/inputmethod/SecureSettingsWrapper;->getInt(Ljava/lang/String;II)I
+PLcom/android/server/inputmethod/SecureSettingsWrapper;->getString(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
+PLcom/android/server/inputmethod/SecureSettingsWrapper;->getUserIdForClonedSettings(Ljava/lang/String;I)I
+PLcom/android/server/inputmethod/SecureSettingsWrapper;->onStart(Landroid/content/Context;)V
+PLcom/android/server/inputmethod/SecureSettingsWrapper;->onUserStarting(I)V
+PLcom/android/server/inputmethod/SecureSettingsWrapper;->onUserUnlocking(I)V
+PLcom/android/server/inputmethod/SecureSettingsWrapper;->putInt(Ljava/lang/String;II)V
+PLcom/android/server/inputmethod/SecureSettingsWrapper;->putOrGet(ILcom/android/server/inputmethod/SecureSettingsWrapper$ReaderWriter;)Lcom/android/server/inputmethod/SecureSettingsWrapper$ReaderWriter;
+PLcom/android/server/inputmethod/SecureSettingsWrapper;->putString(Ljava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/inputmethod/SubtypeUtils$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/inputmethod/SubtypeUtils;-><clinit>()V
+PLcom/android/server/inputmethod/SubtypeUtils;->getImplicitlyApplicableSubtypes(Landroid/os/LocaleList;Landroid/view/inputmethod/InputMethodInfo;)Ljava/util/ArrayList;
+PLcom/android/server/inputmethod/SubtypeUtils;->getImplicitlyApplicableSubtypesImpl(Landroid/os/LocaleList;Landroid/view/inputmethod/InputMethodInfo;)Ljava/util/ArrayList;
+PLcom/android/server/inputmethod/SubtypeUtils;->getSubtypeIdFromHashCode(Landroid/view/inputmethod/InputMethodInfo;I)I
+PLcom/android/server/inputmethod/SubtypeUtils;->getSubtypes(Landroid/view/inputmethod/InputMethodInfo;)Ljava/util/ArrayList;
+PLcom/android/server/inputmethod/SystemLocaleWrapper$LocaleChangeListener;-><init>(Landroid/content/Context;Lcom/android/server/inputmethod/SystemLocaleWrapper$Callback;)V
+PLcom/android/server/inputmethod/SystemLocaleWrapper;-><clinit>()V
+PLcom/android/server/inputmethod/SystemLocaleWrapper;->get(I)Landroid/os/LocaleList;
+PLcom/android/server/inputmethod/SystemLocaleWrapper;->onStart(Landroid/content/Context;Lcom/android/server/inputmethod/SystemLocaleWrapper$Callback;Landroid/os/Handler;)V
+PLcom/android/server/integrity/AppIntegrityManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/integrity/AppIntegrityManagerService;->onStart()V
+PLcom/android/server/integrity/AppIntegrityManagerServiceImpl$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/integrity/AppIntegrityManagerServiceImpl$1;-><init>(Lcom/android/server/integrity/AppIntegrityManagerServiceImpl;)V
+PLcom/android/server/integrity/AppIntegrityManagerServiceImpl;-><clinit>()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;->create(Landroid/content/Context;)Lcom/android/server/integrity/AppIntegrityManagerServiceImpl;
+PLcom/android/server/integrity/IntegrityFileManager;-><clinit>()V
+PLcom/android/server/integrity/IntegrityFileManager;-><init>()V
+PLcom/android/server/integrity/IntegrityFileManager;-><init>(Lcom/android/server/integrity/parser/RuleParser;Lcom/android/server/integrity/serializer/RuleSerializer;Ljava/io/File;)V
+PLcom/android/server/integrity/IntegrityFileManager;->getInstance()Lcom/android/server/integrity/IntegrityFileManager;
+PLcom/android/server/integrity/IntegrityFileManager;->updateRuleIndexingController()V
+PLcom/android/server/integrity/engine/RuleEvaluationEngine;-><init>(Lcom/android/server/integrity/IntegrityFileManager;)V
+PLcom/android/server/integrity/engine/RuleEvaluationEngine;->getRuleEvaluationEngine()Lcom/android/server/integrity/engine/RuleEvaluationEngine;
+PLcom/android/server/integrity/parser/RuleBinaryParser;-><init>()V
+PLcom/android/server/integrity/serializer/RuleBinarySerializer;-><init>()V
+PLcom/android/server/job/FeatureFlagsImpl;-><clinit>()V
+PLcom/android/server/job/FeatureFlagsImpl;-><init>()V
+PLcom/android/server/job/FeatureFlagsImpl;->batchActiveBucketJobs()Z
+PLcom/android/server/job/FeatureFlagsImpl;->batchConnectivityJobsPerNetwork()Z
+PLcom/android/server/job/FeatureFlagsImpl;->doNotForceRushExecutionAtBoot()Z
+PLcom/android/server/job/FeatureFlagsImpl;->load_overrides_backstage_power()V
+PLcom/android/server/job/Flags;-><clinit>()V
+PLcom/android/server/job/Flags;->batchActiveBucketJobs()Z
+PLcom/android/server/job/Flags;->batchConnectivityJobsPerNetwork()Z
+PLcom/android/server/job/GrantedUriPermissions;->checkGrantFlags(I)Z
+PLcom/android/server/job/JobConcurrencyManager$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/job/JobConcurrencyManager$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
+PLcom/android/server/job/JobConcurrencyManager$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/job/JobConcurrencyManager;)V
+PLcom/android/server/job/JobConcurrencyManager$$ExternalSyntheticLambda2;-><init>()V
+PLcom/android/server/job/JobConcurrencyManager$$ExternalSyntheticLambda2;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+PLcom/android/server/job/JobConcurrencyManager$1;-><init>(Lcom/android/server/job/JobConcurrencyManager;)V
+PLcom/android/server/job/JobConcurrencyManager$AssignmentInfo;-><init>()V
+HPLcom/android/server/job/JobConcurrencyManager$AssignmentInfo;->clear()V
+PLcom/android/server/job/JobConcurrencyManager$ContextAssignment;-><init>()V
+HPLcom/android/server/job/JobConcurrencyManager$ContextAssignment;->clear()V
+PLcom/android/server/job/JobConcurrencyManager$GracePeriodObserver;-><init>(Landroid/content/Context;)V
+PLcom/android/server/job/JobConcurrencyManager$Injector;-><init>()V
+PLcom/android/server/job/JobConcurrencyManager$Injector;->createJobServiceContext(Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobConcurrencyManager;Lcom/android/server/job/JobNotificationCoordinator;Lcom/android/internal/app/IBatteryStats;Lcom/android/server/job/JobPackageTracker;Landroid/os/Looper;)Lcom/android/server/job/JobServiceContext;
+PLcom/android/server/job/JobConcurrencyManager$PackageStats;->-$$Nest$madjustRunningCount(Lcom/android/server/job/JobConcurrencyManager$PackageStats;ZZ)V
+PLcom/android/server/job/JobConcurrencyManager$PackageStats;->-$$Nest$madjustStagedCount(Lcom/android/server/job/JobConcurrencyManager$PackageStats;ZZ)V
+PLcom/android/server/job/JobConcurrencyManager$PackageStats;->-$$Nest$mresetStagedCount(Lcom/android/server/job/JobConcurrencyManager$PackageStats;)V
+PLcom/android/server/job/JobConcurrencyManager$PackageStats;->-$$Nest$msetPackage(Lcom/android/server/job/JobConcurrencyManager$PackageStats;ILjava/lang/String;)V
+PLcom/android/server/job/JobConcurrencyManager$PackageStats;-><init>()V
+HPLcom/android/server/job/JobConcurrencyManager$PackageStats;->adjustRunningCount(ZZ)V
+HPLcom/android/server/job/JobConcurrencyManager$PackageStats;->adjustStagedCount(ZZ)V
+HPLcom/android/server/job/JobConcurrencyManager$PackageStats;->resetStagedCount()V
+HPLcom/android/server/job/JobConcurrencyManager$PackageStats;->setPackage(ILjava/lang/String;)V
+PLcom/android/server/job/JobConcurrencyManager$WorkConfigLimitsPerMemoryTrimLevel;-><init>(Lcom/android/server/job/JobConcurrencyManager$WorkTypeConfig;Lcom/android/server/job/JobConcurrencyManager$WorkTypeConfig;Lcom/android/server/job/JobConcurrencyManager$WorkTypeConfig;Lcom/android/server/job/JobConcurrencyManager$WorkTypeConfig;)V
+PLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;-><init>()V
+HPLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;->adjustPendingJobCount(IZ)I
+HPLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;->canJobStart(I)I
+PLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;->decrementPendingJobCount(I)V
+HPLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;->getRunningJobCount(I)I
+PLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;->incrementPendingJobCount(I)V
+HPLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;->incrementRunningJobCount(I)V
+HPLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;->maybeAdjustReservations(I)V
+HPLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;->onCountDone()V
+HPLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;->onJobFinished(I)V
+HPLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;->onJobStarted(I)V
+HPLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;->resetCounts()V
+HPLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;->resetStagingCount()V
+HPLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;->setConfig(Lcom/android/server/job/JobConcurrencyManager$WorkTypeConfig;)V
+HPLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;->stageJob(II)V
+HPLcom/android/server/job/JobConcurrencyManager$WorkTypeConfig;-><init>(Ljava/lang/String;IILjava/util/List;Ljava/util/List;)V
+PLcom/android/server/job/JobConcurrencyManager$WorkTypeConfig;->getMax(I)I
+PLcom/android/server/job/JobConcurrencyManager$WorkTypeConfig;->getMaxTotal()I
+PLcom/android/server/job/JobConcurrencyManager$WorkTypeConfig;->getMaxValue(Landroid/provider/DeviceConfig$Properties;Ljava/lang/String;II)I
+PLcom/android/server/job/JobConcurrencyManager$WorkTypeConfig;->getMinReserved(I)I
+PLcom/android/server/job/JobConcurrencyManager$WorkTypeConfig;->getMinValue(Landroid/provider/DeviceConfig$Properties;Ljava/lang/String;III)I
+HPLcom/android/server/job/JobConcurrencyManager$WorkTypeConfig;->update(Landroid/provider/DeviceConfig$Properties;I)V
+PLcom/android/server/job/JobConcurrencyManager;->$r8$lambda$VhD--0a_vmTAP5SEQ54BuaJ_sSE(Lcom/android/server/job/JobConcurrencyManager$ContextAssignment;Lcom/android/server/job/JobConcurrencyManager$ContextAssignment;)I
+PLcom/android/server/job/JobConcurrencyManager;->$r8$lambda$nNxi-L4_H0efU9cBGIS9vGrT-zc(Lcom/android/server/job/JobConcurrencyManager$PackageStats;)V
+HPLcom/android/server/job/JobConcurrencyManager;-><clinit>()V
+PLcom/android/server/job/JobConcurrencyManager;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+HPLcom/android/server/job/JobConcurrencyManager;-><init>(Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobConcurrencyManager$Injector;)V
+HPLcom/android/server/job/JobConcurrencyManager;->assignJobsToContextsInternalLocked()V
+HPLcom/android/server/job/JobConcurrencyManager;->assignJobsToContextsLocked()V
+HPLcom/android/server/job/JobConcurrencyManager;->carryOutAssignmentChangesLocked(Landroid/util/ArraySet;)V
+HPLcom/android/server/job/JobConcurrencyManager;->cleanUpAfterAssignmentChangesLocked(Landroid/util/ArraySet;Landroid/util/ArraySet;Ljava/util/List;Ljava/util/List;Lcom/android/server/job/JobConcurrencyManager$AssignmentInfo;Landroid/util/SparseIntArray;)V
+HPLcom/android/server/job/JobConcurrencyManager;->determineAssignmentsLocked(Landroid/util/ArraySet;Landroid/util/ArraySet;Ljava/util/List;Ljava/util/List;Lcom/android/server/job/JobConcurrencyManager$AssignmentInfo;)V
+HPLcom/android/server/job/JobConcurrencyManager;->getJobWorkTypes(Lcom/android/server/job/controllers/JobStatus;)I
+HPLcom/android/server/job/JobConcurrencyManager;->getPkgStatsLocked(ILjava/lang/String;)Lcom/android/server/job/JobConcurrencyManager$PackageStats;
+HPLcom/android/server/job/JobConcurrencyManager;->getRunningJobsLocked()Landroid/util/ArraySet;
+HPLcom/android/server/job/JobConcurrencyManager;->hasImmediacyPrivilegeLocked(Lcom/android/server/job/controllers/JobStatus;Landroid/util/SparseIntArray;)Z
+HPLcom/android/server/job/JobConcurrencyManager;->isJobRunningLocked(Lcom/android/server/job/controllers/JobStatus;)Z
+PLcom/android/server/job/JobConcurrencyManager;->isNotificationAssociatedWithAnyUserInitiatedJobs(IILjava/lang/String;)Z
+PLcom/android/server/job/JobConcurrencyManager;->isNotificationChannelAssociatedWithAnyUserInitiatedJobs(Ljava/lang/String;ILjava/lang/String;)Z
+HPLcom/android/server/job/JobConcurrencyManager;->isPkgConcurrencyLimitedLocked(Lcom/android/server/job/controllers/JobStatus;)Z
+HPLcom/android/server/job/JobConcurrencyManager;->lambda$static$0(Lcom/android/server/job/JobConcurrencyManager$ContextAssignment;Lcom/android/server/job/JobConcurrencyManager$ContextAssignment;)I
+HPLcom/android/server/job/JobConcurrencyManager;->noteConcurrency(Z)V
+PLcom/android/server/job/JobConcurrencyManager;->onInteractiveStateChanged(Z)V
+HPLcom/android/server/job/JobConcurrencyManager;->onJobCompletedLocked(Lcom/android/server/job/JobServiceContext;Lcom/android/server/job/controllers/JobStatus;I)V
+PLcom/android/server/job/JobConcurrencyManager;->onSystemReady()V
+PLcom/android/server/job/JobConcurrencyManager;->onThirdPartyAppsCanStart()V
+PLcom/android/server/job/JobConcurrencyManager;->onUidBiasChangedLocked(II)V
+HPLcom/android/server/job/JobConcurrencyManager;->prepareForAssignmentDeterminationLocked(Landroid/util/ArraySet;Ljava/util/List;Ljava/util/List;Lcom/android/server/job/JobConcurrencyManager$AssignmentInfo;)V
+HPLcom/android/server/job/JobConcurrencyManager;->refreshSystemStateLocked()Z
+HPLcom/android/server/job/JobConcurrencyManager;->shouldRunAsFgUserJob(Lcom/android/server/job/controllers/JobStatus;)Z
+PLcom/android/server/job/JobConcurrencyManager;->shouldStopRunningJobLocked(Lcom/android/server/job/JobServiceContext;)Ljava/lang/String;
+HPLcom/android/server/job/JobConcurrencyManager;->startJobLocked(Lcom/android/server/job/JobServiceContext;Lcom/android/server/job/controllers/JobStatus;I)V
+PLcom/android/server/job/JobConcurrencyManager;->stopJobOnServiceContextLocked(Lcom/android/server/job/controllers/JobStatus;IILjava/lang/String;)Z
+PLcom/android/server/job/JobConcurrencyManager;->stopNonReadyActiveJobsLocked()V
+HPLcom/android/server/job/JobConcurrencyManager;->updateCounterConfigLocked()V
+HPLcom/android/server/job/JobConcurrencyManager;->updateNonRunningPrioritiesLocked(Lcom/android/server/job/PendingJobQueue;Z)V
+PLcom/android/server/job/JobNotificationCoordinator;-><init>()V
+PLcom/android/server/job/JobNotificationCoordinator;->isNotificationAssociatedWithAnyUserInitiatedJobs(IILjava/lang/String;)Z
+PLcom/android/server/job/JobNotificationCoordinator;->isNotificationChannelAssociatedWithAnyUserInitiatedJobs(Ljava/lang/String;ILjava/lang/String;)Z
+HPLcom/android/server/job/JobNotificationCoordinator;->removeNotificationAssociation(Lcom/android/server/job/JobServiceContext;ILcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/JobPackageTracker$DataSet;-><init>()V
+HPLcom/android/server/job/JobPackageTracker$DataSet;->decActive(ILjava/lang/String;JI)V
+HPLcom/android/server/job/JobPackageTracker$DataSet;->decPending(ILjava/lang/String;J)V
+HPLcom/android/server/job/JobPackageTracker$DataSet;->getEntry(ILjava/lang/String;)Lcom/android/server/job/JobPackageTracker$PackageEntry;
+HPLcom/android/server/job/JobPackageTracker$DataSet;->getOrCreateEntry(ILjava/lang/String;)Lcom/android/server/job/JobPackageTracker$PackageEntry;
+HPLcom/android/server/job/JobPackageTracker$DataSet;->getTotalTime(J)J
+HPLcom/android/server/job/JobPackageTracker$DataSet;->incActive(ILjava/lang/String;J)V
+HPLcom/android/server/job/JobPackageTracker$DataSet;->incPending(ILjava/lang/String;J)V
+PLcom/android/server/job/JobPackageTracker$PackageEntry;-><init>()V
+HPLcom/android/server/job/JobPackageTracker$PackageEntry;->getActiveTime(J)J
+HPLcom/android/server/job/JobPackageTracker$PackageEntry;->getPendingTime(J)J
+PLcom/android/server/job/JobPackageTracker;-><init>()V
+HPLcom/android/server/job/JobPackageTracker;->addEvent(IILjava/lang/String;IILjava/lang/String;)V
+HPLcom/android/server/job/JobPackageTracker;->getLoadFactor(Lcom/android/server/job/controllers/JobStatus;)F
+HPLcom/android/server/job/JobPackageTracker;->noteActive(Lcom/android/server/job/controllers/JobStatus;)V
+HPLcom/android/server/job/JobPackageTracker;->noteConcurrency(II)V
+HPLcom/android/server/job/JobPackageTracker;->noteInactive(Lcom/android/server/job/controllers/JobStatus;ILjava/lang/String;)V
+HPLcom/android/server/job/JobPackageTracker;->noteNonpending(Lcom/android/server/job/controllers/JobStatus;)V
+HPLcom/android/server/job/JobPackageTracker;->notePending(Lcom/android/server/job/controllers/JobStatus;)V
+HPLcom/android/server/job/JobPackageTracker;->rebatchIfNeeded(J)V
+PLcom/android/server/job/JobSchedulerService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+PLcom/android/server/job/JobSchedulerService$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
+PLcom/android/server/job/JobSchedulerService$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+HPLcom/android/server/job/JobSchedulerService$$ExternalSyntheticLambda1;->test(Ljava/lang/Object;)Z
+PLcom/android/server/job/JobSchedulerService$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+PLcom/android/server/job/JobSchedulerService$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+PLcom/android/server/job/JobSchedulerService$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+HPLcom/android/server/job/JobSchedulerService$$ExternalSyntheticLambda4;->getCategory(ILjava/lang/String;Ljava/lang/String;)Lcom/android/server/utils/quota/Category;
+PLcom/android/server/job/JobSchedulerService$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+PLcom/android/server/job/JobSchedulerService$$ExternalSyntheticLambda6;->run()V
+PLcom/android/server/job/JobSchedulerService$1;-><init>(Ljava/time/ZoneId;)V
+HPLcom/android/server/job/JobSchedulerService$1;->millis()J
+PLcom/android/server/job/JobSchedulerService$2;-><init>(Ljava/time/ZoneId;)V
+HPLcom/android/server/job/JobSchedulerService$2;->millis()J
+PLcom/android/server/job/JobSchedulerService$3;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+PLcom/android/server/job/JobSchedulerService$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/job/JobSchedulerService$4;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+HPLcom/android/server/job/JobSchedulerService$4;->onUidActive(I)V
+HPLcom/android/server/job/JobSchedulerService$4;->onUidGone(IZ)V
+HPLcom/android/server/job/JobSchedulerService$4;->onUidIdle(IZ)V
+HPLcom/android/server/job/JobSchedulerService$4;->onUidStateChanged(IIJI)V
+PLcom/android/server/job/JobSchedulerService$5;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+PLcom/android/server/job/JobSchedulerService$BatteryStateTracker;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+PLcom/android/server/job/JobSchedulerService$BatteryStateTracker;->isBatteryNotLow()Z
+HPLcom/android/server/job/JobSchedulerService$BatteryStateTracker;->isCharging()Z
+HPLcom/android/server/job/JobSchedulerService$BatteryStateTracker;->isConsideredCharging()Z
+PLcom/android/server/job/JobSchedulerService$BatteryStateTracker;->isPowerConnected()Z
+PLcom/android/server/job/JobSchedulerService$BatteryStateTracker;->onChargingPolicyChanged(I)V
+PLcom/android/server/job/JobSchedulerService$BatteryStateTracker;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/job/JobSchedulerService$BatteryStateTracker;->onReceiveInternal(Landroid/content/Intent;)V
+PLcom/android/server/job/JobSchedulerService$BatteryStateTracker;->startTracking()V
+PLcom/android/server/job/JobSchedulerService$CloudProviderChangeListener;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+PLcom/android/server/job/JobSchedulerService$CloudProviderChangeListener;-><init>(Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService$CloudProviderChangeListener-IA;)V
+PLcom/android/server/job/JobSchedulerService$Constants;->-$$Nest$mupdateTareSettingsLocked(Lcom/android/server/job/JobSchedulerService$Constants;I)Z
+PLcom/android/server/job/JobSchedulerService$Constants;-><clinit>()V
+PLcom/android/server/job/JobSchedulerService$Constants;-><init>()V
+PLcom/android/server/job/JobSchedulerService$Constants;->copyTransportBatchThresholdDefaults()V
+PLcom/android/server/job/JobSchedulerService$Constants;->updateTareSettingsLocked(I)Z
+PLcom/android/server/job/JobSchedulerService$ConstantsObserver;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+PLcom/android/server/job/JobSchedulerService$ConstantsObserver;-><init>(Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService$ConstantsObserver-IA;)V
+PLcom/android/server/job/JobSchedulerService$ConstantsObserver;->onPropertiesChanged(Landroid/provider/DeviceConfig$Properties;)V
+PLcom/android/server/job/JobSchedulerService$ConstantsObserver;->onTareEnabledModeChanged(I)V
+PLcom/android/server/job/JobSchedulerService$ConstantsObserver;->start()V
+PLcom/android/server/job/JobSchedulerService$DeferredJobCounter;-><init>()V
+PLcom/android/server/job/JobSchedulerService$DeferredJobCounter;->numDeferred()I
+PLcom/android/server/job/JobSchedulerService$JobHandler;-><init>(Lcom/android/server/job/JobSchedulerService;Landroid/os/Looper;)V
+HPLcom/android/server/job/JobSchedulerService$JobHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/job/JobSchedulerService$JobSchedulerStub;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+PLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->canPersistJobs(II)Z
+HPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->cancel(Ljava/lang/String;I)V
+PLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->cancelAllInNamespace(Ljava/lang/String;)V
+HPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->enforceBuilderApiPermissions(IILandroid/app/job/JobInfo;)Landroid/app/job/JobInfo;
+HPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->enforceValidJobRequest(IILandroid/app/job/JobInfo;)V
+HPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->enqueue(Ljava/lang/String;Landroid/app/job/JobInfo;Landroid/app/job/JobWorkItem;)I
+HPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->getAllPendingJobsInNamespace(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->getPendingJob(Ljava/lang/String;I)Landroid/app/job/JobInfo;
+HPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->schedule(Ljava/lang/String;Landroid/app/job/JobInfo;)I
+HPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->validateJob(Landroid/app/job/JobInfo;IIILjava/lang/String;Landroid/app/job/JobWorkItem;)I
+HPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->validateNamespace(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/job/JobSchedulerService$LocalService;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+PLcom/android/server/job/JobSchedulerService$LocalService;->getPersistStats()Lcom/android/server/job/JobSchedulerInternal$JobStorePersistStats;
+HPLcom/android/server/job/JobSchedulerService$LocalService;->isAppConsideredBuggy(ILjava/lang/String;ILjava/lang/String;)Z
+PLcom/android/server/job/JobSchedulerService$LocalService;->isNotificationAssociatedWithAnyUserInitiatedJobs(IILjava/lang/String;)Z
+PLcom/android/server/job/JobSchedulerService$LocalService;->isNotificationChannelAssociatedWithAnyUserInitiatedJobs(Ljava/lang/String;ILjava/lang/String;)Z
+PLcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+PLcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor$$ExternalSyntheticLambda0;->test(Ljava/lang/Object;)Z
+PLcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+HPLcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor;->accept(Lcom/android/server/job/controllers/JobStatus;)V
+HPLcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor;->accept(Ljava/lang/Object;)V
+HPLcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor;->postProcessLocked()V
+HPLcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor;->reset()V
+PLcom/android/server/job/JobSchedulerService$MySimpleClock;-><init>(Ljava/time/ZoneId;)V
+PLcom/android/server/job/JobSchedulerService$ReadyJobQueueFunctor;->-$$Nest$mpostProcessLocked(Lcom/android/server/job/JobSchedulerService$ReadyJobQueueFunctor;)V
+PLcom/android/server/job/JobSchedulerService$ReadyJobQueueFunctor;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+HPLcom/android/server/job/JobSchedulerService$ReadyJobQueueFunctor;->accept(Lcom/android/server/job/controllers/JobStatus;)V
+HPLcom/android/server/job/JobSchedulerService$ReadyJobQueueFunctor;->accept(Ljava/lang/Object;)V
+PLcom/android/server/job/JobSchedulerService$ReadyJobQueueFunctor;->postProcessLocked()V
+PLcom/android/server/job/JobSchedulerService$StandbyTracker;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+PLcom/android/server/job/JobSchedulerService$StandbyTracker;->onAppIdleStateChanged(Ljava/lang/String;IZII)V
+PLcom/android/server/job/JobSchedulerService$StandbyTracker;->onUserInteractionStarted(Ljava/lang/String;I)V
+HPLcom/android/server/job/JobSchedulerService;->$r8$lambda$Q16HuucOPC3Nu2dDmrkdR058M08(Lcom/android/server/job/JobSchedulerService;ILjava/lang/String;Ljava/lang/String;)Lcom/android/server/utils/quota/Category;
+PLcom/android/server/job/JobSchedulerService;->$r8$lambda$Ulq0lH6hWnerIiBupp3Llq6NoQA(Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/JobSchedulerService;->$r8$lambda$_qsiROTbT1bHvhwbOpkod1sMBXE(Lcom/android/server/job/JobSchedulerService;)V
+PLcom/android/server/job/JobSchedulerService;->$r8$lambda$kFq7qP-VcLL1Ltl-JO7FUKK_Zis(Lcom/android/server/job/JobSchedulerService;I)Z
+PLcom/android/server/job/JobSchedulerService;->-$$Nest$fgetmChangedJobList(Lcom/android/server/job/JobSchedulerService;)Landroid/util/ArraySet;
+HPLcom/android/server/job/JobSchedulerService;->-$$Nest$fgetmDeviceIdleJobsController(Lcom/android/server/job/JobSchedulerService;)Lcom/android/server/job/controllers/DeviceIdleJobsController;
+HPLcom/android/server/job/JobSchedulerService;->-$$Nest$fgetmPendingJobQueue(Lcom/android/server/job/JobSchedulerService;)Lcom/android/server/job/PendingJobQueue;
+HPLcom/android/server/job/JobSchedulerService;->-$$Nest$fgetmQuotaTracker(Lcom/android/server/job/JobSchedulerService;)Lcom/android/server/utils/quota/CountQuotaTracker;
+PLcom/android/server/job/JobSchedulerService;->-$$Nest$mcancelJob(Lcom/android/server/job/JobSchedulerService;ILjava/lang/String;III)Z
+PLcom/android/server/job/JobSchedulerService;->-$$Nest$mcancelJobsForPackageAndUidLocked(Lcom/android/server/job/JobSchedulerService;Ljava/lang/String;IZZIILjava/lang/String;)V
+PLcom/android/server/job/JobSchedulerService;->-$$Nest$mcancelJobsForUid(Lcom/android/server/job/JobSchedulerService;IZZLjava/lang/String;IILjava/lang/String;)Z
+PLcom/android/server/job/JobSchedulerService;->-$$Nest$mcheckChangedJobListLocked(Lcom/android/server/job/JobSchedulerService;)V
+PLcom/android/server/job/JobSchedulerService;->-$$Nest$mgetPendingJob(Lcom/android/server/job/JobSchedulerService;ILjava/lang/String;I)Landroid/app/job/JobInfo;
+PLcom/android/server/job/JobSchedulerService;->-$$Nest$mgetPendingJobsInNamespace(Lcom/android/server/job/JobSchedulerService;ILjava/lang/String;)Ljava/util/List;
+PLcom/android/server/job/JobSchedulerService;->-$$Nest$mhasPermission(Lcom/android/server/job/JobSchedulerService;IILjava/lang/String;)Z
+PLcom/android/server/job/JobSchedulerService;->-$$Nest$mmaybeQueueReadyJobsForExecutionLocked(Lcom/android/server/job/JobSchedulerService;)V
+PLcom/android/server/job/JobSchedulerService;->-$$Nest$mqueueReadyJobsForExecutionLocked(Lcom/android/server/job/JobSchedulerService;)V
+HPLcom/android/server/job/JobSchedulerService;-><clinit>()V
+HPLcom/android/server/job/JobSchedulerService;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/job/JobSchedulerService;->adjustJobBias(ILcom/android/server/job/controllers/JobStatus;)I
+HPLcom/android/server/job/JobSchedulerService;->areComponentsInPlaceLocked(Lcom/android/server/job/controllers/JobStatus;)Z
+HPLcom/android/server/job/JobSchedulerService;->areUsersStartedLocked(Lcom/android/server/job/controllers/JobStatus;)Z
+HPLcom/android/server/job/JobSchedulerService;->cancelJob(ILjava/lang/String;III)Z
+HPLcom/android/server/job/JobSchedulerService;->cancelJobImplLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;IILjava/lang/String;)V
+PLcom/android/server/job/JobSchedulerService;->cancelJobsForNonExistentUsers()V
+PLcom/android/server/job/JobSchedulerService;->cancelJobsForPackageAndUidLocked(Ljava/lang/String;IZZIILjava/lang/String;)V
+PLcom/android/server/job/JobSchedulerService;->cancelJobsForUid(IZZLjava/lang/String;IILjava/lang/String;)Z
+HPLcom/android/server/job/JobSchedulerService;->checkChangedJobListLocked()V
+HPLcom/android/server/job/JobSchedulerService;->checkIfRestricted(Lcom/android/server/job/controllers/JobStatus;)Lcom/android/server/job/restrictions/JobRestriction;
+PLcom/android/server/job/JobSchedulerService;->clearPendingJobQueue()V
+HPLcom/android/server/job/JobSchedulerService;->deriveWorkSource(ILjava/lang/String;)Landroid/os/WorkSource;
+HPLcom/android/server/job/JobSchedulerService;->evaluateControllerStatesLocked(Lcom/android/server/job/controllers/JobStatus;)Z
+HPLcom/android/server/job/JobSchedulerService;->evaluateJobBiasLocked(Lcom/android/server/job/controllers/JobStatus;)I
+PLcom/android/server/job/JobSchedulerService;->getConstants()Lcom/android/server/job/JobSchedulerService$Constants;
+HPLcom/android/server/job/JobSchedulerService;->getJobStore()Lcom/android/server/job/JobStore;
+PLcom/android/server/job/JobSchedulerService;->getLock()Ljava/lang/Object;
+HPLcom/android/server/job/JobSchedulerService;->getMaxJobExecutionTimeMs(Lcom/android/server/job/controllers/JobStatus;)J
+HPLcom/android/server/job/JobSchedulerService;->getMinJobExecutionGuaranteeMs(Lcom/android/server/job/controllers/JobStatus;)J
+PLcom/android/server/job/JobSchedulerService;->getPackageName(Landroid/content/Intent;)Ljava/lang/String;
+HPLcom/android/server/job/JobSchedulerService;->getPackagesForUidLocked(I)Landroid/util/ArraySet;
+HPLcom/android/server/job/JobSchedulerService;->getPendingJob(ILjava/lang/String;I)Landroid/app/job/JobInfo;
+HPLcom/android/server/job/JobSchedulerService;->getPendingJobQueue()Lcom/android/server/job/PendingJobQueue;
+HPLcom/android/server/job/JobSchedulerService;->getPendingJobsInNamespace(ILjava/lang/String;)Ljava/util/List;
+PLcom/android/server/job/JobSchedulerService;->getRescheduleJobForPeriodic(Lcom/android/server/job/controllers/JobStatus;)Lcom/android/server/job/controllers/JobStatus;
+PLcom/android/server/job/JobSchedulerService;->getTestableContext()Landroid/content/Context;
+HPLcom/android/server/job/JobSchedulerService;->getUidBias(I)I
+HPLcom/android/server/job/JobSchedulerService;->getUidProcState(I)I
+HPLcom/android/server/job/JobSchedulerService;->hasPermission(IILjava/lang/String;)Z
+HPLcom/android/server/job/JobSchedulerService;->isBatteryCharging()Z
+HPLcom/android/server/job/JobSchedulerService;->isBatteryNotLow()Z
+HPLcom/android/server/job/JobSchedulerService;->isComponentUsable(Lcom/android/server/job/controllers/JobStatus;)Z
+HPLcom/android/server/job/JobSchedulerService;->isCurrentlyRunningLocked(Lcom/android/server/job/controllers/JobStatus;)Z
+PLcom/android/server/job/JobSchedulerService;->isPowerConnected()Z
+HPLcom/android/server/job/JobSchedulerService;->isReadyToBeExecutedLocked(Lcom/android/server/job/controllers/JobStatus;)Z
+HPLcom/android/server/job/JobSchedulerService;->isReadyToBeExecutedLocked(Lcom/android/server/job/controllers/JobStatus;Z)Z
+PLcom/android/server/job/JobSchedulerService;->isUidActive(I)Z
+HPLcom/android/server/job/JobSchedulerService;->lambda$new$2(ILjava/lang/String;Ljava/lang/String;)Lcom/android/server/utils/quota/Category;
+HPLcom/android/server/job/JobSchedulerService;->lambda$onBootPhase$4(Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/JobSchedulerService;->lambda$startControllerTrackingAsync$5()V
+HPLcom/android/server/job/JobSchedulerService;->maybeProcessBuggyJob(Lcom/android/server/job/controllers/JobStatus;I)V
+PLcom/android/server/job/JobSchedulerService;->maybeQueueReadyJobsForExecutionLocked()V
+HPLcom/android/server/job/JobSchedulerService;->maybeRunPendingJobsLocked()V
+PLcom/android/server/job/JobSchedulerService;->noteJobPending(Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/JobSchedulerService;->noteJobsPending(Landroid/util/ArraySet;)V
+HPLcom/android/server/job/JobSchedulerService;->onBootPhase(I)V
+HPLcom/android/server/job/JobSchedulerService;->onControllerStateChanged(Landroid/util/ArraySet;)V
+HPLcom/android/server/job/JobSchedulerService;->onJobCompletedLocked(Lcom/android/server/job/controllers/JobStatus;IIZ)V
+PLcom/android/server/job/JobSchedulerService;->onRunJobNow(Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/JobSchedulerService;->onStart()V
+PLcom/android/server/job/JobSchedulerService;->onUserCompletedEvent(Lcom/android/server/SystemService$TargetUser;Lcom/android/server/SystemService$UserCompletedEventType;)V
+PLcom/android/server/job/JobSchedulerService;->onUserStarting(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/job/JobSchedulerService;->queueReadyJobsForExecutionLocked()V
+HPLcom/android/server/job/JobSchedulerService;->reportActiveLocked()V
+HPLcom/android/server/job/JobSchedulerService;->resetPendingJobReasonCache(Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/JobSchedulerService;->safelyScaleBytesToKBForHistogram(J)I
+HPLcom/android/server/job/JobSchedulerService;->scheduleAsPackage(Landroid/app/job/JobInfo;Landroid/app/job/JobWorkItem;ILjava/lang/String;ILjava/lang/String;Ljava/lang/String;)I
+HPLcom/android/server/job/JobSchedulerService;->standbyBucketForPackage(Ljava/lang/String;IJ)I
+PLcom/android/server/job/JobSchedulerService;->standbyBucketToBucketIndex(I)I
+PLcom/android/server/job/JobSchedulerService;->startControllerTrackingAsync()V
+HPLcom/android/server/job/JobSchedulerService;->startTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/JobSchedulerService;->stopNonReadyActiveJobsLocked()V
+HPLcom/android/server/job/JobSchedulerService;->stopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;Z)Z
+PLcom/android/server/job/JobSchedulerService;->updateQuotaTracker()V
+HPLcom/android/server/job/JobSchedulerService;->updateUidState(III)V
+PLcom/android/server/job/JobServiceContext$JobCallback;-><init>(Lcom/android/server/job/JobServiceContext;)V
+PLcom/android/server/job/JobServiceContext$JobCallback;->acknowledgeStartMessage(IZ)V
+PLcom/android/server/job/JobServiceContext$JobCallback;->completeWork(II)Z
+PLcom/android/server/job/JobServiceContext$JobCallback;->dequeueWork(I)Landroid/app/job/JobWorkItem;
+PLcom/android/server/job/JobServiceContext$JobCallback;->jobFinished(IZ)V
+PLcom/android/server/job/JobServiceContext$JobServiceHandler;-><init>(Lcom/android/server/job/JobServiceContext;Landroid/os/Looper;)V
+PLcom/android/server/job/JobServiceContext;-><clinit>()V
+PLcom/android/server/job/JobServiceContext;-><init>(Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobConcurrencyManager;Lcom/android/server/job/JobNotificationCoordinator;Lcom/android/internal/app/IBatteryStats;Lcom/android/server/job/JobPackageTracker;Landroid/os/Looper;)V
+HPLcom/android/server/job/JobServiceContext;->applyStoppedReasonLocked(Ljava/lang/String;)V
+PLcom/android/server/job/JobServiceContext;->assertCallerLocked(Lcom/android/server/job/JobServiceContext$JobCallback;)Z
+PLcom/android/server/job/JobServiceContext;->canGetNetworkInformation(Lcom/android/server/job/controllers/JobStatus;)Z
+PLcom/android/server/job/JobServiceContext;->clearPreferredUid()V
+HPLcom/android/server/job/JobServiceContext;->closeAndCleanupJobLocked(ZLjava/lang/String;)V
+PLcom/android/server/job/JobServiceContext;->doAcknowledgeStartMessage(Lcom/android/server/job/JobServiceContext$JobCallback;IZ)V
+HPLcom/android/server/job/JobServiceContext;->doCallback(Lcom/android/server/job/JobServiceContext$JobCallback;ZLjava/lang/String;)V
+HPLcom/android/server/job/JobServiceContext;->doCallbackLocked(ZLjava/lang/String;)V
+PLcom/android/server/job/JobServiceContext;->doCompleteWork(Lcom/android/server/job/JobServiceContext$JobCallback;II)Z
+HPLcom/android/server/job/JobServiceContext;->doDequeueWork(Lcom/android/server/job/JobServiceContext$JobCallback;I)Landroid/app/job/JobWorkItem;
+HPLcom/android/server/job/JobServiceContext;->doJobFinished(Lcom/android/server/job/JobServiceContext$JobCallback;IZ)V
+PLcom/android/server/job/JobServiceContext;->doServiceBoundLocked()V
+HPLcom/android/server/job/JobServiceContext;->executeRunnableJob(Lcom/android/server/job/controllers/JobStatus;I)Z
+PLcom/android/server/job/JobServiceContext;->getExecutionStartTimeElapsed()J
+PLcom/android/server/job/JobServiceContext;->getId()I
+PLcom/android/server/job/JobServiceContext;->getPreferredUid()I
+PLcom/android/server/job/JobServiceContext;->getRemainingGuaranteedTimeMs(J)J
+PLcom/android/server/job/JobServiceContext;->getRunningJobLocked()Lcom/android/server/job/controllers/JobStatus;
+PLcom/android/server/job/JobServiceContext;->getRunningJobWorkType()I
+PLcom/android/server/job/JobServiceContext;->getStartActionId(Lcom/android/server/job/controllers/JobStatus;)I
+PLcom/android/server/job/JobServiceContext;->handleFinishedLocked(ZLjava/lang/String;)V
+HPLcom/android/server/job/JobServiceContext;->handleServiceBoundLocked()V
+HPLcom/android/server/job/JobServiceContext;->handleStartedLocked(Z)V
+PLcom/android/server/job/JobServiceContext;->isWithinExecutionGuaranteeTime()Z
+HPLcom/android/server/job/JobServiceContext;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+HPLcom/android/server/job/JobServiceContext;->removeOpTimeOutLocked()V
+HPLcom/android/server/job/JobServiceContext;->scheduleOpTimeOutLocked()V
+PLcom/android/server/job/JobServiceContext;->verifyCallerLocked(Lcom/android/server/job/JobServiceContext$JobCallback;)Z
+PLcom/android/server/job/JobStore$1;-><init>(Lcom/android/server/job/JobStore;)V
+PLcom/android/server/job/JobStore$1;->run()V
+PLcom/android/server/job/JobStore$2$CopyConsumer;->-$$Nest$fgetmJobStoreCopy(Lcom/android/server/job/JobStore$2$CopyConsumer;)Landroid/util/SparseArray;
+PLcom/android/server/job/JobStore$2$CopyConsumer;->-$$Nest$mprepare(Lcom/android/server/job/JobStore$2$CopyConsumer;)V
+PLcom/android/server/job/JobStore$2$CopyConsumer;->-$$Nest$mreset(Lcom/android/server/job/JobStore$2$CopyConsumer;)V
+PLcom/android/server/job/JobStore$2$CopyConsumer;-><init>(Lcom/android/server/job/JobStore$2;)V
+HPLcom/android/server/job/JobStore$2$CopyConsumer;->accept(Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/JobStore$2$CopyConsumer;->accept(Ljava/lang/Object;)V
+HPLcom/android/server/job/JobStore$2$CopyConsumer;->prepare()V
+PLcom/android/server/job/JobStore$2$CopyConsumer;->reset()V
+PLcom/android/server/job/JobStore$2;-><init>(Lcom/android/server/job/JobStore;)V
+HPLcom/android/server/job/JobStore$2;->addAttributesToJobTag(Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/server/job/controllers/JobStatus;)V
+HPLcom/android/server/job/JobStore$2;->deepCopyBundle(Landroid/os/PersistableBundle;I)Landroid/os/PersistableBundle;
+HPLcom/android/server/job/JobStore$2;->run()V
+PLcom/android/server/job/JobStore$2;->writeBundleToXml(Landroid/os/PersistableBundle;Lorg/xmlpull/v1/XmlSerializer;)V
+HPLcom/android/server/job/JobStore$2;->writeConstraintsToXml(Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/JobStore$2;->writeDebugInfoToXml(Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/server/job/controllers/JobStatus;)V
+HPLcom/android/server/job/JobStore$2;->writeExecutionCriteriaToXml(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/JobStore$2;->writeJobWorkItemListToXml(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/util/List;)V
+PLcom/android/server/job/JobStore$2;->writeJobWorkItemsToXml(Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/server/job/controllers/JobStatus;)V
+HPLcom/android/server/job/JobStore$2;->writeJobsMapImpl(Landroid/util/AtomicFile;Ljava/util/List;)V
+PLcom/android/server/job/JobStore$JobSet$$ExternalSyntheticLambda0;-><init>([I)V
+PLcom/android/server/job/JobStore$JobSet$$ExternalSyntheticLambda0;->test(Ljava/lang/Object;)Z
+PLcom/android/server/job/JobStore$JobSet$$ExternalSyntheticLambda1;-><init>([I)V
+PLcom/android/server/job/JobStore$JobSet$$ExternalSyntheticLambda1;->test(Ljava/lang/Object;)Z
+PLcom/android/server/job/JobStore$JobSet;->$r8$lambda$Ogrjy8cbnKakGMK8Ug9l_r3Ikrk([ILcom/android/server/job/controllers/JobStatus;)Z
+PLcom/android/server/job/JobStore$JobSet;->$r8$lambda$RA6YfP6IBdA_T2lAW98eyR1LWXw([ILcom/android/server/job/controllers/JobStatus;)Z
+PLcom/android/server/job/JobStore$JobSet;-><init>()V
+HPLcom/android/server/job/JobStore$JobSet;->add(Lcom/android/server/job/controllers/JobStatus;)Z
+HPLcom/android/server/job/JobStore$JobSet;->contains(Lcom/android/server/job/controllers/JobStatus;)Z
+HPLcom/android/server/job/JobStore$JobSet;->countJobsForUid(I)I
+HPLcom/android/server/job/JobStore$JobSet;->forEachJob(Ljava/util/function/Predicate;Ljava/util/function/Consumer;)V
+HPLcom/android/server/job/JobStore$JobSet;->forEachJobForSourceUid(ILjava/util/function/Consumer;)V
+HPLcom/android/server/job/JobStore$JobSet;->get(ILjava/lang/String;I)Lcom/android/server/job/controllers/JobStatus;
+HPLcom/android/server/job/JobStore$JobSet;->getJobsBySourceUid(I)Landroid/util/ArraySet;
+HPLcom/android/server/job/JobStore$JobSet;->getJobsBySourceUid(ILjava/util/Set;)V
+HPLcom/android/server/job/JobStore$JobSet;->getJobsByUid(I)Landroid/util/ArraySet;
+HPLcom/android/server/job/JobStore$JobSet;->getJobsByUid(ILjava/util/Set;)V
+PLcom/android/server/job/JobStore$JobSet;->lambda$removeJobsOfUnlistedUsers$0([ILcom/android/server/job/controllers/JobStatus;)Z
+PLcom/android/server/job/JobStore$JobSet;->lambda$removeJobsOfUnlistedUsers$1([ILcom/android/server/job/controllers/JobStatus;)Z
+HPLcom/android/server/job/JobStore$JobSet;->remove(Lcom/android/server/job/controllers/JobStatus;)Z
+PLcom/android/server/job/JobStore$JobSet;->removeAll(Ljava/util/function/Predicate;)V
+PLcom/android/server/job/JobStore$JobSet;->removeJobsOfUnlistedUsers([I)V
+PLcom/android/server/job/JobStore$JobSet;->size()I
+PLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;-><init>(Lcom/android/server/job/JobStore;Lcom/android/server/job/JobStore$JobSet;ZLjava/util/concurrent/CountDownLatch;)V
+HPLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;->buildBuilderFromXml(Lcom/android/modules/utils/TypedXmlPullParser;)Landroid/app/job/JobInfo$Builder;
+HPLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;->buildConstraintsFromXml(Landroid/app/job/JobInfo$Builder;Lcom/android/modules/utils/TypedXmlPullParser;)V
+HPLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;->buildRtcExecutionTimesFromXml(Lcom/android/modules/utils/TypedXmlPullParser;)Landroid/util/Pair;
+PLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;->intern(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;->maybeBuildBackoffPolicyFromXml(Landroid/app/job/JobInfo$Builder;Lorg/xmlpull/v1/XmlPullParser;)V
+HPLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;->readJobMapImpl(Ljava/io/InputStream;ZJ)Ljava/util/List;
+HPLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;->restoreJobFromXml(ZLcom/android/modules/utils/TypedXmlPullParser;IJ)Lcom/android/server/job/controllers/JobStatus;
+HPLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;->run()V
+PLcom/android/server/job/JobStore;->-$$Nest$fgetmCurrentJobSetSize(Lcom/android/server/job/JobStore;)I
+PLcom/android/server/job/JobStore;->-$$Nest$fgetmEventLogger(Lcom/android/server/job/JobStore;)Landroid/util/SystemConfigFileCommitEventLogger;
+PLcom/android/server/job/JobStore;->-$$Nest$fgetmJobFileDirectory(Lcom/android/server/job/JobStore;)Ljava/io/File;
+PLcom/android/server/job/JobStore;->-$$Nest$fgetmPendingJobWriteUids(Lcom/android/server/job/JobStore;)Landroid/util/SparseBooleanArray;
+PLcom/android/server/job/JobStore;->-$$Nest$fgetmPersistInfo(Lcom/android/server/job/JobStore;)Lcom/android/server/job/JobSchedulerInternal$JobStorePersistStats;
+PLcom/android/server/job/JobStore;->-$$Nest$fgetmScheduledJob30MinHighWaterMark(Lcom/android/server/job/JobStore;)I
+PLcom/android/server/job/JobStore;->-$$Nest$fgetmScheduledJobHighWaterMarkLoggingRunnable(Lcom/android/server/job/JobStore;)Ljava/lang/Runnable;
+PLcom/android/server/job/JobStore;->-$$Nest$fgetmSplitFileMigrationNeeded(Lcom/android/server/job/JobStore;)Z
+PLcom/android/server/job/JobStore;->-$$Nest$fgetmUseSplitFiles(Lcom/android/server/job/JobStore;)Z
+PLcom/android/server/job/JobStore;->-$$Nest$fgetmWriteInProgress(Lcom/android/server/job/JobStore;)Z
+PLcom/android/server/job/JobStore;->-$$Nest$fputmCurrentJobSetSize(Lcom/android/server/job/JobStore;I)V
+PLcom/android/server/job/JobStore;->-$$Nest$fputmScheduledJob30MinHighWaterMark(Lcom/android/server/job/JobStore;I)V
+PLcom/android/server/job/JobStore;->-$$Nest$fputmWriteInProgress(Lcom/android/server/job/JobStore;Z)V
+PLcom/android/server/job/JobStore;->-$$Nest$fputmWriteScheduled(Lcom/android/server/job/JobStore;Z)V
+PLcom/android/server/job/JobStore;->-$$Nest$mcreateJobFile(Lcom/android/server/job/JobStore;Ljava/io/File;)Landroid/util/AtomicFile;
+PLcom/android/server/job/JobStore;->-$$Nest$mcreateJobFile(Lcom/android/server/job/JobStore;Ljava/lang/String;)Landroid/util/AtomicFile;
+PLcom/android/server/job/JobStore;->-$$Nest$sfgetDEBUG()Z
+PLcom/android/server/job/JobStore;->-$$Nest$sfgetSPLIT_FILE_PATTERN()Ljava/util/regex/Pattern;
+PLcom/android/server/job/JobStore;->-$$Nest$sfgetsScheduledJob30MinHighWaterMarkLogger()Lcom/android/modules/expresslog/Histogram;
+PLcom/android/server/job/JobStore;->-$$Nest$smconvertRtcBoundsToElapsed(Landroid/util/Pair;J)Landroid/util/Pair;
+PLcom/android/server/job/JobStore;->-$$Nest$smisSyncJob(Lcom/android/server/job/controllers/JobStatus;)Z
+PLcom/android/server/job/JobStore;-><clinit>()V
+PLcom/android/server/job/JobStore;-><init>(Landroid/content/Context;Ljava/lang/Object;Ljava/io/File;)V
+HPLcom/android/server/job/JobStore;->add(Lcom/android/server/job/controllers/JobStatus;)V
+HPLcom/android/server/job/JobStore;->containsJob(Lcom/android/server/job/controllers/JobStatus;)Z
+HPLcom/android/server/job/JobStore;->convertRtcBoundsToElapsed(Landroid/util/Pair;J)Landroid/util/Pair;
+HPLcom/android/server/job/JobStore;->countJobsForUid(I)I
+PLcom/android/server/job/JobStore;->createJobFile(Ljava/io/File;)Landroid/util/AtomicFile;
+PLcom/android/server/job/JobStore;->createJobFile(Ljava/lang/String;)Landroid/util/AtomicFile;
+HPLcom/android/server/job/JobStore;->forEachJob(Ljava/util/function/Consumer;)V
+PLcom/android/server/job/JobStore;->forEachJob(Ljava/util/function/Predicate;Ljava/util/function/Consumer;)V
+HPLcom/android/server/job/JobStore;->forEachJobForSourceUid(ILjava/util/function/Consumer;)V
+PLcom/android/server/job/JobStore;->get(Lcom/android/server/job/JobSchedulerService;)Lcom/android/server/job/JobStore;
+HPLcom/android/server/job/JobStore;->getJobByUidAndJobId(ILjava/lang/String;I)Lcom/android/server/job/controllers/JobStatus;
+HPLcom/android/server/job/JobStore;->getJobsBySourceUid(I)Landroid/util/ArraySet;
+HPLcom/android/server/job/JobStore;->getJobsByUid(I)Landroid/util/ArraySet;
+PLcom/android/server/job/JobStore;->getJobsByUid(ILjava/util/Set;)V
+PLcom/android/server/job/JobStore;->getPersistStats()Lcom/android/server/job/JobSchedulerInternal$JobStorePersistStats;
+PLcom/android/server/job/JobStore;->initAsync(Ljava/util/concurrent/CountDownLatch;)V
+PLcom/android/server/job/JobStore;->intArrayToString([I)Ljava/lang/String;
+PLcom/android/server/job/JobStore;->isSyncJob(Lcom/android/server/job/controllers/JobStatus;)Z
+PLcom/android/server/job/JobStore;->jobTimesInflatedValid()Z
+HPLcom/android/server/job/JobStore;->maybeUpdateHighWaterMark()V
+PLcom/android/server/job/JobStore;->maybeWriteStatusToDiskAsync()V
+HPLcom/android/server/job/JobStore;->remove(Lcom/android/server/job/controllers/JobStatus;Z)Z
+PLcom/android/server/job/JobStore;->removeJobsOfUnlistedUsers([I)V
+PLcom/android/server/job/JobStore;->stringToIntArray(Ljava/lang/String;)[I
+PLcom/android/server/job/JobStore;->touchJob(Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/PendingJobQueue$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/job/PendingJobQueue$AppJobQueue$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/job/PendingJobQueue$AppJobQueue$AdjustedJobStatus;-><init>()V
+PLcom/android/server/job/PendingJobQueue$AppJobQueue$AdjustedJobStatus;-><init>(Lcom/android/server/job/PendingJobQueue$AppJobQueue$AdjustedJobStatus-IA;)V
+PLcom/android/server/job/PendingJobQueue$AppJobQueue$AdjustedJobStatus;->clear()V
+PLcom/android/server/job/PendingJobQueue$AppJobQueue;-><clinit>()V
+PLcom/android/server/job/PendingJobQueue$AppJobQueue;-><init>()V
+PLcom/android/server/job/PendingJobQueue$AppJobQueue;-><init>(Lcom/android/server/job/PendingJobQueue$AppJobQueue-IA;)V
+HPLcom/android/server/job/PendingJobQueue$AppJobQueue;->add(Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/PendingJobQueue$AppJobQueue;->addAll(Ljava/util/List;)V
+HPLcom/android/server/job/PendingJobQueue$AppJobQueue;->clear()V
+HPLcom/android/server/job/PendingJobQueue$AppJobQueue;->indexOf(Lcom/android/server/job/controllers/JobStatus;)I
+HPLcom/android/server/job/PendingJobQueue$AppJobQueue;->next()Lcom/android/server/job/controllers/JobStatus;
+HPLcom/android/server/job/PendingJobQueue$AppJobQueue;->peekNextTimestamp()J
+HPLcom/android/server/job/PendingJobQueue$AppJobQueue;->remove(Lcom/android/server/job/controllers/JobStatus;)Z
+PLcom/android/server/job/PendingJobQueue$AppJobQueue;->resetIterator(J)V
+PLcom/android/server/job/PendingJobQueue$AppJobQueue;->size()I
+PLcom/android/server/job/PendingJobQueue;-><init>()V
+HPLcom/android/server/job/PendingJobQueue;->add(Lcom/android/server/job/controllers/JobStatus;)V
+HPLcom/android/server/job/PendingJobQueue;->addAll(Landroid/util/ArraySet;)V
+PLcom/android/server/job/PendingJobQueue;->clear()V
+HPLcom/android/server/job/PendingJobQueue;->contains(Lcom/android/server/job/controllers/JobStatus;)Z
+HPLcom/android/server/job/PendingJobQueue;->getAppJobQueue(IZ)Lcom/android/server/job/PendingJobQueue$AppJobQueue;
+HPLcom/android/server/job/PendingJobQueue;->next()Lcom/android/server/job/controllers/JobStatus;
+HPLcom/android/server/job/PendingJobQueue;->remove(Lcom/android/server/job/controllers/JobStatus;)Z
+PLcom/android/server/job/PendingJobQueue;->resetIterator()V
+PLcom/android/server/job/PendingJobQueue;->size()I
+PLcom/android/server/job/controllers/BackgroundJobsController$1;-><init>(Lcom/android/server/job/controllers/BackgroundJobsController;)V
+PLcom/android/server/job/controllers/BackgroundJobsController$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/job/controllers/BackgroundJobsController$2;-><init>(Lcom/android/server/job/controllers/BackgroundJobsController;)V
+HPLcom/android/server/job/controllers/BackgroundJobsController$2;->updateAllJobs()V
+HPLcom/android/server/job/controllers/BackgroundJobsController$2;->updateJobsForUid(IZ)V
+PLcom/android/server/job/controllers/BackgroundJobsController$UpdateJobFunctor;-><init>(Lcom/android/server/job/controllers/BackgroundJobsController;)V
+PLcom/android/server/job/controllers/BackgroundJobsController$UpdateJobFunctor;-><init>(Lcom/android/server/job/controllers/BackgroundJobsController;Lcom/android/server/job/controllers/BackgroundJobsController$UpdateJobFunctor-IA;)V
+HPLcom/android/server/job/controllers/BackgroundJobsController$UpdateJobFunctor;->accept(Lcom/android/server/job/controllers/JobStatus;)V
+HPLcom/android/server/job/controllers/BackgroundJobsController$UpdateJobFunctor;->accept(Ljava/lang/Object;)V
+HPLcom/android/server/job/controllers/BackgroundJobsController$UpdateJobFunctor;->prepare(I)V
+PLcom/android/server/job/controllers/BackgroundJobsController;->-$$Nest$fgetmPackageStoppedState(Lcom/android/server/job/controllers/BackgroundJobsController;)Landroid/util/SparseArrayMap;
+HPLcom/android/server/job/controllers/BackgroundJobsController;->-$$Nest$mupdateAllJobRestrictionsLocked(Lcom/android/server/job/controllers/BackgroundJobsController;)V
+HPLcom/android/server/job/controllers/BackgroundJobsController;->-$$Nest$mupdateJobRestrictionsForUidLocked(Lcom/android/server/job/controllers/BackgroundJobsController;IZ)V
+PLcom/android/server/job/controllers/BackgroundJobsController;->-$$Nest$mupdateJobRestrictionsLocked(Lcom/android/server/job/controllers/BackgroundJobsController;II)V
+PLcom/android/server/job/controllers/BackgroundJobsController;->-$$Nest$sfgetDEBUG()Z
+PLcom/android/server/job/controllers/BackgroundJobsController;-><clinit>()V
+PLcom/android/server/job/controllers/BackgroundJobsController;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+HPLcom/android/server/job/controllers/BackgroundJobsController;->evaluateStateLocked(Lcom/android/server/job/controllers/JobStatus;)V
+HPLcom/android/server/job/controllers/BackgroundJobsController;->isPackageStoppedLocked(Ljava/lang/String;I)Z
+HPLcom/android/server/job/controllers/BackgroundJobsController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/BackgroundJobsController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/BackgroundJobsController;->startTrackingLocked()V
+HPLcom/android/server/job/controllers/BackgroundJobsController;->updateAllJobRestrictionsLocked()V
+HPLcom/android/server/job/controllers/BackgroundJobsController;->updateJobRestrictionsForUidLocked(IZ)V
+HPLcom/android/server/job/controllers/BackgroundJobsController;->updateJobRestrictionsLocked(II)V
+HPLcom/android/server/job/controllers/BackgroundJobsController;->updateSingleJobRestrictionLocked(Lcom/android/server/job/controllers/JobStatus;JI)Z
+PLcom/android/server/job/controllers/BatteryController;-><clinit>()V
+PLcom/android/server/job/controllers/BatteryController;-><init>(Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/controllers/FlexibilityController;)V
+HPLcom/android/server/job/controllers/BatteryController;->hasTopExemptionLocked(Lcom/android/server/job/controllers/JobStatus;)Z
+HPLcom/android/server/job/controllers/BatteryController;->maybeReportNewChargingStateLocked()V
+HPLcom/android/server/job/controllers/BatteryController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/BatteryController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/BatteryController;->onUidBiasChangedLocked(III)V
+PLcom/android/server/job/controllers/BatteryController;->prepareForExecutionLocked(Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/ComponentController$$ExternalSyntheticLambda1;-><init>(I)V
+PLcom/android/server/job/controllers/ComponentController$$ExternalSyntheticLambda1;->test(Ljava/lang/Object;)Z
+PLcom/android/server/job/controllers/ComponentController$1;-><init>(Lcom/android/server/job/controllers/ComponentController;)V
+PLcom/android/server/job/controllers/ComponentController$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/job/controllers/ComponentController$ComponentStateUpdateFunctor;->-$$Nest$mreset(Lcom/android/server/job/controllers/ComponentController$ComponentStateUpdateFunctor;)V
+PLcom/android/server/job/controllers/ComponentController$ComponentStateUpdateFunctor;-><init>(Lcom/android/server/job/controllers/ComponentController;)V
+PLcom/android/server/job/controllers/ComponentController$ComponentStateUpdateFunctor;->accept(Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/ComponentController$ComponentStateUpdateFunctor;->accept(Ljava/lang/Object;)V
+PLcom/android/server/job/controllers/ComponentController$ComponentStateUpdateFunctor;->reset()V
+PLcom/android/server/job/controllers/ComponentController;->$r8$lambda$M1UwXxQ2lQGkgK0HrVMJlW9dX54(ILcom/android/server/job/controllers/JobStatus;)Z
+PLcom/android/server/job/controllers/ComponentController;->-$$Nest$mupdateComponentEnabledStateLocked(Lcom/android/server/job/controllers/ComponentController;Lcom/android/server/job/controllers/JobStatus;)Z
+PLcom/android/server/job/controllers/ComponentController;->-$$Nest$mupdateComponentStateForUser(Lcom/android/server/job/controllers/ComponentController;I)V
+PLcom/android/server/job/controllers/ComponentController;-><clinit>()V
+PLcom/android/server/job/controllers/ComponentController;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+HPLcom/android/server/job/controllers/ComponentController;->getServiceProcessLocked(Lcom/android/server/job/controllers/JobStatus;)Ljava/lang/String;
+PLcom/android/server/job/controllers/ComponentController;->lambda$updateComponentStateForUser$1(ILcom/android/server/job/controllers/JobStatus;)Z
+HPLcom/android/server/job/controllers/ComponentController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/ComponentController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/ComponentController;->startTrackingLocked()V
+HPLcom/android/server/job/controllers/ComponentController;->updateComponentEnabledStateLocked(Lcom/android/server/job/controllers/JobStatus;)Z
+PLcom/android/server/job/controllers/ComponentController;->updateComponentStateForUser(I)V
+PLcom/android/server/job/controllers/ComponentController;->updateComponentStatesLocked(Ljava/util/function/Predicate;)V
+PLcom/android/server/job/controllers/ConnectivityController$1;-><init>(Lcom/android/server/job/controllers/ConnectivityController;)V
+PLcom/android/server/job/controllers/ConnectivityController$2;-><init>(Lcom/android/server/job/controllers/ConnectivityController;)V
+PLcom/android/server/job/controllers/ConnectivityController$3;-><init>(Lcom/android/server/job/controllers/ConnectivityController;)V
+PLcom/android/server/job/controllers/ConnectivityController$4;-><init>(Lcom/android/server/job/controllers/ConnectivityController;)V
+PLcom/android/server/job/controllers/ConnectivityController$CcConfig;->-$$Nest$fgetmFlexIsEnabled(Lcom/android/server/job/controllers/ConnectivityController$CcConfig;)Z
+PLcom/android/server/job/controllers/ConnectivityController$CcConfig;->-$$Nest$fgetmShouldReprocessNetworkCapabilities(Lcom/android/server/job/controllers/ConnectivityController$CcConfig;)Z
+PLcom/android/server/job/controllers/ConnectivityController$CcConfig;->-$$Nest$fputmFlexIsEnabled(Lcom/android/server/job/controllers/ConnectivityController$CcConfig;Z)V
+PLcom/android/server/job/controllers/ConnectivityController$CcConfig;->-$$Nest$fputmShouldReprocessNetworkCapabilities(Lcom/android/server/job/controllers/ConnectivityController$CcConfig;Z)V
+PLcom/android/server/job/controllers/ConnectivityController$CcConfig;-><init>(Lcom/android/server/job/controllers/ConnectivityController;)V
+PLcom/android/server/job/controllers/ConnectivityController$CcHandler;-><init>(Lcom/android/server/job/controllers/ConnectivityController;Landroid/os/Looper;)V
+HPLcom/android/server/job/controllers/ConnectivityController$CcHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/job/controllers/ConnectivityController$UidDefaultNetworkCallback;->-$$Nest$fgetmBlockedReasons(Lcom/android/server/job/controllers/ConnectivityController$UidDefaultNetworkCallback;)I
+PLcom/android/server/job/controllers/ConnectivityController$UidDefaultNetworkCallback;->-$$Nest$fgetmDefaultNetwork(Lcom/android/server/job/controllers/ConnectivityController$UidDefaultNetworkCallback;)Landroid/net/Network;
+PLcom/android/server/job/controllers/ConnectivityController$UidDefaultNetworkCallback;->-$$Nest$msetUid(Lcom/android/server/job/controllers/ConnectivityController$UidDefaultNetworkCallback;I)V
+PLcom/android/server/job/controllers/ConnectivityController$UidDefaultNetworkCallback;-><init>(Lcom/android/server/job/controllers/ConnectivityController;)V
+PLcom/android/server/job/controllers/ConnectivityController$UidDefaultNetworkCallback;-><init>(Lcom/android/server/job/controllers/ConnectivityController;Lcom/android/server/job/controllers/ConnectivityController$UidDefaultNetworkCallback-IA;)V
+PLcom/android/server/job/controllers/ConnectivityController$UidDefaultNetworkCallback;->setUid(I)V
+HPLcom/android/server/job/controllers/ConnectivityController$UidStats;-><init>(I)V
+PLcom/android/server/job/controllers/ConnectivityController$UidStats;-><init>(ILcom/android/server/job/controllers/ConnectivityController$UidStats-IA;)V
+PLcom/android/server/job/controllers/ConnectivityController;->-$$Nest$mmaybeAdjustRegisteredCallbacksLocked(Lcom/android/server/job/controllers/ConnectivityController;)V
+PLcom/android/server/job/controllers/ConnectivityController;-><clinit>()V
+HPLcom/android/server/job/controllers/ConnectivityController;-><init>(Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/controllers/FlexibilityController;)V
+HPLcom/android/server/job/controllers/ConnectivityController;->evaluateStateLocked(Lcom/android/server/job/controllers/JobStatus;)V
+HPLcom/android/server/job/controllers/ConnectivityController;->getNetworkLocked(Lcom/android/server/job/controllers/JobStatus;)Landroid/net/Network;
+PLcom/android/server/job/controllers/ConnectivityController;->getNetworkMetadata(Landroid/net/Network;)Lcom/android/server/job/controllers/ConnectivityController$CachedNetworkMetadata;
+HPLcom/android/server/job/controllers/ConnectivityController;->getUidStats(ILjava/lang/String;Z)Lcom/android/server/job/controllers/ConnectivityController$UidStats;
+HPLcom/android/server/job/controllers/ConnectivityController;->isNetworkAvailable(Lcom/android/server/job/controllers/JobStatus;)Z
+PLcom/android/server/job/controllers/ConnectivityController;->isSatisfied(Lcom/android/server/job/controllers/JobStatus;Landroid/net/Network;Landroid/net/NetworkCapabilities;Lcom/android/server/job/JobSchedulerService$Constants;)Z
+HPLcom/android/server/job/controllers/ConnectivityController;->isStandbyExceptionRequestedLocked(I)Z
+HPLcom/android/server/job/controllers/ConnectivityController;->maybeAdjustRegisteredCallbacksLocked()V
+HPLcom/android/server/job/controllers/ConnectivityController;->maybeRegisterDefaultNetworkCallbackLocked(Lcom/android/server/job/controllers/JobStatus;)V
+HPLcom/android/server/job/controllers/ConnectivityController;->maybeRevokeStandbyExceptionLocked(Lcom/android/server/job/controllers/JobStatus;)V
+HPLcom/android/server/job/controllers/ConnectivityController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+HPLcom/android/server/job/controllers/ConnectivityController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/ConnectivityController;->onConstantsUpdatedLocked()V
+HPLcom/android/server/job/controllers/ConnectivityController;->onUidBiasChangedLocked(III)V
+PLcom/android/server/job/controllers/ConnectivityController;->postAdjustCallbacks()V
+PLcom/android/server/job/controllers/ConnectivityController;->postAdjustCallbacks(J)V
+HPLcom/android/server/job/controllers/ConnectivityController;->prepareForExecutionLocked(Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/ConnectivityController;->prepareForUpdatedConstantsLocked()V
+HPLcom/android/server/job/controllers/ConnectivityController;->registerPendingUidCallbacksLocked()V
+PLcom/android/server/job/controllers/ConnectivityController;->startTrackingLocked()V
+HPLcom/android/server/job/controllers/ConnectivityController;->updateConstraintsSatisfied(Lcom/android/server/job/controllers/JobStatus;)Z
+HPLcom/android/server/job/controllers/ConnectivityController;->updateConstraintsSatisfied(Lcom/android/server/job/controllers/JobStatus;JLandroid/net/Network;Lcom/android/server/job/controllers/ConnectivityController$CachedNetworkMetadata;)Z
+HPLcom/android/server/job/controllers/ContentObserverController$JobInstance;-><init>(Lcom/android/server/job/controllers/ContentObserverController;Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/ContentObserverController$ObserverInstance;-><init>(Lcom/android/server/job/controllers/ContentObserverController;Landroid/os/Handler;Landroid/app/job/JobInfo$TriggerContentUri;I)V
+PLcom/android/server/job/controllers/ContentObserverController$TriggerRunnable;-><init>(Lcom/android/server/job/controllers/ContentObserverController$JobInstance;)V
+PLcom/android/server/job/controllers/ContentObserverController;->-$$Nest$sfgetDEBUG()Z
+PLcom/android/server/job/controllers/ContentObserverController;-><clinit>()V
+PLcom/android/server/job/controllers/ContentObserverController;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+HPLcom/android/server/job/controllers/ContentObserverController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/ContentObserverController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/ContentObserverController;->prepareForExecutionLocked(Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/DeviceIdleJobsController$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/job/controllers/DeviceIdleJobsController;)V
+PLcom/android/server/job/controllers/DeviceIdleJobsController$1;-><init>(Lcom/android/server/job/controllers/DeviceIdleJobsController;)V
+HPLcom/android/server/job/controllers/DeviceIdleJobsController$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/job/controllers/DeviceIdleJobsController$DeviceIdleJobsDelayHandler;-><init>(Lcom/android/server/job/controllers/DeviceIdleJobsController;Landroid/os/Looper;)V
+PLcom/android/server/job/controllers/DeviceIdleJobsController$DeviceIdleUpdateFunctor;-><init>(Lcom/android/server/job/controllers/DeviceIdleJobsController;)V
+HPLcom/android/server/job/controllers/DeviceIdleJobsController$DeviceIdleUpdateFunctor;->accept(Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/DeviceIdleJobsController$DeviceIdleUpdateFunctor;->accept(Ljava/lang/Object;)V
+HPLcom/android/server/job/controllers/DeviceIdleJobsController$DeviceIdleUpdateFunctor;->prepare()V
+PLcom/android/server/job/controllers/DeviceIdleJobsController;->-$$Nest$fgetmAllowInIdleJobs(Lcom/android/server/job/controllers/DeviceIdleJobsController;)Landroid/util/ArraySet;
+PLcom/android/server/job/controllers/DeviceIdleJobsController;->-$$Nest$fgetmLocalDeviceIdleController(Lcom/android/server/job/controllers/DeviceIdleJobsController;)Lcom/android/server/DeviceIdleInternal;
+HPLcom/android/server/job/controllers/DeviceIdleJobsController;->-$$Nest$fputmPowerSaveTempWhitelistAppIds(Lcom/android/server/job/controllers/DeviceIdleJobsController;[I)V
+PLcom/android/server/job/controllers/DeviceIdleJobsController;->-$$Nest$mupdateTaskStateLocked(Lcom/android/server/job/controllers/DeviceIdleJobsController;Lcom/android/server/job/controllers/JobStatus;J)Z
+HPLcom/android/server/job/controllers/DeviceIdleJobsController;->-$$Nest$sfgetDEBUG()Z
+PLcom/android/server/job/controllers/DeviceIdleJobsController;-><clinit>()V
+PLcom/android/server/job/controllers/DeviceIdleJobsController;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+PLcom/android/server/job/controllers/DeviceIdleJobsController;->isTempWhitelistedLocked(Lcom/android/server/job/controllers/JobStatus;)Z
+HPLcom/android/server/job/controllers/DeviceIdleJobsController;->isWhitelistedLocked(Lcom/android/server/job/controllers/JobStatus;)Z
+HPLcom/android/server/job/controllers/DeviceIdleJobsController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/DeviceIdleJobsController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+HPLcom/android/server/job/controllers/DeviceIdleJobsController;->setUidActiveLocked(IZ)V
+HPLcom/android/server/job/controllers/DeviceIdleJobsController;->updateTaskStateLocked(Lcom/android/server/job/controllers/JobStatus;J)Z
+PLcom/android/server/job/controllers/FlexibilityController$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/job/controllers/FlexibilityController;)V
+PLcom/android/server/job/controllers/FlexibilityController$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/job/controllers/FlexibilityController$1;-><init>(Lcom/android/server/job/controllers/FlexibilityController;)V
+PLcom/android/server/job/controllers/FlexibilityController$2;-><init>(Lcom/android/server/job/controllers/FlexibilityController;)V
+PLcom/android/server/job/controllers/FlexibilityController$FcConfig;->-$$Nest$fgetmShouldReevaluateConstraints(Lcom/android/server/job/controllers/FlexibilityController$FcConfig;)Z
+PLcom/android/server/job/controllers/FlexibilityController$FcConfig;->-$$Nest$fputmShouldReevaluateConstraints(Lcom/android/server/job/controllers/FlexibilityController$FcConfig;Z)V
+PLcom/android/server/job/controllers/FlexibilityController$FcConfig;-><clinit>()V
+PLcom/android/server/job/controllers/FlexibilityController$FcConfig;-><init>(Lcom/android/server/job/controllers/FlexibilityController;)V
+PLcom/android/server/job/controllers/FlexibilityController$FcHandler$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/job/controllers/FlexibilityController$FcHandler;)V
+PLcom/android/server/job/controllers/FlexibilityController$FcHandler$$ExternalSyntheticLambda0;->test(Ljava/lang/Object;)Z
+PLcom/android/server/job/controllers/FlexibilityController$FcHandler$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/job/controllers/FlexibilityController$FcHandler;JLandroid/util/ArraySet;)V
+PLcom/android/server/job/controllers/FlexibilityController$FcHandler$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;)V
+PLcom/android/server/job/controllers/FlexibilityController$FcHandler;->$r8$lambda$5CvPVqmgOUfjOuy9DIWNcoGKJmo(Lcom/android/server/job/controllers/FlexibilityController$FcHandler;Lcom/android/server/job/controllers/JobStatus;)Z
+PLcom/android/server/job/controllers/FlexibilityController$FcHandler;->$r8$lambda$yWWuwRoUvOTH-mThpIBxsAo7feI(Lcom/android/server/job/controllers/FlexibilityController$FcHandler;JLandroid/util/ArraySet;Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/FlexibilityController$FcHandler;-><init>(Lcom/android/server/job/controllers/FlexibilityController;Landroid/os/Looper;)V
+PLcom/android/server/job/controllers/FlexibilityController$FcHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/job/controllers/FlexibilityController$FcHandler;->lambda$handleMessage$0(Lcom/android/server/job/controllers/JobStatus;)Z
+PLcom/android/server/job/controllers/FlexibilityController$FcHandler;->lambda$handleMessage$1(JLandroid/util/ArraySet;Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/FlexibilityController$FlexibilityAlarmQueue;-><init>(Lcom/android/server/job/controllers/FlexibilityController;Landroid/content/Context;Landroid/os/Looper;)V
+PLcom/android/server/job/controllers/FlexibilityController$FlexibilityAlarmQueue;-><init>(Lcom/android/server/job/controllers/FlexibilityController;Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/job/controllers/FlexibilityController$FlexibilityAlarmQueue-IA;)V
+HPLcom/android/server/job/controllers/FlexibilityController$FlexibilityAlarmQueue;->scheduleDropNumConstraintsAlarm(Lcom/android/server/job/controllers/JobStatus;J)V
+PLcom/android/server/job/controllers/FlexibilityController$FlexibilityTracker;-><init>(Lcom/android/server/job/controllers/FlexibilityController;I)V
+HPLcom/android/server/job/controllers/FlexibilityController$FlexibilityTracker;->add(Lcom/android/server/job/controllers/JobStatus;)V
+HPLcom/android/server/job/controllers/FlexibilityController$FlexibilityTracker;->remove(Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/FlexibilityController$JobScoreTracker$JobScoreBucket;-><init>()V
+PLcom/android/server/job/controllers/FlexibilityController$JobScoreTracker$JobScoreBucket;-><init>(Lcom/android/server/job/controllers/FlexibilityController$JobScoreTracker$JobScoreBucket-IA;)V
+PLcom/android/server/job/controllers/FlexibilityController$JobScoreTracker;-><init>()V
+PLcom/android/server/job/controllers/FlexibilityController$JobScoreTracker;-><init>(Lcom/android/server/job/controllers/FlexibilityController$JobScoreTracker-IA;)V
+HPLcom/android/server/job/controllers/FlexibilityController$JobScoreTracker;->addScore(IJ)V
+HPLcom/android/server/job/controllers/FlexibilityController$JobScoreTracker;->getScore(J)I
+PLcom/android/server/job/controllers/FlexibilityController;->$r8$lambda$fmLZ0Eyb4DjWbt0tDV_WmGlhcUg(Lcom/android/server/job/controllers/FlexibilityController;)V
+HPLcom/android/server/job/controllers/FlexibilityController;->-$$Nest$fgetmDeadlineProximityLimitMs(Lcom/android/server/job/controllers/FlexibilityController;)J
+PLcom/android/server/job/controllers/FlexibilityController;->-$$Nest$fgetmMinTimeBetweenFlexibilityAlarmsMs(Lcom/android/server/job/controllers/FlexibilityController;)J
+PLcom/android/server/job/controllers/FlexibilityController;->-$$Nest$fgetmPackagesToCheck(Lcom/android/server/job/controllers/FlexibilityController;)Landroid/util/ArraySet;
+HPLcom/android/server/job/controllers/FlexibilityController;->-$$Nest$sfgetDEBUG()Z
+PLcom/android/server/job/controllers/FlexibilityController;-><clinit>()V
+HPLcom/android/server/job/controllers/FlexibilityController;-><init>(Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/controllers/PrefetchController;)V
+HPLcom/android/server/job/controllers/FlexibilityController;->getLifeCycleBeginningElapsedLocked(Lcom/android/server/job/controllers/JobStatus;)J
+HPLcom/android/server/job/controllers/FlexibilityController;->getLifeCycleEndElapsedLocked(Lcom/android/server/job/controllers/JobStatus;JJ)J
+HPLcom/android/server/job/controllers/FlexibilityController;->getNextConstraintDropTimeElapsedLocked(Lcom/android/server/job/controllers/JobStatus;JJ)J
+HPLcom/android/server/job/controllers/FlexibilityController;->getPercentsToDropConstraints(I)[I
+HPLcom/android/server/job/controllers/FlexibilityController;->getRelevantAppliedConstraintsLocked(Lcom/android/server/job/controllers/JobStatus;)I
+HPLcom/android/server/job/controllers/FlexibilityController;->getScoreLocked(ILjava/lang/String;J)I
+PLcom/android/server/job/controllers/FlexibilityController;->isEnabled()Z
+HPLcom/android/server/job/controllers/FlexibilityController;->isFlexibilitySatisfiedLocked(Lcom/android/server/job/controllers/JobStatus;)Z
+HPLcom/android/server/job/controllers/FlexibilityController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+HPLcom/android/server/job/controllers/FlexibilityController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/FlexibilityController;->onConstantsUpdatedLocked()V
+PLcom/android/server/job/controllers/FlexibilityController;->onSystemServicesReady()V
+HPLcom/android/server/job/controllers/FlexibilityController;->onUidBiasChangedLocked(III)V
+HPLcom/android/server/job/controllers/FlexibilityController;->prepareForExecutionLocked(Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/FlexibilityController;->prepareForUpdatedConstantsLocked()V
+PLcom/android/server/job/controllers/FlexibilityController;->setConstraintSatisfied(IZJ)V
+PLcom/android/server/job/controllers/FlexibilityController;->startTrackingLocked()V
+PLcom/android/server/job/controllers/FlexibilityController;->updatePowerAllowlistCache()V
+PLcom/android/server/job/controllers/IdleController;-><init>(Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/controllers/FlexibilityController;)V
+PLcom/android/server/job/controllers/IdleController;->initIdleStateTracker()V
+HPLcom/android/server/job/controllers/IdleController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/IdleController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/IdleController;->startTrackingLocked()V
+PLcom/android/server/job/controllers/JobStatus;-><clinit>()V
+HPLcom/android/server/job/controllers/JobStatus;-><init>(Landroid/app/job/JobInfo;ILjava/lang/String;IILjava/lang/String;Ljava/lang/String;IIJJJJJII)V
+PLcom/android/server/job/controllers/JobStatus;-><init>(Landroid/app/job/JobInfo;ILjava/lang/String;IILjava/lang/String;Ljava/lang/String;JJJJJLandroid/util/Pair;II)V
+HPLcom/android/server/job/controllers/JobStatus;-><init>(Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/JobStatus;-><init>(Lcom/android/server/job/controllers/JobStatus;JJIIJJJ)V
+HPLcom/android/server/job/controllers/JobStatus;->addDynamicConstraints(I)V
+PLcom/android/server/job/controllers/JobStatus;->addInternalFlags(I)V
+HPLcom/android/server/job/controllers/JobStatus;->canApplyTransportAffinities()Z
+HPLcom/android/server/job/controllers/JobStatus;->canRunInBatterySaver()Z
+HPLcom/android/server/job/controllers/JobStatus;->canRunInDoze()Z
+PLcom/android/server/job/controllers/JobStatus;->clearPersistedUtcTimes()V
+HPLcom/android/server/job/controllers/JobStatus;->clearTrackingController(I)Z
+PLcom/android/server/job/controllers/JobStatus;->completeWorkLocked(I)Z
+HPLcom/android/server/job/controllers/JobStatus;->createFromJobInfo(Landroid/app/job/JobInfo;ILjava/lang/String;ILjava/lang/String;Ljava/lang/String;)Lcom/android/server/job/controllers/JobStatus;
+HPLcom/android/server/job/controllers/JobStatus;->dequeueWorkLocked()Landroid/app/job/JobWorkItem;
+HPLcom/android/server/job/controllers/JobStatus;->enqueueWorkLocked(Landroid/app/job/JobWorkItem;)V
+PLcom/android/server/job/controllers/JobStatus;->generateLoggingId(Ljava/lang/String;I)J
+HPLcom/android/server/job/controllers/JobStatus;->generateNamespaceHash(Ljava/lang/String;)Ljava/lang/String;
+HPLcom/android/server/job/controllers/JobStatus;->getAppTraceTag()Ljava/lang/String;
+PLcom/android/server/job/controllers/JobStatus;->getBatteryName()Ljava/lang/String;
+HPLcom/android/server/job/controllers/JobStatus;->getBias()I
+PLcom/android/server/job/controllers/JobStatus;->getCallingPackageName()Ljava/lang/String;
+PLcom/android/server/job/controllers/JobStatus;->getCumulativeExecutionTimeMs()J
+HPLcom/android/server/job/controllers/JobStatus;->getEarliestRunTime()J
+HPLcom/android/server/job/controllers/JobStatus;->getEffectivePriority()I
+HPLcom/android/server/job/controllers/JobStatus;->getEffectiveStandbyBucket()I
+HPLcom/android/server/job/controllers/JobStatus;->getEstimatedNetworkDownloadBytes()J
+HPLcom/android/server/job/controllers/JobStatus;->getEstimatedNetworkUploadBytes()J
+HPLcom/android/server/job/controllers/JobStatus;->getFilteredDebugTags()[Ljava/lang/String;
+HPLcom/android/server/job/controllers/JobStatus;->getFilteredTraceTag()Ljava/lang/String;
+PLcom/android/server/job/controllers/JobStatus;->getFirstForceBatchedTimeElapsed()J
+HPLcom/android/server/job/controllers/JobStatus;->getFlags()I
+HPLcom/android/server/job/controllers/JobStatus;->getInternalFlags()I
+PLcom/android/server/job/controllers/JobStatus;->getJob()Landroid/app/job/JobInfo;
+HPLcom/android/server/job/controllers/JobStatus;->getJobId()I
+PLcom/android/server/job/controllers/JobStatus;->getLastFailedRunTime()J
+PLcom/android/server/job/controllers/JobStatus;->getLastSuccessfulRunTime()J
+HPLcom/android/server/job/controllers/JobStatus;->getLatestRunTimeElapsed()J
+PLcom/android/server/job/controllers/JobStatus;->getLoggingJobId()J
+PLcom/android/server/job/controllers/JobStatus;->getNamespace()Ljava/lang/String;
+PLcom/android/server/job/controllers/JobStatus;->getNamespaceHash()Ljava/lang/String;
+PLcom/android/server/job/controllers/JobStatus;->getNumAppliedFlexibleConstraints()I
+HPLcom/android/server/job/controllers/JobStatus;->getNumDroppedFlexibleConstraints()I
+PLcom/android/server/job/controllers/JobStatus;->getNumFailures()I
+HPLcom/android/server/job/controllers/JobStatus;->getNumPreviousAttempts()I
+HPLcom/android/server/job/controllers/JobStatus;->getNumRequiredFlexibleConstraints()I
+PLcom/android/server/job/controllers/JobStatus;->getNumSystemStops()I
+PLcom/android/server/job/controllers/JobStatus;->getOriginalLatestRunTimeElapsed()J
+PLcom/android/server/job/controllers/JobStatus;->getPersistedUtcTimes()Landroid/util/Pair;
+PLcom/android/server/job/controllers/JobStatus;->getProtoConstraint(I)I
+HPLcom/android/server/job/controllers/JobStatus;->getServiceComponent()Landroid/content/ComponentName;
+HPLcom/android/server/job/controllers/JobStatus;->getSourcePackageName()Ljava/lang/String;
+HPLcom/android/server/job/controllers/JobStatus;->getSourceTag()Ljava/lang/String;
+HPLcom/android/server/job/controllers/JobStatus;->getSourceUid()I
+HPLcom/android/server/job/controllers/JobStatus;->getSourceUserId()I
+HPLcom/android/server/job/controllers/JobStatus;->getStandbyBucket()I
+HPLcom/android/server/job/controllers/JobStatus;->getTimeoutBlamePackageName()Ljava/lang/String;
+HPLcom/android/server/job/controllers/JobStatus;->getTimeoutBlameUserId()I
+HPLcom/android/server/job/controllers/JobStatus;->getUid()I
+HPLcom/android/server/job/controllers/JobStatus;->getUserId()I
+HPLcom/android/server/job/controllers/JobStatus;->getWakelockTag()Ljava/lang/String;
+PLcom/android/server/job/controllers/JobStatus;->getWhenStandbyDeferred()J
+HPLcom/android/server/job/controllers/JobStatus;->getWorkCount()I
+HPLcom/android/server/job/controllers/JobStatus;->hasBatteryNotLowConstraint()Z
+HPLcom/android/server/job/controllers/JobStatus;->hasChargingConstraint()Z
+HPLcom/android/server/job/controllers/JobStatus;->hasConnectivityConstraint()Z
+HPLcom/android/server/job/controllers/JobStatus;->hasConstraint(I)Z
+HPLcom/android/server/job/controllers/JobStatus;->hasContentTriggerConstraint()Z
+HPLcom/android/server/job/controllers/JobStatus;->hasDeadlineConstraint()Z
+PLcom/android/server/job/controllers/JobStatus;->hasExecutingWorkLocked()Z
+HPLcom/android/server/job/controllers/JobStatus;->hasFlexibilityConstraint()Z
+HPLcom/android/server/job/controllers/JobStatus;->hasIdleConstraint()Z
+HPLcom/android/server/job/controllers/JobStatus;->hasPowerConstraint()Z
+HPLcom/android/server/job/controllers/JobStatus;->hasStorageNotLowConstraint()Z
+HPLcom/android/server/job/controllers/JobStatus;->hasTimingDelayConstraint()Z
+PLcom/android/server/job/controllers/JobStatus;->incrementCumulativeExecutionTime(J)V
+HPLcom/android/server/job/controllers/JobStatus;->isConstraintSatisfied(I)Z
+HPLcom/android/server/job/controllers/JobStatus;->isConstraintsSatisfied(I)Z
+HPLcom/android/server/job/controllers/JobStatus;->isPersisted()Z
+HPLcom/android/server/job/controllers/JobStatus;->isPreparedLocked()Z
+HPLcom/android/server/job/controllers/JobStatus;->isProxyJob()Z
+HPLcom/android/server/job/controllers/JobStatus;->isReady()Z
+HPLcom/android/server/job/controllers/JobStatus;->isReady(I)Z
+HPLcom/android/server/job/controllers/JobStatus;->isRequestedExpeditedJob()Z
+HPLcom/android/server/job/controllers/JobStatus;->isUserVisibleJob()Z
+HPLcom/android/server/job/controllers/JobStatus;->maybeAddForegroundExemption(Ljava/util/function/Predicate;)V
+HPLcom/android/server/job/controllers/JobStatus;->prepareLocked()V
+HPLcom/android/server/job/controllers/JobStatus;->readinessStatusWithConstraint(IZ)Z
+HPLcom/android/server/job/controllers/JobStatus;->setBackgroundNotRestrictedConstraintSatisfied(JZZ)Z
+PLcom/android/server/job/controllers/JobStatus;->setBatteryNotLowConstraintSatisfied(JZ)Z
+PLcom/android/server/job/controllers/JobStatus;->setChargingConstraintSatisfied(JZ)Z
+PLcom/android/server/job/controllers/JobStatus;->setConnectivityConstraintSatisfied(JZ)Z
+HPLcom/android/server/job/controllers/JobStatus;->setConstraintSatisfied(IJZ)Z
+PLcom/android/server/job/controllers/JobStatus;->setContentTriggerConstraintSatisfied(JZ)Z
+PLcom/android/server/job/controllers/JobStatus;->setDeadlineConstraintSatisfied(JZ)Z
+HPLcom/android/server/job/controllers/JobStatus;->setDeviceNotDozingConstraintSatisfied(JZZ)Z
+HPLcom/android/server/job/controllers/JobStatus;->setExpeditedJobQuotaApproved(JZ)Z
+HPLcom/android/server/job/controllers/JobStatus;->setExpeditedJobTareApproved(JZ)Z
+HPLcom/android/server/job/controllers/JobStatus;->setFlexibilityConstraintSatisfied(JZ)Z
+PLcom/android/server/job/controllers/JobStatus;->setIdleConstraintSatisfied(JZ)Z
+HPLcom/android/server/job/controllers/JobStatus;->setNumAppliedFlexibleConstraints(I)V
+HPLcom/android/server/job/controllers/JobStatus;->setQuotaConstraintSatisfied(JZ)Z
+PLcom/android/server/job/controllers/JobStatus;->setStandbyBucket(I)V
+HPLcom/android/server/job/controllers/JobStatus;->setTareWealthConstraintSatisfied(JZ)Z
+PLcom/android/server/job/controllers/JobStatus;->setTimingDelayConstraintSatisfied(JZ)Z
+HPLcom/android/server/job/controllers/JobStatus;->setTrackingController(I)V
+PLcom/android/server/job/controllers/JobStatus;->setTransportAffinitiesSatisfied(Z)V
+HPLcom/android/server/job/controllers/JobStatus;->setUidActive(Z)Z
+HPLcom/android/server/job/controllers/JobStatus;->shouldBlameSourceForTimeout()Z
+HPLcom/android/server/job/controllers/JobStatus;->shouldTreatAsExpeditedJob()Z
+HPLcom/android/server/job/controllers/JobStatus;->shouldTreatAsUserInitiatedJob()Z
+HPLcom/android/server/job/controllers/JobStatus;->stopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/JobStatus;->ungrantWorkItem(Landroid/app/job/JobWorkItem;)V
+PLcom/android/server/job/controllers/JobStatus;->ungrantWorkList(Ljava/util/ArrayList;)V
+HPLcom/android/server/job/controllers/JobStatus;->unprepareLocked()V
+PLcom/android/server/job/controllers/JobStatus;->updateExpeditedDependencies()V
+HPLcom/android/server/job/controllers/JobStatus;->updateMediaBackupExemptionStatus()Z
+HPLcom/android/server/job/controllers/JobStatus;->updateNetworkBytesLocked()V
+HPLcom/android/server/job/controllers/JobStatus;->wouldBeReadyWithConstraint(I)Z
+PLcom/android/server/job/controllers/PrefetchController$1;-><init>(Lcom/android/server/job/controllers/PrefetchController;)V
+PLcom/android/server/job/controllers/PrefetchController$1;->onEstimatedLaunchTimeChanged(ILjava/lang/String;J)V
+PLcom/android/server/job/controllers/PrefetchController$PcConstants;->-$$Nest$fgetmShouldReevaluateConstraints(Lcom/android/server/job/controllers/PrefetchController$PcConstants;)Z
+PLcom/android/server/job/controllers/PrefetchController$PcConstants;->-$$Nest$fputmShouldReevaluateConstraints(Lcom/android/server/job/controllers/PrefetchController$PcConstants;Z)V
+PLcom/android/server/job/controllers/PrefetchController$PcConstants;-><init>(Lcom/android/server/job/controllers/PrefetchController;)V
+PLcom/android/server/job/controllers/PrefetchController$PcHandler;-><init>(Lcom/android/server/job/controllers/PrefetchController;Landroid/os/Looper;)V
+PLcom/android/server/job/controllers/PrefetchController$PcHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/job/controllers/PrefetchController$ThresholdAlarmListener;-><init>(Lcom/android/server/job/controllers/PrefetchController;Landroid/content/Context;Landroid/os/Looper;)V
+PLcom/android/server/job/controllers/PrefetchController$ThresholdAlarmListener;-><init>(Lcom/android/server/job/controllers/PrefetchController;Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/job/controllers/PrefetchController$ThresholdAlarmListener-IA;)V
+PLcom/android/server/job/controllers/PrefetchController;->-$$Nest$fgetmHandler(Lcom/android/server/job/controllers/PrefetchController;)Lcom/android/server/job/controllers/PrefetchController$PcHandler;
+PLcom/android/server/job/controllers/PrefetchController;->-$$Nest$mmaybeUpdateConstraintForUid(Lcom/android/server/job/controllers/PrefetchController;I)V
+PLcom/android/server/job/controllers/PrefetchController;->-$$Nest$mprocessUpdatedEstimatedLaunchTime(Lcom/android/server/job/controllers/PrefetchController;ILjava/lang/String;J)V
+PLcom/android/server/job/controllers/PrefetchController;-><clinit>()V
+PLcom/android/server/job/controllers/PrefetchController;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+HPLcom/android/server/job/controllers/PrefetchController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+HPLcom/android/server/job/controllers/PrefetchController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+HPLcom/android/server/job/controllers/PrefetchController;->maybeUpdateConstraintForUid(I)V
+PLcom/android/server/job/controllers/PrefetchController;->onConstantsUpdatedLocked()V
+PLcom/android/server/job/controllers/PrefetchController;->onSystemServicesReady()V
+PLcom/android/server/job/controllers/PrefetchController;->onUidBiasChangedLocked(III)V
+PLcom/android/server/job/controllers/PrefetchController;->prepareForUpdatedConstantsLocked()V
+PLcom/android/server/job/controllers/PrefetchController;->processUpdatedEstimatedLaunchTime(ILjava/lang/String;J)V
+PLcom/android/server/job/controllers/PrefetchController;->startTrackingLocked()V
+PLcom/android/server/job/controllers/QuotaController$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/job/controllers/QuotaController;)V
+PLcom/android/server/job/controllers/QuotaController$1;-><init>(Lcom/android/server/job/controllers/QuotaController;)V
+PLcom/android/server/job/controllers/QuotaController$EarliestEndTimeFunctor;-><init>(Lcom/android/server/job/controllers/QuotaController;)V
+PLcom/android/server/job/controllers/QuotaController$EarliestEndTimeFunctor;-><init>(Lcom/android/server/job/controllers/QuotaController;Lcom/android/server/job/controllers/QuotaController$EarliestEndTimeFunctor-IA;)V
+PLcom/android/server/job/controllers/QuotaController$ExecutionStats;-><init>()V
+PLcom/android/server/job/controllers/QuotaController$InQuotaAlarmQueue;-><init>(Lcom/android/server/job/controllers/QuotaController;Landroid/content/Context;Landroid/os/Looper;)V
+PLcom/android/server/job/controllers/QuotaController$InQuotaAlarmQueue;-><init>(Lcom/android/server/job/controllers/QuotaController;Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/job/controllers/QuotaController$InQuotaAlarmQueue-IA;)V
+PLcom/android/server/job/controllers/QuotaController$QcConstants;->-$$Nest$fgetmShouldReevaluateConstraints(Lcom/android/server/job/controllers/QuotaController$QcConstants;)Z
+PLcom/android/server/job/controllers/QuotaController$QcConstants;->-$$Nest$fputmEJLimitConstantsUpdated(Lcom/android/server/job/controllers/QuotaController$QcConstants;Z)V
+PLcom/android/server/job/controllers/QuotaController$QcConstants;->-$$Nest$fputmExecutionPeriodConstantsUpdated(Lcom/android/server/job/controllers/QuotaController$QcConstants;Z)V
+PLcom/android/server/job/controllers/QuotaController$QcConstants;->-$$Nest$fputmQuotaBumpConstantsUpdated(Lcom/android/server/job/controllers/QuotaController$QcConstants;Z)V
+PLcom/android/server/job/controllers/QuotaController$QcConstants;->-$$Nest$fputmRateLimitingConstantsUpdated(Lcom/android/server/job/controllers/QuotaController$QcConstants;Z)V
+PLcom/android/server/job/controllers/QuotaController$QcConstants;->-$$Nest$fputmShouldReevaluateConstraints(Lcom/android/server/job/controllers/QuotaController$QcConstants;Z)V
+PLcom/android/server/job/controllers/QuotaController$QcConstants;-><init>(Lcom/android/server/job/controllers/QuotaController;)V
+PLcom/android/server/job/controllers/QuotaController$QcHandler;-><init>(Lcom/android/server/job/controllers/QuotaController;Landroid/os/Looper;)V
+HPLcom/android/server/job/controllers/QuotaController$QcHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/job/controllers/QuotaController$QcUidObserver;-><init>(Lcom/android/server/job/controllers/QuotaController;)V
+PLcom/android/server/job/controllers/QuotaController$QcUidObserver;-><init>(Lcom/android/server/job/controllers/QuotaController;Lcom/android/server/job/controllers/QuotaController$QcUidObserver-IA;)V
+HPLcom/android/server/job/controllers/QuotaController$QcUidObserver;->onUidStateChanged(IIJI)V
+PLcom/android/server/job/controllers/QuotaController$ShrinkableDebits;-><init>(I)V
+PLcom/android/server/job/controllers/QuotaController$ShrinkableDebits;->getStandbyBucketLocked()I
+PLcom/android/server/job/controllers/QuotaController$ShrinkableDebits;->getTallyLocked()J
+PLcom/android/server/job/controllers/QuotaController$ShrinkableDebits;->setStandbyBucketLocked(I)V
+PLcom/android/server/job/controllers/QuotaController$ShrinkableDebits;->transactLocked(J)J
+HPLcom/android/server/job/controllers/QuotaController$StandbyTracker$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/job/controllers/QuotaController$StandbyTracker;IILjava/lang/String;)V
+PLcom/android/server/job/controllers/QuotaController$StandbyTracker$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/job/controllers/QuotaController$StandbyTracker;->$r8$lambda$t09qsupi5NrKPja4qQPLgVYLvys(Lcom/android/server/job/controllers/QuotaController$StandbyTracker;IILjava/lang/String;)V
+PLcom/android/server/job/controllers/QuotaController$StandbyTracker;-><init>(Lcom/android/server/job/controllers/QuotaController;)V
+PLcom/android/server/job/controllers/QuotaController$StandbyTracker;->lambda$onAppIdleStateChanged$0(IILjava/lang/String;)V
+HPLcom/android/server/job/controllers/QuotaController$StandbyTracker;->onAppIdleStateChanged(Ljava/lang/String;IZII)V
+PLcom/android/server/job/controllers/QuotaController$TempAllowlistTracker;-><init>(Lcom/android/server/job/controllers/QuotaController;)V
+HPLcom/android/server/job/controllers/QuotaController$TempAllowlistTracker;->onAppAdded(I)V
+HPLcom/android/server/job/controllers/QuotaController$TempAllowlistTracker;->onAppRemoved(I)V
+PLcom/android/server/job/controllers/QuotaController$TimedEventTooOldPredicate;-><init>()V
+PLcom/android/server/job/controllers/QuotaController$TimedEventTooOldPredicate;-><init>(Lcom/android/server/job/controllers/QuotaController$TimedEventTooOldPredicate-IA;)V
+HPLcom/android/server/job/controllers/QuotaController$Timer;-><init>(Lcom/android/server/job/controllers/QuotaController;IILjava/lang/String;Z)V
+PLcom/android/server/job/controllers/QuotaController$Timer;->emitSessionLocked(J)V
+PLcom/android/server/job/controllers/QuotaController$Timer;->getCurrentDuration(J)J
+PLcom/android/server/job/controllers/QuotaController$Timer;->isActive()Z
+PLcom/android/server/job/controllers/QuotaController$Timer;->onStateChangedLocked(JZ)V
+HPLcom/android/server/job/controllers/QuotaController$Timer;->shouldTrackLocked()Z
+HPLcom/android/server/job/controllers/QuotaController$Timer;->startTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;)V
+HPLcom/android/server/job/controllers/QuotaController$Timer;->stopTrackingJob(Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/QuotaController$TimerChargingUpdateFunctor;-><init>(Lcom/android/server/job/controllers/QuotaController;)V
+PLcom/android/server/job/controllers/QuotaController$TimerChargingUpdateFunctor;-><init>(Lcom/android/server/job/controllers/QuotaController;Lcom/android/server/job/controllers/QuotaController$TimerChargingUpdateFunctor-IA;)V
+PLcom/android/server/job/controllers/QuotaController$TopAppTimer;-><init>(Lcom/android/server/job/controllers/QuotaController;ILjava/lang/String;)V
+PLcom/android/server/job/controllers/QuotaController$TopAppTimer;->calculateTimeChunks(J)I
+PLcom/android/server/job/controllers/QuotaController$TopAppTimer;->getPendingReward(J)J
+PLcom/android/server/job/controllers/QuotaController$TopAppTimer;->processEventLocked(Landroid/app/usage/UsageEvents$Event;)V
+PLcom/android/server/job/controllers/QuotaController$UidConstraintUpdater;-><init>(Lcom/android/server/job/controllers/QuotaController;)V
+PLcom/android/server/job/controllers/QuotaController$UidConstraintUpdater;-><init>(Lcom/android/server/job/controllers/QuotaController;Lcom/android/server/job/controllers/QuotaController$UidConstraintUpdater-IA;)V
+HPLcom/android/server/job/controllers/QuotaController$UidConstraintUpdater;->accept(Lcom/android/server/job/controllers/JobStatus;)V
+HPLcom/android/server/job/controllers/QuotaController$UidConstraintUpdater;->accept(Ljava/lang/Object;)V
+HPLcom/android/server/job/controllers/QuotaController$UidConstraintUpdater;->postProcess()V
+HPLcom/android/server/job/controllers/QuotaController$UidConstraintUpdater;->prepare()V
+HPLcom/android/server/job/controllers/QuotaController$UidConstraintUpdater;->reset()V
+PLcom/android/server/job/controllers/QuotaController$UsageEventTracker;-><init>(Lcom/android/server/job/controllers/QuotaController;)V
+HPLcom/android/server/job/controllers/QuotaController$UsageEventTracker;->onUsageEvent(ILandroid/app/usage/UsageEvents$Event;)V
+HPLcom/android/server/job/controllers/QuotaController;->-$$Nest$fgetmEJGracePeriodTempAllowlistMs(Lcom/android/server/job/controllers/QuotaController;)J
+PLcom/android/server/job/controllers/QuotaController;->-$$Nest$fgetmEJGracePeriodTopAppMs(Lcom/android/server/job/controllers/QuotaController;)J
+HPLcom/android/server/job/controllers/QuotaController;->-$$Nest$fgetmEJPkgTimers(Lcom/android/server/job/controllers/QuotaController;)Landroid/util/SparseArrayMap;
+PLcom/android/server/job/controllers/QuotaController;->-$$Nest$fgetmEJRewardInteractionMs(Lcom/android/server/job/controllers/QuotaController;)J
+PLcom/android/server/job/controllers/QuotaController;->-$$Nest$fgetmEJRewardTopAppMs(Lcom/android/server/job/controllers/QuotaController;)J
+PLcom/android/server/job/controllers/QuotaController;->-$$Nest$fgetmEJTopAppTimeChunkSizeMs(Lcom/android/server/job/controllers/QuotaController;)J
+HPLcom/android/server/job/controllers/QuotaController;->-$$Nest$fgetmForegroundUids(Lcom/android/server/job/controllers/QuotaController;)Landroid/util/SparseBooleanArray;
+HPLcom/android/server/job/controllers/QuotaController;->-$$Nest$fgetmHandler(Lcom/android/server/job/controllers/QuotaController;)Lcom/android/server/job/controllers/QuotaController$QcHandler;
+PLcom/android/server/job/controllers/QuotaController;->-$$Nest$fgetmInQuotaAlarmQueue(Lcom/android/server/job/controllers/QuotaController;)Lcom/android/server/job/controllers/QuotaController$InQuotaAlarmQueue;
+HPLcom/android/server/job/controllers/QuotaController;->-$$Nest$fgetmPkgTimers(Lcom/android/server/job/controllers/QuotaController;)Landroid/util/SparseArrayMap;
+HPLcom/android/server/job/controllers/QuotaController;->-$$Nest$fgetmTempAllowlistCache(Lcom/android/server/job/controllers/QuotaController;)Landroid/util/SparseBooleanArray;
+PLcom/android/server/job/controllers/QuotaController;->-$$Nest$fgetmTempAllowlistGraceCache(Lcom/android/server/job/controllers/QuotaController;)Landroid/util/SparseLongArray;
+HPLcom/android/server/job/controllers/QuotaController;->-$$Nest$fgetmTopAppCache(Lcom/android/server/job/controllers/QuotaController;)Landroid/util/SparseBooleanArray;
+PLcom/android/server/job/controllers/QuotaController;->-$$Nest$fgetmTopAppGraceCache(Lcom/android/server/job/controllers/QuotaController;)Landroid/util/SparseLongArray;
+PLcom/android/server/job/controllers/QuotaController;->-$$Nest$fgetmTopAppTrackers(Lcom/android/server/job/controllers/QuotaController;)Landroid/util/SparseArrayMap;
+PLcom/android/server/job/controllers/QuotaController;->-$$Nest$mgrantRewardForInstantEvent(Lcom/android/server/job/controllers/QuotaController;ILjava/lang/String;J)V
+PLcom/android/server/job/controllers/QuotaController;->-$$Nest$mhasTempAllowlistExemptionLocked(Lcom/android/server/job/controllers/QuotaController;IIJ)Z
+PLcom/android/server/job/controllers/QuotaController;->-$$Nest$misQuotaFreeLocked(Lcom/android/server/job/controllers/QuotaController;I)Z
+PLcom/android/server/job/controllers/QuotaController;->-$$Nest$misTopStartedJobLocked(Lcom/android/server/job/controllers/QuotaController;Lcom/android/server/job/controllers/JobStatus;)Z
+PLcom/android/server/job/controllers/QuotaController;->-$$Nest$mmaybeUpdateConstraintForPkgLocked(Lcom/android/server/job/controllers/QuotaController;JILjava/lang/String;)Landroid/util/ArraySet;
+HPLcom/android/server/job/controllers/QuotaController;->-$$Nest$mmaybeUpdateConstraintForUidLocked(Lcom/android/server/job/controllers/QuotaController;I)Landroid/util/ArraySet;
+PLcom/android/server/job/controllers/QuotaController;->-$$Nest$msetConstraintSatisfied(Lcom/android/server/job/controllers/QuotaController;Lcom/android/server/job/controllers/JobStatus;JZZ)Z
+PLcom/android/server/job/controllers/QuotaController;->-$$Nest$msetExpeditedQuotaApproved(Lcom/android/server/job/controllers/QuotaController;Lcom/android/server/job/controllers/JobStatus;JZ)Z
+PLcom/android/server/job/controllers/QuotaController;->-$$Nest$mtransactQuotaLocked(Lcom/android/server/job/controllers/QuotaController;ILjava/lang/String;JLcom/android/server/job/controllers/QuotaController$ShrinkableDebits;J)Z
+HPLcom/android/server/job/controllers/QuotaController;->-$$Nest$sfgetDEBUG()Z
+PLcom/android/server/job/controllers/QuotaController;-><clinit>()V
+HPLcom/android/server/job/controllers/QuotaController;-><init>(Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/controllers/BackgroundJobsController;Lcom/android/server/job/controllers/ConnectivityController;)V
+PLcom/android/server/job/controllers/QuotaController;->cacheInstallerPackagesLocked(I)V
+HPLcom/android/server/job/controllers/QuotaController;->getEJDebitsLocked(ILjava/lang/String;)Lcom/android/server/job/controllers/QuotaController$ShrinkableDebits;
+HPLcom/android/server/job/controllers/QuotaController;->getEJLimitMsLocked(ILjava/lang/String;I)J
+PLcom/android/server/job/controllers/QuotaController;->getExecutionStatsLocked(ILjava/lang/String;I)Lcom/android/server/job/controllers/QuotaController$ExecutionStats;
+HPLcom/android/server/job/controllers/QuotaController;->getExecutionStatsLocked(ILjava/lang/String;IZ)Lcom/android/server/job/controllers/QuotaController$ExecutionStats;
+HPLcom/android/server/job/controllers/QuotaController;->getMaxJobExecutionTimeMsLocked(Lcom/android/server/job/controllers/JobStatus;)J
+HPLcom/android/server/job/controllers/QuotaController;->getRemainingEJExecutionTimeLocked(ILjava/lang/String;)J
+PLcom/android/server/job/controllers/QuotaController;->grantRewardForInstantEvent(ILjava/lang/String;J)V
+PLcom/android/server/job/controllers/QuotaController;->hasTempAllowlistExemptionLocked(IIJ)Z
+HPLcom/android/server/job/controllers/QuotaController;->isQuotaFreeLocked(I)Z
+HPLcom/android/server/job/controllers/QuotaController;->isTopStartedJobLocked(Lcom/android/server/job/controllers/JobStatus;)Z
+HPLcom/android/server/job/controllers/QuotaController;->isUidInForeground(I)Z
+HPLcom/android/server/job/controllers/QuotaController;->isUnderJobCountQuotaLocked(Lcom/android/server/job/controllers/QuotaController$ExecutionStats;I)Z
+HPLcom/android/server/job/controllers/QuotaController;->isUnderSessionCountQuotaLocked(Lcom/android/server/job/controllers/QuotaController$ExecutionStats;I)Z
+PLcom/android/server/job/controllers/QuotaController;->isWithinEJQuotaLocked(Lcom/android/server/job/controllers/JobStatus;)Z
+HPLcom/android/server/job/controllers/QuotaController;->isWithinQuotaLocked(ILjava/lang/String;I)Z
+HPLcom/android/server/job/controllers/QuotaController;->isWithinQuotaLocked(Lcom/android/server/job/controllers/JobStatus;)Z
+HPLcom/android/server/job/controllers/QuotaController;->maybeScheduleStartAlarmLocked(ILjava/lang/String;I)V
+HPLcom/android/server/job/controllers/QuotaController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+HPLcom/android/server/job/controllers/QuotaController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+HPLcom/android/server/job/controllers/QuotaController;->maybeUpdateConstraintForPkgLocked(JILjava/lang/String;)Landroid/util/ArraySet;
+HPLcom/android/server/job/controllers/QuotaController;->maybeUpdateConstraintForUidLocked(I)Landroid/util/ArraySet;
+PLcom/android/server/job/controllers/QuotaController;->onConstantsUpdatedLocked()V
+PLcom/android/server/job/controllers/QuotaController;->onSystemServicesReady()V
+HPLcom/android/server/job/controllers/QuotaController;->prepareForExecutionLocked(Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/QuotaController;->prepareForUpdatedConstantsLocked()V
+HPLcom/android/server/job/controllers/QuotaController;->setConstraintSatisfied(Lcom/android/server/job/controllers/JobStatus;JZZ)Z
+HPLcom/android/server/job/controllers/QuotaController;->setExpeditedQuotaApproved(Lcom/android/server/job/controllers/JobStatus;JZ)Z
+PLcom/android/server/job/controllers/QuotaController;->transactQuotaLocked(ILjava/lang/String;JLcom/android/server/job/controllers/QuotaController$ShrinkableDebits;J)Z
+HPLcom/android/server/job/controllers/QuotaController;->unprepareFromExecutionLocked(Lcom/android/server/job/controllers/JobStatus;)V
+HPLcom/android/server/job/controllers/QuotaController;->updateExecutionStatsLocked(ILjava/lang/String;Lcom/android/server/job/controllers/QuotaController$ExecutionStats;)V
+HPLcom/android/server/job/controllers/QuotaController;->updateStandbyBucket(ILjava/lang/String;I)V
+PLcom/android/server/job/controllers/RestrictingController;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+HPLcom/android/server/job/controllers/StateController;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+PLcom/android/server/job/controllers/StateController;->evaluateStateLocked(Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/StateController;->logDeviceWideConstraintStateToStatsd(IZ)V
+PLcom/android/server/job/controllers/StateController;->onConstantsUpdatedLocked()V
+PLcom/android/server/job/controllers/StateController;->onSystemServicesReady()V
+PLcom/android/server/job/controllers/StateController;->onUidBiasChangedLocked(III)V
+PLcom/android/server/job/controllers/StateController;->prepareForExecutionLocked(Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/StateController;->prepareForUpdatedConstantsLocked()V
+PLcom/android/server/job/controllers/StateController;->startTrackingLocked()V
+HPLcom/android/server/job/controllers/StateController;->wouldBeReadyWithConstraintLocked(Lcom/android/server/job/controllers/JobStatus;I)Z
+PLcom/android/server/job/controllers/StorageController$StorageTracker;-><init>(Lcom/android/server/job/controllers/StorageController;)V
+PLcom/android/server/job/controllers/StorageController$StorageTracker;->startTracking()V
+PLcom/android/server/job/controllers/StorageController;-><clinit>()V
+PLcom/android/server/job/controllers/StorageController;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+HPLcom/android/server/job/controllers/StorageController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/StorageController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/StorageController;->startTrackingLocked()V
+PLcom/android/server/job/controllers/TareController$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/job/controllers/TareController;)V
+HPLcom/android/server/job/controllers/TareController;-><clinit>()V
+PLcom/android/server/job/controllers/TareController;-><init>(Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/controllers/BackgroundJobsController;Lcom/android/server/job/controllers/ConnectivityController;)V
+HPLcom/android/server/job/controllers/TareController;->addJobToBillList(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/tare/EconomyManagerInternal$ActionBill;)V
+PLcom/android/server/job/controllers/TareController;->canAffordExpeditedBillLocked(Lcom/android/server/job/controllers/JobStatus;)Z
+HPLcom/android/server/job/controllers/TareController;->getPossibleStartBills(Lcom/android/server/job/controllers/JobStatus;)Landroid/util/ArraySet;
+PLcom/android/server/job/controllers/TareController;->getRunningActionId(Lcom/android/server/job/controllers/JobStatus;)I
+HPLcom/android/server/job/controllers/TareController;->getRunningBill(Lcom/android/server/job/controllers/JobStatus;)Lcom/android/server/tare/EconomyManagerInternal$ActionBill;
+HPLcom/android/server/job/controllers/TareController;->hasEnoughWealthLocked(Lcom/android/server/job/controllers/JobStatus;)Z
+HPLcom/android/server/job/controllers/TareController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+HPLcom/android/server/job/controllers/TareController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/TareController;->onConstantsUpdatedLocked()V
+HPLcom/android/server/job/controllers/TareController;->prepareForExecutionLocked(Lcom/android/server/job/controllers/JobStatus;)V
+HPLcom/android/server/job/controllers/TareController;->removeJobFromBillList(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/tare/EconomyManagerInternal$ActionBill;)V
+HPLcom/android/server/job/controllers/TareController;->setExpeditedTareApproved(Lcom/android/server/job/controllers/JobStatus;JZ)Z
+PLcom/android/server/job/controllers/TimeController$1;-><init>(Lcom/android/server/job/controllers/TimeController;)V
+PLcom/android/server/job/controllers/TimeController$2;-><init>(Lcom/android/server/job/controllers/TimeController;)V
+PLcom/android/server/job/controllers/TimeController$2;->onAlarm()V
+PLcom/android/server/job/controllers/TimeController;->-$$Nest$fputmLastFiredDelayExpiredElapsedMillis(Lcom/android/server/job/controllers/TimeController;J)V
+PLcom/android/server/job/controllers/TimeController;->-$$Nest$sfgetDEBUG()Z
+PLcom/android/server/job/controllers/TimeController;-><clinit>()V
+PLcom/android/server/job/controllers/TimeController;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+HPLcom/android/server/job/controllers/TimeController;->canStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;)Z
+HPLcom/android/server/job/controllers/TimeController;->checkExpiredDeadlinesAndResetAlarm()V
+HPLcom/android/server/job/controllers/TimeController;->checkExpiredDelaysAndResetAlarm()V
+PLcom/android/server/job/controllers/TimeController;->ensureAlarmServiceLocked()V
+HPLcom/android/server/job/controllers/TimeController;->evaluateDeadlineConstraint(Lcom/android/server/job/controllers/JobStatus;J)Z
+HPLcom/android/server/job/controllers/TimeController;->evaluateStateLocked(Lcom/android/server/job/controllers/JobStatus;)V
+HPLcom/android/server/job/controllers/TimeController;->evaluateTimingDelayConstraint(Lcom/android/server/job/controllers/JobStatus;J)Z
+HPLcom/android/server/job/controllers/TimeController;->maybeAdjustAlarmTime(J)J
+HPLcom/android/server/job/controllers/TimeController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+HPLcom/android/server/job/controllers/TimeController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+HPLcom/android/server/job/controllers/TimeController;->setDeadlineExpiredAlarmLocked(JLandroid/os/WorkSource;)V
+HPLcom/android/server/job/controllers/TimeController;->setDelayExpiredAlarmLocked(JLandroid/os/WorkSource;)V
+HPLcom/android/server/job/controllers/TimeController;->updateAlarmWithListenerLocked(Ljava/lang/String;ILandroid/app/AlarmManager$OnAlarmListener;JLandroid/os/WorkSource;)V
+PLcom/android/server/job/controllers/idle/DeviceIdlenessTracker$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/job/controllers/idle/DeviceIdlenessTracker;)V
+PLcom/android/server/job/controllers/idle/DeviceIdlenessTracker$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/job/controllers/idle/DeviceIdlenessTracker;)V
+PLcom/android/server/job/controllers/idle/DeviceIdlenessTracker;-><clinit>()V
+PLcom/android/server/job/controllers/idle/DeviceIdlenessTracker;-><init>()V
+PLcom/android/server/job/controllers/idle/DeviceIdlenessTracker;->isIdle()Z
+PLcom/android/server/job/controllers/idle/DeviceIdlenessTracker;->startTracking(Landroid/content/Context;Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/controllers/idle/IdlenessListener;)V
+PLcom/android/server/job/restrictions/JobRestriction;-><init>(Lcom/android/server/job/JobSchedulerService;III)V
+PLcom/android/server/job/restrictions/ThermalStatusRestriction$1;-><init>(Lcom/android/server/job/restrictions/ThermalStatusRestriction;)V
+PLcom/android/server/job/restrictions/ThermalStatusRestriction$1;->onThermalStatusChanged(I)V
+PLcom/android/server/job/restrictions/ThermalStatusRestriction;->-$$Nest$fgetmThermalStatus(Lcom/android/server/job/restrictions/ThermalStatusRestriction;)I
+PLcom/android/server/job/restrictions/ThermalStatusRestriction;->-$$Nest$fputmThermalStatus(Lcom/android/server/job/restrictions/ThermalStatusRestriction;I)V
+PLcom/android/server/job/restrictions/ThermalStatusRestriction;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+HPLcom/android/server/job/restrictions/ThermalStatusRestriction;->isJobRestricted(Lcom/android/server/job/controllers/JobStatus;)Z
+PLcom/android/server/job/restrictions/ThermalStatusRestriction;->onSystemServicesReady()V
+HSPLcom/android/server/lights/LightsManager;-><init>()V
+HSPLcom/android/server/lights/LightsService$1;-><init>(Lcom/android/server/lights/LightsService;)V
+HSPLcom/android/server/lights/LightsService$1;->getLight(I)Lcom/android/server/lights/LogicalLight;
+HSPLcom/android/server/lights/LightsService$LightImpl;->-$$Nest$fgetmHwLight(Lcom/android/server/lights/LightsService$LightImpl;)Landroid/hardware/light/HwLight;
+HSPLcom/android/server/lights/LightsService$LightImpl;-><init>(Lcom/android/server/lights/LightsService;Landroid/content/Context;Landroid/hardware/light/HwLight;)V
+HSPLcom/android/server/lights/LightsService$LightImpl;-><init>(Lcom/android/server/lights/LightsService;Landroid/content/Context;Landroid/hardware/light/HwLight;Lcom/android/server/lights/LightsService$LightImpl-IA;)V
+PLcom/android/server/lights/LightsService$LightImpl;->setBrightness(F)V
+PLcom/android/server/lights/LightsService$LightImpl;->setBrightness(FI)V
+PLcom/android/server/lights/LightsService$LightImpl;->setLightLocked(IIIII)V
+HPLcom/android/server/lights/LightsService$LightImpl;->setLightUnchecked(IIIII)V
+PLcom/android/server/lights/LightsService$LightImpl;->shouldBeInLowPersistenceMode()Z
+HSPLcom/android/server/lights/LightsService$LightsManagerBinderService;-><init>(Lcom/android/server/lights/LightsService;)V
+HSPLcom/android/server/lights/LightsService$VintfHalCache;-><init>()V
+HSPLcom/android/server/lights/LightsService$VintfHalCache;-><init>(Lcom/android/server/lights/LightsService$VintfHalCache-IA;)V
+HSPLcom/android/server/lights/LightsService$VintfHalCache;->get()Landroid/hardware/light/ILights;
+HSPLcom/android/server/lights/LightsService$VintfHalCache;->get()Ljava/lang/Object;
+HSPLcom/android/server/lights/LightsService;->-$$Nest$fgetmLightsByType(Lcom/android/server/lights/LightsService;)[Lcom/android/server/lights/LightsService$LightImpl;
+PLcom/android/server/lights/LightsService;->-$$Nest$fgetmVintfLights(Lcom/android/server/lights/LightsService;)Ljava/util/function/Supplier;
+HSPLcom/android/server/lights/LightsService;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/lights/LightsService;-><init>(Landroid/content/Context;Ljava/util/function/Supplier;Landroid/os/Looper;)V
+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;->populateAvailableLightsFromAidl(Landroid/content/Context;)V
+HSPLcom/android/server/lights/LogicalLight;-><init>()V
+PLcom/android/server/locales/LocaleManagerBackupHelper$UserMonitor;-><init>(Lcom/android/server/locales/LocaleManagerBackupHelper;)V
+PLcom/android/server/locales/LocaleManagerBackupHelper$UserMonitor;-><init>(Lcom/android/server/locales/LocaleManagerBackupHelper;Lcom/android/server/locales/LocaleManagerBackupHelper$UserMonitor-IA;)V
+PLcom/android/server/locales/LocaleManagerBackupHelper;-><clinit>()V
+PLcom/android/server/locales/LocaleManagerBackupHelper;-><init>(Landroid/content/Context;Lcom/android/server/locales/LocaleManagerService;Landroid/content/pm/PackageManager;Ljava/time/Clock;Landroid/util/SparseArray;Landroid/os/HandlerThread;Landroid/content/SharedPreferences;)V
+PLcom/android/server/locales/LocaleManagerBackupHelper;-><init>(Lcom/android/server/locales/LocaleManagerService;Landroid/content/pm/PackageManager;Landroid/os/HandlerThread;)V
+PLcom/android/server/locales/LocaleManagerBackupHelper;->createPersistedInfo()Landroid/content/SharedPreferences;
+PLcom/android/server/locales/LocaleManagerInternal;-><init>()V
+PLcom/android/server/locales/LocaleManagerService$1;-><init>(Lcom/android/server/locales/LocaleManagerService;Lcom/android/server/locales/SystemAppUpdateTracker;)V
+PLcom/android/server/locales/LocaleManagerService$1;->run()V
+PLcom/android/server/locales/LocaleManagerService$LocaleManagerBinderService;-><init>(Lcom/android/server/locales/LocaleManagerService;)V
+PLcom/android/server/locales/LocaleManagerService$LocaleManagerBinderService;-><init>(Lcom/android/server/locales/LocaleManagerService;Lcom/android/server/locales/LocaleManagerService$LocaleManagerBinderService-IA;)V
+PLcom/android/server/locales/LocaleManagerService$LocaleManagerInternalImpl;-><init>(Lcom/android/server/locales/LocaleManagerService;)V
+PLcom/android/server/locales/LocaleManagerService$LocaleManagerInternalImpl;-><init>(Lcom/android/server/locales/LocaleManagerService;Lcom/android/server/locales/LocaleManagerService$LocaleManagerInternalImpl-IA;)V
+PLcom/android/server/locales/LocaleManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/locales/LocaleManagerService;->onStart()V
+PLcom/android/server/locales/LocaleManagerServicePackageMonitor;-><init>(Lcom/android/server/locales/LocaleManagerBackupHelper;Lcom/android/server/locales/SystemAppUpdateTracker;Lcom/android/server/locales/LocaleManagerService;)V
+PLcom/android/server/locales/SystemAppUpdateTracker;-><init>(Landroid/content/Context;Lcom/android/server/locales/LocaleManagerService;Landroid/util/AtomicFile;)V
+PLcom/android/server/locales/SystemAppUpdateTracker;-><init>(Lcom/android/server/locales/LocaleManagerService;)V
+PLcom/android/server/locales/SystemAppUpdateTracker;->init()V
+PLcom/android/server/locales/SystemAppUpdateTracker;->loadUpdatedSystemApps()V
+PLcom/android/server/location/GeocoderProxy;-><init>(Landroid/content/Context;)V
+PLcom/android/server/location/GeocoderProxy;->createAndRegister(Landroid/content/Context;)Lcom/android/server/location/GeocoderProxy;
+PLcom/android/server/location/GeocoderProxy;->register()Z
+PLcom/android/server/location/HardwareActivityRecognitionProxy;-><init>(Landroid/content/Context;)V
+PLcom/android/server/location/HardwareActivityRecognitionProxy;->createAndRegister(Landroid/content/Context;)Lcom/android/server/location/HardwareActivityRecognitionProxy;
+PLcom/android/server/location/HardwareActivityRecognitionProxy;->onBind(Landroid/os/IBinder;Lcom/android/server/servicewatcher/CurrentUserServiceSupplier$BoundServiceInfo;)V
+PLcom/android/server/location/HardwareActivityRecognitionProxy;->onBind(Landroid/os/IBinder;Lcom/android/server/servicewatcher/ServiceWatcher$BoundServiceInfo;)V
+PLcom/android/server/location/HardwareActivityRecognitionProxy;->register()Z
+PLcom/android/server/location/LocationManagerService$$ExternalSyntheticLambda10;-><init>(Lcom/android/server/location/LocationManagerService;)V
+PLcom/android/server/location/LocationManagerService$$ExternalSyntheticLambda11;-><init>(Landroid/location/LocationManagerInternal$LocationPackageTagsListener;ILandroid/os/PackageTagsList;)V
+PLcom/android/server/location/LocationManagerService$$ExternalSyntheticLambda11;->run()V
+PLcom/android/server/location/LocationManagerService$$ExternalSyntheticLambda12;-><init>(Landroid/location/LocationManagerInternal$LocationPackageTagsListener;ILandroid/os/PackageTagsList;)V
+PLcom/android/server/location/LocationManagerService$$ExternalSyntheticLambda12;->run()V
+PLcom/android/server/location/LocationManagerService$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/location/LocationManagerService;)V
+PLcom/android/server/location/LocationManagerService$$ExternalSyntheticLambda2;->onOpNoted(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;II)V
+PLcom/android/server/location/LocationManagerService$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/location/LocationManagerService;)V
+PLcom/android/server/location/LocationManagerService$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/location/LocationManagerService;)V
+PLcom/android/server/location/LocationManagerService$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/location/LocationManagerService;)V
+PLcom/android/server/location/LocationManagerService$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/location/LocationManagerService;)V
+PLcom/android/server/location/LocationManagerService$$ExternalSyntheticLambda7;-><init>(Lcom/android/server/location/LocationManagerService;)V
+PLcom/android/server/location/LocationManagerService$$ExternalSyntheticLambda7;->onUserChanged(II)V
+PLcom/android/server/location/LocationManagerService$$ExternalSyntheticLambda8;-><init>(Lcom/android/server/location/LocationManagerService;)V
+PLcom/android/server/location/LocationManagerService$$ExternalSyntheticLambda9;-><init>(Lcom/android/server/location/LocationManagerService;)V
+PLcom/android/server/location/LocationManagerService$Lifecycle$LifecycleUserInfoHelper;-><init>(Landroid/content/Context;)V
+PLcom/android/server/location/LocationManagerService$Lifecycle$LifecycleUserInfoHelper;->onUserStarted(I)V
+PLcom/android/server/location/LocationManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/location/LocationManagerService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/location/LocationManagerService$Lifecycle;->onStart()V
+PLcom/android/server/location/LocationManagerService$Lifecycle;->onUserStarting(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/location/LocationManagerService$LocalService$$ExternalSyntheticLambda0;-><init>(Landroid/location/LocationManagerInternal$LocationPackageTagsListener;ILandroid/os/PackageTagsList;)V
+PLcom/android/server/location/LocationManagerService$LocalService$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/location/LocationManagerService$LocalService;->$r8$lambda$zOgkdbQhX97ia_6zLR94eXWADOo(Landroid/location/LocationManagerInternal$LocationPackageTagsListener;ILandroid/os/PackageTagsList;)V
+PLcom/android/server/location/LocationManagerService$LocalService;-><init>(Lcom/android/server/location/LocationManagerService;)V
+PLcom/android/server/location/LocationManagerService$LocalService;->addProviderEnabledListener(Ljava/lang/String;Landroid/location/LocationManagerInternal$ProviderEnabledListener;)V
+HPLcom/android/server/location/LocationManagerService$LocalService;->isProvider(Ljava/lang/String;Landroid/location/util/identity/CallerIdentity;)Z
+HPLcom/android/server/location/LocationManagerService$LocalService;->isProviderEnabledForUser(Ljava/lang/String;I)Z
+PLcom/android/server/location/LocationManagerService$LocalService;->lambda$setLocationPackageTagsListener$0(Landroid/location/LocationManagerInternal$LocationPackageTagsListener;ILandroid/os/PackageTagsList;)V
+PLcom/android/server/location/LocationManagerService$LocalService;->setLocationPackageTagsListener(Landroid/location/LocationManagerInternal$LocationPackageTagsListener;)V
+PLcom/android/server/location/LocationManagerService$SystemInjector;-><init>(Landroid/content/Context;Lcom/android/server/location/injector/SystemUserInfoHelper;)V
+PLcom/android/server/location/LocationManagerService$SystemInjector;->getAlarmHelper()Lcom/android/server/location/injector/AlarmHelper;
+PLcom/android/server/location/LocationManagerService$SystemInjector;->getAppForegroundHelper()Lcom/android/server/location/injector/AppForegroundHelper;
+PLcom/android/server/location/LocationManagerService$SystemInjector;->getAppOpsHelper()Lcom/android/server/location/injector/AppOpsHelper;
+PLcom/android/server/location/LocationManagerService$SystemInjector;->getEmergencyHelper()Lcom/android/server/location/injector/EmergencyHelper;
+PLcom/android/server/location/LocationManagerService$SystemInjector;->getLocationPermissionsHelper()Lcom/android/server/location/injector/LocationPermissionsHelper;
+PLcom/android/server/location/LocationManagerService$SystemInjector;->getLocationPowerSaveModeHelper()Lcom/android/server/location/injector/LocationPowerSaveModeHelper;
+PLcom/android/server/location/LocationManagerService$SystemInjector;->getLocationSettings()Lcom/android/server/location/settings/LocationSettings;
+PLcom/android/server/location/LocationManagerService$SystemInjector;->getLocationUsageLogger()Lcom/android/server/location/injector/LocationUsageLogger;
+PLcom/android/server/location/LocationManagerService$SystemInjector;->getPackageResetHelper()Lcom/android/server/location/injector/PackageResetHelper;
+PLcom/android/server/location/LocationManagerService$SystemInjector;->getScreenInteractiveHelper()Lcom/android/server/location/injector/ScreenInteractiveHelper;
+PLcom/android/server/location/LocationManagerService$SystemInjector;->getSettingsHelper()Lcom/android/server/location/injector/SettingsHelper;
+PLcom/android/server/location/LocationManagerService$SystemInjector;->getUserInfoHelper()Lcom/android/server/location/injector/UserInfoHelper;
+PLcom/android/server/location/LocationManagerService$SystemInjector;->onSystemReady()V
+PLcom/android/server/location/LocationManagerService;->$r8$lambda$eyTQ4ijUbfA4AoGXfSy3i0Mr-d8(Lcom/android/server/location/LocationManagerService;II)V
+PLcom/android/server/location/LocationManagerService;->$r8$lambda$kwp4RhvxNBiY1jhPHD3YdojaxUw(Landroid/location/LocationManagerInternal$LocationPackageTagsListener;ILandroid/os/PackageTagsList;)V
+PLcom/android/server/location/LocationManagerService;->$r8$lambda$nPBMjpla8mzhPFk-pAdPm6o8AMI(Landroid/location/LocationManagerInternal$LocationPackageTagsListener;ILandroid/os/PackageTagsList;)V
+PLcom/android/server/location/LocationManagerService;->$r8$lambda$ujQuQQ3Bc3ydTqqn2V1w-z0TnO4(Lcom/android/server/location/LocationManagerService;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;II)V
+PLcom/android/server/location/LocationManagerService;->-$$Nest$mlogEmergencyState(Lcom/android/server/location/LocationManagerService;)V
+PLcom/android/server/location/LocationManagerService;->-$$Nest$mlogLocationEnabledState(Lcom/android/server/location/LocationManagerService;)V
+PLcom/android/server/location/LocationManagerService;-><clinit>()V
+PLcom/android/server/location/LocationManagerService;-><init>(Landroid/content/Context;Lcom/android/server/location/injector/Injector;)V
+PLcom/android/server/location/LocationManagerService;->addLocationProviderManager(Lcom/android/server/location/provider/LocationProviderManager;Lcom/android/server/location/provider/AbstractLocationProvider;)V
+HPLcom/android/server/location/LocationManagerService;->calculateAppOpsLocationSourceTags(I)Landroid/os/PackageTagsList;
+PLcom/android/server/location/LocationManagerService;->geocoderIsPresent()Z
+PLcom/android/server/location/LocationManagerService;->getAllProviders()Ljava/util/List;
+HPLcom/android/server/location/LocationManagerService;->getLastLocation(Ljava/lang/String;Landroid/location/LastLocationRequest;Ljava/lang/String;Ljava/lang/String;)Landroid/location/Location;
+HPLcom/android/server/location/LocationManagerService;->getLocationProviderManager(Ljava/lang/String;)Lcom/android/server/location/provider/LocationProviderManager;
+PLcom/android/server/location/LocationManagerService;->getProviderProperties(Ljava/lang/String;)Landroid/location/provider/ProviderProperties;
+PLcom/android/server/location/LocationManagerService;->getProviders(Landroid/location/Criteria;Z)Ljava/util/List;
+PLcom/android/server/location/LocationManagerService;->hasProvider(Ljava/lang/String;)Z
+HPLcom/android/server/location/LocationManagerService;->isLocationEnabledForUser(I)Z
+PLcom/android/server/location/LocationManagerService;->isProviderEnabledForUser(Ljava/lang/String;I)Z
+PLcom/android/server/location/LocationManagerService;->lambda$new$2(II)V
+PLcom/android/server/location/LocationManagerService;->lambda$onStateChanged$7(Landroid/location/LocationManagerInternal$LocationPackageTagsListener;ILandroid/os/PackageTagsList;)V
+PLcom/android/server/location/LocationManagerService;->lambda$onStateChanged$8(Landroid/location/LocationManagerInternal$LocationPackageTagsListener;ILandroid/os/PackageTagsList;)V
+PLcom/android/server/location/LocationManagerService;->lambda$onSystemReady$5(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;II)V
+PLcom/android/server/location/LocationManagerService;->logEmergencyState()V
+PLcom/android/server/location/LocationManagerService;->logLocationEnabledState()V
+HPLcom/android/server/location/LocationManagerService;->onStateChanged(Ljava/lang/String;Lcom/android/server/location/provider/AbstractLocationProvider$State;Lcom/android/server/location/provider/AbstractLocationProvider$State;)V
+PLcom/android/server/location/LocationManagerService;->onSystemReady()V
+HPLcom/android/server/location/LocationManagerService;->onSystemThirdPartyAppsCanStart()V
+HPLcom/android/server/location/LocationManagerService;->refreshAppOpsRestrictions(I)V
+PLcom/android/server/location/LocationManagerService;->registerGnssStatusCallback(Landroid/location/IGnssStatusListener;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/location/LocationManagerService;->registerLocationListener(Ljava/lang/String;Landroid/location/LocationRequest;Landroid/location/ILocationListener;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/location/LocationManagerService;->setExtraLocationControllerPackageEnabled(Z)V
+PLcom/android/server/location/LocationManagerService;->setLocationEnabledForUser(ZI)V
+PLcom/android/server/location/LocationManagerService;->unregisterLocationListener(Landroid/location/ILocationListener;)V
+PLcom/android/server/location/LocationManagerService;->validateLastLocationRequest(Ljava/lang/String;Landroid/location/LastLocationRequest;Landroid/location/util/identity/CallerIdentity;)Landroid/location/LastLocationRequest;
+HPLcom/android/server/location/LocationManagerService;->validateLocationRequest(Ljava/lang/String;Landroid/location/LocationRequest;Landroid/location/util/identity/CallerIdentity;)Landroid/location/LocationRequest;
+PLcom/android/server/location/LocationPermissions;->asAppOp(I)I
+PLcom/android/server/location/LocationPermissions;->asPermission(I)Ljava/lang/String;
+PLcom/android/server/location/LocationPermissions;->checkCallingOrSelfLocationPermission(Landroid/content/Context;I)Z
+PLcom/android/server/location/LocationPermissions;->checkLocationPermission(II)Z
+PLcom/android/server/location/LocationPermissions;->enforceLocationPermission(III)V
+PLcom/android/server/location/LocationPermissions;->getCallingOrSelfPermissionLevel(Landroid/content/Context;)I
+PLcom/android/server/location/LocationPermissions;->getPermissionLevel(Landroid/content/Context;II)I
+PLcom/android/server/location/altitude/AltitudeService$Lifecycle;-><clinit>()V
+PLcom/android/server/location/altitude/AltitudeService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/location/altitude/AltitudeService$Lifecycle;->onStart()V
+PLcom/android/server/location/altitude/AltitudeService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/location/contexthub/ConcurrentLinkedEvictingDeque;-><init>(I)V
+PLcom/android/server/location/contexthub/ConcurrentLinkedEvictingDeque;->add(Ljava/lang/Object;)Z
+PLcom/android/server/location/contexthub/ContextHubClientBroker$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/location/contexthub/ContextHubClientBroker;)V
+PLcom/android/server/location/contexthub/ContextHubClientBroker$$ExternalSyntheticLambda1;->runOrThrow()V
+PLcom/android/server/location/contexthub/ContextHubClientBroker$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/location/contexthub/ContextHubClientBroker;)V
+PLcom/android/server/location/contexthub/ContextHubClientBroker$$ExternalSyntheticLambda2;->runOrThrow()V
+PLcom/android/server/location/contexthub/ContextHubClientBroker$$ExternalSyntheticLambda3;-><init>(Landroid/hardware/location/NanoAppMessage;)V
+PLcom/android/server/location/contexthub/ContextHubClientBroker$$ExternalSyntheticLambda3;->accept(Landroid/hardware/location/IContextHubClientCallback;)V
+PLcom/android/server/location/contexthub/ContextHubClientBroker$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/location/contexthub/ContextHubClientBroker;JLandroid/hardware/location/NanoAppMessage;)V
+PLcom/android/server/location/contexthub/ContextHubClientBroker$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/location/contexthub/ContextHubClientBroker;Landroid/hardware/location/NanoAppMessage;)V
+PLcom/android/server/location/contexthub/ContextHubClientBroker$1;-><init>(Lcom/android/server/location/contexthub/ContextHubClientBroker;)V
+PLcom/android/server/location/contexthub/ContextHubClientBroker$PendingIntentRequest;-><init>()V
+PLcom/android/server/location/contexthub/ContextHubClientBroker$PendingIntentRequest;->hasPendingIntent()Z
+PLcom/android/server/location/contexthub/ContextHubClientBroker$PendingIntentRequest;->isValid()Z
+PLcom/android/server/location/contexthub/ContextHubClientBroker;->$r8$lambda$5LN1r8kQkqBv9B8howzlawnr-GI(Landroid/hardware/location/NanoAppMessage;Landroid/hardware/location/IContextHubClientCallback;)V
+PLcom/android/server/location/contexthub/ContextHubClientBroker;->$r8$lambda$7GaKk9ODLn9h9dIT1DAjkZFa4iM(Lcom/android/server/location/contexthub/ContextHubClientBroker;)V
+PLcom/android/server/location/contexthub/ContextHubClientBroker;->$r8$lambda$QjaJyLv-rQuyhtluWSnqhPk-eIU(Lcom/android/server/location/contexthub/ContextHubClientBroker;)V
+PLcom/android/server/location/contexthub/ContextHubClientBroker;-><init>(Landroid/content/Context;Lcom/android/server/location/contexthub/IContextHubWrapper;Lcom/android/server/location/contexthub/ContextHubClientManager;Landroid/hardware/location/ContextHubInfo;SLandroid/hardware/location/IContextHubClientCallback;Ljava/lang/String;Lcom/android/server/location/contexthub/ContextHubTransactionManager;Landroid/app/PendingIntent;JLjava/lang/String;)V
+PLcom/android/server/location/contexthub/ContextHubClientBroker;-><init>(Landroid/content/Context;Lcom/android/server/location/contexthub/IContextHubWrapper;Lcom/android/server/location/contexthub/ContextHubClientManager;Landroid/hardware/location/ContextHubInfo;SLandroid/hardware/location/IContextHubClientCallback;Ljava/lang/String;Lcom/android/server/location/contexthub/ContextHubTransactionManager;Ljava/lang/String;)V
+PLcom/android/server/location/contexthub/ContextHubClientBroker;->acquireWakeLock()V
+PLcom/android/server/location/contexthub/ContextHubClientBroker;->attachDeathRecipient()V
+PLcom/android/server/location/contexthub/ContextHubClientBroker;->callbackFinished()V
+PLcom/android/server/location/contexthub/ContextHubClientBroker;->getAttachedContextHubId()I
+PLcom/android/server/location/contexthub/ContextHubClientBroker;->getHostEndPointId()S
+PLcom/android/server/location/contexthub/ContextHubClientBroker;->hasPermissions(Ljava/util/List;)Z
+PLcom/android/server/location/contexthub/ContextHubClientBroker;->invokeCallback(Lcom/android/server/location/contexthub/ContextHubClientBroker$CallbackConsumer;)B
+PLcom/android/server/location/contexthub/ContextHubClientBroker;->lambda$acquireWakeLock$12()V
+PLcom/android/server/location/contexthub/ContextHubClientBroker;->lambda$releaseWakeLock$13()V
+PLcom/android/server/location/contexthub/ContextHubClientBroker;->lambda$sendMessageToClient$0(Landroid/hardware/location/NanoAppMessage;Landroid/hardware/location/IContextHubClientCallback;)V
+PLcom/android/server/location/contexthub/ContextHubClientBroker;->notePermissions(Ljava/util/List;Ljava/lang/String;)Z
+PLcom/android/server/location/contexthub/ContextHubClientBroker;->releaseWakeLock()V
+PLcom/android/server/location/contexthub/ContextHubClientBroker;->sendHostEndpointConnectedEvent()V
+PLcom/android/server/location/contexthub/ContextHubClientBroker;->sendMessageToClient(Landroid/hardware/location/NanoAppMessage;Ljava/util/List;Ljava/util/List;)B
+PLcom/android/server/location/contexthub/ContextHubClientBroker;->sendPendingIntent(Ljava/util/function/Supplier;JLjava/util/function/Consumer;)B
+PLcom/android/server/location/contexthub/ContextHubClientBroker;->startMonitoringOpChanges()V
+PLcom/android/server/location/contexthub/ContextHubClientBroker;->toString()Ljava/lang/String;
+PLcom/android/server/location/contexthub/ContextHubClientBroker;->updateNanoAppAuthState(JLjava/util/List;Z)I
+PLcom/android/server/location/contexthub/ContextHubClientBroker;->updateNanoAppAuthState(JLjava/util/List;ZZ)I
+PLcom/android/server/location/contexthub/ContextHubClientManager$RegistrationRecord;-><init>(Lcom/android/server/location/contexthub/ContextHubClientManager;Ljava/lang/String;I)V
+PLcom/android/server/location/contexthub/ContextHubClientManager;-><init>(Landroid/content/Context;Lcom/android/server/location/contexthub/IContextHubWrapper;)V
+PLcom/android/server/location/contexthub/ContextHubClientManager;->getHostEndPointId()S
+PLcom/android/server/location/contexthub/ContextHubClientManager;->onMessageFromNanoApp(ISLandroid/hardware/location/NanoAppMessage;Ljava/util/List;Ljava/util/List;)B
+PLcom/android/server/location/contexthub/ContextHubClientManager;->registerClient(Landroid/hardware/location/ContextHubInfo;Landroid/hardware/location/IContextHubClientCallback;Ljava/lang/String;Lcom/android/server/location/contexthub/ContextHubTransactionManager;Ljava/lang/String;)Landroid/hardware/location/IContextHubClient;
+PLcom/android/server/location/contexthub/ContextHubEventLogger$ContextHubEventBase;-><init>(JI)V
+PLcom/android/server/location/contexthub/ContextHubEventLogger$NanoappEventBase;-><init>(JIJZ)V
+PLcom/android/server/location/contexthub/ContextHubEventLogger$NanoappMessageEvent;-><init>(JILandroid/hardware/location/NanoAppMessage;Z)V
+PLcom/android/server/location/contexthub/ContextHubEventLogger;-><clinit>()V
+PLcom/android/server/location/contexthub/ContextHubEventLogger;-><init>()V
+PLcom/android/server/location/contexthub/ContextHubEventLogger;->getInstance()Lcom/android/server/location/contexthub/ContextHubEventLogger;
+PLcom/android/server/location/contexthub/ContextHubEventLogger;->logMessageFromNanoapp(ILandroid/hardware/location/NanoAppMessage;Z)V
+PLcom/android/server/location/contexthub/ContextHubService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/location/contexthub/ContextHubService;)V
+PLcom/android/server/location/contexthub/ContextHubService$$ExternalSyntheticLambda2;-><init>(Landroid/hardware/location/NanoAppFilter;Ljava/util/ArrayList;)V
+HPLcom/android/server/location/contexthub/ContextHubService$$ExternalSyntheticLambda2;->accept(Ljava/lang/Object;)V
+PLcom/android/server/location/contexthub/ContextHubService$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/location/contexthub/ContextHubService;)V
+PLcom/android/server/location/contexthub/ContextHubService$$ExternalSyntheticLambda4;->onSensorPrivacyChanged(IZ)V
+PLcom/android/server/location/contexthub/ContextHubService$10;-><init>(Lcom/android/server/location/contexthub/ContextHubService;I)V
+PLcom/android/server/location/contexthub/ContextHubService$10;->onQueryResponse(ILjava/util/List;)V
+PLcom/android/server/location/contexthub/ContextHubService$1;-><init>(Lcom/android/server/location/contexthub/ContextHubService;I)V
+PLcom/android/server/location/contexthub/ContextHubService$1;->finishCallback()V
+PLcom/android/server/location/contexthub/ContextHubService$1;->onMessageFromNanoApp(Landroid/hardware/location/NanoAppMessage;)V
+PLcom/android/server/location/contexthub/ContextHubService$2;-><init>(Lcom/android/server/location/contexthub/ContextHubService;Landroid/os/Handler;)V
+PLcom/android/server/location/contexthub/ContextHubService$3;-><init>(Lcom/android/server/location/contexthub/ContextHubService;)V
+PLcom/android/server/location/contexthub/ContextHubService$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/location/contexthub/ContextHubService$4;-><init>(Lcom/android/server/location/contexthub/ContextHubService;Landroid/os/Handler;)V
+PLcom/android/server/location/contexthub/ContextHubService$5;-><init>(Lcom/android/server/location/contexthub/ContextHubService;Landroid/os/Handler;)V
+PLcom/android/server/location/contexthub/ContextHubService$6;-><init>(Lcom/android/server/location/contexthub/ContextHubService;)V
+PLcom/android/server/location/contexthub/ContextHubService$6;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/location/contexthub/ContextHubService$7;-><init>(Lcom/android/server/location/contexthub/ContextHubService;Landroid/os/Handler;)V
+PLcom/android/server/location/contexthub/ContextHubService$ContextHubServiceCallback;-><init>(Lcom/android/server/location/contexthub/ContextHubService;I)V
+PLcom/android/server/location/contexthub/ContextHubService$ContextHubServiceCallback;->handleNanoappInfo(Ljava/util/List;)V
+PLcom/android/server/location/contexthub/ContextHubService$ContextHubServiceCallback;->handleNanoappMessage(SLandroid/hardware/location/NanoAppMessage;Ljava/util/List;Ljava/util/List;)V
+PLcom/android/server/location/contexthub/ContextHubService;->$r8$lambda$bctfr7Wm6zM1mt5FwQ_kHaH8yCA(Lcom/android/server/location/contexthub/ContextHubService;IZ)V
+PLcom/android/server/location/contexthub/ContextHubService;->$r8$lambda$oZBCHNRjaf6Cw4wdWNHDMe-IVbc(Landroid/hardware/location/NanoAppFilter;Ljava/util/ArrayList;Landroid/hardware/location/NanoAppInstanceInfo;)V
+PLcom/android/server/location/contexthub/ContextHubService;->-$$Nest$fgetmDefaultClientMap(Lcom/android/server/location/contexthub/ContextHubService;)Ljava/util/Map;
+PLcom/android/server/location/contexthub/ContextHubService;->-$$Nest$fgetmNanoAppStateManager(Lcom/android/server/location/contexthub/ContextHubService;)Lcom/android/server/location/contexthub/NanoAppStateManager;
+PLcom/android/server/location/contexthub/ContextHubService;->-$$Nest$mhandleClientMessageCallback(Lcom/android/server/location/contexthub/ContextHubService;ISLandroid/hardware/location/NanoAppMessage;Ljava/util/List;Ljava/util/List;)V
+PLcom/android/server/location/contexthub/ContextHubService;->-$$Nest$mhandleQueryAppsCallback(Lcom/android/server/location/contexthub/ContextHubService;ILjava/util/List;)V
+PLcom/android/server/location/contexthub/ContextHubService;->-$$Nest$monMessageReceiptOldApi(Lcom/android/server/location/contexthub/ContextHubService;III[B)I
+PLcom/android/server/location/contexthub/ContextHubService;->-$$Nest$msendBtSettingUpdate(Lcom/android/server/location/contexthub/ContextHubService;Z)V
+PLcom/android/server/location/contexthub/ContextHubService;->-$$Nest$msendWifiSettingUpdate(Lcom/android/server/location/contexthub/ContextHubService;Z)V
+PLcom/android/server/location/contexthub/ContextHubService;-><init>(Landroid/content/Context;Lcom/android/server/location/contexthub/IContextHubWrapper;)V
+PLcom/android/server/location/contexthub/ContextHubService;->checkHalProxyAndContextHubId(ILandroid/hardware/location/IContextHubTransactionCallback;I)Z
+PLcom/android/server/location/contexthub/ContextHubService;->createDefaultClientCallback(I)Landroid/hardware/location/IContextHubClientCallback;
+PLcom/android/server/location/contexthub/ContextHubService;->createQueryTransactionCallback(I)Landroid/hardware/location/IContextHubTransactionCallback;
+PLcom/android/server/location/contexthub/ContextHubService;->findNanoAppOnHub(ILandroid/hardware/location/NanoAppFilter;)[I
+PLcom/android/server/location/contexthub/ContextHubService;->getCallingPackageName()Ljava/lang/String;
+PLcom/android/server/location/contexthub/ContextHubService;->getContextHubHandles()[I
+PLcom/android/server/location/contexthub/ContextHubService;->getContextHubInfo(I)Landroid/hardware/location/ContextHubInfo;
+PLcom/android/server/location/contexthub/ContextHubService;->getContextHubs()Ljava/util/List;
+PLcom/android/server/location/contexthub/ContextHubService;->getCurrentUserId()I
+PLcom/android/server/location/contexthub/ContextHubService;->handleClientMessageCallback(ISLandroid/hardware/location/NanoAppMessage;Ljava/util/List;Ljava/util/List;)V
+PLcom/android/server/location/contexthub/ContextHubService;->handleQueryAppsCallback(ILjava/util/List;)V
+PLcom/android/server/location/contexthub/ContextHubService;->initAirplaneModeSettingNotifications()V
+PLcom/android/server/location/contexthub/ContextHubService;->initBtSettingNotifications()V
+PLcom/android/server/location/contexthub/ContextHubService;->initContextHubServiceState(J)Z
+PLcom/android/server/location/contexthub/ContextHubService;->initDefaultClientMap()V
+PLcom/android/server/location/contexthub/ContextHubService;->initLocationSettingNotifications()V
+PLcom/android/server/location/contexthub/ContextHubService;->initMicrophoneSettingNotifications()V
+PLcom/android/server/location/contexthub/ContextHubService;->initWifiSettingNotifications()V
+PLcom/android/server/location/contexthub/ContextHubService;->isValidContextHubId(I)Z
+PLcom/android/server/location/contexthub/ContextHubService;->lambda$findNanoAppOnHub$1(Landroid/hardware/location/NanoAppFilter;Ljava/util/ArrayList;Landroid/hardware/location/NanoAppInstanceInfo;)V
+PLcom/android/server/location/contexthub/ContextHubService;->lambda$initMicrophoneSettingNotifications$0(IZ)V
+PLcom/android/server/location/contexthub/ContextHubService;->onMessageReceiptOldApi(III[B)I
+PLcom/android/server/location/contexthub/ContextHubService;->queryNanoApps(ILandroid/hardware/location/IContextHubTransactionCallback;)V
+PLcom/android/server/location/contexthub/ContextHubService;->queryNanoAppsInternal(I)Z
+PLcom/android/server/location/contexthub/ContextHubService;->registerCallback(Landroid/hardware/location/IContextHubCallback;)I
+PLcom/android/server/location/contexthub/ContextHubService;->scheduleDailyMetricSnapshot()V
+PLcom/android/server/location/contexthub/ContextHubService;->sendAirplaneModeSettingUpdate()V
+PLcom/android/server/location/contexthub/ContextHubService;->sendBtSettingUpdate(Z)V
+PLcom/android/server/location/contexthub/ContextHubService;->sendLocationSettingUpdate()V
+PLcom/android/server/location/contexthub/ContextHubService;->sendMicrophoneDisableSettingUpdate(Z)V
+PLcom/android/server/location/contexthub/ContextHubService;->sendMicrophoneDisableSettingUpdateForCurrentUser()V
+HPLcom/android/server/location/contexthub/ContextHubService;->sendWifiSettingUpdate(Z)V
+PLcom/android/server/location/contexthub/ContextHubServiceTransaction;-><init>(IILjava/lang/String;)V
+PLcom/android/server/location/contexthub/ContextHubServiceTransaction;->getTimeout(Ljava/util/concurrent/TimeUnit;)J
+PLcom/android/server/location/contexthub/ContextHubServiceTransaction;->getTransactionType()I
+PLcom/android/server/location/contexthub/ContextHubServiceTransaction;->setComplete()V
+PLcom/android/server/location/contexthub/ContextHubServiceTransaction;->toString()Ljava/lang/String;
+PLcom/android/server/location/contexthub/ContextHubServiceUtil;-><clinit>()V
+PLcom/android/server/location/contexthub/ContextHubServiceUtil;->createContextHubInfoMap(Ljava/util/List;)Ljava/util/HashMap;
+PLcom/android/server/location/contexthub/ContextHubServiceUtil;->createNanoAppMessage(Landroid/hardware/contexthub/ContextHubMessage;)Landroid/hardware/location/NanoAppMessage;
+PLcom/android/server/location/contexthub/ContextHubServiceUtil;->createNanoAppStateList([Landroid/hardware/contexthub/NanoappInfo;)Ljava/util/List;
+PLcom/android/server/location/contexthub/ContextHubServiceUtil;->createPrimitiveIntArray(Ljava/util/Collection;)[I
+PLcom/android/server/location/contexthub/ContextHubStatsLog;->write(IJI)V
+PLcom/android/server/location/contexthub/ContextHubTransactionManager$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/location/contexthub/ContextHubTransactionManager;Lcom/android/server/location/contexthub/ContextHubServiceTransaction;)V
+PLcom/android/server/location/contexthub/ContextHubTransactionManager$6;-><init>(Lcom/android/server/location/contexthub/ContextHubTransactionManager;IILjava/lang/String;ILandroid/hardware/location/IContextHubTransactionCallback;)V
+PLcom/android/server/location/contexthub/ContextHubTransactionManager$6;->onQueryResponse(ILjava/util/List;)V
+PLcom/android/server/location/contexthub/ContextHubTransactionManager$6;->onTransact()I
+PLcom/android/server/location/contexthub/ContextHubTransactionManager$TransactionRecord;-><init>(Lcom/android/server/location/contexthub/ContextHubTransactionManager;Ljava/lang/String;)V
+PLcom/android/server/location/contexthub/ContextHubTransactionManager;->-$$Nest$fgetmContextHubProxy(Lcom/android/server/location/contexthub/ContextHubTransactionManager;)Lcom/android/server/location/contexthub/IContextHubWrapper;
+PLcom/android/server/location/contexthub/ContextHubTransactionManager;-><init>(Lcom/android/server/location/contexthub/IContextHubWrapper;Lcom/android/server/location/contexthub/ContextHubClientManager;Lcom/android/server/location/contexthub/NanoAppStateManager;)V
+PLcom/android/server/location/contexthub/ContextHubTransactionManager;->addTransaction(Lcom/android/server/location/contexthub/ContextHubServiceTransaction;)V
+PLcom/android/server/location/contexthub/ContextHubTransactionManager;->createQueryTransaction(ILandroid/hardware/location/IContextHubTransactionCallback;Ljava/lang/String;)Lcom/android/server/location/contexthub/ContextHubServiceTransaction;
+PLcom/android/server/location/contexthub/ContextHubTransactionManager;->onQueryResponse(Ljava/util/List;)V
+PLcom/android/server/location/contexthub/ContextHubTransactionManager;->removeTransactionAndStartNext()V
+PLcom/android/server/location/contexthub/ContextHubTransactionManager;->startNextTransaction()V
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/location/contexthub/IContextHubWrapper$ICallback;)V
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl$ContextHubAidlCallback$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl$ContextHubAidlCallback;Ljava/util/List;)V
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl$ContextHubAidlCallback$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl$ContextHubAidlCallback$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl$ContextHubAidlCallback;Landroid/hardware/contexthub/ContextHubMessage;[Ljava/lang/String;)V
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl$ContextHubAidlCallback$$ExternalSyntheticLambda3;->run()V
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl$ContextHubAidlCallback;->$r8$lambda$73t3WS8YfVk6BW0zU3MPErwk2sU(Lcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl$ContextHubAidlCallback;Landroid/hardware/contexthub/ContextHubMessage;[Ljava/lang/String;)V
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl$ContextHubAidlCallback;->$r8$lambda$hrYSC_xKcGsK1WsvqlKFNelyQUI(Lcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl$ContextHubAidlCallback;Ljava/util/List;)V
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl$ContextHubAidlCallback;-><clinit>()V
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl$ContextHubAidlCallback;-><init>(Lcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl;ILcom/android/server/location/contexthub/IContextHubWrapper$ICallback;)V
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl$ContextHubAidlCallback;->handleContextHubMessage(Landroid/hardware/contexthub/ContextHubMessage;[Ljava/lang/String;)V
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl$ContextHubAidlCallback;->handleNanoappInfo([Landroid/hardware/contexthub/NanoappInfo;)V
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl$ContextHubAidlCallback;->lambda$handleContextHubMessage$1(Landroid/hardware/contexthub/ContextHubMessage;[Ljava/lang/String;)V
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl$ContextHubAidlCallback;->lambda$handleNanoappInfo$0(Ljava/util/List;)V
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl;->-$$Nest$fgetmHandler(Lcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl;)Landroid/os/Handler;
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl;-><init>(Landroid/hardware/contexthub/IContextHub;)V
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl;->getHub()Landroid/hardware/contexthub/IContextHub;
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl;->getHubs()Landroid/util/Pair;
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl;->linkWrapperToHubDeath()V
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl;->onAirplaneModeSettingChanged(Z)V
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl;->onBtMainSettingChanged(Z)V
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl;->onBtScanningSettingChanged(Z)V
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl;->onHostEndpointConnected(Landroid/hardware/contexthub/HostEndpointInfo;)V
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl;->onLocationSettingChanged(Z)V
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl;->onMicrophoneSettingChanged(Z)V
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl;->onSettingChanged(BZ)V
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl;->onWifiMainSettingChanged(Z)V
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl;->onWifiScanningSettingChanged(Z)V
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl;->onWifiSettingChanged(Z)V
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl;->queryNanoapps(I)I
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl;->registerCallback(ILcom/android/server/location/contexthub/IContextHubWrapper$ICallback;)V
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl;->registerExistingCallback(I)V
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl;->setHub(Landroid/hardware/contexthub/IContextHub;)V
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl;->supportsAirplaneModeSettingNotifications()Z
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl;->supportsBtSettingNotifications()Z
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl;->supportsLocationSettingNotifications()Z
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl;->supportsMicrophoneSettingNotifications()Z
+PLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl;->supportsWifiSettingNotifications()Z
+PLcom/android/server/location/contexthub/IContextHubWrapper;-><init>()V
+PLcom/android/server/location/contexthub/IContextHubWrapper;->getContextHubWrapper()Lcom/android/server/location/contexthub/IContextHubWrapper;
+PLcom/android/server/location/contexthub/IContextHubWrapper;->maybeConnectToAidl()Lcom/android/server/location/contexthub/IContextHubWrapper;
+PLcom/android/server/location/contexthub/IContextHubWrapper;->maybeConnectToAidlGetProxy()Landroid/hardware/contexthub/IContextHub;
+PLcom/android/server/location/contexthub/NanoAppStateManager;-><init>()V
+HPLcom/android/server/location/contexthub/NanoAppStateManager;->addNanoAppInstance(IJI)V
+PLcom/android/server/location/contexthub/NanoAppStateManager;->foreachNanoAppInstanceInfo(Ljava/util/function/Consumer;)V
+HPLcom/android/server/location/contexthub/NanoAppStateManager;->getNanoAppHandle(IJ)I
+PLcom/android/server/location/contexthub/NanoAppStateManager;->handleQueryAppEntry(IJI)V
+PLcom/android/server/location/contexthub/NanoAppStateManager;->removeNanoAppInstance(IJ)V
+HPLcom/android/server/location/contexthub/NanoAppStateManager;->updateCache(ILjava/util/List;)V
+PLcom/android/server/location/countrydetector/ComprehensiveCountryDetector$1;-><init>(Lcom/android/server/location/countrydetector/ComprehensiveCountryDetector;)V
+PLcom/android/server/location/countrydetector/ComprehensiveCountryDetector$1;->onCountryDetected(Landroid/location/Country;)V
+PLcom/android/server/location/countrydetector/ComprehensiveCountryDetector$2;-><init>(Lcom/android/server/location/countrydetector/ComprehensiveCountryDetector;Landroid/location/Country;Landroid/location/Country;ZZ)V
+PLcom/android/server/location/countrydetector/ComprehensiveCountryDetector$2;->run()V
+PLcom/android/server/location/countrydetector/ComprehensiveCountryDetector$3;-><init>(Lcom/android/server/location/countrydetector/ComprehensiveCountryDetector;)V
+PLcom/android/server/location/countrydetector/ComprehensiveCountryDetector$4;-><init>(Lcom/android/server/location/countrydetector/ComprehensiveCountryDetector;)V
+PLcom/android/server/location/countrydetector/ComprehensiveCountryDetector;->-$$Nest$fputmCountryFromLocation(Lcom/android/server/location/countrydetector/ComprehensiveCountryDetector;Landroid/location/Country;)V
+PLcom/android/server/location/countrydetector/ComprehensiveCountryDetector;->-$$Nest$mdetectCountry(Lcom/android/server/location/countrydetector/ComprehensiveCountryDetector;ZZ)Landroid/location/Country;
+PLcom/android/server/location/countrydetector/ComprehensiveCountryDetector;->-$$Nest$mstopLocationBasedDetector(Lcom/android/server/location/countrydetector/ComprehensiveCountryDetector;)V
+PLcom/android/server/location/countrydetector/ComprehensiveCountryDetector;-><init>(Landroid/content/Context;)V
+PLcom/android/server/location/countrydetector/ComprehensiveCountryDetector;->addPhoneStateListener()V
+PLcom/android/server/location/countrydetector/ComprehensiveCountryDetector;->addToLogs(Landroid/location/Country;)V
+PLcom/android/server/location/countrydetector/ComprehensiveCountryDetector;->cancelLocationRefresh()V
+PLcom/android/server/location/countrydetector/ComprehensiveCountryDetector;->createLocationBasedCountryDetector()Lcom/android/server/location/countrydetector/CountryDetectorBase;
+PLcom/android/server/location/countrydetector/ComprehensiveCountryDetector;->detectCountry()Landroid/location/Country;
+PLcom/android/server/location/countrydetector/ComprehensiveCountryDetector;->detectCountry(ZZ)Landroid/location/Country;
+PLcom/android/server/location/countrydetector/ComprehensiveCountryDetector;->getCountry()Landroid/location/Country;
+PLcom/android/server/location/countrydetector/ComprehensiveCountryDetector;->getLastKnownLocationBasedCountry()Landroid/location/Country;
+PLcom/android/server/location/countrydetector/ComprehensiveCountryDetector;->getLocaleCountry()Landroid/location/Country;
+PLcom/android/server/location/countrydetector/ComprehensiveCountryDetector;->getNetworkBasedCountry()Landroid/location/Country;
+PLcom/android/server/location/countrydetector/ComprehensiveCountryDetector;->getSimBasedCountry()Landroid/location/Country;
+PLcom/android/server/location/countrydetector/ComprehensiveCountryDetector;->isAirplaneModeOff()Z
+PLcom/android/server/location/countrydetector/ComprehensiveCountryDetector;->isGeoCoderImplemented()Z
+PLcom/android/server/location/countrydetector/ComprehensiveCountryDetector;->isNetworkCountryCodeAvailable()Z
+PLcom/android/server/location/countrydetector/ComprehensiveCountryDetector;->notifyIfCountryChanged(Landroid/location/Country;Landroid/location/Country;)V
+PLcom/android/server/location/countrydetector/ComprehensiveCountryDetector;->removePhoneStateListener()V
+PLcom/android/server/location/countrydetector/ComprehensiveCountryDetector;->runAfterDetection(Landroid/location/Country;Landroid/location/Country;ZZ)V
+PLcom/android/server/location/countrydetector/ComprehensiveCountryDetector;->runAfterDetectionAsync(Landroid/location/Country;Landroid/location/Country;ZZ)V
+PLcom/android/server/location/countrydetector/ComprehensiveCountryDetector;->scheduleLocationRefresh()V
+PLcom/android/server/location/countrydetector/ComprehensiveCountryDetector;->setCountryListener(Landroid/location/CountryListener;)V
+PLcom/android/server/location/countrydetector/ComprehensiveCountryDetector;->startLocationBasedDetector(Landroid/location/CountryListener;)V
+PLcom/android/server/location/countrydetector/ComprehensiveCountryDetector;->stopLocationBasedDetector()V
+PLcom/android/server/location/countrydetector/CountryDetectorBase;-><init>(Landroid/content/Context;)V
+PLcom/android/server/location/countrydetector/CountryDetectorBase;->notifyListener(Landroid/location/Country;)V
+PLcom/android/server/location/countrydetector/CountryDetectorBase;->setCountryListener(Landroid/location/CountryListener;)V
+PLcom/android/server/location/countrydetector/LocationBasedCountryDetector$1;-><init>(Lcom/android/server/location/countrydetector/LocationBasedCountryDetector;)V
+PLcom/android/server/location/countrydetector/LocationBasedCountryDetector$2;-><init>(Lcom/android/server/location/countrydetector/LocationBasedCountryDetector;)V
+PLcom/android/server/location/countrydetector/LocationBasedCountryDetector$2;->run()V
+PLcom/android/server/location/countrydetector/LocationBasedCountryDetector$3;-><init>(Lcom/android/server/location/countrydetector/LocationBasedCountryDetector;Landroid/location/Location;)V
+PLcom/android/server/location/countrydetector/LocationBasedCountryDetector$3;->run()V
+PLcom/android/server/location/countrydetector/LocationBasedCountryDetector;->-$$Nest$mqueryCountryCode(Lcom/android/server/location/countrydetector/LocationBasedCountryDetector;Landroid/location/Location;)V
+PLcom/android/server/location/countrydetector/LocationBasedCountryDetector;-><init>(Landroid/content/Context;)V
+PLcom/android/server/location/countrydetector/LocationBasedCountryDetector;->detectCountry()Landroid/location/Country;
+PLcom/android/server/location/countrydetector/LocationBasedCountryDetector;->getEnabledProviders()Ljava/util/List;
+PLcom/android/server/location/countrydetector/LocationBasedCountryDetector;->getLastKnownLocation()Landroid/location/Location;
+PLcom/android/server/location/countrydetector/LocationBasedCountryDetector;->getQueryLocationTimeout()J
+PLcom/android/server/location/countrydetector/LocationBasedCountryDetector;->isAcceptableProvider(Ljava/lang/String;)Z
+PLcom/android/server/location/countrydetector/LocationBasedCountryDetector;->queryCountryCode(Landroid/location/Location;)V
+PLcom/android/server/location/countrydetector/LocationBasedCountryDetector;->registerListener(Ljava/lang/String;Landroid/location/LocationListener;)V
+PLcom/android/server/location/countrydetector/LocationBasedCountryDetector;->stop()V
+PLcom/android/server/location/countrydetector/LocationBasedCountryDetector;->unregisterListener(Landroid/location/LocationListener;)V
+PLcom/android/server/location/eventlog/LocalEventLog;-><clinit>()V
+PLcom/android/server/location/eventlog/LocalEventLog;-><init>(ILjava/lang/Class;)V
+HPLcom/android/server/location/eventlog/LocalEventLog;->addLog(JLjava/lang/Object;)V
+HPLcom/android/server/location/eventlog/LocalEventLog;->addLogEventInternal(ZILjava/lang/Object;)V
+PLcom/android/server/location/eventlog/LocalEventLog;->countTrailingZeros(I)I
+PLcom/android/server/location/eventlog/LocalEventLog;->createEntry(ZI)I
+PLcom/android/server/location/eventlog/LocalEventLog;->incrementIndex(I)I
+PLcom/android/server/location/eventlog/LocalEventLog;->isEmpty()Z
+PLcom/android/server/location/eventlog/LocalEventLog;->wrapIndex(I)I
+PLcom/android/server/location/eventlog/LocationEventLog$AggregateStats;-><init>()V
+PLcom/android/server/location/eventlog/LocationEventLog$AggregateStats;->markRequestActive()V
+PLcom/android/server/location/eventlog/LocationEventLog$AggregateStats;->markRequestAdded(J)V
+PLcom/android/server/location/eventlog/LocationEventLog$AggregateStats;->markRequestForeground()V
+PLcom/android/server/location/eventlog/LocationEventLog$AggregateStats;->markRequestInactive()V
+PLcom/android/server/location/eventlog/LocationEventLog$AggregateStats;->markRequestRemoved()V
+PLcom/android/server/location/eventlog/LocationEventLog$AggregateStats;->updateTotals()V
+PLcom/android/server/location/eventlog/LocationEventLog$LocationsEventLog;-><init>(I)V
+PLcom/android/server/location/eventlog/LocationEventLog$ProviderClientRegisterEvent;-><init>(Ljava/lang/String;ZLandroid/location/util/identity/CallerIdentity;Landroid/location/LocationRequest;)V
+PLcom/android/server/location/eventlog/LocationEventLog$ProviderEnabledEvent;-><init>(Ljava/lang/String;IZ)V
+PLcom/android/server/location/eventlog/LocationEventLog$ProviderEvent;-><init>(Ljava/lang/String;)V
+PLcom/android/server/location/eventlog/LocationEventLog$ProviderUpdateEvent;-><init>(Ljava/lang/String;Landroid/location/provider/ProviderRequest;)V
+PLcom/android/server/location/eventlog/LocationEventLog$UserVisibilityChangedEvent;-><init>(IZ)V
+PLcom/android/server/location/eventlog/LocationEventLog;-><clinit>()V
+PLcom/android/server/location/eventlog/LocationEventLog;-><init>()V
+PLcom/android/server/location/eventlog/LocationEventLog;->addLog(Ljava/lang/Object;)V
+HPLcom/android/server/location/eventlog/LocationEventLog;->getAggregateStats(Ljava/lang/String;Landroid/location/util/identity/CallerIdentity;)Lcom/android/server/location/eventlog/LocationEventLog$AggregateStats;
+PLcom/android/server/location/eventlog/LocationEventLog;->getLocationsLogSize()I
+PLcom/android/server/location/eventlog/LocationEventLog;->getLogSize()I
+PLcom/android/server/location/eventlog/LocationEventLog;->logProviderClientActive(Ljava/lang/String;Landroid/location/util/identity/CallerIdentity;)V
+PLcom/android/server/location/eventlog/LocationEventLog;->logProviderClientForeground(Ljava/lang/String;Landroid/location/util/identity/CallerIdentity;)V
+PLcom/android/server/location/eventlog/LocationEventLog;->logProviderClientInactive(Ljava/lang/String;Landroid/location/util/identity/CallerIdentity;)V
+PLcom/android/server/location/eventlog/LocationEventLog;->logProviderClientRegistered(Ljava/lang/String;Landroid/location/util/identity/CallerIdentity;Landroid/location/LocationRequest;)V
+PLcom/android/server/location/eventlog/LocationEventLog;->logProviderClientUnregistered(Ljava/lang/String;Landroid/location/util/identity/CallerIdentity;)V
+PLcom/android/server/location/eventlog/LocationEventLog;->logProviderEnabled(Ljava/lang/String;IZ)V
+PLcom/android/server/location/eventlog/LocationEventLog;->logProviderUpdateRequest(Ljava/lang/String;Landroid/location/provider/ProviderRequest;)V
+PLcom/android/server/location/eventlog/LocationEventLog;->logUserVisibilityChanged(IZ)V
+PLcom/android/server/location/fudger/LocationFudger;-><clinit>()V
+PLcom/android/server/location/fudger/LocationFudger;-><init>(F)V
+PLcom/android/server/location/fudger/LocationFudger;-><init>(FLjava/time/Clock;Ljava/util/Random;)V
+PLcom/android/server/location/fudger/LocationFudger;->nextRandomOffset()D
+PLcom/android/server/location/fudger/LocationFudger;->resetOffsets()V
+PLcom/android/server/location/geofence/GeofenceManager$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/location/geofence/GeofenceManager;)V
+PLcom/android/server/location/geofence/GeofenceManager$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/location/geofence/GeofenceManager;)V
+PLcom/android/server/location/geofence/GeofenceManager$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/location/geofence/GeofenceManager;)V
+PLcom/android/server/location/geofence/GeofenceManager$1;-><init>(Lcom/android/server/location/geofence/GeofenceManager;)V
+PLcom/android/server/location/geofence/GeofenceManager;-><init>(Landroid/content/Context;Lcom/android/server/location/injector/Injector;)V
+PLcom/android/server/location/geofence/GeofenceProxy$GeofenceProxyServiceConnection$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/location/geofence/GeofenceProxy;)V
+PLcom/android/server/location/geofence/GeofenceProxy$GeofenceProxyServiceConnection;-><init>(Lcom/android/server/location/geofence/GeofenceProxy;)V
+PLcom/android/server/location/geofence/GeofenceProxy$GeofenceProxyServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/location/geofence/GeofenceProxy;-><init>(Landroid/content/Context;Landroid/location/IGpsGeofenceHardware;)V
+PLcom/android/server/location/geofence/GeofenceProxy;->createAndBind(Landroid/content/Context;Landroid/location/IGpsGeofenceHardware;)Lcom/android/server/location/geofence/GeofenceProxy;
+PLcom/android/server/location/geofence/GeofenceProxy;->onBind(Landroid/os/IBinder;Lcom/android/server/servicewatcher/CurrentUserServiceSupplier$BoundServiceInfo;)V
+PLcom/android/server/location/geofence/GeofenceProxy;->onBind(Landroid/os/IBinder;Lcom/android/server/servicewatcher/ServiceWatcher$BoundServiceInfo;)V
+PLcom/android/server/location/geofence/GeofenceProxy;->register(Landroid/content/Context;)Z
+PLcom/android/server/location/geofence/GeofenceProxy;->updateGeofenceHardware(Landroid/os/IBinder;)V
+PLcom/android/server/location/gnss/ExponentialBackOff;-><init>(JJ)V
+PLcom/android/server/location/gnss/GnssAntennaInfoProvider;-><init>(Lcom/android/server/location/gnss/hal/GnssNative;)V
+PLcom/android/server/location/gnss/GnssAntennaInfoProvider;->onHalStarted()V
+PLcom/android/server/location/gnss/GnssConfiguration$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/location/gnss/GnssConfiguration$$ExternalSyntheticLambda0;->set(I)Z
+PLcom/android/server/location/gnss/GnssConfiguration$$ExternalSyntheticLambda1;-><init>()V
+PLcom/android/server/location/gnss/GnssConfiguration$$ExternalSyntheticLambda1;->set(I)Z
+PLcom/android/server/location/gnss/GnssConfiguration$$ExternalSyntheticLambda3;-><init>()V
+PLcom/android/server/location/gnss/GnssConfiguration$$ExternalSyntheticLambda3;->set(I)Z
+PLcom/android/server/location/gnss/GnssConfiguration$$ExternalSyntheticLambda4;-><init>()V
+PLcom/android/server/location/gnss/GnssConfiguration$$ExternalSyntheticLambda4;->set(I)Z
+PLcom/android/server/location/gnss/GnssConfiguration$$ExternalSyntheticLambda5;-><init>()V
+PLcom/android/server/location/gnss/GnssConfiguration$$ExternalSyntheticLambda5;->set(I)Z
+PLcom/android/server/location/gnss/GnssConfiguration$HalInterfaceVersion;-><init>(II)V
+PLcom/android/server/location/gnss/GnssConfiguration;->$r8$lambda$3fQhh0HIdjq4jMHxYVTiFqO2lhg(I)Z
+PLcom/android/server/location/gnss/GnssConfiguration;->$r8$lambda$F9k7STpxBfONZ7Aqgxh165D_nWw(I)Z
+PLcom/android/server/location/gnss/GnssConfiguration;->$r8$lambda$ZLy4bFu8qE3ZjEkSXCo-Pu4l7O0(I)Z
+PLcom/android/server/location/gnss/GnssConfiguration;->$r8$lambda$eXF9XL5ObtAcQauf3xSbZCBReug(I)Z
+PLcom/android/server/location/gnss/GnssConfiguration;->$r8$lambda$vT_XZFD-4uMu_ePbNOLadVMKlCY(I)Z
+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;->getBooleanConfig(Ljava/lang/String;Z)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;
+PLcom/android/server/location/gnss/GnssConfiguration;->getIntConfig(Ljava/lang/String;I)I
+PLcom/android/server/location/gnss/GnssConfiguration;->getProxyApps()Ljava/util/List;
+PLcom/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;->isActiveSimEmergencySuplEnabled()Z
+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
+PLcom/android/server/location/gnss/GnssConfiguration;->isNiSuplMessageInjectionEnabled()Z
+PLcom/android/server/location/gnss/GnssConfiguration;->isSimAbsent(Landroid/content/Context;)Z
+HPLcom/android/server/location/gnss/GnssConfiguration;->loadPropertiesFromCarrierConfig(ZI)V
+PLcom/android/server/location/gnss/GnssConfiguration;->loadPropertiesFromGpsDebugConfig(Ljava/util/Properties;Ljava/lang/String;)V
+PLcom/android/server/location/gnss/GnssConfiguration;->loadPropertiesFromResource(Landroid/content/Context;Ljava/util/Properties;)V
+HPLcom/android/server/location/gnss/GnssConfiguration;->logConfigurations()V
+PLcom/android/server/location/gnss/GnssConfiguration;->reloadGpsProperties()V
+HPLcom/android/server/location/gnss/GnssConfiguration;->reloadGpsProperties(ZI)V
+PLcom/android/server/location/gnss/GnssConfiguration;->setSatelliteBlocklist([I[I)V
+PLcom/android/server/location/gnss/GnssGeofenceProxy;-><init>(Lcom/android/server/location/gnss/hal/GnssNative;)V
+PLcom/android/server/location/gnss/GnssGeofenceProxy;->isHardwareGeofenceSupported()Z
+PLcom/android/server/location/gnss/GnssListenerMultiplexer$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/location/gnss/GnssListenerMultiplexer;)V
+PLcom/android/server/location/gnss/GnssListenerMultiplexer$$ExternalSyntheticLambda13;-><init>(Ljava/lang/String;)V
+PLcom/android/server/location/gnss/GnssListenerMultiplexer$$ExternalSyntheticLambda13;->test(Ljava/lang/Object;)Z
+PLcom/android/server/location/gnss/GnssListenerMultiplexer$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/location/gnss/GnssListenerMultiplexer;)V
+PLcom/android/server/location/gnss/GnssListenerMultiplexer$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/location/gnss/GnssListenerMultiplexer;)V
+PLcom/android/server/location/gnss/GnssListenerMultiplexer$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/location/gnss/GnssListenerMultiplexer;)V
+PLcom/android/server/location/gnss/GnssListenerMultiplexer$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/location/gnss/GnssListenerMultiplexer;)V
+HPLcom/android/server/location/gnss/GnssListenerMultiplexer$$ExternalSyntheticLambda4;->onAppForegroundChanged(IZ)V
+PLcom/android/server/location/gnss/GnssListenerMultiplexer$$ExternalSyntheticLambda9;-><init>(IZ)V
+HPLcom/android/server/location/gnss/GnssListenerMultiplexer$$ExternalSyntheticLambda9;->test(Ljava/lang/Object;)Z
+PLcom/android/server/location/gnss/GnssListenerMultiplexer$1;-><init>(Lcom/android/server/location/gnss/GnssListenerMultiplexer;)V
+PLcom/android/server/location/gnss/GnssListenerMultiplexer$2;-><init>(Lcom/android/server/location/gnss/GnssListenerMultiplexer;)V
+PLcom/android/server/location/gnss/GnssListenerMultiplexer$2;->onPackageReset(Ljava/lang/String;)V
+PLcom/android/server/location/gnss/GnssListenerMultiplexer$GnssListenerRegistration;-><init>(Lcom/android/server/location/gnss/GnssListenerMultiplexer;Ljava/lang/Object;Landroid/location/util/identity/CallerIdentity;Landroid/os/IInterface;)V
+PLcom/android/server/location/gnss/GnssListenerMultiplexer$GnssListenerRegistration;->getBinderFromKey(Landroid/os/IBinder;)Landroid/os/IBinder;
+PLcom/android/server/location/gnss/GnssListenerMultiplexer$GnssListenerRegistration;->getBinderFromKey(Ljava/lang/Object;)Landroid/os/IBinder;
+PLcom/android/server/location/gnss/GnssListenerMultiplexer$GnssListenerRegistration;->getIdentity()Landroid/location/util/identity/CallerIdentity;
+PLcom/android/server/location/gnss/GnssListenerMultiplexer$GnssListenerRegistration;->getRequest()Ljava/lang/Object;
+PLcom/android/server/location/gnss/GnssListenerMultiplexer$GnssListenerRegistration;->isForeground()Z
+PLcom/android/server/location/gnss/GnssListenerMultiplexer$GnssListenerRegistration;->isPermitted()Z
+HPLcom/android/server/location/gnss/GnssListenerMultiplexer$GnssListenerRegistration;->onForegroundChanged(IZ)Z
+PLcom/android/server/location/gnss/GnssListenerMultiplexer$GnssListenerRegistration;->onRegister()V
+PLcom/android/server/location/gnss/GnssListenerMultiplexer;->$r8$lambda$G2kqDLkfuxQMtoPsbj2WpYf8X5s(IZLcom/android/server/location/gnss/GnssListenerMultiplexer$GnssListenerRegistration;)Z
+HPLcom/android/server/location/gnss/GnssListenerMultiplexer;->$r8$lambda$_Gfvn5VW9-dlsJfSAPdr0oFIo4s(Lcom/android/server/location/gnss/GnssListenerMultiplexer;IZ)V
+PLcom/android/server/location/gnss/GnssListenerMultiplexer;->$r8$lambda$vTTdgGmunMW7m6DFokt_QlVxjDg(Ljava/lang/String;Lcom/android/server/location/gnss/GnssListenerMultiplexer$GnssListenerRegistration;)Z
+PLcom/android/server/location/gnss/GnssListenerMultiplexer;->-$$Nest$monPackageReset(Lcom/android/server/location/gnss/GnssListenerMultiplexer;Ljava/lang/String;)V
+PLcom/android/server/location/gnss/GnssListenerMultiplexer;-><init>(Lcom/android/server/location/injector/Injector;)V
+PLcom/android/server/location/gnss/GnssListenerMultiplexer;->addListener(Landroid/location/util/identity/CallerIdentity;Landroid/os/IInterface;)V
+PLcom/android/server/location/gnss/GnssListenerMultiplexer;->addListener(Ljava/lang/Object;Landroid/location/util/identity/CallerIdentity;Landroid/os/IInterface;)V
+PLcom/android/server/location/gnss/GnssListenerMultiplexer;->createRegistration(Ljava/lang/Object;Landroid/location/util/identity/CallerIdentity;Landroid/os/IInterface;)Lcom/android/server/location/gnss/GnssListenerMultiplexer$GnssListenerRegistration;
+PLcom/android/server/location/gnss/GnssListenerMultiplexer;->isActive(Landroid/location/util/identity/CallerIdentity;)Z
+PLcom/android/server/location/gnss/GnssListenerMultiplexer;->isActive(Lcom/android/server/location/gnss/GnssListenerMultiplexer$GnssListenerRegistration;)Z
+PLcom/android/server/location/gnss/GnssListenerMultiplexer;->isActive(Lcom/android/server/location/listeners/ListenerRegistration;)Z
+PLcom/android/server/location/gnss/GnssListenerMultiplexer;->isSupported()Z
+HPLcom/android/server/location/gnss/GnssListenerMultiplexer;->lambda$onAppForegroundChanged$6(IZLcom/android/server/location/gnss/GnssListenerMultiplexer$GnssListenerRegistration;)Z
+PLcom/android/server/location/gnss/GnssListenerMultiplexer;->lambda$onPackageReset$7(Ljava/lang/String;Lcom/android/server/location/gnss/GnssListenerMultiplexer$GnssListenerRegistration;)Z
+PLcom/android/server/location/gnss/GnssListenerMultiplexer;->mergeRegistrations(Ljava/util/Collection;)Ljava/lang/Object;
+PLcom/android/server/location/gnss/GnssListenerMultiplexer;->onAppForegroundChanged(IZ)V
+PLcom/android/server/location/gnss/GnssListenerMultiplexer;->onPackageReset(Ljava/lang/String;)V
+PLcom/android/server/location/gnss/GnssListenerMultiplexer;->onRegister()V
+PLcom/android/server/location/gnss/GnssLocationProvider$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/location/gnss/GnssLocationProvider$$ExternalSyntheticLambda10;-><init>(Lcom/android/server/location/gnss/NetworkTimeHelper;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$$ExternalSyntheticLambda10;->run()V
+PLcom/android/server/location/gnss/GnssLocationProvider$$ExternalSyntheticLambda13;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$$ExternalSyntheticLambda14;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$$ExternalSyntheticLambda15;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$$ExternalSyntheticLambda18;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;[I[I)V
+PLcom/android/server/location/gnss/GnssLocationProvider$$ExternalSyntheticLambda18;->run()V
+PLcom/android/server/location/gnss/GnssLocationProvider$$ExternalSyntheticLambda21;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$$ExternalSyntheticLambda22;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;Ljava/lang/Runnable;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$$ExternalSyntheticLambda22;->run()V
+PLcom/android/server/location/gnss/GnssLocationProvider$$ExternalSyntheticLambda8;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$$ExternalSyntheticLambda8;->run()V
+PLcom/android/server/location/gnss/GnssLocationProvider$$ExternalSyntheticLambda9;-><init>(Lcom/android/server/location/gnss/GnssSatelliteBlocklistHelper;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$$ExternalSyntheticLambda9;->run()V
+PLcom/android/server/location/gnss/GnssLocationProvider$1;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$2;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$3;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;Landroid/os/Handler;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$4;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$4;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$LocationExtras;-><init>()V
+PLcom/android/server/location/gnss/GnssLocationProvider;->$r8$lambda$5cN3NMHDdgiSS9srfJvXXqvdWzA(Lcom/android/server/location/gnss/GnssLocationProvider;Ljava/lang/Runnable;)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->$r8$lambda$P4av5E7_VcXCDWc2O4WPS0B6dK8(Lcom/android/server/location/gnss/GnssLocationProvider;[I[I)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->$r8$lambda$WJfBSnGxBdV92rwB-RR4u-lMzmQ(Lcom/android/server/location/gnss/GnssLocationProvider;)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->$r8$lambda$pvaCHGEUSphUSz5n1PWLLEnhwVM(Lcom/android/server/location/gnss/GnssLocationProvider;)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->-$$Nest$msubscriptionOrCarrierConfigChanged(Lcom/android/server/location/gnss/GnssLocationProvider;)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->-$$Nest$sfgetDEBUG()Z
+PLcom/android/server/location/gnss/GnssLocationProvider;-><clinit>()V
+HPLcom/android/server/location/gnss/GnssLocationProvider;-><init>(Landroid/content/Context;Lcom/android/server/location/gnss/hal/GnssNative;Lcom/android/server/location/gnss/GnssMetrics;)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->demandUtcTimeInjection()V
+PLcom/android/server/location/gnss/GnssLocationProvider;->handleEnable()V
+PLcom/android/server/location/gnss/GnssLocationProvider;->handleInitialize()V
+PLcom/android/server/location/gnss/GnssLocationProvider;->isGpsEnabled()Z
+PLcom/android/server/location/gnss/GnssLocationProvider;->lambda$onCapabilitiesChanged$11()V
+PLcom/android/server/location/gnss/GnssLocationProvider;->lambda$onUpdateSatelliteBlocklist$0([I[I)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->lambda$postWithWakeLockHeld$10(Ljava/lang/Runnable;)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->onCapabilitiesChanged(Landroid/location/GnssCapabilities;Landroid/location/GnssCapabilities;)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->onReportAGpsStatus(II[B)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->onRequestSetID(I)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->onSetRequest(Landroid/location/provider/ProviderRequest;)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->onSystemReady()V
+PLcom/android/server/location/gnss/GnssLocationProvider;->onUpdateSatelliteBlocklist([I[I)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->postWithWakeLockHeld(Ljava/lang/Runnable;)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->reloadGpsProperties()V
+PLcom/android/server/location/gnss/GnssLocationProvider;->restartLocationRequest()V
+PLcom/android/server/location/gnss/GnssLocationProvider;->setGpsEnabled(Z)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->setStarted(Z)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->setSuplHostPort()V
+PLcom/android/server/location/gnss/GnssLocationProvider;->stopBatching()V
+PLcom/android/server/location/gnss/GnssLocationProvider;->stopNavigating()V
+PLcom/android/server/location/gnss/GnssLocationProvider;->subscriptionOrCarrierConfigChanged()V
+PLcom/android/server/location/gnss/GnssLocationProvider;->updateClientUids(Landroid/os/WorkSource;)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->updateEnabled()V
+PLcom/android/server/location/gnss/GnssLocationProvider;->updateRequirements()V
+PLcom/android/server/location/gnss/GnssManagerService$GnssCapabilitiesHalModule;-><init>(Lcom/android/server/location/gnss/GnssManagerService;Lcom/android/server/location/gnss/hal/GnssNative;)V
+PLcom/android/server/location/gnss/GnssManagerService$GnssCapabilitiesHalModule;->onCapabilitiesChanged(Landroid/location/GnssCapabilities;Landroid/location/GnssCapabilities;)V
+PLcom/android/server/location/gnss/GnssManagerService$GnssGeofenceHalModule;-><init>(Lcom/android/server/location/gnss/GnssManagerService;Lcom/android/server/location/gnss/hal/GnssNative;)V
+PLcom/android/server/location/gnss/GnssManagerService;-><clinit>()V
+PLcom/android/server/location/gnss/GnssManagerService;-><init>(Landroid/content/Context;Lcom/android/server/location/injector/Injector;Lcom/android/server/location/gnss/hal/GnssNative;)V
+PLcom/android/server/location/gnss/GnssManagerService;->getGnssGeofenceProxy()Landroid/location/IGpsGeofenceHardware;
+PLcom/android/server/location/gnss/GnssManagerService;->getGnssLocationProvider()Lcom/android/server/location/gnss/GnssLocationProvider;
+PLcom/android/server/location/gnss/GnssManagerService;->onSystemReady()V
+PLcom/android/server/location/gnss/GnssManagerService;->registerGnssStatusCallback(Landroid/location/IGnssStatusListener;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/location/gnss/GnssMeasurementsProvider;-><init>(Lcom/android/server/location/injector/Injector;Lcom/android/server/location/gnss/hal/GnssNative;)V
+PLcom/android/server/location/gnss/GnssMetrics$GnssPowerMetrics;-><init>(Lcom/android/server/location/gnss/GnssMetrics;Lcom/android/internal/app/IBatteryStats;)V
+PLcom/android/server/location/gnss/GnssMetrics$Statistics;-><init>()V
+PLcom/android/server/location/gnss/GnssMetrics$Statistics;->reset()V
+PLcom/android/server/location/gnss/GnssMetrics$StatsPullAtomCallbackImpl;-><init>(Lcom/android/server/location/gnss/GnssMetrics;)V
+PLcom/android/server/location/gnss/GnssMetrics;-><init>(Landroid/content/Context;Lcom/android/internal/app/IBatteryStats;Lcom/android/server/location/gnss/hal/GnssNative;)V
+PLcom/android/server/location/gnss/GnssMetrics;->registerGnssStats()V
+PLcom/android/server/location/gnss/GnssMetrics;->reset()V
+PLcom/android/server/location/gnss/GnssMetrics;->resetConstellationTypes()V
+PLcom/android/server/location/gnss/GnssNavigationMessageProvider;-><init>(Lcom/android/server/location/injector/Injector;Lcom/android/server/location/gnss/hal/GnssNative;)V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler;)V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler;Ljava/lang/Runnable;)V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler$$ExternalSyntheticLambda2;->run()V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler$1;-><init>(Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler;)V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler$2;-><init>(Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler;)V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->$r8$lambda$UI75ZGR_wWeGCDtuWWZygqNH2WI(Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler;)V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->$r8$lambda$uaMjsdErTcMigR-QvUtvFZgEPNE(Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler;Ljava/lang/Runnable;)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;->createNetworkConnectivityCallback()Landroid/net/ConnectivityManager$NetworkCallback;
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->handleReleaseSuplConnection(I)V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->isNativeAgpsRilSupported()Z
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->lambda$onReportAGpsStatus$1()V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->lambda$runEventAndReleaseWakeLock$2(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/GnssNmeaProvider;-><init>(Lcom/android/server/location/injector/Injector;Lcom/android/server/location/gnss/hal/GnssNative;)V
+PLcom/android/server/location/gnss/GnssSatelliteBlocklistHelper$1;-><init>(Lcom/android/server/location/gnss/GnssSatelliteBlocklistHelper;Landroid/os/Handler;)V
+PLcom/android/server/location/gnss/GnssSatelliteBlocklistHelper;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/location/gnss/GnssSatelliteBlocklistHelper$GnssSatelliteBlocklistCallback;)V
+PLcom/android/server/location/gnss/GnssSatelliteBlocklistHelper;->parseSatelliteBlocklist(Ljava/lang/String;)Ljava/util/List;
+PLcom/android/server/location/gnss/GnssSatelliteBlocklistHelper;->updateSatelliteBlocklist()V
+PLcom/android/server/location/gnss/GnssStatusProvider;-><init>(Lcom/android/server/location/injector/Injector;Lcom/android/server/location/gnss/hal/GnssNative;)V
+PLcom/android/server/location/gnss/GnssStatusProvider;->addListener(Landroid/location/util/identity/CallerIdentity;Landroid/location/IGnssStatusListener;)V
+PLcom/android/server/location/gnss/GnssStatusProvider;->onRegistrationAdded(Landroid/os/IBinder;Lcom/android/server/location/gnss/GnssListenerMultiplexer$GnssListenerRegistration;)V
+PLcom/android/server/location/gnss/GnssStatusProvider;->onRegistrationAdded(Ljava/lang/Object;Lcom/android/server/location/listeners/ListenerRegistration;)V
+PLcom/android/server/location/gnss/GnssStatusProvider;->registerWithService(Ljava/lang/Object;Ljava/util/Collection;)Z
+PLcom/android/server/location/gnss/GnssStatusProvider;->registerWithService(Ljava/lang/Void;Ljava/util/Collection;)Z
+PLcom/android/server/location/gnss/GnssVisibilityControl$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/location/gnss/GnssVisibilityControl;Z)V
+PLcom/android/server/location/gnss/GnssVisibilityControl$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/location/gnss/GnssVisibilityControl$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/location/gnss/GnssVisibilityControl;Ljava/util/List;)V
+PLcom/android/server/location/gnss/GnssVisibilityControl$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/location/gnss/GnssVisibilityControl$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/location/gnss/GnssVisibilityControl;)V
+PLcom/android/server/location/gnss/GnssVisibilityControl$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/location/gnss/GnssVisibilityControl;)V
+PLcom/android/server/location/gnss/GnssVisibilityControl$$ExternalSyntheticLambda4;->run()V
+PLcom/android/server/location/gnss/GnssVisibilityControl$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/location/gnss/GnssVisibilityControl;Ljava/lang/Runnable;)V
+PLcom/android/server/location/gnss/GnssVisibilityControl$$ExternalSyntheticLambda6;->run()V
+PLcom/android/server/location/gnss/GnssVisibilityControl$1;-><init>(Lcom/android/server/location/gnss/GnssVisibilityControl;)V
+PLcom/android/server/location/gnss/GnssVisibilityControl;->$r8$lambda$-C_A0LLAtzxFw2GtgzhvWwBB6Yo(Lcom/android/server/location/gnss/GnssVisibilityControl;Ljava/util/List;)V
+PLcom/android/server/location/gnss/GnssVisibilityControl;->$r8$lambda$QSIGEde0V8a2umZ6weceH27oZBU(Lcom/android/server/location/gnss/GnssVisibilityControl;Ljava/lang/Runnable;)V
+PLcom/android/server/location/gnss/GnssVisibilityControl;->$r8$lambda$UFJaGDOfHy8H_6ZhRklIms-8o_A(Lcom/android/server/location/gnss/GnssVisibilityControl;Z)V
+PLcom/android/server/location/gnss/GnssVisibilityControl;->$r8$lambda$dJecQTgcsVi1z20DN2Mq2OZgcLo(Lcom/android/server/location/gnss/GnssVisibilityControl;)V
+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;->getLocationPermissionEnabledProxyApps()[Ljava/lang/String;
+PLcom/android/server/location/gnss/GnssVisibilityControl;->handleGpsEnabledChanged(Z)V
+PLcom/android/server/location/gnss/GnssVisibilityControl;->handleInitialize()V
+PLcom/android/server/location/gnss/GnssVisibilityControl;->handleUpdateProxyApps(Ljava/util/List;)V
+PLcom/android/server/location/gnss/GnssVisibilityControl;->isProxyAppListUpdated(Ljava/util/List;)Z
+PLcom/android/server/location/gnss/GnssVisibilityControl;->lambda$onConfigurationUpdated$4(Ljava/util/List;)V
+PLcom/android/server/location/gnss/GnssVisibilityControl;->lambda$onGpsEnabledChanged$2(Z)V
+PLcom/android/server/location/gnss/GnssVisibilityControl;->lambda$runEventAndReleaseWakeLock$6(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;->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/NetworkTimeHelper;-><init>()V
+PLcom/android/server/location/gnss/NetworkTimeHelper;->create(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/location/gnss/NetworkTimeHelper$InjectTimeCallback;)Lcom/android/server/location/gnss/NetworkTimeHelper;
+PLcom/android/server/location/gnss/TimeDetectorNetworkTimeHelper$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/location/gnss/TimeDetectorNetworkTimeHelper;)V
+PLcom/android/server/location/gnss/TimeDetectorNetworkTimeHelper$EnvironmentImpl$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/location/gnss/TimeDetectorNetworkTimeHelper;Ljava/lang/String;)V
+PLcom/android/server/location/gnss/TimeDetectorNetworkTimeHelper$EnvironmentImpl$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/location/gnss/TimeDetectorNetworkTimeHelper$EnvironmentImpl$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/location/gnss/TimeDetectorNetworkTimeHelper;)V
+PLcom/android/server/location/gnss/TimeDetectorNetworkTimeHelper$EnvironmentImpl;->$r8$lambda$dEkDddYB5Iz8T29obuGL0xQsU6Y(Lcom/android/server/location/gnss/TimeDetectorNetworkTimeHelper;Ljava/lang/String;)V
+PLcom/android/server/location/gnss/TimeDetectorNetworkTimeHelper$EnvironmentImpl;-><init>(Landroid/os/Looper;)V
+PLcom/android/server/location/gnss/TimeDetectorNetworkTimeHelper$EnvironmentImpl;->clearDelayedTimeQueryCallback()V
+PLcom/android/server/location/gnss/TimeDetectorNetworkTimeHelper$EnvironmentImpl;->getLatestNetworkTime()Lcom/android/server/timedetector/NetworkTimeSuggestion;
+PLcom/android/server/location/gnss/TimeDetectorNetworkTimeHelper$EnvironmentImpl;->lambda$requestImmediateTimeQueryCallback$0(Lcom/android/server/location/gnss/TimeDetectorNetworkTimeHelper;Ljava/lang/String;)V
+PLcom/android/server/location/gnss/TimeDetectorNetworkTimeHelper$EnvironmentImpl;->requestDelayedTimeQueryCallback(Lcom/android/server/location/gnss/TimeDetectorNetworkTimeHelper;J)V
+PLcom/android/server/location/gnss/TimeDetectorNetworkTimeHelper$EnvironmentImpl;->requestImmediateTimeQueryCallback(Lcom/android/server/location/gnss/TimeDetectorNetworkTimeHelper;Ljava/lang/String;)V
+PLcom/android/server/location/gnss/TimeDetectorNetworkTimeHelper$EnvironmentImpl;->setNetworkTimeUpdateListener(Lcom/android/server/timezonedetector/StateChangeListener;)V
+PLcom/android/server/location/gnss/TimeDetectorNetworkTimeHelper;-><clinit>()V
+PLcom/android/server/location/gnss/TimeDetectorNetworkTimeHelper;-><init>(Lcom/android/server/location/gnss/TimeDetectorNetworkTimeHelper$Environment;Lcom/android/server/location/gnss/NetworkTimeHelper$InjectTimeCallback;)V
+PLcom/android/server/location/gnss/TimeDetectorNetworkTimeHelper;->calculateTimeSignalAgeMillis(Lcom/android/server/timedetector/NetworkTimeSuggestion;)J
+PLcom/android/server/location/gnss/TimeDetectorNetworkTimeHelper;->demandUtcTimeInjection()V
+PLcom/android/server/location/gnss/TimeDetectorNetworkTimeHelper;->isInUse()Z
+PLcom/android/server/location/gnss/TimeDetectorNetworkTimeHelper;->logToDumpLog(Ljava/lang/String;)V
+PLcom/android/server/location/gnss/TimeDetectorNetworkTimeHelper;->maybeInjectNetworkTime(Lcom/android/server/timedetector/NetworkTimeSuggestion;Ljava/lang/String;)V
+PLcom/android/server/location/gnss/TimeDetectorNetworkTimeHelper;->queryAndInjectNetworkTime(Ljava/lang/String;)V
+PLcom/android/server/location/gnss/TimeDetectorNetworkTimeHelper;->removePeriodicNetworkTimeQuery()V
+PLcom/android/server/location/gnss/TimeDetectorNetworkTimeHelper;->setPeriodicTimeInjectionMode(Z)V
+PLcom/android/server/location/gnss/hal/GnssNative$$ExternalSyntheticLambda16;-><init>(Lcom/android/server/location/gnss/hal/GnssNative;Landroid/location/GnssCapabilities;Landroid/location/GnssCapabilities;)V
+PLcom/android/server/location/gnss/hal/GnssNative$$ExternalSyntheticLambda16;->runOrThrow()V
+PLcom/android/server/location/gnss/hal/GnssNative$$ExternalSyntheticLambda23;-><init>(Lcom/android/server/location/gnss/hal/GnssNative;I)V
+PLcom/android/server/location/gnss/hal/GnssNative$$ExternalSyntheticLambda23;->runOrThrow()V
+PLcom/android/server/location/gnss/hal/GnssNative$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/location/gnss/hal/GnssNative;II[B)V
+PLcom/android/server/location/gnss/hal/GnssNative$$ExternalSyntheticLambda4;->runOrThrow()V
+PLcom/android/server/location/gnss/hal/GnssNative$BaseCallbacks;->onCapabilitiesChanged(Landroid/location/GnssCapabilities;Landroid/location/GnssCapabilities;)V
+PLcom/android/server/location/gnss/hal/GnssNative$BaseCallbacks;->onHalStarted()V
+PLcom/android/server/location/gnss/hal/GnssNative$GnssHal;-><init>()V
+PLcom/android/server/location/gnss/hal/GnssNative$GnssHal;->classInitOnce()V
+PLcom/android/server/location/gnss/hal/GnssNative$GnssHal;->cleanup()V
+PLcom/android/server/location/gnss/hal/GnssNative$GnssHal;->init()Z
+PLcom/android/server/location/gnss/hal/GnssNative$GnssHal;->initBatching()Z
+PLcom/android/server/location/gnss/hal/GnssNative$GnssHal;->initOnce(Lcom/android/server/location/gnss/hal/GnssNative;Z)V
+PLcom/android/server/location/gnss/hal/GnssNative$GnssHal;->isGeofencingSupported()Z
+PLcom/android/server/location/gnss/hal/GnssNative$GnssHal;->isGnssVisibilityControlSupported()Z
+PLcom/android/server/location/gnss/hal/GnssNative$GnssHal;->isPsdsSupported()Z
+PLcom/android/server/location/gnss/hal/GnssNative$GnssHal;->isSupported()Z
+PLcom/android/server/location/gnss/hal/GnssNative$GnssHal;->setAgpsServer(ILjava/lang/String;I)V
+PLcom/android/server/location/gnss/hal/GnssNative$GnssHal;->setAgpsSetId(ILjava/lang/String;)V
+PLcom/android/server/location/gnss/hal/GnssNative$GnssHal;->startAntennaInfoListening()Z
+PLcom/android/server/location/gnss/hal/GnssNative$GnssHal;->startSvStatusCollection()Z
+PLcom/android/server/location/gnss/hal/GnssNative;->$r8$lambda$1tvOlZmXGrQw0TxJr3KhvBNnqY4(Lcom/android/server/location/gnss/hal/GnssNative;II[B)V
+PLcom/android/server/location/gnss/hal/GnssNative;->$r8$lambda$f8mnaV-CqxjxteNWGUfaMwcgJL8(Lcom/android/server/location/gnss/hal/GnssNative;Landroid/location/GnssCapabilities;Landroid/location/GnssCapabilities;)V
+PLcom/android/server/location/gnss/hal/GnssNative;->$r8$lambda$kX3GdWZHTIR8BsDyWlCdiVJuuvA(Lcom/android/server/location/gnss/hal/GnssNative;I)V
+PLcom/android/server/location/gnss/hal/GnssNative;->-$$Nest$mnative_init_once(Lcom/android/server/location/gnss/hal/GnssNative;Z)V
+PLcom/android/server/location/gnss/hal/GnssNative;->-$$Nest$smnative_agps_set_id(ILjava/lang/String;)V
+PLcom/android/server/location/gnss/hal/GnssNative;->-$$Nest$smnative_class_init_once()V
+PLcom/android/server/location/gnss/hal/GnssNative;->-$$Nest$smnative_cleanup()V
+PLcom/android/server/location/gnss/hal/GnssNative;->-$$Nest$smnative_init()Z
+PLcom/android/server/location/gnss/hal/GnssNative;->-$$Nest$smnative_init_batching()Z
+PLcom/android/server/location/gnss/hal/GnssNative;->-$$Nest$smnative_is_geofence_supported()Z
+PLcom/android/server/location/gnss/hal/GnssNative;->-$$Nest$smnative_is_gnss_visibility_control_supported()Z
+PLcom/android/server/location/gnss/hal/GnssNative;->-$$Nest$smnative_is_supported()Z
+PLcom/android/server/location/gnss/hal/GnssNative;->-$$Nest$smnative_set_agps_server(ILjava/lang/String;I)V
+PLcom/android/server/location/gnss/hal/GnssNative;->-$$Nest$smnative_start_antenna_info_listening()Z
+PLcom/android/server/location/gnss/hal/GnssNative;->-$$Nest$smnative_start_sv_status_collection()Z
+PLcom/android/server/location/gnss/hal/GnssNative;->-$$Nest$smnative_supports_psds()Z
+PLcom/android/server/location/gnss/hal/GnssNative;-><init>(Lcom/android/server/location/gnss/hal/GnssNative$GnssHal;Lcom/android/server/location/injector/Injector;Lcom/android/server/location/gnss/GnssConfiguration;)V
+PLcom/android/server/location/gnss/hal/GnssNative;->addAntennaInfoCallbacks(Lcom/android/server/location/gnss/hal/GnssNative$AntennaInfoCallbacks;)V
+PLcom/android/server/location/gnss/hal/GnssNative;->addBaseCallbacks(Lcom/android/server/location/gnss/hal/GnssNative$BaseCallbacks;)V
+PLcom/android/server/location/gnss/hal/GnssNative;->addLocationCallbacks(Lcom/android/server/location/gnss/hal/GnssNative$LocationCallbacks;)V
+PLcom/android/server/location/gnss/hal/GnssNative;->addMeasurementCallbacks(Lcom/android/server/location/gnss/hal/GnssNative$MeasurementCallbacks;)V
+PLcom/android/server/location/gnss/hal/GnssNative;->addNavigationMessageCallbacks(Lcom/android/server/location/gnss/hal/GnssNative$NavigationMessageCallbacks;)V
+PLcom/android/server/location/gnss/hal/GnssNative;->addNmeaCallbacks(Lcom/android/server/location/gnss/hal/GnssNative$NmeaCallbacks;)V
+PLcom/android/server/location/gnss/hal/GnssNative;->addStatusCallbacks(Lcom/android/server/location/gnss/hal/GnssNative$StatusCallbacks;)V
+PLcom/android/server/location/gnss/hal/GnssNative;->addSvStatusCallbacks(Lcom/android/server/location/gnss/hal/GnssNative$SvStatusCallbacks;)V
+PLcom/android/server/location/gnss/hal/GnssNative;->create(Lcom/android/server/location/injector/Injector;Lcom/android/server/location/gnss/GnssConfiguration;)Lcom/android/server/location/gnss/hal/GnssNative;
+PLcom/android/server/location/gnss/hal/GnssNative;->getCapabilities()Landroid/location/GnssCapabilities;
+PLcom/android/server/location/gnss/hal/GnssNative;->getConfiguration()Lcom/android/server/location/gnss/GnssConfiguration;
+PLcom/android/server/location/gnss/hal/GnssNative;->init()Z
+PLcom/android/server/location/gnss/hal/GnssNative;->initBatching()Z
+PLcom/android/server/location/gnss/hal/GnssNative;->initializeGnss(Z)V
+PLcom/android/server/location/gnss/hal/GnssNative;->initializeHal()V
+PLcom/android/server/location/gnss/hal/GnssNative;->isGeofencingSupported()Z
+PLcom/android/server/location/gnss/hal/GnssNative;->isGnssVisibilityControlSupported()Z
+PLcom/android/server/location/gnss/hal/GnssNative;->isPsdsSupported()Z
+PLcom/android/server/location/gnss/hal/GnssNative;->isSupported()Z
+PLcom/android/server/location/gnss/hal/GnssNative;->lambda$onCapabilitiesChanged$8(Landroid/location/GnssCapabilities;Landroid/location/GnssCapabilities;)V
+PLcom/android/server/location/gnss/hal/GnssNative;->lambda$reportAGpsStatus$3(II[B)V
+PLcom/android/server/location/gnss/hal/GnssNative;->lambda$requestSetID$17(I)V
+PLcom/android/server/location/gnss/hal/GnssNative;->onCapabilitiesChanged(Landroid/location/GnssCapabilities;Landroid/location/GnssCapabilities;)V
+PLcom/android/server/location/gnss/hal/GnssNative;->register()V
+PLcom/android/server/location/gnss/hal/GnssNative;->reportAGpsStatus(II[B)V
+PLcom/android/server/location/gnss/hal/GnssNative;->requestSetID(I)V
+PLcom/android/server/location/gnss/hal/GnssNative;->setAGpsCallbacks(Lcom/android/server/location/gnss/hal/GnssNative$AGpsCallbacks;)V
+PLcom/android/server/location/gnss/hal/GnssNative;->setAgpsServer(ILjava/lang/String;I)V
+PLcom/android/server/location/gnss/hal/GnssNative;->setAgpsSetId(ILjava/lang/String;)V
+PLcom/android/server/location/gnss/hal/GnssNative;->setGeofenceCallbacks(Lcom/android/server/location/gnss/hal/GnssNative$GeofenceCallbacks;)V
+PLcom/android/server/location/gnss/hal/GnssNative;->setGnssHardwareModelName(Ljava/lang/String;)V
+PLcom/android/server/location/gnss/hal/GnssNative;->setGnssYearOfHardware(I)V
+PLcom/android/server/location/gnss/hal/GnssNative;->setLocationRequestCallbacks(Lcom/android/server/location/gnss/hal/GnssNative$LocationRequestCallbacks;)V
+PLcom/android/server/location/gnss/hal/GnssNative;->setNotificationCallbacks(Lcom/android/server/location/gnss/hal/GnssNative$NotificationCallbacks;)V
+PLcom/android/server/location/gnss/hal/GnssNative;->setPsdsCallbacks(Lcom/android/server/location/gnss/hal/GnssNative$PsdsCallbacks;)V
+PLcom/android/server/location/gnss/hal/GnssNative;->setSubHalMeasurementCorrectionsCapabilities(I)V
+PLcom/android/server/location/gnss/hal/GnssNative;->setTimeCallbacks(Lcom/android/server/location/gnss/hal/GnssNative$TimeCallbacks;)V
+PLcom/android/server/location/gnss/hal/GnssNative;->setTopHalCapabilities(IZ)V
+PLcom/android/server/location/gnss/hal/GnssNative;->startAntennaInfoListening()Z
+PLcom/android/server/location/gnss/hal/GnssNative;->startSvStatusCollection()Z
+PLcom/android/server/location/injector/AlarmHelper;-><init>()V
+PLcom/android/server/location/injector/AppForegroundHelper;-><init>()V
+PLcom/android/server/location/injector/AppForegroundHelper;->addListener(Lcom/android/server/location/injector/AppForegroundHelper$AppForegroundListener;)V
+PLcom/android/server/location/injector/AppForegroundHelper;->isForeground(I)Z
+HPLcom/android/server/location/injector/AppForegroundHelper;->notifyAppForeground(IZ)V
+PLcom/android/server/location/injector/AppOpsHelper;-><init>()V
+PLcom/android/server/location/injector/AppOpsHelper;->addListener(Lcom/android/server/location/injector/AppOpsHelper$LocationAppOpListener;)V
+PLcom/android/server/location/injector/AppOpsHelper;->notifyAppOpChanged(Ljava/lang/String;)V
+PLcom/android/server/location/injector/DeviceIdleHelper;-><init>()V
+PLcom/android/server/location/injector/DeviceStationaryHelper;-><init>()V
+PLcom/android/server/location/injector/EmergencyHelper;-><init>()V
+PLcom/android/server/location/injector/EmergencyHelper;->addOnEmergencyStateChangedListener(Lcom/android/server/location/injector/EmergencyHelper$EmergencyStateChangedListener;)V
+PLcom/android/server/location/injector/LocationPermissionsHelper$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/location/injector/LocationPermissionsHelper;)V
+PLcom/android/server/location/injector/LocationPermissionsHelper$$ExternalSyntheticLambda0;->onAppOpsChanged(Ljava/lang/String;)V
+PLcom/android/server/location/injector/LocationPermissionsHelper;->$r8$lambda$WoTjr4sbCqNtECb33nGPjU7MTXA(Lcom/android/server/location/injector/LocationPermissionsHelper;Ljava/lang/String;)V
+PLcom/android/server/location/injector/LocationPermissionsHelper;-><init>(Lcom/android/server/location/injector/AppOpsHelper;)V
+PLcom/android/server/location/injector/LocationPermissionsHelper;->addListener(Lcom/android/server/location/injector/LocationPermissionsHelper$LocationPermissionsListener;)V
+PLcom/android/server/location/injector/LocationPermissionsHelper;->hasLocationPermissions(ILandroid/location/util/identity/CallerIdentity;)Z
+PLcom/android/server/location/injector/LocationPermissionsHelper;->notifyLocationPermissionsChanged(Ljava/lang/String;)V
+PLcom/android/server/location/injector/LocationPermissionsHelper;->onAppOpsChanged(Ljava/lang/String;)V
+PLcom/android/server/location/injector/LocationPowerSaveModeHelper;-><init>()V
+PLcom/android/server/location/injector/LocationPowerSaveModeHelper;->addListener(Lcom/android/server/location/injector/LocationPowerSaveModeHelper$LocationPowerSaveModeChangedListener;)V
+PLcom/android/server/location/injector/LocationUsageLogger;-><init>()V
+PLcom/android/server/location/injector/LocationUsageLogger;->bucketizeDistance(F)I
+PLcom/android/server/location/injector/LocationUsageLogger;->bucketizeExpireIn(J)I
+PLcom/android/server/location/injector/LocationUsageLogger;->bucketizeInterval(J)I
+PLcom/android/server/location/injector/LocationUsageLogger;->bucketizeProvider(Ljava/lang/String;)I
+PLcom/android/server/location/injector/LocationUsageLogger;->categorizeActivityImportance(Z)I
+PLcom/android/server/location/injector/LocationUsageLogger;->getCallbackType(IZZ)I
+PLcom/android/server/location/injector/LocationUsageLogger;->hitApiUsageLogCap()Z
+PLcom/android/server/location/injector/LocationUsageLogger;->logEmergencyStateChanged(Z)V
+HPLcom/android/server/location/injector/LocationUsageLogger;->logLocationApiUsage(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/location/LocationRequest;ZZLandroid/location/Geofence;Z)V
+PLcom/android/server/location/injector/LocationUsageLogger;->logLocationEnabledStateChanged(Z)V
+PLcom/android/server/location/injector/PackageResetHelper;-><init>()V
+PLcom/android/server/location/injector/PackageResetHelper;->notifyPackageReset(Ljava/lang/String;)V
+PLcom/android/server/location/injector/PackageResetHelper;->register(Lcom/android/server/location/injector/PackageResetHelper$Responder;)V
+PLcom/android/server/location/injector/ScreenInteractiveHelper;-><init>()V
+PLcom/android/server/location/injector/ScreenInteractiveHelper;->addListener(Lcom/android/server/location/injector/ScreenInteractiveHelper$ScreenInteractiveChangedListener;)V
+PLcom/android/server/location/injector/SettingsHelper;-><init>()V
+PLcom/android/server/location/injector/SystemAlarmHelper;-><init>(Landroid/content/Context;)V
+PLcom/android/server/location/injector/SystemAppForegroundHelper$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/location/injector/SystemAppForegroundHelper;)V
+HPLcom/android/server/location/injector/SystemAppForegroundHelper$$ExternalSyntheticLambda0;->onUidImportance(II)V
+HPLcom/android/server/location/injector/SystemAppForegroundHelper$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/location/injector/SystemAppForegroundHelper;IZ)V
+HPLcom/android/server/location/injector/SystemAppForegroundHelper$$ExternalSyntheticLambda1;->run()V
+HPLcom/android/server/location/injector/SystemAppForegroundHelper;->$r8$lambda$UCfitvFhYxwpzpERUdvbWiHsEkc(Lcom/android/server/location/injector/SystemAppForegroundHelper;IZ)V
+HPLcom/android/server/location/injector/SystemAppForegroundHelper;->$r8$lambda$kCA01rHRoDFHvlSG_pyah-tjHeE(Lcom/android/server/location/injector/SystemAppForegroundHelper;II)V
+PLcom/android/server/location/injector/SystemAppForegroundHelper;-><init>(Landroid/content/Context;)V
+PLcom/android/server/location/injector/SystemAppForegroundHelper;->isAppForeground(I)Z
+PLcom/android/server/location/injector/SystemAppForegroundHelper;->lambda$onAppForegroundChanged$0(IZ)V
+HPLcom/android/server/location/injector/SystemAppForegroundHelper;->onAppForegroundChanged(II)V
+PLcom/android/server/location/injector/SystemAppForegroundHelper;->onSystemReady()V
+PLcom/android/server/location/injector/SystemAppOpsHelper$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/location/injector/SystemAppOpsHelper;)V
+PLcom/android/server/location/injector/SystemAppOpsHelper$$ExternalSyntheticLambda0;->onOpChanged(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/location/injector/SystemAppOpsHelper$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/location/injector/SystemAppOpsHelper;Ljava/lang/String;)V
+PLcom/android/server/location/injector/SystemAppOpsHelper$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/location/injector/SystemAppOpsHelper;->$r8$lambda$dkvV9ErqRUvUhFKYCKm0OGHp7dQ(Lcom/android/server/location/injector/SystemAppOpsHelper;Ljava/lang/String;)V
+PLcom/android/server/location/injector/SystemAppOpsHelper;->$r8$lambda$nvkNbjGehQgduXV6waQG27WlKTE(Lcom/android/server/location/injector/SystemAppOpsHelper;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/location/injector/SystemAppOpsHelper;-><init>(Landroid/content/Context;)V
+PLcom/android/server/location/injector/SystemAppOpsHelper;->checkOpNoThrow(ILandroid/location/util/identity/CallerIdentity;)Z
+PLcom/android/server/location/injector/SystemAppOpsHelper;->finishOp(ILandroid/location/util/identity/CallerIdentity;)V
+PLcom/android/server/location/injector/SystemAppOpsHelper;->lambda$onSystemReady$0(Ljava/lang/String;)V
+PLcom/android/server/location/injector/SystemAppOpsHelper;->lambda$onSystemReady$1(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/location/injector/SystemAppOpsHelper;->onSystemReady()V
+PLcom/android/server/location/injector/SystemAppOpsHelper;->startOpNoThrow(ILandroid/location/util/identity/CallerIdentity;)Z
+PLcom/android/server/location/injector/SystemDeviceIdleHelper;-><init>(Landroid/content/Context;)V
+PLcom/android/server/location/injector/SystemDeviceIdleHelper;->onRegistrationStateChanged()V
+PLcom/android/server/location/injector/SystemDeviceIdleHelper;->onSystemReady()V
+PLcom/android/server/location/injector/SystemDeviceStationaryHelper;-><init>()V
+PLcom/android/server/location/injector/SystemDeviceStationaryHelper;->onSystemReady()V
+PLcom/android/server/location/injector/SystemEmergencyHelper$1;-><init>(Lcom/android/server/location/injector/SystemEmergencyHelper;)V
+PLcom/android/server/location/injector/SystemEmergencyHelper$2;-><init>(Lcom/android/server/location/injector/SystemEmergencyHelper;)V
+PLcom/android/server/location/injector/SystemEmergencyHelper$EmergencyCallTelephonyCallback;-><init>(Lcom/android/server/location/injector/SystemEmergencyHelper;)V
+PLcom/android/server/location/injector/SystemEmergencyHelper;-><init>(Landroid/content/Context;)V
+PLcom/android/server/location/injector/SystemEmergencyHelper;->isInEmergency(J)Z
+PLcom/android/server/location/injector/SystemEmergencyHelper;->onSystemReady()V
+PLcom/android/server/location/injector/SystemLocationPermissionsHelper$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/location/injector/SystemLocationPermissionsHelper;)V
+PLcom/android/server/location/injector/SystemLocationPermissionsHelper;-><init>(Landroid/content/Context;Lcom/android/server/location/injector/AppOpsHelper;)V
+PLcom/android/server/location/injector/SystemLocationPermissionsHelper;->hasPermission(Ljava/lang/String;Landroid/location/util/identity/CallerIdentity;)Z
+PLcom/android/server/location/injector/SystemLocationPermissionsHelper;->onSystemReady()V
+PLcom/android/server/location/injector/SystemLocationPowerSaveModeHelper;-><init>(Landroid/content/Context;)V
+PLcom/android/server/location/injector/SystemLocationPowerSaveModeHelper;->getLocationPowerSaveMode()I
+PLcom/android/server/location/injector/SystemLocationPowerSaveModeHelper;->onSystemReady()V
+PLcom/android/server/location/injector/SystemPackageResetHelper$Receiver$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/location/injector/SystemPackageResetHelper$Receiver;Ljava/lang/String;)V
+PLcom/android/server/location/injector/SystemPackageResetHelper$Receiver$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/location/injector/SystemPackageResetHelper$Receiver;->$r8$lambda$nQjWM_LpqGA0LL_igYwAYJnsylE(Lcom/android/server/location/injector/SystemPackageResetHelper$Receiver;Ljava/lang/String;)V
+PLcom/android/server/location/injector/SystemPackageResetHelper$Receiver;-><init>(Lcom/android/server/location/injector/SystemPackageResetHelper;)V
+PLcom/android/server/location/injector/SystemPackageResetHelper$Receiver;-><init>(Lcom/android/server/location/injector/SystemPackageResetHelper;Lcom/android/server/location/injector/SystemPackageResetHelper$Receiver-IA;)V
+PLcom/android/server/location/injector/SystemPackageResetHelper$Receiver;->lambda$onReceive$1(Ljava/lang/String;)V
+PLcom/android/server/location/injector/SystemPackageResetHelper$Receiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/location/injector/SystemPackageResetHelper;-><init>(Landroid/content/Context;)V
+PLcom/android/server/location/injector/SystemPackageResetHelper;->onRegister()V
+PLcom/android/server/location/injector/SystemScreenInteractiveHelper$1;-><init>(Lcom/android/server/location/injector/SystemScreenInteractiveHelper;)V
+PLcom/android/server/location/injector/SystemScreenInteractiveHelper;-><init>(Landroid/content/Context;)V
+PLcom/android/server/location/injector/SystemScreenInteractiveHelper;->onSystemReady()V
+PLcom/android/server/location/injector/SystemSettingsHelper$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/location/injector/SystemSettingsHelper$$ExternalSyntheticLambda0;->get()Ljava/lang/Object;
+PLcom/android/server/location/injector/SystemSettingsHelper$$ExternalSyntheticLambda1;-><init>()V
+PLcom/android/server/location/injector/SystemSettingsHelper$$ExternalSyntheticLambda2;-><init>()V
+PLcom/android/server/location/injector/SystemSettingsHelper$BooleanGlobalSetting;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/os/Handler;)V
+PLcom/android/server/location/injector/SystemSettingsHelper$DeviceConfigSetting;-><init>(Ljava/lang/String;)V
+PLcom/android/server/location/injector/SystemSettingsHelper$DeviceConfigSetting;->addListener(Lcom/android/server/location/injector/SettingsHelper$GlobalSettingChangedListener;)V
+PLcom/android/server/location/injector/SystemSettingsHelper$DeviceConfigSetting;->register()V
+PLcom/android/server/location/injector/SystemSettingsHelper$IntegerSecureSetting;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/os/Handler;)V
+HPLcom/android/server/location/injector/SystemSettingsHelper$IntegerSecureSetting;->getValueForUser(II)I
+PLcom/android/server/location/injector/SystemSettingsHelper$IntegerSecureSetting;->register()V
+PLcom/android/server/location/injector/SystemSettingsHelper$LongGlobalSetting;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/os/Handler;)V
+PLcom/android/server/location/injector/SystemSettingsHelper$LongGlobalSetting;->register()V
+PLcom/android/server/location/injector/SystemSettingsHelper$ObservingSetting;-><init>(Landroid/os/Handler;)V
+PLcom/android/server/location/injector/SystemSettingsHelper$ObservingSetting;->addListener(Lcom/android/server/location/injector/SettingsHelper$UserSettingChangedListener;)V
+PLcom/android/server/location/injector/SystemSettingsHelper$ObservingSetting;->isRegistered()Z
+PLcom/android/server/location/injector/SystemSettingsHelper$ObservingSetting;->register(Landroid/content/Context;Landroid/net/Uri;)V
+PLcom/android/server/location/injector/SystemSettingsHelper$PackageTagsListSetting;-><init>(Ljava/lang/String;Ljava/util/function/Supplier;)V
+PLcom/android/server/location/injector/SystemSettingsHelper$StringListCachedSecureSetting;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/os/Handler;)V
+PLcom/android/server/location/injector/SystemSettingsHelper$StringListCachedSecureSetting;->getValueForUser(I)Ljava/util/List;
+PLcom/android/server/location/injector/SystemSettingsHelper$StringListCachedSecureSetting;->register()V
+PLcom/android/server/location/injector/SystemSettingsHelper$StringSetCachedGlobalSetting;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/util/function/Supplier;Landroid/os/Handler;)V
+PLcom/android/server/location/injector/SystemSettingsHelper$StringSetCachedGlobalSetting;->getValue()Ljava/util/Set;
+PLcom/android/server/location/injector/SystemSettingsHelper$StringSetCachedGlobalSetting;->register()V
+PLcom/android/server/location/injector/SystemSettingsHelper;->$r8$lambda$D5hSJ3ILCWeTxjNZR6hpkxtM3qo()Landroid/util/ArraySet;
+PLcom/android/server/location/injector/SystemSettingsHelper;-><init>(Landroid/content/Context;)V
+PLcom/android/server/location/injector/SystemSettingsHelper;->addAdasAllowlistChangedListener(Lcom/android/server/location/injector/SettingsHelper$GlobalSettingChangedListener;)V
+PLcom/android/server/location/injector/SystemSettingsHelper;->addIgnoreSettingsAllowlistChangedListener(Lcom/android/server/location/injector/SettingsHelper$GlobalSettingChangedListener;)V
+PLcom/android/server/location/injector/SystemSettingsHelper;->addOnBackgroundThrottleIntervalChangedListener(Lcom/android/server/location/injector/SettingsHelper$GlobalSettingChangedListener;)V
+PLcom/android/server/location/injector/SystemSettingsHelper;->addOnBackgroundThrottlePackageWhitelistChangedListener(Lcom/android/server/location/injector/SettingsHelper$GlobalSettingChangedListener;)V
+PLcom/android/server/location/injector/SystemSettingsHelper;->addOnLocationEnabledChangedListener(Lcom/android/server/location/injector/SettingsHelper$UserSettingChangedListener;)V
+PLcom/android/server/location/injector/SystemSettingsHelper;->addOnLocationPackageBlacklistChangedListener(Lcom/android/server/location/injector/SettingsHelper$UserSettingChangedListener;)V
+PLcom/android/server/location/injector/SystemSettingsHelper;->getBackgroundThrottlePackageWhitelist()Ljava/util/Set;
+PLcom/android/server/location/injector/SystemSettingsHelper;->getCoarseLocationAccuracyM()F
+PLcom/android/server/location/injector/SystemSettingsHelper;->isLocationEnabled(I)Z
+PLcom/android/server/location/injector/SystemSettingsHelper;->isLocationPackageBlacklisted(ILjava/lang/String;)Z
+PLcom/android/server/location/injector/SystemSettingsHelper;->lambda$new$0()Landroid/util/ArraySet;
+PLcom/android/server/location/injector/SystemSettingsHelper;->onSystemReady()V
+PLcom/android/server/location/injector/SystemSettingsHelper;->setLocationEnabled(ZI)V
+PLcom/android/server/location/injector/SystemUserInfoHelper$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/location/injector/SystemUserInfoHelper;)V
+PLcom/android/server/location/injector/SystemUserInfoHelper$$ExternalSyntheticLambda0;->onUserVisibilityChanged(IZ)V
+PLcom/android/server/location/injector/SystemUserInfoHelper;->$r8$lambda$rmbCOanELEWco8WhmNYmOOvB1A0(Lcom/android/server/location/injector/SystemUserInfoHelper;IZ)V
+PLcom/android/server/location/injector/SystemUserInfoHelper;-><init>(Landroid/content/Context;)V
+PLcom/android/server/location/injector/SystemUserInfoHelper;->getActivityManager()Landroid/app/IActivityManager;
+PLcom/android/server/location/injector/SystemUserInfoHelper;->getActivityManagerInternal()Landroid/app/ActivityManagerInternal;
+PLcom/android/server/location/injector/SystemUserInfoHelper;->getCurrentUserId()I
+PLcom/android/server/location/injector/SystemUserInfoHelper;->getRunningUserIds()[I
+PLcom/android/server/location/injector/SystemUserInfoHelper;->isVisibleUserId(I)Z
+PLcom/android/server/location/injector/SystemUserInfoHelper;->lambda$onSystemReady$0(IZ)V
+PLcom/android/server/location/injector/SystemUserInfoHelper;->onSystemReady()V
+PLcom/android/server/location/injector/UserInfoHelper;-><init>()V
+PLcom/android/server/location/injector/UserInfoHelper;->addListener(Lcom/android/server/location/injector/UserInfoHelper$UserListener;)V
+PLcom/android/server/location/injector/UserInfoHelper;->dispatchOnUserStarted(I)V
+PLcom/android/server/location/injector/UserInfoHelper;->dispatchOnVisibleUserChanged(IZ)V
+PLcom/android/server/location/listeners/BinderListenerRegistration;-><init>(Ljava/util/concurrent/Executor;Ljava/lang/Object;)V
+PLcom/android/server/location/listeners/BinderListenerRegistration;->onRegister()V
+PLcom/android/server/location/listeners/ListenerMultiplexer$ReentrancyGuard;-><init>(Lcom/android/server/location/listeners/ListenerMultiplexer;)V
+HPLcom/android/server/location/listeners/ListenerMultiplexer$ReentrancyGuard;->acquire()Lcom/android/server/location/listeners/ListenerMultiplexer$ReentrancyGuard;
+HPLcom/android/server/location/listeners/ListenerMultiplexer$ReentrancyGuard;->close()V
+PLcom/android/server/location/listeners/ListenerMultiplexer$ReentrancyGuard;->isReentrant()Z
+PLcom/android/server/location/listeners/ListenerMultiplexer$UpdateServiceBuffer;-><init>(Lcom/android/server/location/listeners/ListenerMultiplexer;)V
+HPLcom/android/server/location/listeners/ListenerMultiplexer$UpdateServiceBuffer;->acquire()Lcom/android/server/location/listeners/ListenerMultiplexer$UpdateServiceBuffer;
+HPLcom/android/server/location/listeners/ListenerMultiplexer$UpdateServiceBuffer;->close()V
+PLcom/android/server/location/listeners/ListenerMultiplexer$UpdateServiceBuffer;->isBuffered()Z
+PLcom/android/server/location/listeners/ListenerMultiplexer$UpdateServiceBuffer;->markUpdateServiceRequired()V
+HPLcom/android/server/location/listeners/ListenerMultiplexer;-><init>()V
+PLcom/android/server/location/listeners/ListenerMultiplexer;->onActive()V
+PLcom/android/server/location/listeners/ListenerMultiplexer;->onRegistrationActiveChanged(Lcom/android/server/location/listeners/ListenerRegistration;)V
+PLcom/android/server/location/listeners/ListenerMultiplexer;->putRegistration(Ljava/lang/Object;Lcom/android/server/location/listeners/ListenerRegistration;)V
+PLcom/android/server/location/listeners/ListenerMultiplexer;->removeRegistration(I)V
+PLcom/android/server/location/listeners/ListenerMultiplexer;->removeRegistration(Ljava/lang/Object;)V
+HPLcom/android/server/location/listeners/ListenerMultiplexer;->replaceRegistration(Ljava/lang/Object;Ljava/lang/Object;Lcom/android/server/location/listeners/ListenerRegistration;)V
+PLcom/android/server/location/listeners/ListenerMultiplexer;->unregister(Lcom/android/server/location/listeners/ListenerRegistration;)V
+HPLcom/android/server/location/listeners/ListenerMultiplexer;->updateRegistrations(Ljava/util/function/Predicate;)V
+HPLcom/android/server/location/listeners/ListenerMultiplexer;->updateService()V
+PLcom/android/server/location/listeners/ListenerRegistration;-><init>(Ljava/util/concurrent/Executor;Ljava/lang/Object;)V
+PLcom/android/server/location/listeners/ListenerRegistration;->equals(Ljava/lang/Object;)Z
+PLcom/android/server/location/listeners/ListenerRegistration;->getExecutor()Ljava/util/concurrent/Executor;
+PLcom/android/server/location/listeners/ListenerRegistration;->isActive()Z
+PLcom/android/server/location/listeners/ListenerRegistration;->isRegistered()Z
+PLcom/android/server/location/listeners/ListenerRegistration;->onActive()V
+PLcom/android/server/location/listeners/ListenerRegistration;->onRegister(Ljava/lang/Object;)V
+PLcom/android/server/location/listeners/ListenerRegistration;->onUnregister()V
+PLcom/android/server/location/listeners/ListenerRegistration;->setActive(Z)Z
+PLcom/android/server/location/listeners/ListenerRegistration;->unregisterInternal()V
+PLcom/android/server/location/listeners/RemovableListenerRegistration;-><init>(Ljava/util/concurrent/Executor;Ljava/lang/Object;)V
+PLcom/android/server/location/listeners/RemovableListenerRegistration;->getKey()Ljava/lang/Object;
+PLcom/android/server/location/listeners/RemovableListenerRegistration;->onRegister()V
+PLcom/android/server/location/listeners/RemovableListenerRegistration;->onRegister(Ljava/lang/Object;)V
+PLcom/android/server/location/listeners/RemovableListenerRegistration;->onUnregister()V
+PLcom/android/server/location/provider/AbstractLocationProvider$$ExternalSyntheticLambda0;-><init>(Z)V
+PLcom/android/server/location/provider/AbstractLocationProvider$$ExternalSyntheticLambda0;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/location/provider/AbstractLocationProvider$$ExternalSyntheticLambda2;-><init>(Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/function/UnaryOperator;)V
+PLcom/android/server/location/provider/AbstractLocationProvider$$ExternalSyntheticLambda2;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/location/provider/AbstractLocationProvider$Controller$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/location/provider/AbstractLocationProvider;)V
+PLcom/android/server/location/provider/AbstractLocationProvider$Controller$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/location/provider/AbstractLocationProvider$Controller$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/location/provider/AbstractLocationProvider$Controller;Landroid/location/provider/ProviderRequest;)V
+PLcom/android/server/location/provider/AbstractLocationProvider$Controller$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/location/provider/AbstractLocationProvider$Controller$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/location/provider/AbstractLocationProvider$Listener;)V
+PLcom/android/server/location/provider/AbstractLocationProvider$Controller$$ExternalSyntheticLambda4;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/location/provider/AbstractLocationProvider$Controller;->$r8$lambda$LeNcBraXlYCSFuemITl6ZhAWq-s(Lcom/android/server/location/provider/AbstractLocationProvider$Controller;Landroid/location/provider/ProviderRequest;)V
+PLcom/android/server/location/provider/AbstractLocationProvider$Controller;->$r8$lambda$ymAsNas0LO3WeFO8o8yVE4_uJQA(Lcom/android/server/location/provider/AbstractLocationProvider$Listener;Lcom/android/server/location/provider/AbstractLocationProvider$InternalState;)Lcom/android/server/location/provider/AbstractLocationProvider$InternalState;
+PLcom/android/server/location/provider/AbstractLocationProvider$Controller;-><init>(Lcom/android/server/location/provider/AbstractLocationProvider;)V
+PLcom/android/server/location/provider/AbstractLocationProvider$Controller;->isStarted()Z
+PLcom/android/server/location/provider/AbstractLocationProvider$Controller;->lambda$setListener$0(Lcom/android/server/location/provider/AbstractLocationProvider$Listener;Lcom/android/server/location/provider/AbstractLocationProvider$InternalState;)Lcom/android/server/location/provider/AbstractLocationProvider$InternalState;
+PLcom/android/server/location/provider/AbstractLocationProvider$Controller;->lambda$setRequest$1(Landroid/location/provider/ProviderRequest;)V
+HPLcom/android/server/location/provider/AbstractLocationProvider$Controller;->setListener(Lcom/android/server/location/provider/AbstractLocationProvider$Listener;)Lcom/android/server/location/provider/AbstractLocationProvider$State;
+PLcom/android/server/location/provider/AbstractLocationProvider$Controller;->setRequest(Landroid/location/provider/ProviderRequest;)V
+PLcom/android/server/location/provider/AbstractLocationProvider$Controller;->start()V
+PLcom/android/server/location/provider/AbstractLocationProvider$InternalState;-><init>(Lcom/android/server/location/provider/AbstractLocationProvider$Listener;Lcom/android/server/location/provider/AbstractLocationProvider$State;)V
+PLcom/android/server/location/provider/AbstractLocationProvider$InternalState;->withListener(Lcom/android/server/location/provider/AbstractLocationProvider$Listener;)Lcom/android/server/location/provider/AbstractLocationProvider$InternalState;
+PLcom/android/server/location/provider/AbstractLocationProvider$InternalState;->withState(Lcom/android/server/location/provider/AbstractLocationProvider$State;)Lcom/android/server/location/provider/AbstractLocationProvider$InternalState;
+PLcom/android/server/location/provider/AbstractLocationProvider$InternalState;->withState(Ljava/util/function/UnaryOperator;)Lcom/android/server/location/provider/AbstractLocationProvider$InternalState;
+PLcom/android/server/location/provider/AbstractLocationProvider$State;-><clinit>()V
+PLcom/android/server/location/provider/AbstractLocationProvider$State;-><init>(ZLandroid/location/provider/ProviderProperties;Landroid/location/util/identity/CallerIdentity;Ljava/util/Set;)V
+PLcom/android/server/location/provider/AbstractLocationProvider$State;->equals(Ljava/lang/Object;)Z
+PLcom/android/server/location/provider/AbstractLocationProvider$State;->withAllowed(Z)Lcom/android/server/location/provider/AbstractLocationProvider$State;
+PLcom/android/server/location/provider/AbstractLocationProvider$State;->withExtraAttributionTags(Ljava/util/Set;)Lcom/android/server/location/provider/AbstractLocationProvider$State;
+PLcom/android/server/location/provider/AbstractLocationProvider$State;->withIdentity(Landroid/location/util/identity/CallerIdentity;)Lcom/android/server/location/provider/AbstractLocationProvider$State;
+PLcom/android/server/location/provider/AbstractLocationProvider$State;->withProperties(Landroid/location/provider/ProviderProperties;)Lcom/android/server/location/provider/AbstractLocationProvider$State;
+PLcom/android/server/location/provider/AbstractLocationProvider;->$r8$lambda$CeuvNTBi50NGKIcNe9haAXCHlUo(Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/function/UnaryOperator;Lcom/android/server/location/provider/AbstractLocationProvider$InternalState;)Lcom/android/server/location/provider/AbstractLocationProvider$InternalState;
+PLcom/android/server/location/provider/AbstractLocationProvider;->$r8$lambda$xmpiQinuk56UCsTwnnQ2qoBXpWE(ZLcom/android/server/location/provider/AbstractLocationProvider$State;)Lcom/android/server/location/provider/AbstractLocationProvider$State;
+PLcom/android/server/location/provider/AbstractLocationProvider;->-$$Nest$fgetmInternalState(Lcom/android/server/location/provider/AbstractLocationProvider;)Ljava/util/concurrent/atomic/AtomicReference;
+HPLcom/android/server/location/provider/AbstractLocationProvider;-><init>(Ljava/util/concurrent/Executor;Landroid/location/util/identity/CallerIdentity;Landroid/location/provider/ProviderProperties;Ljava/util/Set;)V
+PLcom/android/server/location/provider/AbstractLocationProvider;->getController()Lcom/android/server/location/provider/LocationProviderController;
+HPLcom/android/server/location/provider/AbstractLocationProvider;->getState()Lcom/android/server/location/provider/AbstractLocationProvider$State;
+PLcom/android/server/location/provider/AbstractLocationProvider;->lambda$setAllowed$1(ZLcom/android/server/location/provider/AbstractLocationProvider$State;)Lcom/android/server/location/provider/AbstractLocationProvider$State;
+PLcom/android/server/location/provider/AbstractLocationProvider;->lambda$setState$0(Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/function/UnaryOperator;Lcom/android/server/location/provider/AbstractLocationProvider$InternalState;)Lcom/android/server/location/provider/AbstractLocationProvider$InternalState;
+PLcom/android/server/location/provider/AbstractLocationProvider;->onStart()V
+PLcom/android/server/location/provider/AbstractLocationProvider;->setAllowed(Z)V
+HPLcom/android/server/location/provider/AbstractLocationProvider;->setState(Ljava/util/function/UnaryOperator;)V
+PLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/location/provider/LocationProviderManager;)V
+PLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda0;->onUserChanged(II)V
+PLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda10;-><init>(Lcom/android/server/location/provider/LocationProviderManager;)V
+PLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda13;-><init>(Lcom/android/server/location/provider/LocationProviderManager;Landroid/location/provider/ProviderRequest;)V
+PLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda13;->run()V
+PLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda16;-><init>(I)V
+PLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda16;->test(Ljava/lang/Object;)Z
+PLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/location/provider/LocationProviderManager;)V
+PLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda20;-><init>(I)V
+PLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda20;->test(Ljava/lang/Object;)Z
+PLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda26;-><init>()V
+PLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda26;->test(Ljava/lang/Object;)Z
+PLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda27;-><init>(Lcom/android/server/location/provider/LocationProviderManager;Lcom/android/server/location/provider/LocationProviderManager$StateChangedListener;Lcom/android/server/location/provider/AbstractLocationProvider$State;Lcom/android/server/location/provider/AbstractLocationProvider$State;)V
+PLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda27;->run()V
+HPLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda29;-><init>(IZ)V
+HPLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda29;->test(Ljava/lang/Object;)Z
+PLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/location/provider/LocationProviderManager;)V
+PLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda32;-><init>(Ljava/lang/String;)V
+PLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda32;->test(Ljava/lang/Object;)Z
+PLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda34;-><init>(Ljava/lang/String;)V
+PLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda34;->test(Ljava/lang/Object;)Z
+PLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/location/provider/LocationProviderManager;)V
+PLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/location/provider/LocationProviderManager;)V
+PLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/location/provider/LocationProviderManager;)V
+PLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/location/provider/LocationProviderManager;)V
+HPLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda6;->onAppForegroundChanged(IZ)V
+PLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda7;-><init>(Lcom/android/server/location/provider/LocationProviderManager;)V
+PLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda8;-><init>(Lcom/android/server/location/provider/LocationProviderManager;)V
+PLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda9;-><init>(Lcom/android/server/location/provider/LocationProviderManager;)V
+PLcom/android/server/location/provider/LocationProviderManager$1;-><init>(Lcom/android/server/location/provider/LocationProviderManager;)V
+PLcom/android/server/location/provider/LocationProviderManager$1;->onLocationPermissionsChanged(Ljava/lang/String;)V
+PLcom/android/server/location/provider/LocationProviderManager$2;-><init>(Lcom/android/server/location/provider/LocationProviderManager;)V
+PLcom/android/server/location/provider/LocationProviderManager$2;->onPackageReset(Ljava/lang/String;)V
+PLcom/android/server/location/provider/LocationProviderManager$ExternalWakeLockReleaser;-><init>(Landroid/location/util/identity/CallerIdentity;Landroid/os/PowerManager$WakeLock;)V
+PLcom/android/server/location/provider/LocationProviderManager$LocationListenerRegistration;-><init>(Lcom/android/server/location/provider/LocationProviderManager;Landroid/location/LocationRequest;Landroid/location/util/identity/CallerIdentity;Lcom/android/server/location/provider/LocationProviderManager$LocationListenerTransport;I)V
+PLcom/android/server/location/provider/LocationProviderManager$LocationListenerRegistration;->onRegister()V
+PLcom/android/server/location/provider/LocationProviderManager$LocationListenerRegistration;->onUnregister()V
+PLcom/android/server/location/provider/LocationProviderManager$LocationListenerTransport;-><init>(Landroid/location/ILocationListener;)V
+PLcom/android/server/location/provider/LocationProviderManager$LocationListenerTransport;->deliverOnProviderEnabledChanged(Ljava/lang/String;Z)V
+PLcom/android/server/location/provider/LocationProviderManager$LocationRegistration$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/location/provider/LocationProviderManager$LocationRegistration;)V
+PLcom/android/server/location/provider/LocationProviderManager$LocationRegistration$$ExternalSyntheticLambda0;->get()Ljava/lang/Object;
+PLcom/android/server/location/provider/LocationProviderManager$LocationRegistration$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/location/provider/LocationProviderManager$LocationRegistration;Z)V
+PLcom/android/server/location/provider/LocationProviderManager$LocationRegistration$$ExternalSyntheticLambda1;->operate(Ljava/lang/Object;)V
+PLcom/android/server/location/provider/LocationProviderManager$LocationRegistration$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/location/provider/LocationProviderManager$LocationRegistration;)V
+PLcom/android/server/location/provider/LocationProviderManager$LocationRegistration;->$r8$lambda$HKlWp9d0ULfN4Uyj27WwtckCg8Y(Lcom/android/server/location/provider/LocationProviderManager$LocationRegistration;ZLcom/android/server/location/provider/LocationProviderManager$ProviderTransport;)V
+PLcom/android/server/location/provider/LocationProviderManager$LocationRegistration;->$r8$lambda$MbgOAywiWwljbCZ3_TvCtA84c4I(Lcom/android/server/location/provider/LocationProviderManager$LocationRegistration;)Lcom/android/server/location/provider/LocationProviderManager$ProviderTransport;
+HPLcom/android/server/location/provider/LocationProviderManager$LocationRegistration;-><init>(Lcom/android/server/location/provider/LocationProviderManager;Landroid/location/LocationRequest;Landroid/location/util/identity/CallerIdentity;Ljava/util/concurrent/Executor;Lcom/android/server/location/provider/LocationProviderManager$LocationTransport;I)V
+PLcom/android/server/location/provider/LocationProviderManager$LocationRegistration;->lambda$onProviderEnabledChanged$0()Lcom/android/server/location/provider/LocationProviderManager$ProviderTransport;
+PLcom/android/server/location/provider/LocationProviderManager$LocationRegistration;->lambda$onProviderEnabledChanged$1(ZLcom/android/server/location/provider/LocationProviderManager$ProviderTransport;)V
+PLcom/android/server/location/provider/LocationProviderManager$LocationRegistration;->onActive()V
+PLcom/android/server/location/provider/LocationProviderManager$LocationRegistration;->onListenerUnregister()V
+PLcom/android/server/location/provider/LocationProviderManager$LocationRegistration;->onProviderEnabledChanged(Ljava/lang/String;IZ)V
+PLcom/android/server/location/provider/LocationProviderManager$LocationRegistration;->onRegister()V
+PLcom/android/server/location/provider/LocationProviderManager$LocationRegistration;->onUnregister()V
+HPLcom/android/server/location/provider/LocationProviderManager$Registration;-><init>(Lcom/android/server/location/provider/LocationProviderManager;Landroid/location/LocationRequest;Landroid/location/util/identity/CallerIdentity;Ljava/util/concurrent/Executor;Lcom/android/server/location/provider/LocationProviderManager$LocationTransport;I)V
+PLcom/android/server/location/provider/LocationProviderManager$Registration;->calculateProviderLocationRequest()Landroid/location/LocationRequest;
+PLcom/android/server/location/provider/LocationProviderManager$Registration;->getIdentity()Landroid/location/util/identity/CallerIdentity;
+PLcom/android/server/location/provider/LocationProviderManager$Registration;->getLastDeliveredLocation()Landroid/location/Location;
+PLcom/android/server/location/provider/LocationProviderManager$Registration;->getPermissionLevel()I
+PLcom/android/server/location/provider/LocationProviderManager$Registration;->getRequest()Landroid/location/LocationRequest;
+PLcom/android/server/location/provider/LocationProviderManager$Registration;->isForeground()Z
+PLcom/android/server/location/provider/LocationProviderManager$Registration;->isPermitted()Z
+PLcom/android/server/location/provider/LocationProviderManager$Registration;->isThrottlingExempt()Z
+PLcom/android/server/location/provider/LocationProviderManager$Registration;->isUsingHighPower()Z
+PLcom/android/server/location/provider/LocationProviderManager$Registration;->onActive()V
+HPLcom/android/server/location/provider/LocationProviderManager$Registration;->onForegroundChanged(IZ)Z
+PLcom/android/server/location/provider/LocationProviderManager$Registration;->onHighPowerUsageChanged()V
+PLcom/android/server/location/provider/LocationProviderManager$Registration;->onInactive()V
+PLcom/android/server/location/provider/LocationProviderManager$Registration;->onLocationPermissionsChanged(Ljava/lang/String;)Z
+PLcom/android/server/location/provider/LocationProviderManager$Registration;->onProviderPropertiesChanged()Z
+HPLcom/android/server/location/provider/LocationProviderManager$Registration;->onRegister()V
+PLcom/android/server/location/provider/LocationProviderManager$Registration;->onUnregister()V
+PLcom/android/server/location/provider/LocationProviderManager;->$r8$lambda$6v8wLALl9xMKUcHODJ2SqBgIS5w(Ljava/lang/String;Lcom/android/server/location/provider/LocationProviderManager$Registration;)Z
+PLcom/android/server/location/provider/LocationProviderManager;->$r8$lambda$BdUB__o6u_lJsqreFzvuZ5h1yeE(Lcom/android/server/location/provider/LocationProviderManager;Landroid/location/provider/ProviderRequest;)V
+PLcom/android/server/location/provider/LocationProviderManager;->$r8$lambda$O3CIvdiVBWRXOJSW05H8AlBIHWw(ILcom/android/server/location/provider/LocationProviderManager$Registration;)Z
+PLcom/android/server/location/provider/LocationProviderManager;->$r8$lambda$TlPJnIwBbkvrT20UYrQqqAp6Ncw(IZLcom/android/server/location/provider/LocationProviderManager$Registration;)Z
+PLcom/android/server/location/provider/LocationProviderManager;->$r8$lambda$UTCpk95Vv15pE_v1KFHCIiq6q2A(ILcom/android/server/location/provider/LocationProviderManager$Registration;)Z
+PLcom/android/server/location/provider/LocationProviderManager;->$r8$lambda$ZXN_h6DDTo8Q9vBhqWUlQSLwz7I(Lcom/android/server/location/provider/LocationProviderManager;II)V
+PLcom/android/server/location/provider/LocationProviderManager;->$r8$lambda$a3Z8nDABZyLkK2LFh8YIMBZZX6E(Lcom/android/server/location/provider/LocationProviderManager;IZ)V
+PLcom/android/server/location/provider/LocationProviderManager;->$r8$lambda$aikqiu08UDXI5758wflyUhISwW4(Ljava/lang/String;Lcom/android/server/location/provider/LocationProviderManager$Registration;)Z
+PLcom/android/server/location/provider/LocationProviderManager;->$r8$lambda$nfd58ulm5V48RW-bXnpKnI6wsiQ(Lcom/android/server/location/provider/LocationProviderManager;Lcom/android/server/location/provider/LocationProviderManager$StateChangedListener;Lcom/android/server/location/provider/AbstractLocationProvider$State;Lcom/android/server/location/provider/AbstractLocationProvider$State;)V
+PLcom/android/server/location/provider/LocationProviderManager;->-$$Nest$monLocationPermissionsChanged(Lcom/android/server/location/provider/LocationProviderManager;Ljava/lang/String;)V
+PLcom/android/server/location/provider/LocationProviderManager;->-$$Nest$monPackageReset(Lcom/android/server/location/provider/LocationProviderManager;Ljava/lang/String;)V
+PLcom/android/server/location/provider/LocationProviderManager;-><init>(Landroid/content/Context;Lcom/android/server/location/injector/Injector;Ljava/lang/String;Lcom/android/server/location/provider/PassiveLocationProviderManager;)V
+HPLcom/android/server/location/provider/LocationProviderManager;-><init>(Landroid/content/Context;Lcom/android/server/location/injector/Injector;Ljava/lang/String;Lcom/android/server/location/provider/PassiveLocationProviderManager;Ljava/util/Collection;)V
+PLcom/android/server/location/provider/LocationProviderManager;->access$000(Lcom/android/server/location/provider/LocationProviderManager;)Ljava/lang/Object;
+PLcom/android/server/location/provider/LocationProviderManager;->access$100(Lcom/android/server/location/provider/LocationProviderManager;)Ljava/lang/Object;
+PLcom/android/server/location/provider/LocationProviderManager;->access$200(Lcom/android/server/location/provider/LocationProviderManager;)Ljava/lang/Object;
+PLcom/android/server/location/provider/LocationProviderManager;->access$300(Lcom/android/server/location/provider/LocationProviderManager;)Ljava/lang/Object;
+PLcom/android/server/location/provider/LocationProviderManager;->access$400(Lcom/android/server/location/provider/LocationProviderManager;)Ljava/lang/Object;
+PLcom/android/server/location/provider/LocationProviderManager;->access$500(Lcom/android/server/location/provider/LocationProviderManager;)Ljava/lang/Object;
+PLcom/android/server/location/provider/LocationProviderManager;->access$600(Lcom/android/server/location/provider/LocationProviderManager;)Ljava/lang/Object;
+HPLcom/android/server/location/provider/LocationProviderManager;->access$900(Lcom/android/server/location/provider/LocationProviderManager;)Ljava/lang/Object;
+PLcom/android/server/location/provider/LocationProviderManager;->addEnabledListener(Landroid/location/LocationManagerInternal$ProviderEnabledListener;)V
+PLcom/android/server/location/provider/LocationProviderManager;->calculateLastLocationRequest(Landroid/location/LastLocationRequest;Landroid/location/util/identity/CallerIdentity;)Landroid/location/LastLocationRequest;
+PLcom/android/server/location/provider/LocationProviderManager;->getLastLocation(Landroid/location/LastLocationRequest;Landroid/location/util/identity/CallerIdentity;I)Landroid/location/Location;
+PLcom/android/server/location/provider/LocationProviderManager;->getLastLocationUnsafe(IIZJ)Landroid/location/Location;
+PLcom/android/server/location/provider/LocationProviderManager;->getName()Ljava/lang/String;
+PLcom/android/server/location/provider/LocationProviderManager;->getPermittedLocation(Landroid/location/Location;I)Landroid/location/Location;
+PLcom/android/server/location/provider/LocationProviderManager;->getProperties()Landroid/location/provider/ProviderProperties;
+PLcom/android/server/location/provider/LocationProviderManager;->getProviderIdentity()Landroid/location/util/identity/CallerIdentity;
+PLcom/android/server/location/provider/LocationProviderManager;->getState()Lcom/android/server/location/provider/AbstractLocationProvider$State;
+PLcom/android/server/location/provider/LocationProviderManager;->isActive(Lcom/android/server/location/listeners/ListenerRegistration;)Z
+PLcom/android/server/location/provider/LocationProviderManager;->isActive(Lcom/android/server/location/provider/LocationProviderManager$Registration;)Z
+HPLcom/android/server/location/provider/LocationProviderManager;->isActive(ZLandroid/location/util/identity/CallerIdentity;)Z
+HPLcom/android/server/location/provider/LocationProviderManager;->isEnabled(I)Z
+HPLcom/android/server/location/provider/LocationProviderManager;->isVisibleToCaller()Z
+PLcom/android/server/location/provider/LocationProviderManager;->lambda$onAppForegroundChanged$10(IZLcom/android/server/location/provider/LocationProviderManager$Registration;)Z
+PLcom/android/server/location/provider/LocationProviderManager;->lambda$onEnabledChanged$21(ILcom/android/server/location/provider/LocationProviderManager$Registration;)Z
+PLcom/android/server/location/provider/LocationProviderManager;->lambda$onLocationPermissionsChanged$12(Ljava/lang/String;Lcom/android/server/location/provider/LocationProviderManager$Registration;)Z
+PLcom/android/server/location/provider/LocationProviderManager;->lambda$onPackageReset$14(Ljava/lang/String;Lcom/android/server/location/provider/LocationProviderManager$Registration;)Z
+PLcom/android/server/location/provider/LocationProviderManager;->lambda$onStateChanged$16(Lcom/android/server/location/provider/LocationProviderManager$StateChangedListener;Lcom/android/server/location/provider/AbstractLocationProvider$State;Lcom/android/server/location/provider/AbstractLocationProvider$State;)V
+PLcom/android/server/location/provider/LocationProviderManager;->lambda$onUserChanged$6(ILcom/android/server/location/provider/LocationProviderManager$Registration;)Z
+PLcom/android/server/location/provider/LocationProviderManager;->lambda$setProviderRequest$5(Landroid/location/provider/ProviderRequest;)V
+HPLcom/android/server/location/provider/LocationProviderManager;->onAppForegroundChanged(IZ)V
+HPLcom/android/server/location/provider/LocationProviderManager;->onEnabledChanged(I)V
+PLcom/android/server/location/provider/LocationProviderManager;->onLocationPermissionsChanged(Ljava/lang/String;)V
+PLcom/android/server/location/provider/LocationProviderManager;->onPackageReset(Ljava/lang/String;)V
+PLcom/android/server/location/provider/LocationProviderManager;->onRegister()V
+PLcom/android/server/location/provider/LocationProviderManager;->onRegistrationAdded(Ljava/lang/Object;Lcom/android/server/location/listeners/ListenerRegistration;)V
+PLcom/android/server/location/provider/LocationProviderManager;->onRegistrationAdded(Ljava/lang/Object;Lcom/android/server/location/provider/LocationProviderManager$Registration;)V
+PLcom/android/server/location/provider/LocationProviderManager;->onRegistrationRemoved(Ljava/lang/Object;Lcom/android/server/location/listeners/ListenerRegistration;)V
+PLcom/android/server/location/provider/LocationProviderManager;->onRegistrationRemoved(Ljava/lang/Object;Lcom/android/server/location/provider/LocationProviderManager$Registration;)V
+HPLcom/android/server/location/provider/LocationProviderManager;->onStateChanged(Lcom/android/server/location/provider/AbstractLocationProvider$State;Lcom/android/server/location/provider/AbstractLocationProvider$State;)V
+PLcom/android/server/location/provider/LocationProviderManager;->onUserChanged(II)V
+PLcom/android/server/location/provider/LocationProviderManager;->onUserStarted(I)V
+PLcom/android/server/location/provider/LocationProviderManager;->registerLocationRequest(Landroid/location/LocationRequest;Landroid/location/util/identity/CallerIdentity;ILandroid/location/ILocationListener;)V
+PLcom/android/server/location/provider/LocationProviderManager;->registerWithService(Landroid/location/provider/ProviderRequest;Ljava/util/Collection;)Z
+PLcom/android/server/location/provider/LocationProviderManager;->registerWithService(Ljava/lang/Object;Ljava/util/Collection;)Z
+PLcom/android/server/location/provider/LocationProviderManager;->removeEnabledListener(Landroid/location/LocationManagerInternal$ProviderEnabledListener;)V
+PLcom/android/server/location/provider/LocationProviderManager;->reregisterWithService(Landroid/location/provider/ProviderRequest;Landroid/location/provider/ProviderRequest;Ljava/util/Collection;)Z
+PLcom/android/server/location/provider/LocationProviderManager;->setProviderRequest(Landroid/location/provider/ProviderRequest;)V
+PLcom/android/server/location/provider/LocationProviderManager;->setRealProvider(Lcom/android/server/location/provider/AbstractLocationProvider;)V
+HPLcom/android/server/location/provider/LocationProviderManager;->startManager(Lcom/android/server/location/provider/LocationProviderManager$StateChangedListener;)V
+PLcom/android/server/location/provider/LocationProviderManager;->unregisterLocationRequest(Landroid/location/ILocationListener;)V
+PLcom/android/server/location/provider/MockableLocationProvider$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/location/provider/AbstractLocationProvider$State;)V
+PLcom/android/server/location/provider/MockableLocationProvider$$ExternalSyntheticLambda0;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/location/provider/MockableLocationProvider$ListenerWrapper$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/location/provider/AbstractLocationProvider$State;)V
+PLcom/android/server/location/provider/MockableLocationProvider$ListenerWrapper$$ExternalSyntheticLambda0;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/location/provider/MockableLocationProvider$ListenerWrapper;->$r8$lambda$-OaxEM5nNcchTLhF3jHu6bbV1hc(Lcom/android/server/location/provider/AbstractLocationProvider$State;Lcom/android/server/location/provider/AbstractLocationProvider$State;)Lcom/android/server/location/provider/AbstractLocationProvider$State;
+PLcom/android/server/location/provider/MockableLocationProvider$ListenerWrapper;-><init>(Lcom/android/server/location/provider/MockableLocationProvider;Lcom/android/server/location/provider/AbstractLocationProvider;)V
+PLcom/android/server/location/provider/MockableLocationProvider$ListenerWrapper;->lambda$onStateChanged$0(Lcom/android/server/location/provider/AbstractLocationProvider$State;Lcom/android/server/location/provider/AbstractLocationProvider$State;)Lcom/android/server/location/provider/AbstractLocationProvider$State;
+PLcom/android/server/location/provider/MockableLocationProvider$ListenerWrapper;->onStateChanged(Lcom/android/server/location/provider/AbstractLocationProvider$State;Lcom/android/server/location/provider/AbstractLocationProvider$State;)V
+PLcom/android/server/location/provider/MockableLocationProvider;->$r8$lambda$va9Z2xDqK0vFpiJbyUFkO_K-fVw(Lcom/android/server/location/provider/AbstractLocationProvider$State;Lcom/android/server/location/provider/AbstractLocationProvider$State;)Lcom/android/server/location/provider/AbstractLocationProvider$State;
+PLcom/android/server/location/provider/MockableLocationProvider;->-$$Nest$fgetmProvider(Lcom/android/server/location/provider/MockableLocationProvider;)Lcom/android/server/location/provider/AbstractLocationProvider;
+PLcom/android/server/location/provider/MockableLocationProvider;-><init>(Ljava/lang/Object;)V
+PLcom/android/server/location/provider/MockableLocationProvider;->isMock()Z
+PLcom/android/server/location/provider/MockableLocationProvider;->lambda$setProviderLocked$0(Lcom/android/server/location/provider/AbstractLocationProvider$State;Lcom/android/server/location/provider/AbstractLocationProvider$State;)Lcom/android/server/location/provider/AbstractLocationProvider$State;
+PLcom/android/server/location/provider/MockableLocationProvider;->onSetRequest(Landroid/location/provider/ProviderRequest;)V
+PLcom/android/server/location/provider/MockableLocationProvider;->onStart()V
+HPLcom/android/server/location/provider/MockableLocationProvider;->setProviderLocked(Lcom/android/server/location/provider/AbstractLocationProvider;)V
+PLcom/android/server/location/provider/MockableLocationProvider;->setRealProvider(Lcom/android/server/location/provider/AbstractLocationProvider;)V
+PLcom/android/server/location/provider/PassiveLocationProvider;-><clinit>()V
+PLcom/android/server/location/provider/PassiveLocationProvider;-><init>(Landroid/content/Context;)V
+PLcom/android/server/location/provider/PassiveLocationProvider;->onSetRequest(Landroid/location/provider/ProviderRequest;)V
+PLcom/android/server/location/provider/PassiveLocationProviderManager;-><init>(Landroid/content/Context;Lcom/android/server/location/injector/Injector;)V
+PLcom/android/server/location/provider/PassiveLocationProviderManager;->calculateRequestDelayMillis(JLjava/util/Collection;)J
+PLcom/android/server/location/provider/PassiveLocationProviderManager;->mergeRegistrations(Ljava/util/Collection;)Landroid/location/provider/ProviderRequest;
+PLcom/android/server/location/provider/PassiveLocationProviderManager;->mergeRegistrations(Ljava/util/Collection;)Ljava/lang/Object;
+PLcom/android/server/location/provider/PassiveLocationProviderManager;->setRealProvider(Lcom/android/server/location/provider/AbstractLocationProvider;)V
+PLcom/android/server/location/provider/proxy/ProxyLocationProvider$$ExternalSyntheticLambda1;-><init>(Landroid/location/provider/ProviderRequest;)V
+PLcom/android/server/location/provider/proxy/ProxyLocationProvider$1$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/location/provider/proxy/ProxyLocationProvider$1$$ExternalSyntheticLambda0;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/location/provider/proxy/ProxyLocationProvider$1;->$r8$lambda$NpVYyz_7AUBxLdPXQhWgbBcYbjI(Lcom/android/server/location/provider/AbstractLocationProvider$State;)Lcom/android/server/location/provider/AbstractLocationProvider$State;
+PLcom/android/server/location/provider/proxy/ProxyLocationProvider$1;-><init>(Lcom/android/server/location/provider/proxy/ProxyLocationProvider;)V
+PLcom/android/server/location/provider/proxy/ProxyLocationProvider$1;->lambda$run$0(Lcom/android/server/location/provider/AbstractLocationProvider$State;)Lcom/android/server/location/provider/AbstractLocationProvider$State;
+PLcom/android/server/location/provider/proxy/ProxyLocationProvider$1;->run()V
+PLcom/android/server/location/provider/proxy/ProxyLocationProvider$Proxy$$ExternalSyntheticLambda0;-><init>(ZLandroid/location/provider/ProviderProperties;Landroid/location/util/identity/CallerIdentity;Landroid/util/ArraySet;)V
+PLcom/android/server/location/provider/proxy/ProxyLocationProvider$Proxy$$ExternalSyntheticLambda0;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/location/provider/proxy/ProxyLocationProvider$Proxy;->$r8$lambda$ahStkXOFheXDf68f4rSpZILgStI(ZLandroid/location/provider/ProviderProperties;Landroid/location/util/identity/CallerIdentity;Landroid/util/ArraySet;Lcom/android/server/location/provider/AbstractLocationProvider$State;)Lcom/android/server/location/provider/AbstractLocationProvider$State;
+PLcom/android/server/location/provider/proxy/ProxyLocationProvider$Proxy;-><init>(Lcom/android/server/location/provider/proxy/ProxyLocationProvider;)V
+PLcom/android/server/location/provider/proxy/ProxyLocationProvider$Proxy;->lambda$onInitialize$0(ZLandroid/location/provider/ProviderProperties;Landroid/location/util/identity/CallerIdentity;Landroid/util/ArraySet;Lcom/android/server/location/provider/AbstractLocationProvider$State;)Lcom/android/server/location/provider/AbstractLocationProvider$State;
+HPLcom/android/server/location/provider/proxy/ProxyLocationProvider$Proxy;->onInitialize(ZLandroid/location/provider/ProviderProperties;Ljava/lang/String;)V
+PLcom/android/server/location/provider/proxy/ProxyLocationProvider;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;II)V
+PLcom/android/server/location/provider/proxy/ProxyLocationProvider;->access$000(Lcom/android/server/location/provider/proxy/ProxyLocationProvider;Ljava/util/function/UnaryOperator;)V
+PLcom/android/server/location/provider/proxy/ProxyLocationProvider;->access$100(Lcom/android/server/location/provider/proxy/ProxyLocationProvider;Ljava/util/function/UnaryOperator;)V
+PLcom/android/server/location/provider/proxy/ProxyLocationProvider;->checkServiceResolves()Z
+PLcom/android/server/location/provider/proxy/ProxyLocationProvider;->create(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;II)Lcom/android/server/location/provider/proxy/ProxyLocationProvider;
+PLcom/android/server/location/provider/proxy/ProxyLocationProvider;->onBind(Landroid/os/IBinder;Lcom/android/server/servicewatcher/CurrentUserServiceSupplier$BoundServiceInfo;)V
+PLcom/android/server/location/provider/proxy/ProxyLocationProvider;->onBind(Landroid/os/IBinder;Lcom/android/server/servicewatcher/ServiceWatcher$BoundServiceInfo;)V
+PLcom/android/server/location/provider/proxy/ProxyLocationProvider;->onSetRequest(Landroid/location/provider/ProviderRequest;)V
+PLcom/android/server/location/provider/proxy/ProxyLocationProvider;->onStart()V
+PLcom/android/server/location/provider/proxy/ProxyLocationProvider;->onUnbind()V
+PLcom/android/server/location/settings/LocationSettings;-><init>(Landroid/content/Context;)V
+PLcom/android/server/location/settings/LocationSettings;->registerLocationUserSettingsListener(Lcom/android/server/location/settings/LocationSettings$LocationUserSettingsListener;)V
+PLcom/android/server/locksettings/BiometricDeferredQueue$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/locksettings/BiometricDeferredQueue;)V
+PLcom/android/server/locksettings/BiometricDeferredQueue;-><init>(Lcom/android/server/locksettings/SyntheticPasswordManager;Landroid/os/Handler;)V
+PLcom/android/server/locksettings/BiometricDeferredQueue;->systemReady(Landroid/hardware/fingerprint/FingerprintManager;Landroid/hardware/face/FaceManager;Landroid/hardware/biometrics/BiometricManager;)V
+PLcom/android/server/locksettings/LockSettingsService$1;-><init>(Lcom/android/server/locksettings/LockSettingsService;I)V
+PLcom/android/server/locksettings/LockSettingsService$1;->run()V
+PLcom/android/server/locksettings/LockSettingsService$2;-><init>(Lcom/android/server/locksettings/LockSettingsService;)V
+PLcom/android/server/locksettings/LockSettingsService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/locksettings/LockSettingsService$DeviceProvisionedObserver;-><init>(Lcom/android/server/locksettings/LockSettingsService;)V
+PLcom/android/server/locksettings/LockSettingsService$DeviceProvisionedObserver;->isProvisioned()Z
+PLcom/android/server/locksettings/LockSettingsService$DeviceProvisionedObserver;->onSystemReady()V
+PLcom/android/server/locksettings/LockSettingsService$DeviceProvisionedObserver;->updateRegistration()V
+PLcom/android/server/locksettings/LockSettingsService$GateKeeperDiedRecipient;-><init>(Lcom/android/server/locksettings/LockSettingsService;)V
+PLcom/android/server/locksettings/LockSettingsService$GateKeeperDiedRecipient;-><init>(Lcom/android/server/locksettings/LockSettingsService;Lcom/android/server/locksettings/LockSettingsService$GateKeeperDiedRecipient-IA;)V
+PLcom/android/server/locksettings/LockSettingsService$Injector$1;-><init>(Lcom/android/server/locksettings/LockSettingsService$Injector;Lcom/android/server/locksettings/LockSettingsStorage;)V
+PLcom/android/server/locksettings/LockSettingsService$Injector;-><init>(Landroid/content/Context;)V
+PLcom/android/server/locksettings/LockSettingsService$Injector;->getActivityManager()Landroid/app/IActivityManager;
+PLcom/android/server/locksettings/LockSettingsService$Injector;->getBiometricManager()Landroid/hardware/biometrics/BiometricManager;
+PLcom/android/server/locksettings/LockSettingsService$Injector;->getContext()Landroid/content/Context;
+PLcom/android/server/locksettings/LockSettingsService$Injector;->getFaceManager()Landroid/hardware/face/FaceManager;
+PLcom/android/server/locksettings/LockSettingsService$Injector;->getFingerprintManager()Landroid/hardware/fingerprint/FingerprintManager;
+PLcom/android/server/locksettings/LockSettingsService$Injector;->getHandler(Lcom/android/server/ServiceThread;)Landroid/os/Handler;
+PLcom/android/server/locksettings/LockSettingsService$Injector;->getJavaKeyStore()Ljava/security/KeyStore;
+PLcom/android/server/locksettings/LockSettingsService$Injector;->getNotificationManager()Landroid/app/NotificationManager;
+PLcom/android/server/locksettings/LockSettingsService$Injector;->getRebootEscrowManager(Lcom/android/server/locksettings/RebootEscrowManager$Callbacks;Lcom/android/server/locksettings/LockSettingsStorage;)Lcom/android/server/locksettings/RebootEscrowManager;
+PLcom/android/server/locksettings/LockSettingsService$Injector;->getRecoverableKeyStoreManager()Lcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;
+PLcom/android/server/locksettings/LockSettingsService$Injector;->getServiceThread()Lcom/android/server/ServiceThread;
+PLcom/android/server/locksettings/LockSettingsService$Injector;->getStorage()Lcom/android/server/locksettings/LockSettingsStorage;
+PLcom/android/server/locksettings/LockSettingsService$Injector;->getStorageManager()Landroid/os/storage/IStorageManager;
+PLcom/android/server/locksettings/LockSettingsService$Injector;->getStrongAuth()Lcom/android/server/locksettings/LockSettingsStrongAuth;
+PLcom/android/server/locksettings/LockSettingsService$Injector;->getStrongAuthTracker()Lcom/android/server/locksettings/LockSettingsService$SynchronizedStrongAuthTracker;
+PLcom/android/server/locksettings/LockSettingsService$Injector;->getSyntheticPasswordManager(Lcom/android/server/locksettings/LockSettingsStorage;)Lcom/android/server/locksettings/SyntheticPasswordManager;
+PLcom/android/server/locksettings/LockSettingsService$Injector;->getUnifiedProfilePasswordCache(Ljava/security/KeyStore;)Lcom/android/server/locksettings/UnifiedProfilePasswordCache;
+PLcom/android/server/locksettings/LockSettingsService$Injector;->getUserManager()Landroid/os/UserManager;
+PLcom/android/server/locksettings/LockSettingsService$Injector;->isGsiRunning()Z
+PLcom/android/server/locksettings/LockSettingsService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/locksettings/LockSettingsService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/locksettings/LockSettingsService$Lifecycle;->onStart()V
+PLcom/android/server/locksettings/LockSettingsService$Lifecycle;->onUserStarting(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/locksettings/LockSettingsService$Lifecycle;->onUserUnlocking(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/locksettings/LockSettingsService$LocalService;-><init>(Lcom/android/server/locksettings/LockSettingsService;)V
+PLcom/android/server/locksettings/LockSettingsService$LocalService;-><init>(Lcom/android/server/locksettings/LockSettingsService;Lcom/android/server/locksettings/LockSettingsService$LocalService-IA;)V
+PLcom/android/server/locksettings/LockSettingsService$LocalService;->onThirdPartyAppsStarted()V
+PLcom/android/server/locksettings/LockSettingsService$LocalService;->setRebootEscrowListener(Lcom/android/internal/widget/RebootEscrowListener;)V
+PLcom/android/server/locksettings/LockSettingsService$RebootEscrowCallbacks;-><init>(Lcom/android/server/locksettings/LockSettingsService;)V
+PLcom/android/server/locksettings/LockSettingsService$RebootEscrowCallbacks;-><init>(Lcom/android/server/locksettings/LockSettingsService;Lcom/android/server/locksettings/LockSettingsService$RebootEscrowCallbacks-IA;)V
+PLcom/android/server/locksettings/LockSettingsService$RebootEscrowCallbacks;->isUserSecure(I)Z
+PLcom/android/server/locksettings/LockSettingsService$SynchronizedStrongAuthTracker;-><init>(Landroid/content/Context;)V
+PLcom/android/server/locksettings/LockSettingsService$SynchronizedStrongAuthTracker;->getStrongAuthForUser(I)I
+PLcom/android/server/locksettings/LockSettingsService$SynchronizedStrongAuthTracker;->handleStrongAuthRequiredChanged(II)V
+PLcom/android/server/locksettings/LockSettingsService$SynchronizedStrongAuthTracker;->register(Lcom/android/server/locksettings/LockSettingsStrongAuth;)V
+PLcom/android/server/locksettings/LockSettingsService;->-$$Nest$fgetmContext(Lcom/android/server/locksettings/LockSettingsService;)Landroid/content/Context;
+PLcom/android/server/locksettings/LockSettingsService;->-$$Nest$fgetmRebootEscrowManager(Lcom/android/server/locksettings/LockSettingsService;)Lcom/android/server/locksettings/RebootEscrowManager;
+PLcom/android/server/locksettings/LockSettingsService;->-$$Nest$mhideEncryptionNotification(Lcom/android/server/locksettings/LockSettingsService;Landroid/os/UserHandle;)V
+PLcom/android/server/locksettings/LockSettingsService;->-$$Nest$misUserSecure(Lcom/android/server/locksettings/LockSettingsService;I)Z
+PLcom/android/server/locksettings/LockSettingsService;->-$$Nest$mloadEscrowData(Lcom/android/server/locksettings/LockSettingsService;)V
+PLcom/android/server/locksettings/LockSettingsService;->-$$Nest$monThirdPartyAppsStarted(Lcom/android/server/locksettings/LockSettingsService;)V
+PLcom/android/server/locksettings/LockSettingsService;->-$$Nest$monUserStarting(Lcom/android/server/locksettings/LockSettingsService;I)V
+PLcom/android/server/locksettings/LockSettingsService;->-$$Nest$monUserUnlocking(Lcom/android/server/locksettings/LockSettingsService;I)V
+PLcom/android/server/locksettings/LockSettingsService;-><clinit>()V
+PLcom/android/server/locksettings/LockSettingsService;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/locksettings/LockSettingsService;-><init>(Lcom/android/server/locksettings/LockSettingsService$Injector;)V
+PLcom/android/server/locksettings/LockSettingsService;->callToAuthSecretIfNeeded(ILcom/android/server/locksettings/SyntheticPasswordManager$SyntheticPassword;Z)V
+PLcom/android/server/locksettings/LockSettingsService;->checkDatabaseReadPermission(Ljava/lang/String;I)V
+PLcom/android/server/locksettings/LockSettingsService;->checkPasswordHavePermission()V
+PLcom/android/server/locksettings/LockSettingsService;->checkPasswordReadPermission()V
+PLcom/android/server/locksettings/LockSettingsService;->checkWritePermission()V
+PLcom/android/server/locksettings/LockSettingsService;->deleteRepairModePersistentDataIfNeeded()V
+PLcom/android/server/locksettings/LockSettingsService;->getAuthSecretHal()V
+PLcom/android/server/locksettings/LockSettingsService;->getBoolean(Ljava/lang/String;ZI)Z
+PLcom/android/server/locksettings/LockSettingsService;->getCredentialType(I)I
+PLcom/android/server/locksettings/LockSettingsService;->getCredentialTypeInternal(I)I
+PLcom/android/server/locksettings/LockSettingsService;->getCurrentLskfBasedProtectorId(I)J
+PLcom/android/server/locksettings/LockSettingsService;->getGateKeeperService()Landroid/service/gatekeeper/IGateKeeperService;
+PLcom/android/server/locksettings/LockSettingsService;->getLong(Ljava/lang/String;JI)J
+PLcom/android/server/locksettings/LockSettingsService;->getString(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
+PLcom/android/server/locksettings/LockSettingsService;->getUserManagerFromCache(I)Landroid/os/UserManager;
+PLcom/android/server/locksettings/LockSettingsService;->hasPermission(Ljava/lang/String;)Z
+PLcom/android/server/locksettings/LockSettingsService;->hideEncryptionNotification(Landroid/os/UserHandle;)V
+PLcom/android/server/locksettings/LockSettingsService;->isCeStorageUnlocked(I)Z
+PLcom/android/server/locksettings/LockSettingsService;->isCredentialSharableWithParent(I)Z
+PLcom/android/server/locksettings/LockSettingsService;->isUserSecure(I)Z
+PLcom/android/server/locksettings/LockSettingsService;->loadEscrowData()V
+PLcom/android/server/locksettings/LockSettingsService;->maybeShowEncryptionNotificationForUser(ILjava/lang/String;)V
+PLcom/android/server/locksettings/LockSettingsService;->migrateOldData()V
+PLcom/android/server/locksettings/LockSettingsService;->migrateOldDataAfterSystemReady()V
+PLcom/android/server/locksettings/LockSettingsService;->onSyntheticPasswordKnown(ILcom/android/server/locksettings/SyntheticPasswordManager$SyntheticPassword;Z)V
+PLcom/android/server/locksettings/LockSettingsService;->onSyntheticPasswordUnlocked(ILcom/android/server/locksettings/SyntheticPasswordManager$SyntheticPassword;)V
+PLcom/android/server/locksettings/LockSettingsService;->onThirdPartyAppsStarted()V
+PLcom/android/server/locksettings/LockSettingsService;->onUserStarting(I)V
+PLcom/android/server/locksettings/LockSettingsService;->onUserUnlocking(I)V
+PLcom/android/server/locksettings/LockSettingsService;->registerStrongAuthTracker(Landroid/app/trust/IStrongAuthTracker;)V
+PLcom/android/server/locksettings/LockSettingsService;->systemReady()V
+PLcom/android/server/locksettings/LockSettingsService;->unlockCeStorage(ILcom/android/server/locksettings/SyntheticPasswordManager$SyntheticPassword;)V
+PLcom/android/server/locksettings/LockSettingsService;->unlockKeystore(ILcom/android/server/locksettings/SyntheticPasswordManager$SyntheticPassword;)V
+PLcom/android/server/locksettings/LockSettingsService;->unlockUserKeyIfUnsecured(I)V
+PLcom/android/server/locksettings/LockSettingsService;->userPresent(I)V
+PLcom/android/server/locksettings/LockSettingsStorage$Cache$CacheKey;-><init>()V
+PLcom/android/server/locksettings/LockSettingsStorage$Cache$CacheKey;-><init>(Lcom/android/server/locksettings/LockSettingsStorage$Cache$CacheKey-IA;)V
+HPLcom/android/server/locksettings/LockSettingsStorage$Cache$CacheKey;->equals(Ljava/lang/Object;)Z
+HPLcom/android/server/locksettings/LockSettingsStorage$Cache$CacheKey;->hashCode()I
+HPLcom/android/server/locksettings/LockSettingsStorage$Cache$CacheKey;->set(ILjava/lang/String;I)Lcom/android/server/locksettings/LockSettingsStorage$Cache$CacheKey;
+PLcom/android/server/locksettings/LockSettingsStorage$Cache;->-$$Nest$mgetVersion(Lcom/android/server/locksettings/LockSettingsStorage$Cache;)I
+PLcom/android/server/locksettings/LockSettingsStorage$Cache;-><init>()V
+PLcom/android/server/locksettings/LockSettingsStorage$Cache;-><init>(Lcom/android/server/locksettings/LockSettingsStorage$Cache-IA;)V
+HPLcom/android/server/locksettings/LockSettingsStorage$Cache;->contains(ILjava/lang/String;I)Z
+PLcom/android/server/locksettings/LockSettingsStorage$Cache;->copyOf([B)[B
+PLcom/android/server/locksettings/LockSettingsStorage$Cache;->getVersion()I
+PLcom/android/server/locksettings/LockSettingsStorage$Cache;->hasFile(Ljava/io/File;)Z
+PLcom/android/server/locksettings/LockSettingsStorage$Cache;->hasKeyValue(Ljava/lang/String;I)Z
+PLcom/android/server/locksettings/LockSettingsStorage$Cache;->isFetched(I)Z
+HPLcom/android/server/locksettings/LockSettingsStorage$Cache;->peek(ILjava/lang/String;I)Ljava/lang/Object;
+PLcom/android/server/locksettings/LockSettingsStorage$Cache;->peekFile(Ljava/io/File;)[B
+PLcom/android/server/locksettings/LockSettingsStorage$Cache;->peekKeyValue(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
+PLcom/android/server/locksettings/LockSettingsStorage$Cache;->put(ILjava/lang/String;Ljava/lang/Object;I)V
+PLcom/android/server/locksettings/LockSettingsStorage$Cache;->putFileIfUnchanged(Ljava/io/File;[BI)V
+HPLcom/android/server/locksettings/LockSettingsStorage$Cache;->putIfUnchanged(ILjava/lang/String;Ljava/lang/Object;II)V
+PLcom/android/server/locksettings/LockSettingsStorage$Cache;->putKeyValueIfUnchanged(Ljava/lang/String;Ljava/lang/Object;II)V
+PLcom/android/server/locksettings/LockSettingsStorage$Cache;->remove(ILjava/lang/String;I)V
+PLcom/android/server/locksettings/LockSettingsStorage$Cache;->removeKey(Ljava/lang/String;I)V
+PLcom/android/server/locksettings/LockSettingsStorage$Cache;->setFetched(I)V
+PLcom/android/server/locksettings/LockSettingsStorage$DatabaseHelper;-><init>(Landroid/content/Context;)V
+PLcom/android/server/locksettings/LockSettingsStorage$DatabaseHelper;->setCallback(Lcom/android/server/locksettings/LockSettingsStorage$Callback;)V
+PLcom/android/server/locksettings/LockSettingsStorage;->-$$Nest$sfgetDEFAULT()Ljava/lang/Object;
+PLcom/android/server/locksettings/LockSettingsStorage;-><clinit>()V
+PLcom/android/server/locksettings/LockSettingsStorage;-><init>(Landroid/content/Context;)V
+PLcom/android/server/locksettings/LockSettingsStorage;->getBoolean(Ljava/lang/String;ZI)Z
+PLcom/android/server/locksettings/LockSettingsStorage;->getLong(Ljava/lang/String;JI)J
+PLcom/android/server/locksettings/LockSettingsStorage;->getString(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
+PLcom/android/server/locksettings/LockSettingsStorage;->getSyntheticPasswordDirectoryForUser(I)Ljava/io/File;
+HPLcom/android/server/locksettings/LockSettingsStorage;->getSyntheticPasswordStateFileForUser(IJLjava/lang/String;)Ljava/io/File;
+PLcom/android/server/locksettings/LockSettingsStorage;->prefetchUser(I)V
+HPLcom/android/server/locksettings/LockSettingsStorage;->readFile(Ljava/io/File;)[B
+HPLcom/android/server/locksettings/LockSettingsStorage;->readKeyValue(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
+PLcom/android/server/locksettings/LockSettingsStorage;->readSyntheticPasswordState(IJLjava/lang/String;)[B
+HPLcom/android/server/locksettings/LockSettingsStorage;->removeKey(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;I)V
+PLcom/android/server/locksettings/LockSettingsStorage;->removeKey(Ljava/lang/String;I)V
+PLcom/android/server/locksettings/LockSettingsStorage;->setDatabaseOnCreateCallback(Lcom/android/server/locksettings/LockSettingsStorage$Callback;)V
+PLcom/android/server/locksettings/LockSettingsStrongAuth$1;-><init>(Lcom/android/server/locksettings/LockSettingsStrongAuth;Landroid/os/Looper;)V
+PLcom/android/server/locksettings/LockSettingsStrongAuth$1;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/locksettings/LockSettingsStrongAuth$Injector;-><init>()V
+PLcom/android/server/locksettings/LockSettingsStrongAuth$Injector;->getAlarmManager(Landroid/content/Context;)Landroid/app/AlarmManager;
+PLcom/android/server/locksettings/LockSettingsStrongAuth$Injector;->getDefaultStrongAuthFlags(Landroid/content/Context;)I
+PLcom/android/server/locksettings/LockSettingsStrongAuth;->-$$Nest$mhandleAddStrongAuthTracker(Lcom/android/server/locksettings/LockSettingsStrongAuth;Landroid/app/trust/IStrongAuthTracker;)V
+PLcom/android/server/locksettings/LockSettingsStrongAuth;->-$$Nest$mhandleRequireStrongAuth(Lcom/android/server/locksettings/LockSettingsStrongAuth;II)V
+PLcom/android/server/locksettings/LockSettingsStrongAuth;-><clinit>()V
+PLcom/android/server/locksettings/LockSettingsStrongAuth;-><init>(Landroid/content/Context;)V
+PLcom/android/server/locksettings/LockSettingsStrongAuth;-><init>(Landroid/content/Context;Lcom/android/server/locksettings/LockSettingsStrongAuth$Injector;)V
+PLcom/android/server/locksettings/LockSettingsStrongAuth;->handleAddStrongAuthTracker(Landroid/app/trust/IStrongAuthTracker;)V
+PLcom/android/server/locksettings/LockSettingsStrongAuth;->handleRequireStrongAuth(II)V
+PLcom/android/server/locksettings/LockSettingsStrongAuth;->handleRequireStrongAuthOneUser(II)V
+PLcom/android/server/locksettings/LockSettingsStrongAuth;->notifyStrongAuthTrackers(II)V
+PLcom/android/server/locksettings/LockSettingsStrongAuth;->registerStrongAuthTracker(Landroid/app/trust/IStrongAuthTracker;)V
+PLcom/android/server/locksettings/LockSettingsStrongAuth;->reportUnlock(I)V
+PLcom/android/server/locksettings/LockSettingsStrongAuth;->requireStrongAuth(II)V
+PLcom/android/server/locksettings/PasswordSlotManager;-><init>()V
+PLcom/android/server/locksettings/RebootEscrowKeyStoreManager;-><init>()V
+PLcom/android/server/locksettings/RebootEscrowManager$Injector;-><init>(Landroid/content/Context;Lcom/android/server/locksettings/LockSettingsStorage;)V
+PLcom/android/server/locksettings/RebootEscrowManager$Injector;->getEventLog()Lcom/android/server/locksettings/RebootEscrowManager$RebootEscrowEventLog;
+PLcom/android/server/locksettings/RebootEscrowManager$Injector;->getKeyStoreManager()Lcom/android/server/locksettings/RebootEscrowKeyStoreManager;
+PLcom/android/server/locksettings/RebootEscrowManager$Injector;->getUserManager()Landroid/os/UserManager;
+PLcom/android/server/locksettings/RebootEscrowManager$RebootEscrowEventLog;-><init>()V
+PLcom/android/server/locksettings/RebootEscrowManager;-><init>(Landroid/content/Context;Lcom/android/server/locksettings/RebootEscrowManager$Callbacks;Lcom/android/server/locksettings/LockSettingsStorage;Landroid/os/Handler;)V
+PLcom/android/server/locksettings/RebootEscrowManager;-><init>(Lcom/android/server/locksettings/RebootEscrowManager$Injector;Lcom/android/server/locksettings/RebootEscrowManager$Callbacks;Lcom/android/server/locksettings/LockSettingsStorage;Landroid/os/Handler;)V
+PLcom/android/server/locksettings/RebootEscrowManager;->callToRebootEscrowIfNeeded(IB[B)V
+PLcom/android/server/locksettings/RebootEscrowManager;->clearMetricsStorage()V
+PLcom/android/server/locksettings/RebootEscrowManager;->loadRebootEscrowDataIfAvailable(Landroid/os/Handler;)V
+PLcom/android/server/locksettings/RebootEscrowManager;->setRebootEscrowListener(Lcom/android/internal/widget/RebootEscrowListener;)V
+PLcom/android/server/locksettings/SP800Derive;-><init>([B)V
+PLcom/android/server/locksettings/SP800Derive;->getMac()Ljavax/crypto/Mac;
+PLcom/android/server/locksettings/SP800Derive;->update32(Ljavax/crypto/Mac;I)V
+PLcom/android/server/locksettings/SP800Derive;->withContext([B[B)[B
+PLcom/android/server/locksettings/SyntheticPasswordCrypto;-><clinit>()V
+PLcom/android/server/locksettings/SyntheticPasswordCrypto;->androidKeystoreProviderName()Ljava/lang/String;
+PLcom/android/server/locksettings/SyntheticPasswordCrypto;->decrypt(Ljavax/crypto/SecretKey;[B)[B
+PLcom/android/server/locksettings/SyntheticPasswordCrypto;->decrypt([B[B[B)[B
+PLcom/android/server/locksettings/SyntheticPasswordCrypto;->decryptBlob(Ljava/lang/String;[B[B)[B
+PLcom/android/server/locksettings/SyntheticPasswordCrypto;->getKeyStore()Ljava/security/KeyStore;
+PLcom/android/server/locksettings/SyntheticPasswordCrypto;->keyNamespace()I
+PLcom/android/server/locksettings/SyntheticPasswordCrypto;->personalizedHash([B[[B)[B
+PLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationResult;-><init>()V
+PLcom/android/server/locksettings/SyntheticPasswordManager$SyntheticPassword;-><init>(B)V
+PLcom/android/server/locksettings/SyntheticPasswordManager$SyntheticPassword;->deriveFileBasedEncryptionKey()[B
+PLcom/android/server/locksettings/SyntheticPasswordManager$SyntheticPassword;->deriveGkPassword()[B
+PLcom/android/server/locksettings/SyntheticPasswordManager$SyntheticPassword;->deriveKeyStorePassword()[B
+PLcom/android/server/locksettings/SyntheticPasswordManager$SyntheticPassword;->deriveSubkey([B)[B
+PLcom/android/server/locksettings/SyntheticPasswordManager$SyntheticPassword;->getSyntheticPassword()[B
+PLcom/android/server/locksettings/SyntheticPasswordManager$SyntheticPassword;->getVersion()B
+PLcom/android/server/locksettings/SyntheticPasswordManager$SyntheticPassword;->recreateDirectly([B)V
+PLcom/android/server/locksettings/SyntheticPasswordManager$SyntheticPasswordBlob;-><init>()V
+PLcom/android/server/locksettings/SyntheticPasswordManager$SyntheticPasswordBlob;->fromBytes([B)Lcom/android/server/locksettings/SyntheticPasswordManager$SyntheticPasswordBlob;
+PLcom/android/server/locksettings/SyntheticPasswordManager;->-$$Nest$sfgetPERSONALIZATION_CONTEXT()[B
+PLcom/android/server/locksettings/SyntheticPasswordManager;->-$$Nest$sfgetPERSONALIZATION_FBE_KEY()[B
+PLcom/android/server/locksettings/SyntheticPasswordManager;->-$$Nest$sfgetPERSONALIZATION_KEY_STORE_PASSWORD()[B
+PLcom/android/server/locksettings/SyntheticPasswordManager;->-$$Nest$sfgetPERSONALIZATION_SP_GK_AUTH()[B
+PLcom/android/server/locksettings/SyntheticPasswordManager;-><clinit>()V
+PLcom/android/server/locksettings/SyntheticPasswordManager;-><init>(Landroid/content/Context;Lcom/android/server/locksettings/LockSettingsStorage;Landroid/os/UserManager;Lcom/android/server/locksettings/PasswordSlotManager;)V
+PLcom/android/server/locksettings/SyntheticPasswordManager;->bytesToHex([B)[B
+PLcom/android/server/locksettings/SyntheticPasswordManager;->decryptSpBlob(Ljava/lang/String;[B[B)[B
+PLcom/android/server/locksettings/SyntheticPasswordManager;->getCredentialType(JI)I
+PLcom/android/server/locksettings/SyntheticPasswordManager;->getProtectorKeyAlias(J)Ljava/lang/String;
+PLcom/android/server/locksettings/SyntheticPasswordManager;->loadSecdiscardable(JI)[B
+PLcom/android/server/locksettings/SyntheticPasswordManager;->loadState(Ljava/lang/String;JI)[B
+PLcom/android/server/locksettings/SyntheticPasswordManager;->loadSyntheticPasswordHandle(I)[B
+PLcom/android/server/locksettings/SyntheticPasswordManager;->loadWeaverSlot(JI)I
+PLcom/android/server/locksettings/SyntheticPasswordManager;->stretchLskf(Lcom/android/internal/widget/LockscreenCredential;Lcom/android/server/locksettings/SyntheticPasswordManager$PasswordData;)[B
+PLcom/android/server/locksettings/SyntheticPasswordManager;->transformUnderSecdiscardable([B[B)[B
+PLcom/android/server/locksettings/SyntheticPasswordManager;->unlockLskfBasedProtector(Landroid/service/gatekeeper/IGateKeeperService;JLcom/android/internal/widget/LockscreenCredential;ILcom/android/internal/widget/ICheckCredentialProgressCallback;)Lcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationResult;
+PLcom/android/server/locksettings/SyntheticPasswordManager;->unwrapSyntheticPasswordBlob(JB[BJI)Lcom/android/server/locksettings/SyntheticPasswordManager$SyntheticPassword;
+PLcom/android/server/locksettings/SyntheticPasswordManager;->verifyChallenge(Landroid/service/gatekeeper/IGateKeeperService;Lcom/android/server/locksettings/SyntheticPasswordManager$SyntheticPassword;JI)Lcom/android/internal/widget/VerifyCredentialResponse;
+PLcom/android/server/locksettings/SyntheticPasswordManager;->verifyChallengeInternal(Landroid/service/gatekeeper/IGateKeeperService;[BJI)Lcom/android/internal/widget/VerifyCredentialResponse;
+PLcom/android/server/locksettings/UnifiedProfilePasswordCache;-><clinit>()V
+PLcom/android/server/locksettings/UnifiedProfilePasswordCache;-><init>(Ljava/security/KeyStore;)V
+PLcom/android/server/locksettings/recoverablekeystore/KeyStoreProxyImpl;-><init>(Ljava/security/KeyStore;)V
+PLcom/android/server/locksettings/recoverablekeystore/KeyStoreProxyImpl;->getAndLoadAndroidKeyStore()Ljava/security/KeyStore;
+PLcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;-><clinit>()V
+PLcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;-><init>(Landroid/content/Context;Lcom/android/server/locksettings/recoverablekeystore/KeyStoreProxy;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;)V
+PLcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;->getAndLoadAndroidKeyStore()Ljava/security/KeyStore;
+PLcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;->getInstance(Landroid/content/Context;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;)Lcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;
+PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyGenerator;-><init>(Ljavax/crypto/KeyGenerator;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;)V
+PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyGenerator;->newInstance(Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;)Lcom/android/server/locksettings/recoverablekeystore/RecoverableKeyGenerator;
+PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;-><init>(Landroid/content/Context;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverySessionStorage;Ljava/util/concurrent/ScheduledExecutorService;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;Lcom/android/server/locksettings/recoverablekeystore/RecoverySnapshotListenersStorage;Lcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;Lcom/android/server/locksettings/recoverablekeystore/storage/ApplicationKeyStorage;Lcom/android/server/locksettings/recoverablekeystore/TestOnlyInsecureCertificateHelper;Lcom/android/server/locksettings/recoverablekeystore/storage/CleanupManager;Lcom/android/server/locksettings/recoverablekeystore/storage/RemoteLockscreenValidationSessionStorage;)V
+PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->getInstance(Landroid/content/Context;)Lcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;
+PLcom/android/server/locksettings/recoverablekeystore/RecoverySnapshotListenersStorage;-><init>()V
+PLcom/android/server/locksettings/recoverablekeystore/TestOnlyInsecureCertificateHelper;-><init>()V
+PLcom/android/server/locksettings/recoverablekeystore/storage/ApplicationKeyStorage;-><init>(Lcom/android/server/locksettings/recoverablekeystore/KeyStoreProxy;)V
+PLcom/android/server/locksettings/recoverablekeystore/storage/ApplicationKeyStorage;->getInstance()Lcom/android/server/locksettings/recoverablekeystore/storage/ApplicationKeyStorage;
+PLcom/android/server/locksettings/recoverablekeystore/storage/CleanupManager$1;-><init>(Lcom/android/server/locksettings/recoverablekeystore/storage/CleanupManager;)V
+PLcom/android/server/locksettings/recoverablekeystore/storage/CleanupManager;-><init>(Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;Landroid/os/UserManager;Lcom/android/server/locksettings/recoverablekeystore/storage/ApplicationKeyStorage;)V
+PLcom/android/server/locksettings/recoverablekeystore/storage/CleanupManager;->getInstance(Landroid/content/Context;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;Lcom/android/server/locksettings/recoverablekeystore/storage/ApplicationKeyStorage;)Lcom/android/server/locksettings/recoverablekeystore/storage/CleanupManager;
+PLcom/android/server/locksettings/recoverablekeystore/storage/CleanupManager;->verifyKnownUsers()V
+PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;-><init>(Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDbHelper;)V
+PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->getUserSerialNumbers()Ljava/util/Map;
+PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->newInstance(Landroid/content/Context;)Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;
+PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDbHelper;-><init>(Landroid/content/Context;)V
+PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDbHelper;->getDbVersion(Landroid/content/Context;)I
+PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverySessionStorage;-><init>()V
+PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;-><init>(Ljava/io/File;)V
+PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;->newInstance()Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;
+PLcom/android/server/locksettings/recoverablekeystore/storage/RemoteLockscreenValidationSessionStorage;-><init>()V
+PLcom/android/server/logcat/LogcatManagerService$BinderService;-><init>(Lcom/android/server/logcat/LogcatManagerService;)V
+PLcom/android/server/logcat/LogcatManagerService$BinderService;-><init>(Lcom/android/server/logcat/LogcatManagerService;Lcom/android/server/logcat/LogcatManagerService$BinderService-IA;)V
+PLcom/android/server/logcat/LogcatManagerService$Injector$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/logcat/LogcatManagerService$Injector;-><init>()V
+PLcom/android/server/logcat/LogcatManagerService$Injector;->createClock()Ljava/util/function/Supplier;
+PLcom/android/server/logcat/LogcatManagerService$Injector;->getLooper()Landroid/os/Looper;
+PLcom/android/server/logcat/LogcatManagerService$LogAccessDialogCallback;-><init>(Lcom/android/server/logcat/LogcatManagerService;)V
+PLcom/android/server/logcat/LogcatManagerService$LogAccessRequestHandler;-><init>(Landroid/os/Looper;Lcom/android/server/logcat/LogcatManagerService;)V
+PLcom/android/server/logcat/LogcatManagerService;-><clinit>()V
+PLcom/android/server/logcat/LogcatManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/logcat/LogcatManagerService;-><init>(Landroid/content/Context;Lcom/android/server/logcat/LogcatManagerService$Injector;)V
+PLcom/android/server/logcat/LogcatManagerService;->onStart()V
+PLcom/android/server/media/AudioPlayerStateMonitor$AudioManagerPlaybackListener;-><init>(Lcom/android/server/media/AudioPlayerStateMonitor;)V
+PLcom/android/server/media/AudioPlayerStateMonitor$AudioManagerPlaybackListener;-><init>(Lcom/android/server/media/AudioPlayerStateMonitor;Lcom/android/server/media/AudioPlayerStateMonitor$AudioManagerPlaybackListener-IA;)V
+HPLcom/android/server/media/AudioPlayerStateMonitor$AudioManagerPlaybackListener;->onPlaybackConfigChanged(Ljava/util/List;)V
+PLcom/android/server/media/AudioPlayerStateMonitor$MessageHandler;-><init>(Landroid/os/Looper;Lcom/android/server/media/AudioPlayerStateMonitor$OnAudioPlayerActiveStateChangedListener;)V
+PLcom/android/server/media/AudioPlayerStateMonitor;->-$$Nest$fgetmLock(Lcom/android/server/media/AudioPlayerStateMonitor;)Ljava/lang/Object;
+PLcom/android/server/media/AudioPlayerStateMonitor;-><clinit>()V
+PLcom/android/server/media/AudioPlayerStateMonitor;-><init>(Landroid/content/Context;)V
+PLcom/android/server/media/AudioPlayerStateMonitor;->getInstance(Landroid/content/Context;)Lcom/android/server/media/AudioPlayerStateMonitor;
+PLcom/android/server/media/AudioPlayerStateMonitor;->getSortedAudioPlaybackClientUids()Ljava/util/List;
+PLcom/android/server/media/AudioPlayerStateMonitor;->isPlaybackActive(I)Z
+PLcom/android/server/media/AudioPlayerStateMonitor;->registerListener(Lcom/android/server/media/AudioPlayerStateMonitor$OnAudioPlayerActiveStateChangedListener;Landroid/os/Handler;)V
+PLcom/android/server/media/HandlerExecutor;-><init>(Landroid/os/Handler;)V
+PLcom/android/server/media/MediaButtonReceiverHolder;->unflattenFromString(Landroid/content/Context;Ljava/lang/String;)Lcom/android/server/media/MediaButtonReceiverHolder;
+PLcom/android/server/media/MediaRouter2ServiceImpl$$ExternalSyntheticLambda13;-><init>(Lcom/android/server/media/MediaRouter2ServiceImpl;)V
+HPLcom/android/server/media/MediaRouter2ServiceImpl$$ExternalSyntheticLambda13;->onUidImportance(II)V
+PLcom/android/server/media/MediaRouter2ServiceImpl$$ExternalSyntheticLambda14;-><init>(Lcom/android/server/media/MediaRouter2ServiceImpl;)V
+PLcom/android/server/media/MediaRouter2ServiceImpl$1;-><init>(Lcom/android/server/media/MediaRouter2ServiceImpl;)V
+HPLcom/android/server/media/MediaRouter2ServiceImpl;->$r8$lambda$ataqgynQFVsOBE3vUnQ_-XD3XQg(Lcom/android/server/media/MediaRouter2ServiceImpl;II)V
+PLcom/android/server/media/MediaRouter2ServiceImpl;-><clinit>()V
+PLcom/android/server/media/MediaRouter2ServiceImpl;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/media/MediaRouter2ServiceImpl;->lambda$new$0(II)V
+PLcom/android/server/media/MediaRouter2ServiceImpl;->updateRunningUserAndProfiles(I)V
+PLcom/android/server/media/MediaRouterService$1;-><init>(Lcom/android/server/media/MediaRouterService;)V
+PLcom/android/server/media/MediaRouterService$AudioPlayerActiveStateChangedListenerImpl$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/media/MediaRouterService;)V
+PLcom/android/server/media/MediaRouterService$AudioPlayerActiveStateChangedListenerImpl;-><init>(Lcom/android/server/media/MediaRouterService;)V
+PLcom/android/server/media/MediaRouterService$AudioPlayerActiveStateChangedListenerImpl;-><init>(Lcom/android/server/media/MediaRouterService;Lcom/android/server/media/MediaRouterService$AudioPlayerActiveStateChangedListenerImpl-IA;)V
+PLcom/android/server/media/MediaRouterService$AudioRoutesObserverImpl;-><init>(Lcom/android/server/media/MediaRouterService;)V
+PLcom/android/server/media/MediaRouterService$AudioRoutesObserverImpl;-><init>(Lcom/android/server/media/MediaRouterService;Lcom/android/server/media/MediaRouterService$AudioRoutesObserverImpl-IA;)V
+PLcom/android/server/media/MediaRouterService$ClientRecord;-><init>(Lcom/android/server/media/MediaRouterService;Lcom/android/server/media/MediaRouterService$UserRecord;Landroid/media/IMediaRouterClient;IILjava/lang/String;Z)V
+PLcom/android/server/media/MediaRouterService$ClientRecord;->getState()Landroid/media/MediaRouterClientState;
+PLcom/android/server/media/MediaRouterService$MediaRouterServiceBroadcastReceiver;-><init>(Lcom/android/server/media/MediaRouterService;)V
+PLcom/android/server/media/MediaRouterService$UserHandler;-><init>(Lcom/android/server/media/MediaRouterService;Lcom/android/server/media/MediaRouterService$UserRecord;)V
+PLcom/android/server/media/MediaRouterService$UserHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/media/MediaRouterService$UserHandler;->start()V
+PLcom/android/server/media/MediaRouterService$UserRecord;-><init>(Lcom/android/server/media/MediaRouterService;I)V
+PLcom/android/server/media/MediaRouterService;->-$$Nest$fgetmContext(Lcom/android/server/media/MediaRouterService;)Landroid/content/Context;
+PLcom/android/server/media/MediaRouterService;-><clinit>()V
+PLcom/android/server/media/MediaRouterService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/media/MediaRouterService;->getState(Landroid/media/IMediaRouterClient;)Landroid/media/MediaRouterClientState;
+PLcom/android/server/media/MediaRouterService;->getStateLocked(Landroid/media/IMediaRouterClient;)Landroid/media/MediaRouterClientState;
+PLcom/android/server/media/MediaRouterService;->initializeClientLocked(Lcom/android/server/media/MediaRouterService$ClientRecord;)V
+PLcom/android/server/media/MediaRouterService;->initializeUserLocked(Lcom/android/server/media/MediaRouterService$UserRecord;)V
+PLcom/android/server/media/MediaRouterService;->isPlaybackActive(Landroid/media/IMediaRouterClient;)Z
+PLcom/android/server/media/MediaRouterService;->isUserActiveLocked(I)Z
+PLcom/android/server/media/MediaRouterService;->monitor()V
+PLcom/android/server/media/MediaRouterService;->registerClientAsUser(Landroid/media/IMediaRouterClient;Ljava/lang/String;I)V
+PLcom/android/server/media/MediaRouterService;->registerClientLocked(Landroid/media/IMediaRouterClient;IILjava/lang/String;IZ)V
+PLcom/android/server/media/MediaRouterService;->setDiscoveryRequest(Landroid/media/IMediaRouterClient;IZ)V
+PLcom/android/server/media/MediaRouterService;->setDiscoveryRequestLocked(Landroid/media/IMediaRouterClient;IZ)V
+PLcom/android/server/media/MediaRouterService;->setSelectedRoute(Landroid/media/IMediaRouterClient;Ljava/lang/String;Z)V
+PLcom/android/server/media/MediaRouterService;->setSelectedRouteLocked(Landroid/media/IMediaRouterClient;Ljava/lang/String;Z)V
+PLcom/android/server/media/MediaRouterService;->systemRunning()V
+PLcom/android/server/media/MediaRouterService;->updateRunningUserAndProfiles(I)V
+PLcom/android/server/media/MediaRouterService;->validatePackageName(ILjava/lang/String;)Z
+PLcom/android/server/media/MediaServerUtils;->enforcePackageName(Landroid/content/Context;Ljava/lang/String;I)V
+PLcom/android/server/media/MediaSessionDeviceConfig$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/media/MediaSessionDeviceConfig$$ExternalSyntheticLambda1;-><init>(Landroid/provider/DeviceConfig$Properties;)V
+PLcom/android/server/media/MediaSessionDeviceConfig;-><clinit>()V
+PLcom/android/server/media/MediaSessionDeviceConfig;->initialize(Landroid/content/Context;)V
+PLcom/android/server/media/MediaSessionDeviceConfig;->refresh(Landroid/provider/DeviceConfig$Properties;)V
+PLcom/android/server/media/MediaSessionRecord$3;-><init>(Lcom/android/server/media/MediaSessionRecord;)V
+PLcom/android/server/media/MediaSessionRecord$ControllerStub;-><init>(Lcom/android/server/media/MediaSessionRecord;)V
+PLcom/android/server/media/MediaSessionRecord$MessageHandler;-><init>(Lcom/android/server/media/MediaSessionRecord;Landroid/os/Looper;)V
+PLcom/android/server/media/MediaSessionRecord$MessageHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/media/MediaSessionRecord$MessageHandler;->post(I)V
+PLcom/android/server/media/MediaSessionRecord$MessageHandler;->post(ILjava/lang/Object;)V
+PLcom/android/server/media/MediaSessionRecord$SessionCb;->-$$Nest$fgetmCb(Lcom/android/server/media/MediaSessionRecord$SessionCb;)Landroid/media/session/ISessionCallback;
+PLcom/android/server/media/MediaSessionRecord$SessionCb;-><init>(Lcom/android/server/media/MediaSessionRecord;Landroid/media/session/ISessionCallback;)V
+PLcom/android/server/media/MediaSessionRecord$SessionStub;-><init>(Lcom/android/server/media/MediaSessionRecord;)V
+PLcom/android/server/media/MediaSessionRecord$SessionStub;-><init>(Lcom/android/server/media/MediaSessionRecord;Lcom/android/server/media/MediaSessionRecord$SessionStub-IA;)V
+PLcom/android/server/media/MediaSessionRecord$SessionStub;->getController()Landroid/media/session/ISessionController;
+PLcom/android/server/media/MediaSessionRecord$SessionStub;->setFlags(I)V
+PLcom/android/server/media/MediaSessionRecord$SessionStub;->setPlaybackToLocal(Landroid/media/AudioAttributes;)V
+PLcom/android/server/media/MediaSessionRecord;->-$$Nest$fgetmController(Lcom/android/server/media/MediaSessionRecord;)Lcom/android/server/media/MediaSessionRecord$ControllerStub;
+PLcom/android/server/media/MediaSessionRecord;->-$$Nest$fgetmHandler(Lcom/android/server/media/MediaSessionRecord;)Lcom/android/server/media/MediaSessionRecord$MessageHandler;
+PLcom/android/server/media/MediaSessionRecord;->-$$Nest$fgetmLock(Lcom/android/server/media/MediaSessionRecord;)Ljava/lang/Object;
+PLcom/android/server/media/MediaSessionRecord;->-$$Nest$fgetmService(Lcom/android/server/media/MediaSessionRecord;)Lcom/android/server/media/MediaSessionService;
+PLcom/android/server/media/MediaSessionRecord;->-$$Nest$fgetmVolumeType(Lcom/android/server/media/MediaSessionRecord;)I
+PLcom/android/server/media/MediaSessionRecord;->-$$Nest$fputmAudioAttrs(Lcom/android/server/media/MediaSessionRecord;Landroid/media/AudioAttributes;)V
+PLcom/android/server/media/MediaSessionRecord;->-$$Nest$fputmFlags(Lcom/android/server/media/MediaSessionRecord;J)V
+PLcom/android/server/media/MediaSessionRecord;->-$$Nest$fputmVolumeControlId(Lcom/android/server/media/MediaSessionRecord;Ljava/lang/String;)V
+PLcom/android/server/media/MediaSessionRecord;->-$$Nest$fputmVolumeType(Lcom/android/server/media/MediaSessionRecord;I)V
+PLcom/android/server/media/MediaSessionRecord;-><clinit>()V
+PLcom/android/server/media/MediaSessionRecord;-><init>(IIILjava/lang/String;Landroid/media/session/ISessionCallback;Ljava/lang/String;Landroid/os/Bundle;Lcom/android/server/media/MediaSessionService;Landroid/os/Looper;I)V
+PLcom/android/server/media/MediaSessionRecord;->createForegroundServiceDelegationOptions()Landroid/app/ForegroundServiceDelegationOptions;
+PLcom/android/server/media/MediaSessionRecord;->getPackageName()Ljava/lang/String;
+PLcom/android/server/media/MediaSessionRecord;->getSessionBinder()Landroid/media/session/ISession;
+PLcom/android/server/media/MediaSessionRecord;->getUid()I
+PLcom/android/server/media/MediaSessionRecord;->getUserId()I
+PLcom/android/server/media/MediaSessionRecord;->isActive()Z
+PLcom/android/server/media/MediaSessionRecord;->toString()Ljava/lang/String;
+PLcom/android/server/media/MediaSessionService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/media/MediaSessionService;)V
+PLcom/android/server/media/MediaSessionService$1;-><init>(Lcom/android/server/media/MediaSessionService;)V
+PLcom/android/server/media/MediaSessionService$2;-><init>(Lcom/android/server/media/MediaSessionService;)V
+PLcom/android/server/media/MediaSessionService$FullUserRecord$OnMediaKeyEventSessionChangedListenerRecord;-><init>(Lcom/android/server/media/MediaSessionService$FullUserRecord;Landroid/media/session/IOnMediaKeyEventSessionChangedListener;I)V
+PLcom/android/server/media/MediaSessionService$FullUserRecord;->-$$Nest$fgetmFullUserId(Lcom/android/server/media/MediaSessionService$FullUserRecord;)I
+PLcom/android/server/media/MediaSessionService$FullUserRecord;->-$$Nest$fgetmPriorityStack(Lcom/android/server/media/MediaSessionService$FullUserRecord;)Lcom/android/server/media/MediaSessionStack;
+PLcom/android/server/media/MediaSessionService$FullUserRecord;->-$$Nest$fgetmUidToSessionCount(Lcom/android/server/media/MediaSessionService$FullUserRecord;)Landroid/util/SparseIntArray;
+PLcom/android/server/media/MediaSessionService$FullUserRecord;-><init>(Lcom/android/server/media/MediaSessionService;I)V
+PLcom/android/server/media/MediaSessionService$FullUserRecord;->addOnMediaKeyEventSessionChangedListenerLocked(Landroid/media/session/IOnMediaKeyEventSessionChangedListener;I)V
+PLcom/android/server/media/MediaSessionService$MessageHandler;-><init>(Lcom/android/server/media/MediaSessionService;)V
+PLcom/android/server/media/MediaSessionService$MessageHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/media/MediaSessionService$MessageHandler;->postSessionsChanged(Lcom/android/server/media/MediaSessionRecordImpl;)V
+PLcom/android/server/media/MediaSessionService$SessionManagerImpl$KeyEventHandler;-><init>(Lcom/android/server/media/MediaSessionService$SessionManagerImpl;I)V
+PLcom/android/server/media/MediaSessionService$SessionManagerImpl$KeyEventWakeLockReceiver;-><init>(Lcom/android/server/media/MediaSessionService$SessionManagerImpl;Landroid/os/Handler;)V
+PLcom/android/server/media/MediaSessionService$SessionManagerImpl;-><init>(Lcom/android/server/media/MediaSessionService;)V
+PLcom/android/server/media/MediaSessionService$SessionManagerImpl;->addOnMediaKeyEventSessionChangedListener(Landroid/media/session/IOnMediaKeyEventSessionChangedListener;Ljava/lang/String;)V
+PLcom/android/server/media/MediaSessionService$SessionManagerImpl;->addSessionsListener(Landroid/media/session/IActiveSessionsListener;Landroid/content/ComponentName;I)V
+PLcom/android/server/media/MediaSessionService$SessionManagerImpl;->createSession(Ljava/lang/String;Landroid/media/session/ISessionCallback;Ljava/lang/String;Landroid/os/Bundle;I)Landroid/media/session/ISession;
+PLcom/android/server/media/MediaSessionService$SessionManagerImpl;->getSessions(Landroid/content/ComponentName;I)Ljava/util/List;
+PLcom/android/server/media/MediaSessionService$SessionManagerImpl;->handleIncomingUser(IIILjava/lang/String;)I
+PLcom/android/server/media/MediaSessionService$SessionManagerImpl;->verifySessionsRequest(Landroid/content/ComponentName;III)I
+PLcom/android/server/media/MediaSessionService$SessionsListenerRecord;-><init>(Lcom/android/server/media/MediaSessionService;Landroid/media/session/IActiveSessionsListener;Landroid/content/ComponentName;III)V
+PLcom/android/server/media/MediaSessionService;->-$$Nest$fgetmAudioPlayerStateMonitor(Lcom/android/server/media/MediaSessionService;)Lcom/android/server/media/AudioPlayerStateMonitor;
+PLcom/android/server/media/MediaSessionService;->-$$Nest$fgetmContext(Lcom/android/server/media/MediaSessionService;)Landroid/content/Context;
+PLcom/android/server/media/MediaSessionService;->-$$Nest$fgetmHandler(Lcom/android/server/media/MediaSessionService;)Lcom/android/server/media/MediaSessionService$MessageHandler;
+PLcom/android/server/media/MediaSessionService;->-$$Nest$fgetmLock(Lcom/android/server/media/MediaSessionService;)Ljava/lang/Object;
+PLcom/android/server/media/MediaSessionService;->-$$Nest$fgetmSessionsListeners(Lcom/android/server/media/MediaSessionService;)Ljava/util/ArrayList;
+PLcom/android/server/media/MediaSessionService;->-$$Nest$mcreateSessionInternal(Lcom/android/server/media/MediaSessionService;IIILjava/lang/String;Landroid/media/session/ISessionCallback;Ljava/lang/String;Landroid/os/Bundle;)Lcom/android/server/media/MediaSessionRecord;
+PLcom/android/server/media/MediaSessionService;->-$$Nest$menforceMediaPermissions(Lcom/android/server/media/MediaSessionService;Ljava/lang/String;III)V
+PLcom/android/server/media/MediaSessionService;->-$$Nest$mfindIndexOfSessionsListenerLocked(Lcom/android/server/media/MediaSessionService;Landroid/media/session/IActiveSessionsListener;)I
+PLcom/android/server/media/MediaSessionService;->-$$Nest$mgetActiveSessionsLocked(Lcom/android/server/media/MediaSessionService;I)Ljava/util/List;
+PLcom/android/server/media/MediaSessionService;->-$$Nest$mgetFullUserRecordLocked(Lcom/android/server/media/MediaSessionService;I)Lcom/android/server/media/MediaSessionService$FullUserRecord;
+PLcom/android/server/media/MediaSessionService;->-$$Nest$mpushSession1Changed(Lcom/android/server/media/MediaSessionService;I)V
+PLcom/android/server/media/MediaSessionService;-><clinit>()V
+PLcom/android/server/media/MediaSessionService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/media/MediaSessionService;->createSessionInternal(IIILjava/lang/String;Landroid/media/session/ISessionCallback;Ljava/lang/String;Landroid/os/Bundle;)Lcom/android/server/media/MediaSessionRecord;
+PLcom/android/server/media/MediaSessionService;->enforceMediaPermissions(Ljava/lang/String;III)V
+PLcom/android/server/media/MediaSessionService;->enforcePhoneStatePermission(II)V
+PLcom/android/server/media/MediaSessionService;->findIndexOfSessionsListenerLocked(Landroid/media/session/IActiveSessionsListener;)I
+PLcom/android/server/media/MediaSessionService;->getActiveSessionsLocked(I)Ljava/util/List;
+PLcom/android/server/media/MediaSessionService;->getFullUserRecordLocked(I)Lcom/android/server/media/MediaSessionService$FullUserRecord;
+PLcom/android/server/media/MediaSessionService;->hasMediaControlPermission(II)Z
+PLcom/android/server/media/MediaSessionService;->hasStatusBarServicePermission(II)Z
+PLcom/android/server/media/MediaSessionService;->instantiateCustomDispatcher(Ljava/lang/String;)V
+PLcom/android/server/media/MediaSessionService;->instantiateCustomProvider(Ljava/lang/String;)V
+PLcom/android/server/media/MediaSessionService;->isGlobalPriorityActiveLocked()Z
+PLcom/android/server/media/MediaSessionService;->monitor()V
+PLcom/android/server/media/MediaSessionService;->onBootPhase(I)V
+PLcom/android/server/media/MediaSessionService;->onStart()V
+PLcom/android/server/media/MediaSessionService;->onUserStarting(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/media/MediaSessionService;->pushRemoteVolumeUpdateLocked(I)V
+PLcom/android/server/media/MediaSessionService;->pushSession1Changed(I)V
+PLcom/android/server/media/MediaSessionService;->setGlobalPrioritySession(Lcom/android/server/media/MediaSessionRecord;)V
+PLcom/android/server/media/MediaSessionService;->updateUser()V
+PLcom/android/server/media/MediaSessionStack;-><clinit>()V
+PLcom/android/server/media/MediaSessionStack;-><init>(Lcom/android/server/media/AudioPlayerStateMonitor;Lcom/android/server/media/MediaSessionStack$OnMediaButtonSessionChangedListener;)V
+PLcom/android/server/media/MediaSessionStack;->addSession(Lcom/android/server/media/MediaSessionRecordImpl;)V
+PLcom/android/server/media/MediaSessionStack;->clearCache(I)V
+PLcom/android/server/media/MediaSessionStack;->contains(Lcom/android/server/media/MediaSessionRecordImpl;)Z
+PLcom/android/server/media/MediaSessionStack;->getActiveSessions(I)Ljava/util/List;
+PLcom/android/server/media/MediaSessionStack;->getDefaultRemoteSession(I)Lcom/android/server/media/MediaSessionRecordImpl;
+PLcom/android/server/media/MediaSessionStack;->getPriorityList(ZI)Ljava/util/List;
+PLcom/android/server/media/MediaSessionStack;->removeSession(Lcom/android/server/media/MediaSessionRecordImpl;)V
+PLcom/android/server/media/MediaSessionStack;->updateMediaButtonSessionIfNeeded()V
+PLcom/android/server/media/RemoteDisplayProviderWatcher$1;-><init>(Lcom/android/server/media/RemoteDisplayProviderWatcher;)V
+PLcom/android/server/media/RemoteDisplayProviderWatcher$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/media/RemoteDisplayProviderWatcher$2;-><init>(Lcom/android/server/media/RemoteDisplayProviderWatcher;)V
+PLcom/android/server/media/RemoteDisplayProviderWatcher$2;->run()V
+PLcom/android/server/media/RemoteDisplayProviderWatcher;->-$$Nest$mscanPackages(Lcom/android/server/media/RemoteDisplayProviderWatcher;)V
+PLcom/android/server/media/RemoteDisplayProviderWatcher;->-$$Nest$sfgetDEBUG()Z
+PLcom/android/server/media/RemoteDisplayProviderWatcher;-><clinit>()V
+PLcom/android/server/media/RemoteDisplayProviderWatcher;-><init>(Landroid/content/Context;Lcom/android/server/media/RemoteDisplayProviderWatcher$Callback;Landroid/os/Handler;I)V
+PLcom/android/server/media/RemoteDisplayProviderWatcher;->scanPackages()V
+PLcom/android/server/media/RemoteDisplayProviderWatcher;->start()V
+PLcom/android/server/media/metrics/MediaMetricsManagerService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/media/metrics/MediaMetricsManagerService;)V
+PLcom/android/server/media/metrics/MediaMetricsManagerService$BinderService;-><init>(Lcom/android/server/media/metrics/MediaMetricsManagerService;)V
+PLcom/android/server/media/metrics/MediaMetricsManagerService$BinderService;-><init>(Lcom/android/server/media/metrics/MediaMetricsManagerService;Lcom/android/server/media/metrics/MediaMetricsManagerService$BinderService-IA;)V
+PLcom/android/server/media/metrics/MediaMetricsManagerService;-><clinit>()V
+PLcom/android/server/media/metrics/MediaMetricsManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/media/metrics/MediaMetricsManagerService;->onStart()V
+PLcom/android/server/media/projection/FrameworkStatsLogWrapper;-><init>()V
+PLcom/android/server/media/projection/MediaProjectionManagerService$1;-><init>(Lcom/android/server/media/projection/MediaProjectionManagerService;)V
+PLcom/android/server/media/projection/MediaProjectionManagerService$1;->onForegroundActivitiesChanged(IIZ)V
+PLcom/android/server/media/projection/MediaProjectionManagerService$1;->onForegroundServicesChanged(III)V
+PLcom/android/server/media/projection/MediaProjectionManagerService$1;->onProcessDied(II)V
+PLcom/android/server/media/projection/MediaProjectionManagerService$BinderService;-><init>(Lcom/android/server/media/projection/MediaProjectionManagerService;Landroid/content/Context;)V
+PLcom/android/server/media/projection/MediaProjectionManagerService$CallbackDelegate;-><init>(Landroid/os/Looper;)V
+PLcom/android/server/media/projection/MediaProjectionManagerService$Injector$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/media/projection/MediaProjectionManagerService$Injector;-><init>()V
+PLcom/android/server/media/projection/MediaProjectionManagerService$Injector;->createCallbackLooper()Landroid/os/Looper;
+PLcom/android/server/media/projection/MediaProjectionManagerService$Injector;->createClock()Lcom/android/server/media/projection/MediaProjectionManagerService$Clock;
+PLcom/android/server/media/projection/MediaProjectionManagerService$Injector;->mediaProjectionMetricsLogger(Landroid/content/Context;)Lcom/android/server/media/projection/MediaProjectionMetricsLogger;
+PLcom/android/server/media/projection/MediaProjectionManagerService$MediaRouterCallback;-><init>(Lcom/android/server/media/projection/MediaProjectionManagerService;)V
+PLcom/android/server/media/projection/MediaProjectionManagerService$MediaRouterCallback;-><init>(Lcom/android/server/media/projection/MediaProjectionManagerService;Lcom/android/server/media/projection/MediaProjectionManagerService$MediaRouterCallback-IA;)V
+PLcom/android/server/media/projection/MediaProjectionManagerService;->-$$Nest$mhandleForegroundServicesChanged(Lcom/android/server/media/projection/MediaProjectionManagerService;III)V
+PLcom/android/server/media/projection/MediaProjectionManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/media/projection/MediaProjectionManagerService;-><init>(Landroid/content/Context;Lcom/android/server/media/projection/MediaProjectionManagerService$Injector;)V
+PLcom/android/server/media/projection/MediaProjectionManagerService;->handleForegroundServicesChanged(III)V
+PLcom/android/server/media/projection/MediaProjectionManagerService;->monitor()V
+PLcom/android/server/media/projection/MediaProjectionManagerService;->onStart()V
+PLcom/android/server/media/projection/MediaProjectionMetricsLogger;-><clinit>()V
+PLcom/android/server/media/projection/MediaProjectionMetricsLogger;-><init>(Lcom/android/server/media/projection/FrameworkStatsLogWrapper;Lcom/android/server/media/projection/MediaProjectionSessionIdGenerator;Lcom/android/server/media/projection/MediaProjectionTimestampStore;)V
+PLcom/android/server/media/projection/MediaProjectionMetricsLogger;->getInstance(Landroid/content/Context;)Lcom/android/server/media/projection/MediaProjectionMetricsLogger;
+PLcom/android/server/media/projection/MediaProjectionSessionIdGenerator;-><clinit>()V
+PLcom/android/server/media/projection/MediaProjectionSessionIdGenerator;-><init>(Landroid/content/SharedPreferences;)V
+PLcom/android/server/media/projection/MediaProjectionSessionIdGenerator;->getInstance(Landroid/content/Context;)Lcom/android/server/media/projection/MediaProjectionSessionIdGenerator;
+PLcom/android/server/media/projection/MediaProjectionTimestampStore;-><clinit>()V
+PLcom/android/server/media/projection/MediaProjectionTimestampStore;-><init>(Landroid/content/SharedPreferences;Ljava/time/InstantSource;)V
+PLcom/android/server/media/projection/MediaProjectionTimestampStore;->getInstance(Landroid/content/Context;)Lcom/android/server/media/projection/MediaProjectionTimestampStore;
+PLcom/android/server/net/FeatureFlagsImpl;-><clinit>()V
+PLcom/android/server/net/FeatureFlagsImpl;-><init>()V
+PLcom/android/server/net/FeatureFlagsImpl;->load_overrides_backstage_power()V
+PLcom/android/server/net/FeatureFlagsImpl;->networkBlockedForTopSleepingAndAbove()Z
+PLcom/android/server/net/Flags;-><clinit>()V
+PLcom/android/server/net/Flags;->networkBlockedForTopSleepingAndAbove()Z
+PLcom/android/server/net/NetworkManagementInternal;-><init>()V
+PLcom/android/server/net/NetworkManagementService$$ExternalSyntheticLambda3;-><init>(Ljava/lang/String;Landroid/net/LinkAddress;)V
+PLcom/android/server/net/NetworkManagementService$$ExternalSyntheticLambda4;-><init>(Ljava/lang/String;Z)V
+PLcom/android/server/net/NetworkManagementService$$ExternalSyntheticLambda7;-><init>(Ljava/lang/String;Landroid/net/LinkAddress;)V
+PLcom/android/server/net/NetworkManagementService$$ExternalSyntheticLambda8;-><init>(Landroid/net/RouteInfo;)V
+PLcom/android/server/net/NetworkManagementService$$ExternalSyntheticLambda9;-><init>(Landroid/net/RouteInfo;)V
+PLcom/android/server/net/NetworkManagementService$Dependencies;-><init>()V
+HPLcom/android/server/net/NetworkManagementService$Dependencies;->getCallingUid()I
+PLcom/android/server/net/NetworkManagementService$Dependencies;->getNetd()Landroid/net/INetd;
+PLcom/android/server/net/NetworkManagementService$Dependencies;->getService(Ljava/lang/String;)Landroid/os/IBinder;
+PLcom/android/server/net/NetworkManagementService$Dependencies;->registerLocalService(Lcom/android/server/net/NetworkManagementInternal;)V
+PLcom/android/server/net/NetworkManagementService$LocalService;-><init>(Lcom/android/server/net/NetworkManagementService;)V
+PLcom/android/server/net/NetworkManagementService$LocalService;-><init>(Lcom/android/server/net/NetworkManagementService;Lcom/android/server/net/NetworkManagementService$LocalService-IA;)V
+HPLcom/android/server/net/NetworkManagementService$LocalService;->isNetworkRestrictedForUid(I)Z
+PLcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener;Ljava/lang/String;Z)V
+PLcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener$$ExternalSyntheticLambda2;->run()V
+PLcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener;Ljava/lang/String;Landroid/net/LinkAddress;)V
+PLcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener$$ExternalSyntheticLambda6;->run()V
+PLcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener$$ExternalSyntheticLambda7;-><init>(Lcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener;Ljava/lang/String;Landroid/net/LinkAddress;)V
+PLcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener$$ExternalSyntheticLambda7;->run()V
+PLcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener$$ExternalSyntheticLambda8;-><init>(Lcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener;ZLandroid/net/RouteInfo;)V
+PLcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener$$ExternalSyntheticLambda8;->run()V
+PLcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener;->$r8$lambda$6H1IPP0xbuUOBJ0zARtLg6fMa-E(Lcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener;Ljava/lang/String;Z)V
+PLcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener;->$r8$lambda$cEZjblgQTbkhVOZAra8yyTiiXlk(Lcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener;Ljava/lang/String;Landroid/net/LinkAddress;)V
+PLcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener;->$r8$lambda$iqW51JeHJZy_bOi_o6JJ3a9MFEY(Lcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener;Ljava/lang/String;Landroid/net/LinkAddress;)V
+PLcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener;->$r8$lambda$k450O0AvGFGVDrE8Q-YRBpOJme4(Lcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener;ZLandroid/net/RouteInfo;)V
+PLcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener;-><init>(Lcom/android/server/net/NetworkManagementService;)V
+PLcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener;-><init>(Lcom/android/server/net/NetworkManagementService;Lcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener-IA;)V
+PLcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener;->lambda$onInterfaceAddressRemoved$4(Ljava/lang/String;Landroid/net/LinkAddress;)V
+PLcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener;->lambda$onInterfaceAddressUpdated$3(Ljava/lang/String;Landroid/net/LinkAddress;)V
+PLcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener;->lambda$onInterfaceLinkStateChanged$8(Ljava/lang/String;Z)V
+PLcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener;->lambda$onRouteChanged$9(ZLandroid/net/RouteInfo;)V
+PLcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener;->onInterfaceAddressRemoved(Ljava/lang/String;Ljava/lang/String;II)V
+PLcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener;->onInterfaceAddressUpdated(Ljava/lang/String;Ljava/lang/String;II)V
+PLcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener;->onInterfaceLinkStateChanged(Ljava/lang/String;Z)V
+PLcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener;->onRouteChanged(ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/net/NetworkManagementService;->-$$Nest$fgetmDaemonHandler(Lcom/android/server/net/NetworkManagementService;)Landroid/os/Handler;
+HPLcom/android/server/net/NetworkManagementService;->-$$Nest$misNetworkRestrictedInternal(Lcom/android/server/net/NetworkManagementService;I)Z
+PLcom/android/server/net/NetworkManagementService;->-$$Nest$mnotifyAddressRemoved(Lcom/android/server/net/NetworkManagementService;Ljava/lang/String;Landroid/net/LinkAddress;)V
+PLcom/android/server/net/NetworkManagementService;->-$$Nest$mnotifyAddressUpdated(Lcom/android/server/net/NetworkManagementService;Ljava/lang/String;Landroid/net/LinkAddress;)V
+PLcom/android/server/net/NetworkManagementService;->-$$Nest$mnotifyInterfaceLinkStateChanged(Lcom/android/server/net/NetworkManagementService;Ljava/lang/String;Z)V
+PLcom/android/server/net/NetworkManagementService;->-$$Nest$mnotifyRouteChange(Lcom/android/server/net/NetworkManagementService;ZLandroid/net/RouteInfo;)V
+PLcom/android/server/net/NetworkManagementService;-><clinit>()V
+PLcom/android/server/net/NetworkManagementService;-><init>(Landroid/content/Context;Lcom/android/server/net/NetworkManagementService$Dependencies;)V
+PLcom/android/server/net/NetworkManagementService;->connectNativeNetdService()V
+PLcom/android/server/net/NetworkManagementService;->create(Landroid/content/Context;)Lcom/android/server/net/NetworkManagementService;
+PLcom/android/server/net/NetworkManagementService;->create(Landroid/content/Context;Lcom/android/server/net/NetworkManagementService$Dependencies;)Lcom/android/server/net/NetworkManagementService;
+HPLcom/android/server/net/NetworkManagementService;->enforceSystemUid()V
+PLcom/android/server/net/NetworkManagementService;->getBatteryStats()Lcom/android/internal/app/IBatteryStats;
+PLcom/android/server/net/NetworkManagementService;->getFirewallChainName(I)Ljava/lang/String;
+HPLcom/android/server/net/NetworkManagementService;->getFirewallChainState(I)Z
+HPLcom/android/server/net/NetworkManagementService;->getUidFirewallRulesLR(I)Landroid/util/SparseIntArray;
+PLcom/android/server/net/NetworkManagementService;->invokeForAllObservers(Lcom/android/server/net/NetworkManagementService$NetworkManagementEventCallback;)V
+PLcom/android/server/net/NetworkManagementService;->isBandwidthControlEnabled()Z
+HPLcom/android/server/net/NetworkManagementService;->isNetworkRestrictedInternal(I)Z
+PLcom/android/server/net/NetworkManagementService;->notifyAddressRemoved(Ljava/lang/String;Landroid/net/LinkAddress;)V
+PLcom/android/server/net/NetworkManagementService;->notifyAddressUpdated(Ljava/lang/String;Landroid/net/LinkAddress;)V
+PLcom/android/server/net/NetworkManagementService;->notifyInterfaceLinkStateChanged(Ljava/lang/String;Z)V
+PLcom/android/server/net/NetworkManagementService;->notifyRouteChange(ZLandroid/net/RouteInfo;)V
+PLcom/android/server/net/NetworkManagementService;->prepareNativeDaemon()V
+PLcom/android/server/net/NetworkManagementService;->registerObserver(Landroid/net/INetworkManagementEventObserver;)V
+PLcom/android/server/net/NetworkManagementService;->setDataSaverModeEnabled(Z)Z
+PLcom/android/server/net/NetworkManagementService;->setFirewallChainEnabled(IZ)V
+PLcom/android/server/net/NetworkManagementService;->setFirewallChainState(IZ)V
+PLcom/android/server/net/NetworkManagementService;->setFirewallEnabled(Z)V
+HPLcom/android/server/net/NetworkManagementService;->setFirewallUidRule(III)V
+HPLcom/android/server/net/NetworkManagementService;->setFirewallUidRuleLocked(III)V
+PLcom/android/server/net/NetworkManagementService;->setFirewallUidRules(I[I[I)V
+HPLcom/android/server/net/NetworkManagementService;->setUidCleartextNetworkPolicy(II)V
+HPLcom/android/server/net/NetworkManagementService;->setUidOnMeteredNetworkAllowlist(IZ)V
+HPLcom/android/server/net/NetworkManagementService;->setUidOnMeteredNetworkList(IZZ)V
+PLcom/android/server/net/NetworkManagementService;->syncFirewallChainLocked(ILjava/lang/String;)V
+PLcom/android/server/net/NetworkManagementService;->systemReady()V
+HPLcom/android/server/net/NetworkManagementService;->updateFirewallUidRuleLocked(III)Z
+PLcom/android/server/net/NetworkPolicyLogger$Data;-><init>()V
+HPLcom/android/server/net/NetworkPolicyLogger$Data;-><init>(Lcom/android/server/net/NetworkPolicyLogger$Data-IA;)V
+HPLcom/android/server/net/NetworkPolicyLogger$Data;->reset()V
+PLcom/android/server/net/NetworkPolicyLogger$LogBuffer$$ExternalSyntheticLambda0;-><init>()V
+HPLcom/android/server/net/NetworkPolicyLogger$LogBuffer$$ExternalSyntheticLambda0;->get()Ljava/lang/Object;
+PLcom/android/server/net/NetworkPolicyLogger$LogBuffer$$ExternalSyntheticLambda1;-><init>()V
+PLcom/android/server/net/NetworkPolicyLogger$LogBuffer$$ExternalSyntheticLambda1;->apply(I)Ljava/lang/Object;
+PLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->$r8$lambda$-TUy9RKzfUlNRcVYDQQgCGgal-o(I)[Lcom/android/server/net/NetworkPolicyLogger$Data;
+HPLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->$r8$lambda$kDNlKKkLZ8vfiKJuYgxljbBLzHE()Lcom/android/server/net/NetworkPolicyLogger$Data;
+PLcom/android/server/net/NetworkPolicyLogger$LogBuffer;-><clinit>()V
+PLcom/android/server/net/NetworkPolicyLogger$LogBuffer;-><init>(I)V
+HPLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->appIdleStateChanged(IZ)V
+PLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->event(Ljava/lang/String;)V
+PLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->firewallChainEnabled(IZ)V
+PLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->lambda$new$0(I)[Lcom/android/server/net/NetworkPolicyLogger$Data;
+HPLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->meteredAllowlistChanged(IZ)V
+HPLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->networkBlocked(IIII)V
+PLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->paroleStateChanged(Z)V
+HPLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->tempPowerSaveWlChanged(IZILjava/lang/String;)V
+HPLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->uidFirewallRuleChanged(III)V
+HPLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->uidStateChanged(IIJI)V
+PLcom/android/server/net/NetworkPolicyLogger;-><clinit>()V
+PLcom/android/server/net/NetworkPolicyLogger;-><init>()V
+HPLcom/android/server/net/NetworkPolicyLogger;->appIdleStateChanged(IZ)V
+PLcom/android/server/net/NetworkPolicyLogger;->firewallChainEnabled(IZ)V
+PLcom/android/server/net/NetworkPolicyLogger;->firewallRulesChanged(I[I[I)V
+PLcom/android/server/net/NetworkPolicyLogger;->getFirewallChainName(I)Ljava/lang/String;
+HPLcom/android/server/net/NetworkPolicyLogger;->meteredAllowlistChanged(IZ)V
+PLcom/android/server/net/NetworkPolicyLogger;->meteredRestrictedPkgsChanged(Ljava/util/Set;)V
+HPLcom/android/server/net/NetworkPolicyLogger;->networkBlocked(ILcom/android/server/net/NetworkPolicyManagerService$UidBlockedState;)V
+PLcom/android/server/net/NetworkPolicyLogger;->paroleStateChanged(Z)V
+HPLcom/android/server/net/NetworkPolicyLogger;->tempPowerSaveWlChanged(IZILjava/lang/String;)V
+HPLcom/android/server/net/NetworkPolicyLogger;->uidFirewallRuleChanged(III)V
+HPLcom/android/server/net/NetworkPolicyLogger;->uidStateChanged(IIJI)V
+PLcom/android/server/net/NetworkPolicyManagerInternal;-><init>()V
+PLcom/android/server/net/NetworkPolicyManagerService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$$ExternalSyntheticLambda0;->accept(I)V
+PLcom/android/server/net/NetworkPolicyManagerService$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+HPLcom/android/server/net/NetworkPolicyManagerService$$ExternalSyntheticLambda2;->accept(I)V
+PLcom/android/server/net/NetworkPolicyManagerService$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;Ljava/util/concurrent/CountDownLatch;)V
+PLcom/android/server/net/NetworkPolicyManagerService$$ExternalSyntheticLambda4;->run()V
+PLcom/android/server/net/NetworkPolicyManagerService$$ExternalSyntheticLambda5;-><init>(Landroid/util/SparseBooleanArray;ILjava/util/function/IntConsumer;)V
+HPLcom/android/server/net/NetworkPolicyManagerService$$ExternalSyntheticLambda5;->accept(Ljava/lang/Object;)V
+PLcom/android/server/net/NetworkPolicyManagerService$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$$ExternalSyntheticLambda7;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$$ExternalSyntheticLambda7;->accept(I)V
+PLcom/android/server/net/NetworkPolicyManagerService$10;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$11;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$12;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$13;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$14;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$14;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/net/NetworkPolicyManagerService$15;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$15;->handleMessage(Landroid/os/Message;)Z
+PLcom/android/server/net/NetworkPolicyManagerService$16;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+HPLcom/android/server/net/NetworkPolicyManagerService$16;->handleMessage(Landroid/os/Message;)Z
+PLcom/android/server/net/NetworkPolicyManagerService$1;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$2;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$3;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$4;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+HPLcom/android/server/net/NetworkPolicyManagerService$4;->onUidGone(IZ)V
+HPLcom/android/server/net/NetworkPolicyManagerService$4;->onUidStateChanged(IIJI)V
+PLcom/android/server/net/NetworkPolicyManagerService$5;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$6;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$7;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$8;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$9;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$ActiveDataSubIdListener;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$ActiveDataSubIdListener;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/net/NetworkPolicyManagerService$ActiveDataSubIdListener-IA;)V
+PLcom/android/server/net/NetworkPolicyManagerService$Dependencies;-><init>(Landroid/content/Context;)V
+PLcom/android/server/net/NetworkPolicyManagerService$Dependencies;->getActivateDataSubId()I
+PLcom/android/server/net/NetworkPolicyManagerService$Dependencies;->getDefaultDataSubId()I
+PLcom/android/server/net/NetworkPolicyManagerService$NetPolicyAppIdleStateChangeListener;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$NetPolicyAppIdleStateChangeListener;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/net/NetworkPolicyManagerService$NetPolicyAppIdleStateChangeListener-IA;)V
+HPLcom/android/server/net/NetworkPolicyManagerService$NetPolicyAppIdleStateChangeListener;->onAppIdleStateChanged(Ljava/lang/String;IZII)V
+PLcom/android/server/net/NetworkPolicyManagerService$NetPolicyAppIdleStateChangeListener;->onParoleStateChanged(Z)V
+PLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl-IA;)V
+PLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;->onAdminDataAvailable()V
+HPLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;->onTempPowerSaveWhitelistChange(IZILjava/lang/String;)V
+PLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;->setMeteredRestrictedPackagesAsync(Ljava/util/Set;I)V
+PLcom/android/server/net/NetworkPolicyManagerService$RestrictedModeObserver;-><init>(Landroid/content/Context;Lcom/android/server/net/NetworkPolicyManagerService$RestrictedModeObserver$RestrictedModeListener;)V
+PLcom/android/server/net/NetworkPolicyManagerService$RestrictedModeObserver;->isRestrictedModeEnabled()Z
+PLcom/android/server/net/NetworkPolicyManagerService$StatsCallback;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$StatsCallback;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/net/NetworkPolicyManagerService$StatsCallback-IA;)V
+PLcom/android/server/net/NetworkPolicyManagerService$UidBlockedState;-><clinit>()V
+PLcom/android/server/net/NetworkPolicyManagerService$UidBlockedState;-><init>()V
+HPLcom/android/server/net/NetworkPolicyManagerService$UidBlockedState;-><init>(III)V
+HPLcom/android/server/net/NetworkPolicyManagerService$UidBlockedState;->copyFrom(Lcom/android/server/net/NetworkPolicyManagerService$UidBlockedState;)V
+PLcom/android/server/net/NetworkPolicyManagerService$UidBlockedState;->getEffectiveBlockedReasons(II)I
+HPLcom/android/server/net/NetworkPolicyManagerService$UidBlockedState;->updateEffectiveBlockedReasons()V
+HPLcom/android/server/net/NetworkPolicyManagerService$UidStateCallbackInfo;-><init>()V
+PLcom/android/server/net/NetworkPolicyManagerService$UidStateCallbackInfo;-><init>(Lcom/android/server/net/NetworkPolicyManagerService$UidStateCallbackInfo-IA;)V
+HPLcom/android/server/net/NetworkPolicyManagerService$UidStateCallbackInfo;->update(IIJI)V
+PLcom/android/server/net/NetworkPolicyManagerService;->$r8$lambda$3GuQhs92xi8ei4ZPpN0P0tku59c(Lcom/android/server/net/NetworkPolicyManagerService;I)V
+PLcom/android/server/net/NetworkPolicyManagerService;->$r8$lambda$5Bzemdqa4u7WtPncTGtyV6odZ1o(Lcom/android/server/net/NetworkPolicyManagerService;I)V
+HPLcom/android/server/net/NetworkPolicyManagerService;->$r8$lambda$RXPnC-uth1T2bDapl3O5AR4Dkhs(Lcom/android/server/net/NetworkPolicyManagerService;I)V
+PLcom/android/server/net/NetworkPolicyManagerService;->$r8$lambda$Vjvidsl51zqXS7fNCzjK8IojqZ8(Lcom/android/server/net/NetworkPolicyManagerService;Ljava/util/concurrent/CountDownLatch;)V
+PLcom/android/server/net/NetworkPolicyManagerService;->$r8$lambda$y6NbbUE5w9mVKKbVy0XCA9aA5_c(Landroid/util/SparseBooleanArray;ILjava/util/function/IntConsumer;Lcom/android/server/pm/pkg/AndroidPackage;)V
+PLcom/android/server/net/NetworkPolicyManagerService;->-$$Nest$fgetmAdminDataAvailableLatch(Lcom/android/server/net/NetworkPolicyManagerService;)Ljava/util/concurrent/CountDownLatch;
+HPLcom/android/server/net/NetworkPolicyManagerService;->-$$Nest$fgetmContext(Lcom/android/server/net/NetworkPolicyManagerService;)Landroid/content/Context;
+PLcom/android/server/net/NetworkPolicyManagerService;->-$$Nest$fgetmDeps(Lcom/android/server/net/NetworkPolicyManagerService;)Lcom/android/server/net/NetworkPolicyManagerService$Dependencies;
+HPLcom/android/server/net/NetworkPolicyManagerService;->-$$Nest$fgetmLogger(Lcom/android/server/net/NetworkPolicyManagerService;)Lcom/android/server/net/NetworkPolicyLogger;
+HPLcom/android/server/net/NetworkPolicyManagerService;->-$$Nest$fgetmPowerSaveTempWhitelistAppIds(Lcom/android/server/net/NetworkPolicyManagerService;)Landroid/util/SparseBooleanArray;
+HPLcom/android/server/net/NetworkPolicyManagerService;->-$$Nest$fgetmUidStateCallbackInfos(Lcom/android/server/net/NetworkPolicyManagerService;)Landroid/util/SparseArray;
+PLcom/android/server/net/NetworkPolicyManagerService;->-$$Nest$msetMeteredRestrictedPackagesInternal(Lcom/android/server/net/NetworkPolicyManagerService;Ljava/util/Set;I)V
+PLcom/android/server/net/NetworkPolicyManagerService;->-$$Nest$mupdateRulesForAppIdleParoleUL(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService;->-$$Nest$mupdateRulesForPowerRestrictionsUL(Lcom/android/server/net/NetworkPolicyManagerService;I)V
+HPLcom/android/server/net/NetworkPolicyManagerService;->-$$Nest$mupdateRulesForTempAllowlistChangeUL(Lcom/android/server/net/NetworkPolicyManagerService;I)V
+HPLcom/android/server/net/NetworkPolicyManagerService;->-$$Nest$sfgetLOGV()Z
+PLcom/android/server/net/NetworkPolicyManagerService;-><clinit>()V
+PLcom/android/server/net/NetworkPolicyManagerService;-><init>(Landroid/content/Context;Landroid/app/IActivityManager;Landroid/os/INetworkManagementService;)V
+HPLcom/android/server/net/NetworkPolicyManagerService;-><init>(Landroid/content/Context;Landroid/app/IActivityManager;Landroid/os/INetworkManagementService;Landroid/content/pm/IPackageManager;Ljava/time/Clock;Ljava/io/File;ZLcom/android/server/net/NetworkPolicyManagerService$Dependencies;)V
+PLcom/android/server/net/NetworkPolicyManagerService;->addDefaultRestrictBackgroundAllowlistUidsUL()Z
+PLcom/android/server/net/NetworkPolicyManagerService;->addDefaultRestrictBackgroundAllowlistUidsUL(I)Z
+PLcom/android/server/net/NetworkPolicyManagerService;->addSdkSandboxUidsIfNeeded(Landroid/util/SparseIntArray;)V
+PLcom/android/server/net/NetworkPolicyManagerService;->bindConnectivityManager()V
+PLcom/android/server/net/NetworkPolicyManagerService;->checkAnyPermissionOf([Ljava/lang/String;)Z
+PLcom/android/server/net/NetworkPolicyManagerService;->enableFirewallChainUL(IZ)V
+PLcom/android/server/net/NetworkPolicyManagerService;->enforceAnyPermissionOf([Ljava/lang/String;)V
+PLcom/android/server/net/NetworkPolicyManagerService;->forEachUid(Ljava/lang/String;Ljava/util/function/IntConsumer;)V
+PLcom/android/server/net/NetworkPolicyManagerService;->getBlockedReasons(I)I
+PLcom/android/server/net/NetworkPolicyManagerService;->getDefaultClock()Ljava/time/Clock;
+PLcom/android/server/net/NetworkPolicyManagerService;->getDefaultSystemDir()Ljava/io/File;
+HPLcom/android/server/net/NetworkPolicyManagerService;->getOrCreateUidBlockedStateForUid(Landroid/util/SparseArray;I)Lcom/android/server/net/NetworkPolicyManagerService$UidBlockedState;
+PLcom/android/server/net/NetworkPolicyManagerService;->getRestrictBackgroundStatus(I)I
+PLcom/android/server/net/NetworkPolicyManagerService;->getRestrictBackgroundStatusInternal(I)I
+PLcom/android/server/net/NetworkPolicyManagerService;->getRestrictedModeFirewallRule(I)I
+PLcom/android/server/net/NetworkPolicyManagerService;->getUidPolicy(I)I
+PLcom/android/server/net/NetworkPolicyManagerService;->handleRestrictedPackagesChangeUL(Ljava/util/Set;Ljava/util/Set;)V
+HPLcom/android/server/net/NetworkPolicyManagerService;->handleUidChanged(Lcom/android/server/net/NetworkPolicyManagerService$UidStateCallbackInfo;)V
+HPLcom/android/server/net/NetworkPolicyManagerService;->handleUidGone(I)V
+HPLcom/android/server/net/NetworkPolicyManagerService;->hasInternetPermissionUL(I)Z
+PLcom/android/server/net/NetworkPolicyManagerService;->hasRestrictedModeAccess(I)Z
+HPLcom/android/server/net/NetworkPolicyManagerService;->initService(Ljava/util/concurrent/CountDownLatch;)V
+HPLcom/android/server/net/NetworkPolicyManagerService;->isAllowlistedFromLowPowerStandbyUL(I)Z
+HPLcom/android/server/net/NetworkPolicyManagerService;->isAllowlistedFromPowerSaveExceptIdleUL(I)Z
+HPLcom/android/server/net/NetworkPolicyManagerService;->isAllowlistedFromPowerSaveUL(IZ)Z
+PLcom/android/server/net/NetworkPolicyManagerService;->isBandwidthControlEnabled()Z
+HPLcom/android/server/net/NetworkPolicyManagerService;->isRestrictedByAdminUL(I)Z
+PLcom/android/server/net/NetworkPolicyManagerService;->isSystem(I)Z
+HPLcom/android/server/net/NetworkPolicyManagerService;->isUidForegroundOnRestrictBackgroundUL(I)Z
+HPLcom/android/server/net/NetworkPolicyManagerService;->isUidForegroundOnRestrictPowerUL(I)Z
+HPLcom/android/server/net/NetworkPolicyManagerService;->isUidIdle(II)Z
+HPLcom/android/server/net/NetworkPolicyManagerService;->isUidNetworkingBlocked(IZ)Z
+PLcom/android/server/net/NetworkPolicyManagerService;->isUidRestrictedOnMeteredNetworks(I)Z
+HPLcom/android/server/net/NetworkPolicyManagerService;->isUidTop(I)Z
+HPLcom/android/server/net/NetworkPolicyManagerService;->isUidValidForAllowlistRulesUL(I)Z
+HPLcom/android/server/net/NetworkPolicyManagerService;->isUidValidForDenylistRulesUL(I)Z
+HPLcom/android/server/net/NetworkPolicyManagerService;->lambda$forEachUid$7(Landroid/util/SparseBooleanArray;ILjava/util/function/IntConsumer;Lcom/android/server/pm/pkg/AndroidPackage;)V
+PLcom/android/server/net/NetworkPolicyManagerService;->lambda$networkScoreAndNetworkManagementServiceReady$1(Ljava/util/concurrent/CountDownLatch;)V
+HPLcom/android/server/net/NetworkPolicyManagerService;->lambda$updateRestrictedModeAllowlistUL$3(I)V
+PLcom/android/server/net/NetworkPolicyManagerService;->lambda$updateRulesForRestrictBackgroundUL$6(I)V
+HPLcom/android/server/net/NetworkPolicyManagerService;->lambda$updateRulesForRestrictPowerUL$5(I)V
+PLcom/android/server/net/NetworkPolicyManagerService;->networkScoreAndNetworkManagementServiceReady()Ljava/util/concurrent/CountDownLatch;
+HPLcom/android/server/net/NetworkPolicyManagerService;->readPolicyAL()V
+PLcom/android/server/net/NetworkPolicyManagerService;->registerListener(Landroid/net/INetworkPolicyListener;)V
+HPLcom/android/server/net/NetworkPolicyManagerService;->removeUidStateUL(I)Z
+HPLcom/android/server/net/NetworkPolicyManagerService;->setMeteredNetworkAllowlist(IZ)V
+PLcom/android/server/net/NetworkPolicyManagerService;->setMeteredRestrictedPackagesInternal(Ljava/util/Set;I)V
+PLcom/android/server/net/NetworkPolicyManagerService;->setRestrictBackgroundUL(ZLjava/lang/String;)V
+HPLcom/android/server/net/NetworkPolicyManagerService;->setUidFirewallRuleUL(III)V
+PLcom/android/server/net/NetworkPolicyManagerService;->setUidFirewallRulesUL(ILandroid/util/SparseIntArray;)V
+PLcom/android/server/net/NetworkPolicyManagerService;->setUidFirewallRulesUL(ILandroid/util/SparseIntArray;I)V
+PLcom/android/server/net/NetworkPolicyManagerService;->setUidPolicyUncheckedUL(IIZ)V
+PLcom/android/server/net/NetworkPolicyManagerService;->systemReady(Ljava/util/concurrent/CountDownLatch;)V
+HPLcom/android/server/net/NetworkPolicyManagerService;->updateBlockedReasonsForRestrictedModeUL(I)I
+HPLcom/android/server/net/NetworkPolicyManagerService;->updateNetworkStats(IZ)V
+PLcom/android/server/net/NetworkPolicyManagerService;->updateNotificationsNL()V
+PLcom/android/server/net/NetworkPolicyManagerService;->updatePowerSaveAllowlistUL()V
+HPLcom/android/server/net/NetworkPolicyManagerService;->updateRestrictBackgroundRulesOnUidStatusChangedUL(ILandroid/net/NetworkPolicyManager$UidState;Landroid/net/NetworkPolicyManager$UidState;)V
+PLcom/android/server/net/NetworkPolicyManagerService;->updateRestrictedModeAllowlistUL()V
+HPLcom/android/server/net/NetworkPolicyManagerService;->updateRuleForAppIdleUL(II)V
+HPLcom/android/server/net/NetworkPolicyManagerService;->updateRuleForDeviceIdleUL(I)V
+HPLcom/android/server/net/NetworkPolicyManagerService;->updateRuleForRestrictPowerUL(I)V
+PLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForAllowlistedPowerSaveUL(IZI)V
+PLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForAllowlistedPowerSaveUL(ZILandroid/util/SparseIntArray;)V
+PLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForAppIdleParoleUL()V
+PLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForAppIdleUL()V
+HPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForDataUsageRestrictionsUL(I)V
+HPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForDataUsageRestrictionsULInner(I)V
+PLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForDeviceIdleUL()V
+PLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForGlobalChangeAL(Z)V
+HPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForPowerRestrictionsUL(I)V
+HPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForPowerRestrictionsUL(II)V
+HPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForPowerRestrictionsUL(IZ)V
+HPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForPowerRestrictionsULInner(IZ)V
+PLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForPowerSaveUL()V
+PLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForRestrictBackgroundUL()V
+PLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForRestrictPowerUL()V
+HPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForTempAllowlistChangeUL(I)V
+HPLcom/android/server/net/NetworkPolicyManagerService;->updateUidStateUL(IIJI)Z
+PLcom/android/server/net/NetworkPolicyManagerService;->waitForAdminData()V
+PLcom/android/server/net/NetworkPolicyManagerService;->writePolicyAL()V
+PLcom/android/server/net/watchlist/NetworkWatchlistService$1;-><init>(Lcom/android/server/net/watchlist/NetworkWatchlistService;)V
+PLcom/android/server/net/watchlist/NetworkWatchlistService$1;->onConnectEvent(Ljava/lang/String;IJI)V
+HPLcom/android/server/net/watchlist/NetworkWatchlistService$1;->onDnsEvent(IIILjava/lang/String;[Ljava/lang/String;IJI)V
+PLcom/android/server/net/watchlist/NetworkWatchlistService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/net/watchlist/NetworkWatchlistService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/net/watchlist/NetworkWatchlistService$Lifecycle;->onStart()V
+PLcom/android/server/net/watchlist/NetworkWatchlistService;->-$$Nest$fgetmIsLoggingEnabled(Lcom/android/server/net/watchlist/NetworkWatchlistService;)Z
+PLcom/android/server/net/watchlist/NetworkWatchlistService;->-$$Nest$minit(Lcom/android/server/net/watchlist/NetworkWatchlistService;)V
+PLcom/android/server/net/watchlist/NetworkWatchlistService;->-$$Nest$minitIpConnectivityMetrics(Lcom/android/server/net/watchlist/NetworkWatchlistService;)V
+PLcom/android/server/net/watchlist/NetworkWatchlistService;-><clinit>()V
+PLcom/android/server/net/watchlist/NetworkWatchlistService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/net/watchlist/NetworkWatchlistService;->enforceWatchlistLoggingPermission()V
+PLcom/android/server/net/watchlist/NetworkWatchlistService;->init()V
+PLcom/android/server/net/watchlist/NetworkWatchlistService;->initIpConnectivityMetrics()V
+PLcom/android/server/net/watchlist/NetworkWatchlistService;->startWatchlistLogging()Z
+PLcom/android/server/net/watchlist/NetworkWatchlistService;->startWatchlistLoggingImpl()Z
+PLcom/android/server/net/watchlist/ReportWatchlistJobService;-><clinit>()V
+PLcom/android/server/net/watchlist/ReportWatchlistJobService;->schedule(Landroid/content/Context;)V
+PLcom/android/server/net/watchlist/WatchlistConfig;-><clinit>()V
+PLcom/android/server/net/watchlist/WatchlistConfig;-><init>()V
+PLcom/android/server/net/watchlist/WatchlistConfig;-><init>(Ljava/io/File;)V
+HPLcom/android/server/net/watchlist/WatchlistConfig;->containsDomain(Ljava/lang/String;)Z
+PLcom/android/server/net/watchlist/WatchlistConfig;->containsIp(Ljava/lang/String;)Z
+PLcom/android/server/net/watchlist/WatchlistConfig;->getInstance()Lcom/android/server/net/watchlist/WatchlistConfig;
+PLcom/android/server/net/watchlist/WatchlistConfig;->reloadConfig()V
+PLcom/android/server/net/watchlist/WatchlistConfig;->removeTestModeConfig()V
+PLcom/android/server/net/watchlist/WatchlistLoggingHandler;-><clinit>()V
+PLcom/android/server/net/watchlist/WatchlistLoggingHandler;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
+HPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->asyncNetworkEvent(Ljava/lang/String;[Ljava/lang/String;I)V
+HPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->getAllSubDomains(Ljava/lang/String;)[Ljava/lang/String;
+PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->getLastMidnightTime()J
+PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->getMidnightTimestamp(I)J
+PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->getPrimaryUserId()I
+HPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->handleMessage(Landroid/os/Message;)V
+HPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->handleNetworkEvent(Ljava/lang/String;[Ljava/lang/String;IJ)V
+PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->isHostInWatchlist(Ljava/lang/String;)Z
+PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->isIpInWatchlist(Ljava/lang/String;)Z
+PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->reportWatchlistIfNecessary()V
+PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->searchAllSubDomainsInWatchlist(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->searchIpInWatchlist([Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->shouldReportNetworkWatchlist(J)Z
+PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->tryAggregateRecords(J)V
+PLcom/android/server/net/watchlist/WatchlistReportDbHelper;-><clinit>()V
+PLcom/android/server/net/watchlist/WatchlistReportDbHelper;-><init>(Landroid/content/Context;)V
+PLcom/android/server/net/watchlist/WatchlistReportDbHelper;->getInstance(Landroid/content/Context;)Lcom/android/server/net/watchlist/WatchlistReportDbHelper;
+PLcom/android/server/net/watchlist/WatchlistReportDbHelper;->getSystemWatchlistDbFile()Ljava/io/File;
+PLcom/android/server/net/watchlist/WatchlistSettings;-><clinit>()V
+PLcom/android/server/net/watchlist/WatchlistSettings;-><init>()V
+PLcom/android/server/net/watchlist/WatchlistSettings;-><init>(Ljava/io/File;)V
+PLcom/android/server/net/watchlist/WatchlistSettings;->getInstance()Lcom/android/server/net/watchlist/WatchlistSettings;
+PLcom/android/server/net/watchlist/WatchlistSettings;->getSystemWatchlistFile()Ljava/io/File;
+PLcom/android/server/net/watchlist/WatchlistSettings;->parseSecretKey(Lorg/xmlpull/v1/XmlPullParser;)[B
+PLcom/android/server/net/watchlist/WatchlistSettings;->reloadSettings()V
+PLcom/android/server/notification/AlertRateLimiter;-><init>()V
+PLcom/android/server/notification/BadgeExtractor;-><init>()V
+PLcom/android/server/notification/BadgeExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
+HPLcom/android/server/notification/BadgeExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+PLcom/android/server/notification/BadgeExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+PLcom/android/server/notification/BadgeExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+PLcom/android/server/notification/BubbleExtractor;-><init>()V
+PLcom/android/server/notification/BubbleExtractor;->canPresentAsBubble(Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/BubbleExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
+PLcom/android/server/notification/BubbleExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+PLcom/android/server/notification/BubbleExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+PLcom/android/server/notification/BubbleExtractor;->setShortcutHelper(Lcom/android/server/notification/ShortcutHelper;)V
+PLcom/android/server/notification/BubbleExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+PLcom/android/server/notification/CalendarTracker$1;-><init>(Lcom/android/server/notification/CalendarTracker;Landroid/os/Handler;)V
+PLcom/android/server/notification/CalendarTracker$CheckEventResult;-><init>()V
+PLcom/android/server/notification/CalendarTracker;-><clinit>()V
+PLcom/android/server/notification/CalendarTracker;-><init>(Landroid/content/Context;Landroid/content/Context;)V
+PLcom/android/server/notification/CalendarTracker;->checkEvent(Landroid/service/notification/ZenModeConfig$EventInfo;J)Lcom/android/server/notification/CalendarTracker$CheckEventResult;
+PLcom/android/server/notification/CalendarTracker;->getCalendarsWithAccess()Landroid/util/ArraySet;
+PLcom/android/server/notification/CalendarTracker;->setCallback(Lcom/android/server/notification/CalendarTracker$Callback;)V
+PLcom/android/server/notification/CalendarTracker;->setRegistered(Z)V
+PLcom/android/server/notification/ConditionProviders$ConditionRecord;-><init>(Landroid/net/Uri;Landroid/content/ComponentName;)V
+PLcom/android/server/notification/ConditionProviders$ConditionRecord;-><init>(Landroid/net/Uri;Landroid/content/ComponentName;Lcom/android/server/notification/ConditionProviders$ConditionRecord-IA;)V
+PLcom/android/server/notification/ConditionProviders;-><init>(Landroid/content/Context;Lcom/android/server/notification/ManagedServices$UserProfiles;Landroid/content/pm/IPackageManager;)V
+PLcom/android/server/notification/ConditionProviders;->addSystemProvider(Lcom/android/server/notification/SystemConditionProviderService;)V
+PLcom/android/server/notification/ConditionProviders;->checkServiceToken(Landroid/service/notification/IConditionProvider;)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
+PLcom/android/server/notification/ConditionProviders;->ensureRecordExists(Landroid/content/ComponentName;Landroid/net/Uri;Landroid/service/notification/IConditionProvider;)V
+HPLcom/android/server/notification/ConditionProviders;->getConfig()Lcom/android/server/notification/ManagedServices$Config;
+HPLcom/android/server/notification/ConditionProviders;->getRecordLocked(Landroid/net/Uri;Landroid/content/ComponentName;Z)Lcom/android/server/notification/ConditionProviders$ConditionRecord;
+PLcom/android/server/notification/ConditionProviders;->getRequiredPermission()Ljava/lang/String;
+PLcom/android/server/notification/ConditionProviders;->getSystemProviders()Ljava/lang/Iterable;
+PLcom/android/server/notification/ConditionProviders;->getValidConditions(Ljava/lang/String;[Landroid/service/notification/Condition;)[Landroid/service/notification/Condition;
+PLcom/android/server/notification/ConditionProviders;->isSystemProviderEnabled(Ljava/lang/String;)Z
+PLcom/android/server/notification/ConditionProviders;->notifyConditions(Ljava/lang/String;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;[Landroid/service/notification/Condition;)V
+PLcom/android/server/notification/ConditionProviders;->onBootPhaseAppsCanStart()V
+PLcom/android/server/notification/ConditionProviders;->onPackagesChanged(Z[Ljava/lang/String;[I)V
+PLcom/android/server/notification/ConditionProviders;->onServiceAdded(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
+PLcom/android/server/notification/ConditionProviders;->onUserSwitched(I)V
+PLcom/android/server/notification/ConditionProviders;->provider(Lcom/android/server/notification/ConditionProviders$ConditionRecord;)Landroid/service/notification/IConditionProvider;
+PLcom/android/server/notification/ConditionProviders;->provider(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Landroid/service/notification/IConditionProvider;
+PLcom/android/server/notification/ConditionProviders;->safeSet([Ljava/lang/Object;)Landroid/util/ArraySet;
+PLcom/android/server/notification/ConditionProviders;->setCallback(Lcom/android/server/notification/ConditionProviders$Callback;)V
+PLcom/android/server/notification/ConditionProviders;->subscribeIfNecessary(Landroid/content/ComponentName;Landroid/net/Uri;)Z
+PLcom/android/server/notification/ConditionProviders;->subscribeLocked(Lcom/android/server/notification/ConditionProviders$ConditionRecord;)V
+PLcom/android/server/notification/ConditionProviders;->writeDefaults(Lcom/android/modules/utils/TypedXmlSerializer;)V
+PLcom/android/server/notification/CountdownConditionProvider$Receiver;-><init>(Lcom/android/server/notification/CountdownConditionProvider;)V
+PLcom/android/server/notification/CountdownConditionProvider$Receiver;-><init>(Lcom/android/server/notification/CountdownConditionProvider;Lcom/android/server/notification/CountdownConditionProvider$Receiver-IA;)V
+PLcom/android/server/notification/CountdownConditionProvider;-><clinit>()V
+PLcom/android/server/notification/CountdownConditionProvider;-><init>()V
+PLcom/android/server/notification/CountdownConditionProvider;->asInterface()Landroid/service/notification/IConditionProvider;
+PLcom/android/server/notification/CountdownConditionProvider;->attachBase(Landroid/content/Context;)V
+PLcom/android/server/notification/CountdownConditionProvider;->getComponent()Landroid/content/ComponentName;
+PLcom/android/server/notification/CountdownConditionProvider;->isValidConditionId(Landroid/net/Uri;)Z
+PLcom/android/server/notification/CountdownConditionProvider;->onBootComplete()V
+PLcom/android/server/notification/CountdownConditionProvider;->onConnected()V
+PLcom/android/server/notification/CriticalNotificationExtractor;-><init>()V
+PLcom/android/server/notification/CriticalNotificationExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
+PLcom/android/server/notification/CriticalNotificationExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+PLcom/android/server/notification/CriticalNotificationExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+PLcom/android/server/notification/CriticalNotificationExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+PLcom/android/server/notification/CriticalNotificationExtractor;->supportsCriticalNotifications(Landroid/content/Context;)Z
+PLcom/android/server/notification/DefaultDeviceEffectsApplier$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/notification/DefaultDeviceEffectsApplier;Landroid/service/notification/ZenDeviceEffects;I)V
+PLcom/android/server/notification/DefaultDeviceEffectsApplier$$ExternalSyntheticLambda0;->runOrThrow()V
+PLcom/android/server/notification/DefaultDeviceEffectsApplier$1;-><init>(Lcom/android/server/notification/DefaultDeviceEffectsApplier;)V
+PLcom/android/server/notification/DefaultDeviceEffectsApplier;->$r8$lambda$4LDHIsj0iI2D9FidhGDL9DsNFGA(Lcom/android/server/notification/DefaultDeviceEffectsApplier;Landroid/service/notification/ZenDeviceEffects;I)V
+PLcom/android/server/notification/DefaultDeviceEffectsApplier;-><clinit>()V
+PLcom/android/server/notification/DefaultDeviceEffectsApplier;-><init>(Landroid/content/Context;)V
+PLcom/android/server/notification/DefaultDeviceEffectsApplier;->apply(Landroid/service/notification/ZenDeviceEffects;I)V
+PLcom/android/server/notification/DefaultDeviceEffectsApplier;->lambda$apply$0(Landroid/service/notification/ZenDeviceEffects;I)V
+PLcom/android/server/notification/EventConditionProvider$1;-><init>(Lcom/android/server/notification/EventConditionProvider;)V
+PLcom/android/server/notification/EventConditionProvider$2;-><init>(Lcom/android/server/notification/EventConditionProvider;)V
+PLcom/android/server/notification/EventConditionProvider$3;-><init>(Lcom/android/server/notification/EventConditionProvider;)V
+PLcom/android/server/notification/EventConditionProvider$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/notification/EventConditionProvider$4;-><init>(Lcom/android/server/notification/EventConditionProvider;)V
+PLcom/android/server/notification/EventConditionProvider$4;->run()V
+PLcom/android/server/notification/EventConditionProvider;->-$$Nest$mevaluateSubscriptions(Lcom/android/server/notification/EventConditionProvider;)V
+PLcom/android/server/notification/EventConditionProvider;->-$$Nest$mevaluateSubscriptionsW(Lcom/android/server/notification/EventConditionProvider;)V
+PLcom/android/server/notification/EventConditionProvider;->-$$Nest$sfgetDEBUG()Z
+PLcom/android/server/notification/EventConditionProvider;-><clinit>()V
+PLcom/android/server/notification/EventConditionProvider;-><init>()V
+PLcom/android/server/notification/EventConditionProvider;->asInterface()Landroid/service/notification/IConditionProvider;
+PLcom/android/server/notification/EventConditionProvider;->attachBase(Landroid/content/Context;)V
+PLcom/android/server/notification/EventConditionProvider;->createCondition(Landroid/net/Uri;I)Landroid/service/notification/Condition;
+PLcom/android/server/notification/EventConditionProvider;->evaluateSubscriptions()V
+HPLcom/android/server/notification/EventConditionProvider;->evaluateSubscriptionsW()V
+PLcom/android/server/notification/EventConditionProvider;->getComponent()Landroid/content/ComponentName;
+PLcom/android/server/notification/EventConditionProvider;->getPendingIntent(J)Landroid/app/PendingIntent;
+PLcom/android/server/notification/EventConditionProvider;->isValidConditionId(Landroid/net/Uri;)Z
+PLcom/android/server/notification/EventConditionProvider;->onBootComplete()V
+PLcom/android/server/notification/EventConditionProvider;->onConnected()V
+PLcom/android/server/notification/EventConditionProvider;->onSubscribe(Landroid/net/Uri;)V
+PLcom/android/server/notification/EventConditionProvider;->reloadTrackers()V
+PLcom/android/server/notification/EventConditionProvider;->rescheduleAlarm(JJ)V
+PLcom/android/server/notification/EventConditionProvider;->setRegistered(Z)V
+PLcom/android/server/notification/FeatureFlagsImpl;-><clinit>()V
+PLcom/android/server/notification/FeatureFlagsImpl;-><init>()V
+PLcom/android/server/notification/FeatureFlagsImpl;->crossAppPoliteNotifications()Z
+PLcom/android/server/notification/FeatureFlagsImpl;->expireBitmaps()Z
+PLcom/android/server/notification/FeatureFlagsImpl;->load_overrides_systemui()V
+HPLcom/android/server/notification/FeatureFlagsImpl;->notificationReduceMessagequeueUsage()Z
+PLcom/android/server/notification/FeatureFlagsImpl;->politeNotifications()Z
+PLcom/android/server/notification/FeatureFlagsImpl;->refactorAttentionHelper()Z
+PLcom/android/server/notification/FeatureFlagsImpl;->sensitiveNotificationAppProtection()Z
+PLcom/android/server/notification/FeatureFlagsImpl;->vibrateWhileUnlocked()Z
+PLcom/android/server/notification/Flags;-><clinit>()V
+PLcom/android/server/notification/Flags;->crossAppPoliteNotifications()Z
+PLcom/android/server/notification/Flags;->expireBitmaps()Z
+PLcom/android/server/notification/Flags;->notificationReduceMessagequeueUsage()Z
+PLcom/android/server/notification/Flags;->politeNotifications()Z
+PLcom/android/server/notification/Flags;->refactorAttentionHelper()Z
+PLcom/android/server/notification/Flags;->sensitiveNotificationAppProtection()Z
+PLcom/android/server/notification/Flags;->vibrateWhileUnlocked()Z
+PLcom/android/server/notification/GlobalSortKeyComparator;-><init>()V
+PLcom/android/server/notification/GlobalSortKeyComparator;->compare(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;)I
+PLcom/android/server/notification/GlobalSortKeyComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+PLcom/android/server/notification/GroupHelper$NotificationAttributes;-><init>(ILandroid/graphics/drawable/Icon;I)V
+PLcom/android/server/notification/GroupHelper;-><init>(Landroid/content/Context;Landroid/content/pm/PackageManager;ILcom/android/server/notification/GroupHelper$Callback;)V
+PLcom/android/server/notification/GroupHelper;->generatePackageKey(ILjava/lang/String;)Ljava/lang/String;
+HPLcom/android/server/notification/GroupHelper;->maybeGroup(Landroid/service/notification/StatusBarNotification;Z)V
+PLcom/android/server/notification/GroupHelper;->onNotificationPosted(Landroid/service/notification/StatusBarNotification;Z)V
+PLcom/android/server/notification/ImportanceExtractor;-><init>()V
+PLcom/android/server/notification/ImportanceExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
+PLcom/android/server/notification/ImportanceExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+PLcom/android/server/notification/ImportanceExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+PLcom/android/server/notification/ImportanceExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+HPLcom/android/server/notification/ManagedServices$1;-><init>(Lcom/android/server/notification/ManagedServices;ILandroid/util/Pair;ZII)V
+HPLcom/android/server/notification/ManagedServices$1;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/notification/ManagedServices$1;->onServiceDisconnected(Landroid/content/ComponentName;)V
+PLcom/android/server/notification/ManagedServices$Config;-><init>()V
+HPLcom/android/server/notification/ManagedServices$ManagedServiceInfo;-><init>(Lcom/android/server/notification/ManagedServices;Landroid/os/IInterface;Landroid/content/ComponentName;IZLandroid/content/ServiceConnection;II)V
+PLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->binderDied()V
+HPLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->enabledAndUserMatches(I)Z
+PLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->getService()Landroid/os/IInterface;
+HPLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->hashCode()I
+HPLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->isEnabledForCurrentProfiles()Z
+PLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->isGuest(Lcom/android/server/notification/ManagedServices;)Z
+PLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->isSameUser(I)Z
+PLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->isSystem()Z
+PLcom/android/server/notification/ManagedServices$UserProfiles;-><init>()V
+HPLcom/android/server/notification/ManagedServices$UserProfiles;->getCurrentProfileIds()Landroid/util/IntArray;
+PLcom/android/server/notification/ManagedServices$UserProfiles;->isCurrentProfile(I)Z
+PLcom/android/server/notification/ManagedServices$UserProfiles;->isProfileUser(I)Z
+PLcom/android/server/notification/ManagedServices$UserProfiles;->updateCache(Landroid/content/Context;)V
+PLcom/android/server/notification/ManagedServices;->-$$Nest$fgetmEnabledServicesForCurrentProfiles(Lcom/android/server/notification/ManagedServices;)Landroid/util/ArraySet;
+PLcom/android/server/notification/ManagedServices;->-$$Nest$fgetmServices(Lcom/android/server/notification/ManagedServices;)Ljava/util/ArrayList;
+PLcom/android/server/notification/ManagedServices;->-$$Nest$fgetmServicesRebinding(Lcom/android/server/notification/ManagedServices;)Landroid/util/ArraySet;
+PLcom/android/server/notification/ManagedServices;->-$$Nest$mgetCaption(Lcom/android/server/notification/ManagedServices;)Ljava/lang/String;
+PLcom/android/server/notification/ManagedServices;->-$$Nest$mnewServiceInfo(Lcom/android/server/notification/ManagedServices;Landroid/os/IInterface;Landroid/content/ComponentName;IZLandroid/content/ServiceConnection;II)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
+PLcom/android/server/notification/ManagedServices;->-$$Nest$mremoveServiceImpl(Lcom/android/server/notification/ManagedServices;Landroid/os/IInterface;I)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
+HPLcom/android/server/notification/ManagedServices;-><init>(Landroid/content/Context;Ljava/lang/Object;Lcom/android/server/notification/ManagedServices$UserProfiles;Landroid/content/pm/IPackageManager;)V
+HPLcom/android/server/notification/ManagedServices;->addApprovedList(Ljava/lang/String;IZLjava/lang/String;)V
+HPLcom/android/server/notification/ManagedServices;->bindToServices(Landroid/util/SparseArray;)V
+PLcom/android/server/notification/ManagedServices;->checkNotNull(Landroid/os/IInterface;)V
+PLcom/android/server/notification/ManagedServices;->checkServiceTokenLocked(Landroid/os/IInterface;)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
+PLcom/android/server/notification/ManagedServices;->getAllowedComponents(I)Ljava/util/List;
+HPLcom/android/server/notification/ManagedServices;->getAllowedComponents(Landroid/util/IntArray;)Landroid/util/SparseArray;
+PLcom/android/server/notification/ManagedServices;->getAllowedPackages(I)Ljava/util/List;
+PLcom/android/server/notification/ManagedServices;->getApprovedValue(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/notification/ManagedServices;->getBindFlags()I
+PLcom/android/server/notification/ManagedServices;->getCaption()Ljava/lang/String;
+PLcom/android/server/notification/ManagedServices;->getDefaultComponents()Landroid/util/ArraySet;
+PLcom/android/server/notification/ManagedServices;->getPackageName(Ljava/lang/String;)Ljava/lang/String;
+HPLcom/android/server/notification/ManagedServices;->getRemovableConnectedServices()Ljava/util/Set;
+HPLcom/android/server/notification/ManagedServices;->getServiceFromTokenLocked(Landroid/os/IInterface;)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
+PLcom/android/server/notification/ManagedServices;->getServiceInfo(Landroid/content/ComponentName;I)Landroid/content/pm/ServiceInfo;
+HPLcom/android/server/notification/ManagedServices;->getServices()Ljava/util/List;
+PLcom/android/server/notification/ManagedServices;->isAutobindAllowed(Landroid/content/pm/ServiceInfo;)Z
+PLcom/android/server/notification/ManagedServices;->isComponentEnabledForPackage(Ljava/lang/String;)Z
+PLcom/android/server/notification/ManagedServices;->isPackageAllowed(Ljava/lang/String;I)Z
+HPLcom/android/server/notification/ManagedServices;->isPackageOrComponentAllowed(Ljava/lang/String;I)Z
+PLcom/android/server/notification/ManagedServices;->isSameUser(Landroid/os/IInterface;I)Z
+PLcom/android/server/notification/ManagedServices;->isServiceTokenValidLocked(Landroid/os/IInterface;)Z
+HPLcom/android/server/notification/ManagedServices;->loadComponentNamesFromValues(Landroid/util/ArraySet;I)Landroid/util/ArraySet;
+PLcom/android/server/notification/ManagedServices;->newServiceInfo(Landroid/os/IInterface;Landroid/content/ComponentName;IZLandroid/content/ServiceConnection;II)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
+PLcom/android/server/notification/ManagedServices;->onBootPhaseAppsCanStart()V
+PLcom/android/server/notification/ManagedServices;->onPackagesChanged(Z[Ljava/lang/String;[I)V
+PLcom/android/server/notification/ManagedServices;->onUserSwitched(I)V
+PLcom/android/server/notification/ManagedServices;->onUserUnlocked(I)V
+HPLcom/android/server/notification/ManagedServices;->populateComponentsToBind(Landroid/util/SparseArray;Landroid/util/IntArray;Landroid/util/SparseArray;)V
+PLcom/android/server/notification/ManagedServices;->populateComponentsToUnbind(ZLjava/util/Set;Landroid/util/SparseArray;Landroid/util/SparseArray;)V
+PLcom/android/server/notification/ManagedServices;->queryPackageForServices(Ljava/lang/String;I)Ljava/util/Set;
+HPLcom/android/server/notification/ManagedServices;->queryPackageForServices(Ljava/lang/String;II)Landroid/util/ArraySet;
+PLcom/android/server/notification/ManagedServices;->readDefaults(Lcom/android/modules/utils/TypedXmlPullParser;)V
+PLcom/android/server/notification/ManagedServices;->readExtraAttributes(Ljava/lang/String;Lcom/android/modules/utils/TypedXmlPullParser;I)V
+HPLcom/android/server/notification/ManagedServices;->readXml(Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/function/TriPredicate;ZI)V
+HPLcom/android/server/notification/ManagedServices;->rebindServices(ZI)V
+PLcom/android/server/notification/ManagedServices;->registerGuestService(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
+PLcom/android/server/notification/ManagedServices;->registerService(Landroid/content/ComponentName;I)V
+PLcom/android/server/notification/ManagedServices;->registerService(Landroid/content/pm/ServiceInfo;I)V
+PLcom/android/server/notification/ManagedServices;->registerServiceImpl(Landroid/os/IInterface;Landroid/content/ComponentName;III)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
+PLcom/android/server/notification/ManagedServices;->registerServiceImpl(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
+PLcom/android/server/notification/ManagedServices;->registerServiceLocked(Landroid/content/ComponentName;I)V
+HPLcom/android/server/notification/ManagedServices;->registerServiceLocked(Landroid/content/ComponentName;IZ)V
+PLcom/android/server/notification/ManagedServices;->registerSystemService(Landroid/os/IInterface;Landroid/content/ComponentName;II)V
+PLcom/android/server/notification/ManagedServices;->removeServiceImpl(Landroid/os/IInterface;I)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
+PLcom/android/server/notification/ManagedServices;->removeServiceLocked(I)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
+PLcom/android/server/notification/ManagedServices;->setPackageOrComponentEnabled(Ljava/lang/String;IZZ)V
+PLcom/android/server/notification/ManagedServices;->setPackageOrComponentEnabled(Ljava/lang/String;IZZZ)V
+PLcom/android/server/notification/ManagedServices;->shouldReflectToSettings()Z
+PLcom/android/server/notification/ManagedServices;->unbindFromServices(Landroid/util/SparseArray;)V
+PLcom/android/server/notification/ManagedServices;->unbindOtherUserServices(I)V
+PLcom/android/server/notification/ManagedServices;->unbindService(Landroid/content/ServiceConnection;Landroid/content/ComponentName;I)V
+PLcom/android/server/notification/ManagedServices;->unbindServicesImpl(IZ)V
+PLcom/android/server/notification/ManagedServices;->unregisterService(Landroid/content/ComponentName;I)V
+PLcom/android/server/notification/ManagedServices;->unregisterService(Landroid/os/IInterface;I)V
+PLcom/android/server/notification/ManagedServices;->unregisterServiceImpl(Landroid/os/IInterface;I)V
+PLcom/android/server/notification/ManagedServices;->unregisterServiceLocked(Landroid/content/ComponentName;I)V
+HPLcom/android/server/notification/ManagedServices;->writeDefaults(Lcom/android/modules/utils/TypedXmlSerializer;)V
+PLcom/android/server/notification/ManagedServices;->writeExtraAttributes(Lcom/android/modules/utils/TypedXmlSerializer;I)V
+PLcom/android/server/notification/ManagedServices;->writeExtraXmlTags(Lcom/android/modules/utils/TypedXmlSerializer;)V
+HPLcom/android/server/notification/ManagedServices;->writeXml(Lcom/android/modules/utils/TypedXmlSerializer;ZI)V
+PLcom/android/server/notification/NotificationAdjustmentExtractor;-><init>()V
+PLcom/android/server/notification/NotificationAdjustmentExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
+PLcom/android/server/notification/NotificationAdjustmentExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+PLcom/android/server/notification/NotificationAdjustmentExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+PLcom/android/server/notification/NotificationAdjustmentExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+PLcom/android/server/notification/NotificationAttentionHelper$1;-><init>(Lcom/android/server/notification/NotificationAttentionHelper;)V
+PLcom/android/server/notification/NotificationAttentionHelper$3;-><init>(Lcom/android/server/notification/NotificationAttentionHelper;)V
+HPLcom/android/server/notification/NotificationAttentionHelper$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/notification/NotificationAttentionHelper$PolitenessStrategy;-><init>(IIII)V
+PLcom/android/server/notification/NotificationAttentionHelper$PolitenessStrategy;->getChannelKey(Lcom/android/server/notification/NotificationRecord;)Ljava/lang/String;
+PLcom/android/server/notification/NotificationAttentionHelper$PolitenessStrategy;->getLastNotificationUpdateTimeMs(Lcom/android/server/notification/NotificationRecord;)J
+PLcom/android/server/notification/NotificationAttentionHelper$PolitenessStrategy;->getNextState(IJ)I
+PLcom/android/server/notification/NotificationAttentionHelper$PolitenessStrategy;->getPolitenessState(Lcom/android/server/notification/NotificationRecord;)I
+PLcom/android/server/notification/NotificationAttentionHelper$PolitenessStrategy;->setApplyCooldownPerPackage(Z)V
+PLcom/android/server/notification/NotificationAttentionHelper$PolitenessStrategy;->shouldIgnoreNotification(Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/NotificationAttentionHelper$SettingsObserver;->-$$Nest$sfgetNOTIFICATION_COOLDOWN_ALL_URI()Landroid/net/Uri;
+PLcom/android/server/notification/NotificationAttentionHelper$SettingsObserver;->-$$Nest$sfgetNOTIFICATION_COOLDOWN_ENABLED_URI()Landroid/net/Uri;
+PLcom/android/server/notification/NotificationAttentionHelper$SettingsObserver;->-$$Nest$sfgetNOTIFICATION_COOLDOWN_VIBRATE_UNLOCKED_URI()Landroid/net/Uri;
+PLcom/android/server/notification/NotificationAttentionHelper$SettingsObserver;->-$$Nest$sfgetNOTIFICATION_LIGHT_PULSE_URI()Landroid/net/Uri;
+PLcom/android/server/notification/NotificationAttentionHelper$SettingsObserver;-><clinit>()V
+PLcom/android/server/notification/NotificationAttentionHelper$SettingsObserver;-><init>(Lcom/android/server/notification/NotificationAttentionHelper;)V
+PLcom/android/server/notification/NotificationAttentionHelper$Signals;->-$$Nest$fgetlistenerHints(Lcom/android/server/notification/NotificationAttentionHelper$Signals;)I
+PLcom/android/server/notification/NotificationAttentionHelper$Signals;-><init>(ZI)V
+PLcom/android/server/notification/NotificationAttentionHelper$StrategyAvalanche;-><init>(IIIIILcom/android/server/notification/NotificationAttentionHelper$PolitenessStrategy;)V
+PLcom/android/server/notification/NotificationAttentionHelper$StrategyAvalanche;->getChannelKey(Lcom/android/server/notification/NotificationRecord;)Ljava/lang/String;
+PLcom/android/server/notification/NotificationAttentionHelper$StrategyAvalanche;->getLastNotificationUpdateTimeMs(Lcom/android/server/notification/NotificationRecord;)J
+PLcom/android/server/notification/NotificationAttentionHelper$StrategyAvalanche;->isAvalancheActive()Z
+PLcom/android/server/notification/NotificationAttentionHelper$StrategyAvalanche;->onNotificationPosted(Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationAttentionHelper$StrategyAvalanche;->setApplyCooldownPerPackage(Z)V
+PLcom/android/server/notification/NotificationAttentionHelper$StrategyAvalanche;->setTriggerTimeMs(J)V
+PLcom/android/server/notification/NotificationAttentionHelper$StrategyPerApp;-><init>(IIIII)V
+PLcom/android/server/notification/NotificationAttentionHelper$StrategyPerApp;->onNotificationPosted(Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationAttentionHelper;->-$$Nest$fgetmNotificationLight(Lcom/android/server/notification/NotificationAttentionHelper;)Lcom/android/server/lights/LogicalLight;
+PLcom/android/server/notification/NotificationAttentionHelper;->-$$Nest$fgetmStrategy(Lcom/android/server/notification/NotificationAttentionHelper;)Lcom/android/server/notification/NotificationAttentionHelper$PolitenessStrategy;
+PLcom/android/server/notification/NotificationAttentionHelper;->-$$Nest$fputmUserPresent(Lcom/android/server/notification/NotificationAttentionHelper;Z)V
+PLcom/android/server/notification/NotificationAttentionHelper;->-$$Nest$mloadUserSettings(Lcom/android/server/notification/NotificationAttentionHelper;)V
+PLcom/android/server/notification/NotificationAttentionHelper;-><clinit>()V
+PLcom/android/server/notification/NotificationAttentionHelper;-><init>(Landroid/content/Context;Lcom/android/server/lights/LightsManager;Landroid/view/accessibility/AccessibilityManager;Landroid/content/pm/PackageManager;Landroid/os/UserManager;Lcom/android/server/notification/NotificationUsageStats;Lcom/android/server/notification/NotificationManagerPrivate;Lcom/android/server/notification/ZenModeHelper;Lcom/android/internal/config/sysui/SystemUiSystemPropertiesFlags$FlagResolver;)V
+HPLcom/android/server/notification/NotificationAttentionHelper;->buzzBeepBlinkLocked(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationAttentionHelper$Signals;)I
+PLcom/android/server/notification/NotificationAttentionHelper;->canShowLightsLocked(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationAttentionHelper$Signals;Z)Z
+PLcom/android/server/notification/NotificationAttentionHelper;->createPolitenessStrategy()Lcom/android/server/notification/NotificationAttentionHelper$PolitenessStrategy;
+PLcom/android/server/notification/NotificationAttentionHelper;->disableNotificationEffects(Lcom/android/server/notification/NotificationRecord;I)Ljava/lang/String;
+PLcom/android/server/notification/NotificationAttentionHelper;->getManagedProfileId(I)I
+PLcom/android/server/notification/NotificationAttentionHelper;->getPoliteBit(Lcom/android/server/notification/NotificationRecord;)I
+PLcom/android/server/notification/NotificationAttentionHelper;->getPolitenessState(Lcom/android/server/notification/NotificationRecord;)I
+PLcom/android/server/notification/NotificationAttentionHelper;->isNotificationForCurrentUser(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationAttentionHelper$Signals;)Z
+PLcom/android/server/notification/NotificationAttentionHelper;->isNotificationForWorkProfile(Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/NotificationAttentionHelper;->isPoliteNotificationFeatureEnabled(Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/NotificationAttentionHelper;->loadUserSettings()V
+PLcom/android/server/notification/NotificationAttentionHelper;->onSystemReady()V
+PLcom/android/server/notification/NotificationAttentionHelper;->registerBroadcastListeners()V
+PLcom/android/server/notification/NotificationAttentionHelper;->sendAccessibilityEvent(Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationAttentionHelper;->shouldMuteNotificationLocked(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationAttentionHelper$Signals;)Z
+PLcom/android/server/notification/NotificationBitmapJobService;->getRunAfterMs()J
+PLcom/android/server/notification/NotificationBitmapJobService;->getTimeUntilRemoval(Ljava/time/ZonedDateTime;Ljava/time/ZonedDateTime;Ljava/time/ZonedDateTime;)J
+PLcom/android/server/notification/NotificationBitmapJobService;->scheduleJob(Landroid/content/Context;)V
+PLcom/android/server/notification/NotificationChannelExtractor;-><init>()V
+PLcom/android/server/notification/NotificationChannelExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
+PLcom/android/server/notification/NotificationChannelExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+PLcom/android/server/notification/NotificationChannelExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+PLcom/android/server/notification/NotificationChannelExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+PLcom/android/server/notification/NotificationChannelLogger$NotificationChannelEvent;->$values()[Lcom/android/server/notification/NotificationChannelLogger$NotificationChannelEvent;
+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;->getId()I
+PLcom/android/server/notification/NotificationChannelLogger$NotificationChannelEvent;->getUpdated(Z)Lcom/android/server/notification/NotificationChannelLogger$NotificationChannelEvent;
+PLcom/android/server/notification/NotificationChannelLogger;->getConversationIdHash(Landroid/app/NotificationChannel;)I
+PLcom/android/server/notification/NotificationChannelLogger;->getIdHash(Landroid/app/NotificationChannel;)I
+HPLcom/android/server/notification/NotificationChannelLogger;->getLoggingImportance(Landroid/app/NotificationChannel;)I
+HPLcom/android/server/notification/NotificationChannelLogger;->getLoggingImportance(Landroid/app/NotificationChannel;I)I
+PLcom/android/server/notification/NotificationChannelLogger;->logNotificationChannelModified(Landroid/app/NotificationChannel;ILjava/lang/String;IZ)V
+PLcom/android/server/notification/NotificationChannelLoggerImpl;-><init>()V
+PLcom/android/server/notification/NotificationChannelLoggerImpl;->logNotificationChannel(Lcom/android/server/notification/NotificationChannelLogger$NotificationChannelEvent;Landroid/app/NotificationChannel;ILjava/lang/String;II)V
+PLcom/android/server/notification/NotificationComparator$1;-><init>(Lcom/android/server/notification/NotificationComparator;)V
+PLcom/android/server/notification/NotificationComparator;-><init>(Landroid/content/Context;)V
+PLcom/android/server/notification/NotificationComparator;->compare(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;)I
+PLcom/android/server/notification/NotificationComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+PLcom/android/server/notification/NotificationComparator;->isCallCategory(Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/NotificationComparator;->isCallStyle(Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/NotificationComparator;->isImportantColorized(Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/NotificationComparator;->isImportantMessaging(Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/NotificationComparator;->isImportantOngoing(Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/NotificationComparator;->isImportantPeople(Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/NotificationComparator;->isMediaNotification(Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/NotificationComparator;->isSystemMax(Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/NotificationHistoryJobService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/notification/NotificationHistoryJobService;Landroid/app/job/JobParameters;)V
+PLcom/android/server/notification/NotificationHistoryJobService$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/notification/NotificationHistoryJobService;->$r8$lambda$PfUuCVFQEsG_hup-ySw0DwJnttY(Lcom/android/server/notification/NotificationHistoryJobService;Landroid/app/job/JobParameters;)V
+PLcom/android/server/notification/NotificationHistoryJobService;-><clinit>()V
+PLcom/android/server/notification/NotificationHistoryJobService;-><init>()V
+PLcom/android/server/notification/NotificationHistoryJobService;->attachBaseContext(Landroid/content/Context;)V
+PLcom/android/server/notification/NotificationHistoryJobService;->lambda$onStartJob$0(Landroid/app/job/JobParameters;)V
+PLcom/android/server/notification/NotificationHistoryJobService;->onStartJob(Landroid/app/job/JobParameters;)Z
+PLcom/android/server/notification/NotificationHistoryJobService;->scheduleJob(Landroid/content/Context;)V
+PLcom/android/server/notification/NotificationHistoryManager$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/notification/NotificationHistoryManager;Landroid/app/NotificationHistory$HistoricalNotification;)V
+PLcom/android/server/notification/NotificationHistoryManager$$ExternalSyntheticLambda0;->runOrThrow()V
+PLcom/android/server/notification/NotificationHistoryManager$SettingsObserver;-><init>(Lcom/android/server/notification/NotificationHistoryManager;Landroid/os/Handler;)V
+PLcom/android/server/notification/NotificationHistoryManager$SettingsObserver;->observe()V
+PLcom/android/server/notification/NotificationHistoryManager$SettingsObserver;->update(Landroid/net/Uri;I)V
+PLcom/android/server/notification/NotificationHistoryManager;->$r8$lambda$h_Z1DxUiaHb-t4mnDIKe8ap8bgM(Lcom/android/server/notification/NotificationHistoryManager;Landroid/app/NotificationHistory$HistoricalNotification;)V
+PLcom/android/server/notification/NotificationHistoryManager;->-$$Nest$fgetmContext(Lcom/android/server/notification/NotificationHistoryManager;)Landroid/content/Context;
+PLcom/android/server/notification/NotificationHistoryManager;->-$$Nest$fgetmLock(Lcom/android/server/notification/NotificationHistoryManager;)Ljava/lang/Object;
+PLcom/android/server/notification/NotificationHistoryManager;->-$$Nest$fgetmUserManager(Lcom/android/server/notification/NotificationHistoryManager;)Landroid/os/UserManager;
+PLcom/android/server/notification/NotificationHistoryManager;-><clinit>()V
+PLcom/android/server/notification/NotificationHistoryManager;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/notification/NotificationHistoryManager;->addNotification(Landroid/app/NotificationHistory$HistoricalNotification;)V
+PLcom/android/server/notification/NotificationHistoryManager;->cleanupHistoryFiles()V
+PLcom/android/server/notification/NotificationHistoryManager;->getUserHistoryAndInitializeIfNeededLocked(I)Lcom/android/server/notification/NotificationHistoryDatabase;
+PLcom/android/server/notification/NotificationHistoryManager;->lambda$addNotification$0(Landroid/app/NotificationHistory$HistoricalNotification;)V
+PLcom/android/server/notification/NotificationHistoryManager;->onBootPhaseAppsCanStart()V
+PLcom/android/server/notification/NotificationHistoryManager;->onHistoryEnabledChanged(IZ)V
+PLcom/android/server/notification/NotificationHistoryManager;->onUserUnlocked(I)V
+PLcom/android/server/notification/NotificationIntrusivenessExtractor$1;-><init>(Lcom/android/server/notification/NotificationIntrusivenessExtractor;Ljava/lang/String;J)V
+PLcom/android/server/notification/NotificationIntrusivenessExtractor$1;->applyChangesLocked(Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationIntrusivenessExtractor$1;->work()V
+PLcom/android/server/notification/NotificationIntrusivenessExtractor;-><clinit>()V
+PLcom/android/server/notification/NotificationIntrusivenessExtractor;-><init>()V
+PLcom/android/server/notification/NotificationIntrusivenessExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
+PLcom/android/server/notification/NotificationIntrusivenessExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+PLcom/android/server/notification/NotificationIntrusivenessExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+PLcom/android/server/notification/NotificationIntrusivenessExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+PLcom/android/server/notification/NotificationManagerService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$$ExternalSyntheticLambda0;->test(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
+PLcom/android/server/notification/NotificationManagerService$$ExternalSyntheticLambda12;-><init>()V
+PLcom/android/server/notification/NotificationManagerService$$ExternalSyntheticLambda14;-><init>(Lcom/android/server/notification/NotificationManagerService;Ljava/util/List;Lcom/android/server/notification/NotificationManagerService$PostNotificationTracker;Lcom/android/server/notification/NotificationRecordLogger$NotificationReported;)V
+PLcom/android/server/notification/NotificationManagerService$$ExternalSyntheticLambda14;->run()V
+PLcom/android/server/notification/NotificationManagerService$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/notification/NotificationManagerService$$ExternalSyntheticLambda2;->run()V
+PLcom/android/server/notification/NotificationManagerService$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$$ExternalSyntheticLambda7;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$$ExternalSyntheticLambda8;-><init>(Lcom/android/server/notification/NotificationManagerService;ZLandroid/app/Notification;ILjava/lang/String;I)V
+PLcom/android/server/notification/NotificationManagerService$$ExternalSyntheticLambda8;->run()V
+PLcom/android/server/notification/NotificationManagerService$$ExternalSyntheticLambda9;-><init>(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;I)V
+PLcom/android/server/notification/NotificationManagerService$$ExternalSyntheticLambda9;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/notification/NotificationManagerService$10;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$11;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$12$$ExternalSyntheticLambda0;-><init>(I)V
+PLcom/android/server/notification/NotificationManagerService$12$$ExternalSyntheticLambda0;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/notification/NotificationManagerService$12$1;-><init>(Lcom/android/server/notification/NotificationManagerService$12;Ljava/lang/String;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;[Landroid/service/notification/Condition;)V
+PLcom/android/server/notification/NotificationManagerService$12$1;->run()V
+PLcom/android/server/notification/NotificationManagerService$12;->$r8$lambda$9e1Zv0Eb_mTwUeFMV5TGSei42ck(I)Ljava/lang/Boolean;
+PLcom/android/server/notification/NotificationManagerService$12;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$12;->addToListIfNeeded(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Ljava/util/ArrayList;I)V
+HPLcom/android/server/notification/NotificationManagerService$12;->applyEnqueuedAdjustmentFromAssistant(Landroid/service/notification/INotificationListener;Landroid/service/notification/Adjustment;)V
+PLcom/android/server/notification/NotificationManagerService$12;->canManageGlobalZenPolicy(Ljava/lang/String;I)Z
+HPLcom/android/server/notification/NotificationManagerService$12;->canNotifyAsPackage(Ljava/lang/String;Ljava/lang/String;I)Z
+HPLcom/android/server/notification/NotificationManagerService$12;->cancelNotificationWithTag(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V
+PLcom/android/server/notification/NotificationManagerService$12;->checkPolicyAccess(Ljava/lang/String;)Z
+PLcom/android/server/notification/NotificationManagerService$12;->computeZenOrigin(Z)I
+PLcom/android/server/notification/NotificationManagerService$12;->createNotificationChannelGroups(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
+HPLcom/android/server/notification/NotificationManagerService$12;->createNotificationChannels(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
+HPLcom/android/server/notification/NotificationManagerService$12;->createNotificationChannelsImpl(Ljava/lang/String;ILandroid/content/pm/ParceledListSlice;I)V
+HPLcom/android/server/notification/NotificationManagerService$12;->deleteNotificationChannel(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService$12;->enforceDeletingChannelHasNoFgService(Ljava/lang/String;ILjava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService$12;->enforceDeletingChannelHasNoUserInitiatedJob(Ljava/lang/String;ILjava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService$12;->enforcePolicyAccess(Ljava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/notification/NotificationManagerService$12;->enforceSystemOrSystemUI(Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService$12;->enforceUserOriginOnlyFromSystem(ZLjava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService$12;->getActiveNotificationsFromListener(Landroid/service/notification/INotificationListener;[Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/notification/NotificationManagerService$12;->getAppActiveNotifications(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/notification/NotificationManagerService$12;->getConversationNotificationChannel(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;ZLjava/lang/String;)Landroid/app/NotificationChannel;
+PLcom/android/server/notification/NotificationManagerService$12;->getHintsFromListener(Landroid/service/notification/INotificationListener;)I
+PLcom/android/server/notification/NotificationManagerService$12;->getInterruptionFilterFromListener(Landroid/service/notification/INotificationListener;)I
+PLcom/android/server/notification/NotificationManagerService$12;->getNotificationChannel(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)Landroid/app/NotificationChannel;
+PLcom/android/server/notification/NotificationManagerService$12;->getNotificationChannels(Ljava/lang/String;Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/notification/NotificationManagerService$12;->getNotificationPolicy(Ljava/lang/String;)Landroid/app/NotificationManager$Policy;
+HPLcom/android/server/notification/NotificationManagerService$12;->getZenMode()I
+PLcom/android/server/notification/NotificationManagerService$12;->lambda$canManageGlobalZenPolicy$3(I)Ljava/lang/Boolean;
+PLcom/android/server/notification/NotificationManagerService$12;->notifyConditions(Ljava/lang/String;Landroid/service/notification/IConditionProvider;[Landroid/service/notification/Condition;)V
+PLcom/android/server/notification/NotificationManagerService$12;->registerListener(Landroid/service/notification/INotificationListener;Landroid/content/ComponentName;I)V
+PLcom/android/server/notification/NotificationManagerService$12;->requestHintsFromListener(Landroid/service/notification/INotificationListener;I)V
+HPLcom/android/server/notification/NotificationManagerService$12;->sanitizeSbn(Ljava/lang/String;ILandroid/service/notification/StatusBarNotification;)Landroid/service/notification/StatusBarNotification;
+HPLcom/android/server/notification/NotificationManagerService$12;->setNotificationPolicy(Ljava/lang/String;Landroid/app/NotificationManager$Policy;Z)V
+HPLcom/android/server/notification/NotificationManagerService$12;->setNotificationsEnabledForPackage(Ljava/lang/String;IZ)V
+PLcom/android/server/notification/NotificationManagerService$13;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+HPLcom/android/server/notification/NotificationManagerService$13;->areNotificationsEnabledForPackage(Ljava/lang/String;I)Z
+PLcom/android/server/notification/NotificationManagerService$13;->cleanupHistoryFiles()V
+PLcom/android/server/notification/NotificationManagerService$13;->enqueueNotification(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;ILandroid/app/Notification;IZ)V
+PLcom/android/server/notification/NotificationManagerService$13;->getNotificationChannel(Ljava/lang/String;ILjava/lang/String;)Landroid/app/NotificationChannel;
+PLcom/android/server/notification/NotificationManagerService$14;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$17$$ExternalSyntheticLambda0;-><init>(II)V
+PLcom/android/server/notification/NotificationManagerService$17$$ExternalSyntheticLambda0;->apply(I)Z
+PLcom/android/server/notification/NotificationManagerService$17;->$r8$lambda$7xcXDOw4oRqp0sGOkb6DeyNjqYA(III)Z
+HPLcom/android/server/notification/NotificationManagerService$17;-><init>(Lcom/android/server/notification/NotificationManagerService;IILjava/lang/String;IIIILjava/lang/String;J)V
+PLcom/android/server/notification/NotificationManagerService$17;->lambda$run$0(III)Z
+HPLcom/android/server/notification/NotificationManagerService$17;->run()V
+PLcom/android/server/notification/NotificationManagerService$1;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$2;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$3;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$4;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$5;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$5;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/notification/NotificationManagerService$6;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$6;->isProfileUnavailable(Ljava/lang/String;)Z
+PLcom/android/server/notification/NotificationManagerService$6;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/notification/NotificationManagerService$7;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$7;->onConfigChanged()V
+PLcom/android/server/notification/NotificationManagerService$8;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$9;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$Archive;-><init>(I)V
+PLcom/android/server/notification/NotificationManagerService$Archive;->updateHistoryEnabled(IZ)V
+HPLcom/android/server/notification/NotificationManagerService$CancelNotificationRunnable;-><init>(Lcom/android/server/notification/NotificationManagerService;IILjava/lang/String;Ljava/lang/String;IIIZIIIILcom/android/server/notification/ManagedServices$ManagedServiceInfo;J)V
+HPLcom/android/server/notification/NotificationManagerService$CancelNotificationRunnable;->run()V
+PLcom/android/server/notification/NotificationManagerService$EnqueueNotificationRunnable;-><init>(Lcom/android/server/notification/NotificationManagerService;ILcom/android/server/notification/NotificationRecord;ZLcom/android/server/notification/NotificationManagerService$PostNotificationTracker;)V
+HPLcom/android/server/notification/NotificationManagerService$EnqueueNotificationRunnable;->enqueueNotification()Z
+PLcom/android/server/notification/NotificationManagerService$EnqueueNotificationRunnable;->run()V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->-$$Nest$monNotificationEnqueuedLocked(Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;-><init>(Lcom/android/server/notification/NotificationManagerService;Landroid/content/Context;Ljava/lang/Object;Lcom/android/server/notification/ManagedServices$UserProfiles;Landroid/content/pm/IPackageManager;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->addApprovedList(Ljava/lang/String;IZLjava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->asInterface(Landroid/os/IBinder;)Landroid/os/IInterface;
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->ensureFilters(Landroid/content/pm/ServiceInfo;I)V
+HPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->getConfig()Lcom/android/server/notification/ManagedServices$Config;
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->getRequiredPermission()Ljava/lang/String;
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->hasUserSet(I)Z
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->isEnabled()Z
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->isVerboseLogEnabled()Z
+HPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->onNotificationEnqueuedLocked(Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->onServiceAdded(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->onServiceRemovedLocked(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->onUserUnlocked(I)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->resetDefaultAssistantsIfNecessary()V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->setPackageOrComponentEnabled(Ljava/lang/String;IZZZ)V
+HPLcom/android/server/notification/NotificationManagerService$NotificationListeners$$ExternalSyntheticLambda2;-><init>(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$$ExternalSyntheticLambda2;->run()V
+HPLcom/android/server/notification/NotificationManagerService$NotificationListeners$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannelGroup;I)V
+HPLcom/android/server/notification/NotificationManagerService$NotificationListeners$$ExternalSyntheticLambda4;->run()V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners$$ExternalSyntheticLambda8;-><init>(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/NotificationRankingUpdate;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners$$ExternalSyntheticLambda8;->run()V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners$$ExternalSyntheticLambda9;-><init>(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners$$ExternalSyntheticLambda9;->run()V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->$r8$lambda$0iWeY82Ox6K-WVRWLCpMEXmz-hA(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->$r8$lambda$6V9RGqXihQs6v7F21expZx6F_zc(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;->$r8$lambda$OSrMhYvlV-R3E77qIoH5pzE972U(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/NotificationRankingUpdate;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->$r8$lambda$VmcY63y9deVrzSb6PhmE8Uor26s(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannelGroup;I)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;-><init>(Lcom/android/server/notification/NotificationManagerService;Landroid/content/Context;Ljava/lang/Object;Lcom/android/server/notification/ManagedServices$UserProfiles;Landroid/content/pm/IPackageManager;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;-><init>(Lcom/android/server/notification/NotificationManagerService;Landroid/content/Context;Ljava/lang/Object;Lcom/android/server/notification/ManagedServices$UserProfiles;Landroid/content/pm/IPackageManager;Z)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->asInterface(Landroid/os/IBinder;)Landroid/os/IInterface;
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->checkType(Landroid/os/IInterface;)Z
+HPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->ensureFilters(Landroid/content/pm/ServiceInfo;I)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->getBindFlags()I
+HPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->getConfig()Lcom/android/server/notification/ManagedServices$Config;
+HPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->getNotificationListenerFilter(Landroid/util/Pair;)Landroid/service/notification/NotificationListenerFilter;
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->getOnNotificationPostedTrim(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)I
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->getRequiredPermission()Ljava/lang/String;
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->getTypesFromStringList(Ljava/lang/String;)I
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->hasSensitiveContent(Lcom/android/server/notification/NotificationRecord;)Z
+HPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->isAppTrustedNotificationListenerService(ILjava/lang/String;)Z
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->isListenerPackage(Ljava/lang/String;)Z
+HPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->isUidTrusted(I)Z
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->lambda$notifyListenerHintsChangedLocked$7(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->lambda$notifyNotificationChannelGroupChanged$10(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannelGroup;I)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->lambda$notifyRankingUpdateLocked$6(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/NotificationRankingUpdate;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->lambda$prepareNotifyPostedLocked$3(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationRankingUpdate;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyListenerHintsChanged(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyListenerHintsChangedLocked(I)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyNotificationChannelChanged(Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannel;I)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyNotificationChannelGroupChanged(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannelGroup;I)V
+HPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyNotificationChannelGroupChanged(Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannelGroup;I)V
+HPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyPosted(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationRankingUpdate;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyRankingUpdate(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/NotificationRankingUpdate;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyRankingUpdateLocked(Ljava/util/List;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->onPackagesChanged(Z[Ljava/lang/String;[I)V
+HPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->onServiceAdded(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->onServiceRemovedLocked(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
+HPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->prepareNotifyPostedLocked(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;Z)Ljava/util/List;
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->readExtraTag(Ljava/lang/String;Lcom/android/modules/utils/TypedXmlPullParser;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->shouldReflectToSettings()Z
+HPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->updateUriPermissionsForActiveNotificationsLocked(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Z)V
+HPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->writeExtraXmlTags(Lcom/android/modules/utils/TypedXmlSerializer;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationTrampolineCallback;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationTrampolineCallback;-><init>(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService$NotificationTrampolineCallback-IA;)V
+PLcom/android/server/notification/NotificationManagerService$PostNotificationRunnable$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/notification/NotificationManagerService$PostNotificationRunnable;Landroid/service/notification/StatusBarNotification;)V
+PLcom/android/server/notification/NotificationManagerService$PostNotificationRunnable$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/notification/NotificationManagerService$PostNotificationRunnable;->$r8$lambda$PZAL6WwFJkUEKBKj8Ma3rhxMHGQ(Lcom/android/server/notification/NotificationManagerService$PostNotificationRunnable;Landroid/service/notification/StatusBarNotification;)V
+PLcom/android/server/notification/NotificationManagerService$PostNotificationRunnable;-><init>(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;Ljava/lang/String;ILcom/android/server/notification/NotificationManagerService$PostNotificationTracker;)V
+PLcom/android/server/notification/NotificationManagerService$PostNotificationRunnable;->lambda$postNotification$0(Landroid/service/notification/StatusBarNotification;)V
+HPLcom/android/server/notification/NotificationManagerService$PostNotificationRunnable;->postNotification()Z
+PLcom/android/server/notification/NotificationManagerService$PostNotificationRunnable;->run()V
+PLcom/android/server/notification/NotificationManagerService$PostNotificationTracker$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/notification/NotificationManagerService$PostNotificationTracker;)V
+PLcom/android/server/notification/NotificationManagerService$PostNotificationTracker$$ExternalSyntheticLambda0;->runOrThrow()V
+PLcom/android/server/notification/NotificationManagerService$PostNotificationTracker$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/notification/NotificationManagerService$PostNotificationTracker;)V
+PLcom/android/server/notification/NotificationManagerService$PostNotificationTracker$$ExternalSyntheticLambda1;->runOrThrow()V
+PLcom/android/server/notification/NotificationManagerService$PostNotificationTracker;->$r8$lambda$Sj35ThxKAaMQVMJuJW7BiRrLEAE(Lcom/android/server/notification/NotificationManagerService$PostNotificationTracker;)V
+PLcom/android/server/notification/NotificationManagerService$PostNotificationTracker;->$r8$lambda$utPF6Nzeh5_1soUTRhYEbXDXUko(Lcom/android/server/notification/NotificationManagerService$PostNotificationTracker;)V
+PLcom/android/server/notification/NotificationManagerService$PostNotificationTracker;-><init>(Landroid/os/PowerManager$WakeLock;)V
+PLcom/android/server/notification/NotificationManagerService$PostNotificationTracker;->cancel()V
+PLcom/android/server/notification/NotificationManagerService$PostNotificationTracker;->finish()J
+PLcom/android/server/notification/NotificationManagerService$PostNotificationTracker;->getStartTime()J
+PLcom/android/server/notification/NotificationManagerService$PostNotificationTracker;->isOngoing()Z
+PLcom/android/server/notification/NotificationManagerService$PostNotificationTracker;->lambda$cancel$0()V
+PLcom/android/server/notification/NotificationManagerService$PostNotificationTracker;->lambda$finish$1()V
+PLcom/android/server/notification/NotificationManagerService$PostNotificationTrackerFactory;->newTracker(Landroid/os/PowerManager$WakeLock;)Lcom/android/server/notification/NotificationManagerService$PostNotificationTracker;
+PLcom/android/server/notification/NotificationManagerService$RankingHandlerWorker;-><init>(Lcom/android/server/notification/NotificationManagerService;Landroid/os/Looper;)V
+PLcom/android/server/notification/NotificationManagerService$RankingHandlerWorker;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/notification/NotificationManagerService$RankingHandlerWorker;->requestReconsideration(Lcom/android/server/notification/RankingReconsideration;)V
+PLcom/android/server/notification/NotificationManagerService$RankingHandlerWorker;->requestSort()V
+PLcom/android/server/notification/NotificationManagerService$RoleObserver;-><init>(Lcom/android/server/notification/NotificationManagerService;Landroid/content/Context;Landroid/app/role/RoleManager;Landroid/content/pm/IPackageManager;Landroid/os/Looper;)V
+PLcom/android/server/notification/NotificationManagerService$RoleObserver;->getUidForPackage(Ljava/lang/String;I)I
+HPLcom/android/server/notification/NotificationManagerService$RoleObserver;->init()V
+PLcom/android/server/notification/NotificationManagerService$RoleObserver;->updateTrampolineExemptUidsForUsers([Landroid/os/UserHandle;)V
+PLcom/android/server/notification/NotificationManagerService$SavePolicyFileRunnable;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$SavePolicyFileRunnable;-><init>(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService$SavePolicyFileRunnable-IA;)V
+HPLcom/android/server/notification/NotificationManagerService$SavePolicyFileRunnable;->run()V
+PLcom/android/server/notification/NotificationManagerService$SettingsObserver;-><init>(Lcom/android/server/notification/NotificationManagerService;Landroid/os/Handler;)V
+PLcom/android/server/notification/NotificationManagerService$SettingsObserver;->observe()V
+HPLcom/android/server/notification/NotificationManagerService$SettingsObserver;->update(Landroid/net/Uri;)V
+PLcom/android/server/notification/NotificationManagerService$SettingsObserver;->update(Landroid/net/Uri;I)V
+PLcom/android/server/notification/NotificationManagerService$StatsPullAtomCallbackImpl;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$StatsPullAtomCallbackImpl;-><init>(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService$StatsPullAtomCallbackImpl-IA;)V
+PLcom/android/server/notification/NotificationManagerService$StatusBarNotificationHolder;-><init>(Landroid/service/notification/StatusBarNotification;)V
+PLcom/android/server/notification/NotificationManagerService$StatusBarNotificationHolder;->get()Landroid/service/notification/StatusBarNotification;
+PLcom/android/server/notification/NotificationManagerService$StrongAuthTracker;-><init>(Lcom/android/server/notification/NotificationManagerService;Landroid/content/Context;)V
+PLcom/android/server/notification/NotificationManagerService$StrongAuthTracker;->containsFlag(II)Z
+PLcom/android/server/notification/NotificationManagerService$StrongAuthTracker;->isInLockDownMode(I)Z
+PLcom/android/server/notification/NotificationManagerService$StrongAuthTracker;->onStrongAuthRequiredChanged(I)V
+PLcom/android/server/notification/NotificationManagerService$TrimCache;-><init>(Lcom/android/server/notification/NotificationManagerService;Landroid/service/notification/StatusBarNotification;)V
+HPLcom/android/server/notification/NotificationManagerService$TrimCache;->ForListener(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Landroid/service/notification/StatusBarNotification;
+PLcom/android/server/notification/NotificationManagerService$WorkerHandler;-><init>(Lcom/android/server/notification/NotificationManagerService;Landroid/os/Looper;)V
+PLcom/android/server/notification/NotificationManagerService$WorkerHandler;->handleMessage(Landroid/os/Message;)V
+HPLcom/android/server/notification/NotificationManagerService$WorkerHandler;->scheduleCancelNotification(Lcom/android/server/notification/NotificationManagerService$CancelNotificationRunnable;)V
+PLcom/android/server/notification/NotificationManagerService$WorkerHandler;->scheduleOnPackageChanged(ZI[Ljava/lang/String;[I)V
+PLcom/android/server/notification/NotificationManagerService$WorkerHandler;->scheduleSendRankingUpdate()V
+PLcom/android/server/notification/NotificationManagerService;->$r8$lambda$KSVXNwYpWbJWXlirKt8w96U7ekE(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;I)Lcom/android/server/notification/NotificationManagerService$PostNotificationTracker;
+PLcom/android/server/notification/NotificationManagerService;->$r8$lambda$PUVk3ua6QO93dcxSaJqKaWqdiZ8(Lcom/android/server/notification/NotificationManagerService;ZLandroid/app/Notification;ILjava/lang/String;I)V
+PLcom/android/server/notification/NotificationManagerService;->$r8$lambda$bR17TwoBJJHHkkEdLkhQoDbOUCY(Lcom/android/server/notification/NotificationManagerService;Ljava/util/List;Lcom/android/server/notification/NotificationManagerService$PostNotificationTracker;Lcom/android/server/notification/NotificationRecordLogger$NotificationReported;)V
+PLcom/android/server/notification/NotificationManagerService;->$r8$lambda$o10mSbBYEzv2ExOhfnJTDZ0y_3k(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$fgetmAmi(Lcom/android/server/notification/NotificationManagerService;)Landroid/app/ActivityManagerInternal;
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$fgetmArchive(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationManagerService$Archive;
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$fgetmAtm(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/wm/ActivityTaskManagerInternal;
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$fgetmConditionProviders(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/ConditionProviders;
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$fgetmGroupHelper(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/GroupHelper;
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$fgetmHistoryManager(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationHistoryManager;
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$fgetmInterruptionFilter(Lcom/android/server/notification/NotificationManagerService;)I
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$fgetmListenerHints(Lcom/android/server/notification/NotificationManagerService;)I
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$fgetmListeners(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationManagerService$NotificationListeners;
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$fgetmMaxPackageEnqueueRate(Lcom/android/server/notification/NotificationManagerService;)F
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$fgetmNotificationInstanceIdSequence(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/internal/logging/InstanceIdSequence;
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$fgetmNotificationRecordLogger(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationRecordLogger;
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$fgetmPackageManagerClient(Lcom/android/server/notification/NotificationManagerService;)Landroid/content/pm/PackageManager;
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$fgetmPermissionHelper(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/PermissionHelper;
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$fgetmPolicyFile(Lcom/android/server/notification/NotificationManagerService;)Landroid/util/AtomicFile;
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$fgetmSettingsObserver(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationManagerService$SettingsObserver;
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$fgetmShortcutHelper(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/ShortcutHelper;
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$fgetmUm(Lcom/android/server/notification/NotificationManagerService;)Landroid/os/UserManager;
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$fgetmUsageStats(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationUsageStats;
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$fgetmUsageStatsManagerInternal(Lcom/android/server/notification/NotificationManagerService;)Landroid/app/usage/UsageStatsManagerInternal;
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$fgetmUserProfiles(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/ManagedServices$UserProfiles;
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$fputmMaxPackageEnqueueRate(Lcom/android/server/notification/NotificationManagerService;F)V
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$maddDisabledHints(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)V
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$mapplyAdjustment(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;Landroid/service/notification/Adjustment;)V
+HPLcom/android/server/notification/NotificationManagerService;->-$$Nest$mareNotificationsEnabledForPackageInt(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;I)Z
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$mcancelAllNotificationsByListLocked(Lcom/android/server/notification/NotificationManagerService;Ljava/util/ArrayList;Ljava/lang/String;ZLjava/lang/String;Lcom/android/server/notification/NotificationManagerService$FlagChecker;ZIZILjava/lang/String;ZJ)V
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$mcheckCallerIsSameApp(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$mcheckCallerIsSystem(Lcom/android/server/notification/NotificationManagerService;)V
+HPLcom/android/server/notification/NotificationManagerService;->-$$Nest$mcheckCallerIsSystemOrSameApp(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$mhandleGroupedNotificationLocked(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;II)V
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$mhandleListenerHintsChanged(Lcom/android/server/notification/NotificationManagerService;I)V
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$mhandleRankingReconsideration(Lcom/android/server/notification/NotificationManagerService;Landroid/os/Message;)V
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$mhandleSendRankingUpdate(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$mhasAutoGroupSummaryLocked(Lcom/android/server/notification/NotificationManagerService;Landroid/service/notification/StatusBarNotification;)Z
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$misCallNotification(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;I)Z
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$misCritical(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$mnotifyListenersPostedAndLogLocked(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationManagerService$PostNotificationTracker;Lcom/android/server/notification/NotificationRecordLogger$NotificationReported;)V
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$mremoveDisabledHints(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Z
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$mupdateEffectsSuppressorLocked(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$mupdateListenerHintsLocked(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$mupdateNotificationBubbleFlags(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;Z)V
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$mwritePolicyXml(Lcom/android/server/notification/NotificationManagerService;Ljava/io/OutputStream;ZI)V
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$sfgetMY_PID()I
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$sfgetMY_UID()I
+PLcom/android/server/notification/NotificationManagerService;->-$$Nest$smfindNotificationByListLocked(Ljava/util/ArrayList;Ljava/lang/String;)Lcom/android/server/notification/NotificationRecord;
+PLcom/android/server/notification/NotificationManagerService;-><clinit>()V
+PLcom/android/server/notification/NotificationManagerService;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/notification/NotificationManagerService;-><init>(Landroid/content/Context;Lcom/android/server/notification/NotificationRecordLogger;Lcom/android/internal/logging/InstanceIdSequence;)V
+PLcom/android/server/notification/NotificationManagerService;->acquireWakeLockForPost(Ljava/lang/String;I)Lcom/android/server/notification/NotificationManagerService$PostNotificationTracker;
+PLcom/android/server/notification/NotificationManagerService;->addDisabledHint(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)V
+PLcom/android/server/notification/NotificationManagerService;->addDisabledHints(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)V
+PLcom/android/server/notification/NotificationManagerService;->allowAssistant(ILandroid/content/ComponentName;)Z
+PLcom/android/server/notification/NotificationManagerService;->applyAdjustment(Lcom/android/server/notification/NotificationRecord;Landroid/service/notification/Adjustment;)V
+PLcom/android/server/notification/NotificationManagerService;->applyZenModeLocked(Lcom/android/server/notification/NotificationRecord;)V
+HPLcom/android/server/notification/NotificationManagerService;->areNotificationsEnabledForPackageInt(Ljava/lang/String;I)Z
+PLcom/android/server/notification/NotificationManagerService;->calculateHints()I
+PLcom/android/server/notification/NotificationManagerService;->calculateSuppressedEffects()J
+PLcom/android/server/notification/NotificationManagerService;->calculateSuppressedVisualEffects(Landroid/app/NotificationManager$Policy;Landroid/app/NotificationManager$Policy;I)I
+PLcom/android/server/notification/NotificationManagerService;->canUseManagedServices(Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;)Z
+HPLcom/android/server/notification/NotificationManagerService;->cancelAllNotificationsByListLocked(Ljava/util/ArrayList;Ljava/lang/String;ZLjava/lang/String;Lcom/android/server/notification/NotificationManagerService$FlagChecker;ZIZILjava/lang/String;ZJ)V
+HPLcom/android/server/notification/NotificationManagerService;->cancelAllNotificationsInt(IILjava/lang/String;Ljava/lang/String;IIII)V
+HPLcom/android/server/notification/NotificationManagerService;->cancelNotification(IILjava/lang/String;Ljava/lang/String;IIIZIIIILcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
+PLcom/android/server/notification/NotificationManagerService;->cancelNotification(IILjava/lang/String;Ljava/lang/String;IIIZIILcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
+HPLcom/android/server/notification/NotificationManagerService;->cancelNotificationInternal(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;III)V
+HPLcom/android/server/notification/NotificationManagerService;->checkCallerIsSameApp(Ljava/lang/String;)V
+HPLcom/android/server/notification/NotificationManagerService;->checkCallerIsSameApp(Ljava/lang/String;II)V
+PLcom/android/server/notification/NotificationManagerService;->checkCallerIsSystem()V
+HPLcom/android/server/notification/NotificationManagerService;->checkCallerIsSystemOrSameApp(Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService;->checkComponentPermission(Ljava/lang/String;IIZ)I
+HPLcom/android/server/notification/NotificationManagerService;->checkDisqualifyingFeatures(IIILjava/lang/String;Lcom/android/server/notification/NotificationRecord;ZZ)Z
+PLcom/android/server/notification/NotificationManagerService;->checkRemoteViews(Ljava/lang/String;Ljava/lang/String;ILandroid/app/Notification;)V
+PLcom/android/server/notification/NotificationManagerService;->checkRestrictedCategories(Landroid/app/Notification;)V
+PLcom/android/server/notification/NotificationManagerService;->clamp(III)I
+PLcom/android/server/notification/NotificationManagerService;->createNotificationChannelGroup(Ljava/lang/String;ILandroid/app/NotificationChannelGroup;ZZ)V
+PLcom/android/server/notification/NotificationManagerService;->createToastRateLimiter()Lcom/android/server/utils/quota/MultiRateLimiter;
+PLcom/android/server/notification/NotificationManagerService;->enqueueNotificationInternal(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;ILandroid/app/Notification;IZ)V
+HPLcom/android/server/notification/NotificationManagerService;->enqueueNotificationInternal(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;ILandroid/app/Notification;IZLcom/android/server/notification/NotificationManagerService$PostNotificationTracker;Z)Z
+PLcom/android/server/notification/NotificationManagerService;->enqueueNotificationInternal(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;ILandroid/app/Notification;IZZ)V
+PLcom/android/server/notification/NotificationManagerService;->findNotificationByListLocked(Ljava/util/ArrayList;Ljava/lang/String;)Lcom/android/server/notification/NotificationRecord;
+HPLcom/android/server/notification/NotificationManagerService;->findNotificationByListLocked(Ljava/util/ArrayList;Ljava/lang/String;Ljava/lang/String;II)Lcom/android/server/notification/NotificationRecord;
+HPLcom/android/server/notification/NotificationManagerService;->findNotificationLocked(Ljava/lang/String;Ljava/lang/String;II)Lcom/android/server/notification/NotificationRecord;
+PLcom/android/server/notification/NotificationManagerService;->findNotificationRecordIndexLocked(Lcom/android/server/notification/NotificationRecord;)I
+HPLcom/android/server/notification/NotificationManagerService;->fixNotification(Landroid/app/Notification;Ljava/lang/String;Ljava/lang/String;IIILandroid/app/ActivityManagerInternal$ServiceNotificationPolicy;Z)V
+PLcom/android/server/notification/NotificationManagerService;->getCompanionManager()Landroid/companion/ICompanionDeviceManager;
+PLcom/android/server/notification/NotificationManagerService;->getGroupHelper()Lcom/android/server/notification/GroupHelper;
+PLcom/android/server/notification/NotificationManagerService;->getGroupInstanceId(Ljava/lang/String;)Lcom/android/internal/logging/InstanceId;
+PLcom/android/server/notification/NotificationManagerService;->getHistoryText(Landroid/app/Notification;)Ljava/lang/String;
+PLcom/android/server/notification/NotificationManagerService;->getHistoryTitle(Landroid/app/Notification;)Ljava/lang/String;
+PLcom/android/server/notification/NotificationManagerService;->getNotificationChannelRestoreDeleted(Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;)Landroid/app/NotificationChannel;
+PLcom/android/server/notification/NotificationManagerService;->getRealUserId(I)I
+PLcom/android/server/notification/NotificationManagerService;->getStringArrayResource(I)[Ljava/lang/String;
+PLcom/android/server/notification/NotificationManagerService;->getSuppressors()Ljava/util/ArrayList;
+HPLcom/android/server/notification/NotificationManagerService;->grantUriPermission(Landroid/os/IBinder;Landroid/net/Uri;ILjava/lang/String;I)V
+PLcom/android/server/notification/NotificationManagerService;->handleGroupedNotificationLocked(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;II)V
+PLcom/android/server/notification/NotificationManagerService;->handleListenerHintsChanged(I)V
+PLcom/android/server/notification/NotificationManagerService;->handleOnPackageChanged(ZI[Ljava/lang/String;[I)V
+PLcom/android/server/notification/NotificationManagerService;->handleRankingReconsideration(Landroid/os/Message;)V
+PLcom/android/server/notification/NotificationManagerService;->handleRankingSort()V
+PLcom/android/server/notification/NotificationManagerService;->handleSavePolicyFile()V
+PLcom/android/server/notification/NotificationManagerService;->handleSendRankingUpdate()V
+PLcom/android/server/notification/NotificationManagerService;->hasAutoGroupSummaryLocked(Landroid/service/notification/StatusBarNotification;)Z
+PLcom/android/server/notification/NotificationManagerService;->hasCompanionDevice(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Z
+HPLcom/android/server/notification/NotificationManagerService;->hasCompanionDevice(Ljava/lang/String;ILjava/util/Set;)Z
+PLcom/android/server/notification/NotificationManagerService;->indexOfNotificationLocked(Ljava/lang/String;)I
+HPLcom/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;Landroid/app/ActivityManagerInternal;Lcom/android/server/utils/quota/MultiRateLimiter;Lcom/android/server/notification/PermissionHelper;Landroid/app/usage/UsageStatsManagerInternal;Landroid/telecom/TelecomManager;Lcom/android/server/notification/NotificationChannelLogger;Lcom/android/internal/config/sysui/SystemUiSystemPropertiesFlags$FlagResolver;Landroid/permission/PermissionManager;Landroid/os/PowerManager;Lcom/android/server/notification/NotificationManagerService$PostNotificationTrackerFactory;)V
+PLcom/android/server/notification/NotificationManagerService;->isCallNotification(Ljava/lang/String;I)Z
+PLcom/android/server/notification/NotificationManagerService;->isCallerInstantApp(II)Z
+PLcom/android/server/notification/NotificationManagerService;->isCallerSameApp(Ljava/lang/String;II)Z
+HPLcom/android/server/notification/NotificationManagerService;->isCallerSystemOrPhone()Z
+HPLcom/android/server/notification/NotificationManagerService;->isCallerSystemOrSystemUi()Z
+PLcom/android/server/notification/NotificationManagerService;->isCallingUidSystem()Z
+PLcom/android/server/notification/NotificationManagerService;->isCritical(Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/NotificationManagerService;->isDNDMigrationDone(I)Z
+HPLcom/android/server/notification/NotificationManagerService;->isInLockDownMode(I)Z
+HPLcom/android/server/notification/NotificationManagerService;->isInteractionVisibleToListener(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)Z
+PLcom/android/server/notification/NotificationManagerService;->isNASMigrationDone(I)Z
+PLcom/android/server/notification/NotificationManagerService;->isNotificationShownInternal(Ljava/lang/String;Ljava/lang/String;II)Z
+PLcom/android/server/notification/NotificationManagerService;->isPackagePausedOrSuspended(Ljava/lang/String;I)Z
+PLcom/android/server/notification/NotificationManagerService;->isPackageSuspendedForUser(Ljava/lang/String;I)Z
+PLcom/android/server/notification/NotificationManagerService;->isRecordBlockedLocked(Lcom/android/server/notification/NotificationRecord;)Z
+HPLcom/android/server/notification/NotificationManagerService;->isServiceTokenValid(Landroid/os/IInterface;)Z
+HPLcom/android/server/notification/NotificationManagerService;->isUidSystemOrPhone(I)Z
+HPLcom/android/server/notification/NotificationManagerService;->isVisibleToListener(Landroid/service/notification/StatusBarNotification;ILcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Z
+PLcom/android/server/notification/NotificationManagerService;->isVisuallyInterruptive(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;)Z
+HPLcom/android/server/notification/NotificationManagerService;->lambda$acquireWakeLockForPost$8(Ljava/lang/String;I)Lcom/android/server/notification/NotificationManagerService$PostNotificationTracker;
+HPLcom/android/server/notification/NotificationManagerService;->lambda$notifyListenersPostedAndLogLocked$13(Ljava/util/List;Lcom/android/server/notification/NotificationManagerService$PostNotificationTracker;Lcom/android/server/notification/NotificationRecordLogger$NotificationReported;)V
+PLcom/android/server/notification/NotificationManagerService;->lambda$onUserUnlocked$4(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/notification/NotificationManagerService;->lambda$reportForegroundServiceUpdate$7(ZLandroid/app/Notification;ILjava/lang/String;I)V
+PLcom/android/server/notification/NotificationManagerService;->loadPolicyFile()V
+HPLcom/android/server/notification/NotificationManagerService;->makeRankingUpdateLocked(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Landroid/service/notification/NotificationRankingUpdate;
+HPLcom/android/server/notification/NotificationManagerService;->maybeRecordInterruptionLocked(Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationManagerService;->maybeRegisterMessageSent(Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationManagerService;->maybeReportForegroundServiceUpdate(Lcom/android/server/notification/NotificationRecord;Z)V
+PLcom/android/server/notification/NotificationManagerService;->maybeShowInitialReviewPermissionsNotification()V
+PLcom/android/server/notification/NotificationManagerService;->migrateDefaultNAS()V
+HPLcom/android/server/notification/NotificationManagerService;->notificationMatchesUserId(Lcom/android/server/notification/NotificationRecord;IZ)Z
+PLcom/android/server/notification/NotificationManagerService;->notifyListenersPostedAndLogLocked(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationManagerService$PostNotificationTracker;Lcom/android/server/notification/NotificationRecordLogger$NotificationReported;)V
+PLcom/android/server/notification/NotificationManagerService;->onBootPhase(I)V
+HPLcom/android/server/notification/NotificationManagerService;->onBootPhase(ILandroid/os/Looper;)V
+HPLcom/android/server/notification/NotificationManagerService;->onStart()V
+PLcom/android/server/notification/NotificationManagerService;->onUserUnlocked(Lcom/android/server/SystemService$TargetUser;)V
+HPLcom/android/server/notification/NotificationManagerService;->readPolicyXml(Ljava/io/InputStream;ZI)V
+PLcom/android/server/notification/NotificationManagerService;->registerDeviceConfigChange()V
+PLcom/android/server/notification/NotificationManagerService;->registerNotificationPreferencesPullers()V
+PLcom/android/server/notification/NotificationManagerService;->removeDisabledHints(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Z
+PLcom/android/server/notification/NotificationManagerService;->removeDisabledHints(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)Z
+PLcom/android/server/notification/NotificationManagerService;->removeRemoteView(Ljava/lang/String;Ljava/lang/String;ILandroid/widget/RemoteViews;)Z
+PLcom/android/server/notification/NotificationManagerService;->reportForegroundServiceUpdate(ZLandroid/app/Notification;ILjava/lang/String;I)V
+PLcom/android/server/notification/NotificationManagerService;->resetDefaultDndIfNecessary()V
+HPLcom/android/server/notification/NotificationManagerService;->resolveNotificationUid(Ljava/lang/String;Ljava/lang/String;II)I
+PLcom/android/server/notification/NotificationManagerService;->revokeUriPermission(Landroid/os/IBinder;Landroid/net/Uri;ILjava/lang/String;I)V
+PLcom/android/server/notification/NotificationManagerService;->scheduleListenerHintsChanged(I)V
+PLcom/android/server/notification/NotificationManagerService;->scheduleTimeoutLocked(Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationManagerService;->sendRegisteredOnlyBroadcast(Landroid/content/Intent;)V
+PLcom/android/server/notification/NotificationManagerService;->sendRegisteredOnlyBroadcast(Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService;->setDefaultAssistantForUser(I)V
+PLcom/android/server/notification/NotificationManagerService;->setNotificationAssistantAccessGrantedForUserInternal(Landroid/content/ComponentName;IZZ)V
+PLcom/android/server/notification/NotificationManagerService;->updateEffectsSuppressorLocked()V
+PLcom/android/server/notification/NotificationManagerService;->updateListenerHintsLocked()V
+PLcom/android/server/notification/NotificationManagerService;->updateNotificationBubbleFlags(Lcom/android/server/notification/NotificationRecord;Z)V
+PLcom/android/server/notification/NotificationManagerService;->updateUriPermissions(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;Ljava/lang/String;I)V
+HPLcom/android/server/notification/NotificationManagerService;->updateUriPermissions(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;Ljava/lang/String;IZ)V
+HPLcom/android/server/notification/NotificationManagerService;->writePolicyXml(Ljava/io/OutputStream;ZI)V
+PLcom/android/server/notification/NotificationManagerService;->writeSecureNotificationsPolicy(Lcom/android/modules/utils/TypedXmlSerializer;)V
+PLcom/android/server/notification/NotificationRecord$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationRecord$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
+PLcom/android/server/notification/NotificationRecord;->$r8$lambda$m3xVdeXccEasPWsrg0D9LxsE8QE(Lcom/android/server/notification/NotificationRecord;Landroid/net/Uri;)V
+PLcom/android/server/notification/NotificationRecord;-><clinit>()V
+HPLcom/android/server/notification/NotificationRecord;-><init>(Landroid/content/Context;Landroid/service/notification/StatusBarNotification;Landroid/app/NotificationChannel;)V
+PLcom/android/server/notification/NotificationRecord;->addAdjustment(Landroid/service/notification/Adjustment;)V
+HPLcom/android/server/notification/NotificationRecord;->applyAdjustments()V
+PLcom/android/server/notification/NotificationRecord;->calculateAttributes()Landroid/media/AudioAttributes;
+PLcom/android/server/notification/NotificationRecord;->calculateGrantableUris()V
+HPLcom/android/server/notification/NotificationRecord;->calculateImportance()V
+HPLcom/android/server/notification/NotificationRecord;->calculateInitialImportance()I
+PLcom/android/server/notification/NotificationRecord;->calculateLights()Lcom/android/server/notification/NotificationRecord$Light;
+PLcom/android/server/notification/NotificationRecord;->calculateRankingTimeMs(J)J
+PLcom/android/server/notification/NotificationRecord;->calculateSound()Landroid/net/Uri;
+PLcom/android/server/notification/NotificationRecord;->calculateUserSentiment()V
+PLcom/android/server/notification/NotificationRecord;->calculateVibration()Landroid/os/VibrationEffect;
+HPLcom/android/server/notification/NotificationRecord;->canBubble()Z
+HPLcom/android/server/notification/NotificationRecord;->canShowBadge()Z
+PLcom/android/server/notification/NotificationRecord;->getAdjustmentIssuer()Ljava/lang/String;
+PLcom/android/server/notification/NotificationRecord;->getAssistantImportance()I
+PLcom/android/server/notification/NotificationRecord;->getAudioAttributes()Landroid/media/AudioAttributes;
+PLcom/android/server/notification/NotificationRecord;->getAuthoritativeRank()I
+PLcom/android/server/notification/NotificationRecord;->getChannel()Landroid/app/NotificationChannel;
+PLcom/android/server/notification/NotificationRecord;->getContactAffinity()F
+PLcom/android/server/notification/NotificationRecord;->getCriticality()I
+PLcom/android/server/notification/NotificationRecord;->getExposureMs(J)I
+HPLcom/android/server/notification/NotificationRecord;->getFlags()I
+PLcom/android/server/notification/NotificationRecord;->getFreshnessMs(J)I
+PLcom/android/server/notification/NotificationRecord;->getGlobalSortKey()Ljava/lang/String;
+PLcom/android/server/notification/NotificationRecord;->getGrantableUris()Landroid/util/ArraySet;
+PLcom/android/server/notification/NotificationRecord;->getGroupKey()Ljava/lang/String;
+HPLcom/android/server/notification/NotificationRecord;->getImportance()I
+HPLcom/android/server/notification/NotificationRecord;->getImportanceExplanation()Ljava/lang/CharSequence;
+PLcom/android/server/notification/NotificationRecord;->getImportanceExplanationCode()I
+PLcom/android/server/notification/NotificationRecord;->getInitialImportance()I
+PLcom/android/server/notification/NotificationRecord;->getInitialImportanceExplanationCode()I
+PLcom/android/server/notification/NotificationRecord;->getInterruptionMs(J)I
+HPLcom/android/server/notification/NotificationRecord;->getKey()Ljava/lang/String;
+PLcom/android/server/notification/NotificationRecord;->getKeyguardManager()Landroid/app/KeyguardManager;
+PLcom/android/server/notification/NotificationRecord;->getLastAudiblyAlertedMs()J
+PLcom/android/server/notification/NotificationRecord;->getLastIntrusive()J
+PLcom/android/server/notification/NotificationRecord;->getLifespanMs(J)I
+PLcom/android/server/notification/NotificationRecord;->getLogMaker()Landroid/metrics/LogMaker;
+HPLcom/android/server/notification/NotificationRecord;->getLogMaker(J)Landroid/metrics/LogMaker;
+HPLcom/android/server/notification/NotificationRecord;->getNotification()Landroid/app/Notification;
+HPLcom/android/server/notification/NotificationRecord;->getNotificationType()I
+PLcom/android/server/notification/NotificationRecord;->getPackagePriority()I
+HPLcom/android/server/notification/NotificationRecord;->getPackageVisibilityOverride()I
+PLcom/android/server/notification/NotificationRecord;->getPeopleOverride()Ljava/util/ArrayList;
+HPLcom/android/server/notification/NotificationRecord;->getProposedImportance()I
+HPLcom/android/server/notification/NotificationRecord;->getRankingScore()F
+HPLcom/android/server/notification/NotificationRecord;->getSbn()Landroid/service/notification/StatusBarNotification;
+PLcom/android/server/notification/NotificationRecord;->getShortcutInfo()Landroid/content/pm/ShortcutInfo;
+PLcom/android/server/notification/NotificationRecord;->getSmartReplies()Ljava/util/ArrayList;
+PLcom/android/server/notification/NotificationRecord;->getSnoozeCriteria()Ljava/util/ArrayList;
+PLcom/android/server/notification/NotificationRecord;->getSound()Landroid/net/Uri;
+HPLcom/android/server/notification/NotificationRecord;->getSuppressedVisualEffects()I
+PLcom/android/server/notification/NotificationRecord;->getSystemGeneratedSmartActions()Ljava/util/ArrayList;
+PLcom/android/server/notification/NotificationRecord;->getUid()I
+HPLcom/android/server/notification/NotificationRecord;->getUser()Landroid/os/UserHandle;
+HPLcom/android/server/notification/NotificationRecord;->getUserId()I
+PLcom/android/server/notification/NotificationRecord;->getUserSentiment()I
+PLcom/android/server/notification/NotificationRecord;->getVibration()Landroid/os/VibrationEffect;
+PLcom/android/server/notification/NotificationRecord;->getVibrationForChannel(Landroid/app/NotificationChannel;Lcom/android/server/notification/VibratorHelper;Z)Landroid/os/VibrationEffect;
+PLcom/android/server/notification/NotificationRecord;->hasRecordedInterruption()Z
+PLcom/android/server/notification/NotificationRecord;->hasSensitiveContent()Z
+PLcom/android/server/notification/NotificationRecord;->hasUndecoratedRemoteView()Z
+PLcom/android/server/notification/NotificationRecord;->isCategory(Ljava/lang/String;)Z
+HPLcom/android/server/notification/NotificationRecord;->isConversation()Z
+PLcom/android/server/notification/NotificationRecord;->isForegroundService()Z
+PLcom/android/server/notification/NotificationRecord;->isHidden()Z
+PLcom/android/server/notification/NotificationRecord;->isIntercepted()Z
+PLcom/android/server/notification/NotificationRecord;->isInterruptive()Z
+PLcom/android/server/notification/NotificationRecord;->isLocked()Z
+PLcom/android/server/notification/NotificationRecord;->isPreChannelsNotification()Z
+PLcom/android/server/notification/NotificationRecord;->isRecentlyIntrusive()Z
+HPLcom/android/server/notification/NotificationRecord;->isTextChanged()Z
+PLcom/android/server/notification/NotificationRecord;->lambda$calculateGrantableUris$0(Landroid/net/Uri;)V
+PLcom/android/server/notification/NotificationRecord;->setAllowBubble(Z)V
+PLcom/android/server/notification/NotificationRecord;->setAudiblyAlerted(Z)V
+PLcom/android/server/notification/NotificationRecord;->setAuthoritativeRank(I)V
+PLcom/android/server/notification/NotificationRecord;->setContactAffinity(F)V
+PLcom/android/server/notification/NotificationRecord;->setFlagBubbleRemoved(Z)V
+PLcom/android/server/notification/NotificationRecord;->setGlobalSortKey(Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationRecord;->setHasSentValidMsg(Z)V
+PLcom/android/server/notification/NotificationRecord;->setHidden(Z)V
+PLcom/android/server/notification/NotificationRecord;->setImportanceFixed(Z)V
+PLcom/android/server/notification/NotificationRecord;->setIntercepted(Z)Z
+PLcom/android/server/notification/NotificationRecord;->setInterruptive(Z)V
+PLcom/android/server/notification/NotificationRecord;->setIsAppImportanceLocked(Z)V
+PLcom/android/server/notification/NotificationRecord;->setPackagePriority(I)V
+PLcom/android/server/notification/NotificationRecord;->setPackageVisibilityOverride(I)V
+PLcom/android/server/notification/NotificationRecord;->setPkgAllowedAsConvo(Z)V
+PLcom/android/server/notification/NotificationRecord;->setPostSilently(Z)V
+PLcom/android/server/notification/NotificationRecord;->setRecentlyIntrusive(Z)V
+PLcom/android/server/notification/NotificationRecord;->setRecordedInterruption(Z)V
+PLcom/android/server/notification/NotificationRecord;->setShortcutInfo(Landroid/content/pm/ShortcutInfo;)V
+PLcom/android/server/notification/NotificationRecord;->setShowBadge(Z)V
+PLcom/android/server/notification/NotificationRecord;->setSuppressedVisualEffects(I)V
+PLcom/android/server/notification/NotificationRecord;->setTextChanged(Z)V
+PLcom/android/server/notification/NotificationRecord;->shouldPostSilently()Z
+PLcom/android/server/notification/NotificationRecord;->updateNotificationChannel(Landroid/app/NotificationChannel;)V
+PLcom/android/server/notification/NotificationRecord;->userDemotedAppFromConvoSpace(Z)V
+PLcom/android/server/notification/NotificationRecord;->visitGrantableUri(Landroid/net/Uri;ZZ)V
+PLcom/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
+PLcom/android/server/notification/NotificationRecordLogger$NotificationRecordPair;->getNumPeople()I
+PLcom/android/server/notification/NotificationRecordLogger$NotificationRecordPair;->getNumPeople(Landroid/os/Bundle;)I
+PLcom/android/server/notification/NotificationRecordLogger$NotificationRecordPair;->getStyle()I
+PLcom/android/server/notification/NotificationRecordLogger$NotificationRecordPair;->getStyle(Landroid/os/Bundle;)I
+PLcom/android/server/notification/NotificationRecordLogger$NotificationRecordPair;->shouldLogReported(I)Z
+HPLcom/android/server/notification/NotificationRecordLogger$NotificationReported;-><init>(Lcom/android/server/notification/NotificationRecordLogger$NotificationRecordPair;Lcom/android/server/notification/NotificationRecordLogger$NotificationReportedEvent;IILcom/android/internal/logging/InstanceId;)V
+PLcom/android/server/notification/NotificationRecordLogger$NotificationReportedEvent;->$values()[Lcom/android/server/notification/NotificationRecordLogger$NotificationReportedEvent;
+PLcom/android/server/notification/NotificationRecordLogger$NotificationReportedEvent;-><clinit>()V
+PLcom/android/server/notification/NotificationRecordLogger$NotificationReportedEvent;-><init>(Ljava/lang/String;II)V
+PLcom/android/server/notification/NotificationRecordLogger$NotificationReportedEvent;->fromRecordPair(Lcom/android/server/notification/NotificationRecordLogger$NotificationRecordPair;)Lcom/android/server/notification/NotificationRecordLogger$NotificationReportedEvent;
+PLcom/android/server/notification/NotificationRecordLogger$NotificationReportedEvent;->getId()I
+PLcom/android/server/notification/NotificationRecordLogger;->getAgeInMinutes(JJ)I
+PLcom/android/server/notification/NotificationRecordLogger;->getFsiState(ZZLcom/android/server/notification/NotificationRecordLogger$NotificationReportedEvent;)I
+PLcom/android/server/notification/NotificationRecordLogger;->getLoggingImportance(Lcom/android/server/notification/NotificationRecord;)I
+PLcom/android/server/notification/NotificationRecordLogger;->isForegroundService(Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/NotificationRecordLogger;->isNonDismissible(Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/NotificationRecordLogger;->prepareToLogNotificationPosted(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;IILcom/android/internal/logging/InstanceId;)Lcom/android/server/notification/NotificationRecordLogger$NotificationReported;
+PLcom/android/server/notification/NotificationRecordLoggerImpl;-><init>()V
+PLcom/android/server/notification/NotificationRecordLoggerImpl;->logNotificationPosted(Lcom/android/server/notification/NotificationRecordLogger$NotificationReported;)V
+HPLcom/android/server/notification/NotificationRecordLoggerImpl;->writeNotificationReportedAtom(Lcom/android/server/notification/NotificationRecordLogger$NotificationReported;)V
+PLcom/android/server/notification/NotificationUsageStats$1;-><init>(Lcom/android/server/notification/NotificationUsageStats;Landroid/os/Looper;)V
+HPLcom/android/server/notification/NotificationUsageStats$AggregatedStats;-><init>(Landroid/content/Context;Ljava/lang/String;)V
+HPLcom/android/server/notification/NotificationUsageStats$AggregatedStats;->countApiUse(Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationUsageStats$AggregatedStats;->updateInterarrivalEstimate(J)V
+PLcom/android/server/notification/NotificationUsageStats$ImportanceHistogram;-><clinit>()V
+HPLcom/android/server/notification/NotificationUsageStats$ImportanceHistogram;-><init>(Landroid/content/Context;Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationUsageStats$ImportanceHistogram;->increment(I)V
+PLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;-><init>()V
+PLcom/android/server/notification/NotificationUsageStats;-><clinit>()V
+PLcom/android/server/notification/NotificationUsageStats;-><init>(Landroid/content/Context;)V
+PLcom/android/server/notification/NotificationUsageStats;->getAggregatedStatsLocked(Lcom/android/server/notification/NotificationRecord;)[Lcom/android/server/notification/NotificationUsageStats$AggregatedStats;
+HPLcom/android/server/notification/NotificationUsageStats;->getAggregatedStatsLocked(Ljava/lang/String;)[Lcom/android/server/notification/NotificationUsageStats$AggregatedStats;
+HPLcom/android/server/notification/NotificationUsageStats;->getOrCreateAggregatedStatsLocked(Ljava/lang/String;)Lcom/android/server/notification/NotificationUsageStats$AggregatedStats;
+PLcom/android/server/notification/NotificationUsageStats;->registerEnqueuedByApp(Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationUsageStats;->registerEnqueuedByAppAndAccepted(Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationUsageStats;->registerPeopleAffinity(Lcom/android/server/notification/NotificationRecord;ZZZ)V
+PLcom/android/server/notification/NotificationUsageStats;->registerPostedByApp(Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationUsageStats;->releaseAggregatedStatsLocked([Lcom/android/server/notification/NotificationUsageStats$AggregatedStats;)V
+PLcom/android/server/notification/PermissionHelper;-><init>(Landroid/content/Context;Landroid/content/pm/IPackageManager;Landroid/permission/IPermissionManager;)V
+HPLcom/android/server/notification/PermissionHelper;->hasPermission(I)Z
+HPLcom/android/server/notification/PermissionHelper;->isPermissionFixed(Ljava/lang/String;I)Z
+PLcom/android/server/notification/PermissionHelper;->isPermissionUserSet(Ljava/lang/String;I)Z
+PLcom/android/server/notification/PreferencesHelper$Delegate;-><init>(Ljava/lang/String;IZ)V
+HPLcom/android/server/notification/PreferencesHelper$PackagePreferences;-><init>()V
+PLcom/android/server/notification/PreferencesHelper$PackagePreferences;-><init>(Lcom/android/server/notification/PreferencesHelper$PackagePreferences-IA;)V
+PLcom/android/server/notification/PreferencesHelper;-><init>(Landroid/content/Context;Landroid/content/pm/PackageManager;Lcom/android/server/notification/RankingHandler;Lcom/android/server/notification/ZenModeHelper;Lcom/android/server/notification/PermissionHelper;Landroid/permission/PermissionManager;Lcom/android/server/notification/NotificationChannelLogger;Landroid/app/AppOpsManager;Lcom/android/server/notification/ManagedServices$UserProfiles;Z)V
+PLcom/android/server/notification/PreferencesHelper;->badgingEnabled(Landroid/os/UserHandle;)Z
+PLcom/android/server/notification/PreferencesHelper;->bubblesEnabled(Landroid/os/UserHandle;)Z
+PLcom/android/server/notification/PreferencesHelper;->canShowBadge(Ljava/lang/String;I)Z
+PLcom/android/server/notification/PreferencesHelper;->canShowNotificationsOnLockscreen(I)Z
+PLcom/android/server/notification/PreferencesHelper;->canShowPrivateNotificationsOnLockScreen(I)Z
+PLcom/android/server/notification/PreferencesHelper;->channelIsLiveLocked(Lcom/android/server/notification/PreferencesHelper$PackagePreferences;Landroid/app/NotificationChannel;)Z
+HPLcom/android/server/notification/PreferencesHelper;->createDefaultChannelIfNeededLocked(Lcom/android/server/notification/PreferencesHelper$PackagePreferences;)Z
+HPLcom/android/server/notification/PreferencesHelper;->createNotificationChannel(Ljava/lang/String;ILandroid/app/NotificationChannel;ZZIZ)Z
+HPLcom/android/server/notification/PreferencesHelper;->createNotificationChannelGroup(Ljava/lang/String;ILandroid/app/NotificationChannelGroup;ZIZ)V
+HPLcom/android/server/notification/PreferencesHelper;->deleteDefaultChannelIfNeededLocked(Lcom/android/server/notification/PreferencesHelper$PackagePreferences;)Z
+PLcom/android/server/notification/PreferencesHelper;->deleteNotificationChannel(Ljava/lang/String;ILjava/lang/String;IZ)Z
+PLcom/android/server/notification/PreferencesHelper;->getBubblePreference(Ljava/lang/String;I)I
+HPLcom/android/server/notification/PreferencesHelper;->getConversationNotificationChannel(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;ZZ)Landroid/app/NotificationChannel;
+PLcom/android/server/notification/PreferencesHelper;->getNotificationChannel(Ljava/lang/String;ILjava/lang/String;Z)Landroid/app/NotificationChannel;
+PLcom/android/server/notification/PreferencesHelper;->getNotificationChannelGroup(Ljava/lang/String;Ljava/lang/String;I)Landroid/app/NotificationChannelGroup;
+HPLcom/android/server/notification/PreferencesHelper;->getNotificationChannels(Ljava/lang/String;IZ)Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/notification/PreferencesHelper;->getOrCreatePackagePreferencesLocked(Ljava/lang/String;I)Lcom/android/server/notification/PreferencesHelper$PackagePreferences;
+HPLcom/android/server/notification/PreferencesHelper;->getOrCreatePackagePreferencesLocked(Ljava/lang/String;IIIIIZI)Lcom/android/server/notification/PreferencesHelper$PackagePreferences;
+HPLcom/android/server/notification/PreferencesHelper;->getPackagePreferencesLocked(Ljava/lang/String;I)Lcom/android/server/notification/PreferencesHelper$PackagePreferences;
+PLcom/android/server/notification/PreferencesHelper;->hasSentValidMsg(Ljava/lang/String;I)Z
+PLcom/android/server/notification/PreferencesHelper;->hasUserDemotedInvalidMsgApp(Ljava/lang/String;I)Z
+HPLcom/android/server/notification/PreferencesHelper;->isDeletionOk(Landroid/app/NotificationChannel;)Z
+PLcom/android/server/notification/PreferencesHelper;->isGroupBlocked(Ljava/lang/String;ILjava/lang/String;)Z
+PLcom/android/server/notification/PreferencesHelper;->isInInvalidMsgState(Ljava/lang/String;I)Z
+PLcom/android/server/notification/PreferencesHelper;->isMediaNotificationFilteringEnabled()Z
+HPLcom/android/server/notification/PreferencesHelper;->isShortcutOk(Landroid/app/NotificationChannel;)Z
+PLcom/android/server/notification/PreferencesHelper;->migrateNotificationPermissions(Ljava/util/List;)V
+PLcom/android/server/notification/PreferencesHelper;->onPackagesChanged(ZI[Ljava/lang/String;[I)Z
+HPLcom/android/server/notification/PreferencesHelper;->packagePreferencesKey(Ljava/lang/String;I)Ljava/lang/String;
+HPLcom/android/server/notification/PreferencesHelper;->readXml(Lcom/android/modules/utils/TypedXmlPullParser;ZI)V
+HPLcom/android/server/notification/PreferencesHelper;->restoreChannel(Lcom/android/modules/utils/TypedXmlPullParser;ZLcom/android/server/notification/PreferencesHelper$PackagePreferences;)V
+HPLcom/android/server/notification/PreferencesHelper;->restorePackage(Lcom/android/modules/utils/TypedXmlPullParser;ZILjava/lang/String;ZZ)V
+HPLcom/android/server/notification/PreferencesHelper;->shouldHaveDefaultChannel(Lcom/android/server/notification/PreferencesHelper$PackagePreferences;)Z
+PLcom/android/server/notification/PreferencesHelper;->syncChannelsBypassingDnd()V
+PLcom/android/server/notification/PreferencesHelper;->unrestoredPackageKey(Ljava/lang/String;I)Ljava/lang/String;
+PLcom/android/server/notification/PreferencesHelper;->updateBadgingEnabled()V
+PLcom/android/server/notification/PreferencesHelper;->updateBubblesEnabled()V
+PLcom/android/server/notification/PreferencesHelper;->updateConfig()V
+PLcom/android/server/notification/PreferencesHelper;->updateCurrentUserHasChannelsBypassingDnd(IZ)V
+PLcom/android/server/notification/PreferencesHelper;->updateDefaultApps(ILandroid/util/ArraySet;Landroid/util/ArraySet;)V
+HPLcom/android/server/notification/PreferencesHelper;->updateFixedImportance(Ljava/util/List;)V
+PLcom/android/server/notification/PreferencesHelper;->updateLockScreenPrivateNotifications()V
+PLcom/android/server/notification/PreferencesHelper;->updateLockScreenShowNotifications()V
+PLcom/android/server/notification/PreferencesHelper;->updateMediaNotificationFilteringEnabled()V
+HPLcom/android/server/notification/PreferencesHelper;->writeXml(Lcom/android/modules/utils/TypedXmlSerializer;ZI)V
+PLcom/android/server/notification/PriorityExtractor;-><init>()V
+PLcom/android/server/notification/PriorityExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
+PLcom/android/server/notification/PriorityExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+PLcom/android/server/notification/PriorityExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+PLcom/android/server/notification/PriorityExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+PLcom/android/server/notification/PropConfig;->getStringArray(Landroid/content/Context;Ljava/lang/String;I)[Ljava/lang/String;
+PLcom/android/server/notification/RankingHelper;-><init>(Landroid/content/Context;Lcom/android/server/notification/RankingHandler;Lcom/android/server/notification/RankingConfig;Lcom/android/server/notification/ZenModeHelper;Lcom/android/server/notification/NotificationUsageStats;[Ljava/lang/String;)V
+PLcom/android/server/notification/RankingHelper;->extractSignals(Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/RankingHelper;->findExtractor(Ljava/lang/Class;)Lcom/android/server/notification/NotificationSignalExtractor;
+PLcom/android/server/notification/RankingHelper;->indexOf(Ljava/util/ArrayList;Lcom/android/server/notification/NotificationRecord;)I
+HPLcom/android/server/notification/RankingHelper;->sort(Ljava/util/ArrayList;)V
+PLcom/android/server/notification/RankingReconsideration;-><init>(Ljava/lang/String;J)V
+PLcom/android/server/notification/RankingReconsideration;->getDelay(Ljava/util/concurrent/TimeUnit;)J
+PLcom/android/server/notification/RankingReconsideration;->getKey()Ljava/lang/String;
+PLcom/android/server/notification/RankingReconsideration;->run()V
+PLcom/android/server/notification/RateEstimator;-><init>()V
+PLcom/android/server/notification/RateEstimator;->getInterarrivalEstimate(J)D
+PLcom/android/server/notification/RateEstimator;->update(J)V
+PLcom/android/server/notification/ReviewNotificationPermissionsReceiver;-><clinit>()V
+PLcom/android/server/notification/ReviewNotificationPermissionsReceiver;-><init>()V
+PLcom/android/server/notification/ReviewNotificationPermissionsReceiver;->getFilter()Landroid/content/IntentFilter;
+PLcom/android/server/notification/ScheduleConditionProvider$1;-><init>(Lcom/android/server/notification/ScheduleConditionProvider;)V
+PLcom/android/server/notification/ScheduleConditionProvider$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/notification/ScheduleConditionProvider;->-$$Nest$mevaluateSubscriptions(Lcom/android/server/notification/ScheduleConditionProvider;)V
+PLcom/android/server/notification/ScheduleConditionProvider;-><clinit>()V
+PLcom/android/server/notification/ScheduleConditionProvider;-><init>()V
+PLcom/android/server/notification/ScheduleConditionProvider;->asInterface()Landroid/service/notification/IConditionProvider;
+PLcom/android/server/notification/ScheduleConditionProvider;->attachBase(Landroid/content/Context;)V
+PLcom/android/server/notification/ScheduleConditionProvider;->conditionSnoozed(Landroid/net/Uri;)Z
+PLcom/android/server/notification/ScheduleConditionProvider;->createCondition(Landroid/net/Uri;ILjava/lang/String;)Landroid/service/notification/Condition;
+PLcom/android/server/notification/ScheduleConditionProvider;->evaluateSubscriptionLocked(Landroid/net/Uri;Landroid/service/notification/ScheduleCalendar;JJ)Landroid/service/notification/Condition;
+HPLcom/android/server/notification/ScheduleConditionProvider;->evaluateSubscriptions()V
+PLcom/android/server/notification/ScheduleConditionProvider;->getComponent()Landroid/content/ComponentName;
+PLcom/android/server/notification/ScheduleConditionProvider;->getNextAlarm()J
+PLcom/android/server/notification/ScheduleConditionProvider;->getPendingIntent(J)Landroid/app/PendingIntent;
+PLcom/android/server/notification/ScheduleConditionProvider;->isValidConditionId(Landroid/net/Uri;)Z
+PLcom/android/server/notification/ScheduleConditionProvider;->onBootComplete()V
+PLcom/android/server/notification/ScheduleConditionProvider;->onConnected()V
+PLcom/android/server/notification/ScheduleConditionProvider;->onSubscribe(Landroid/net/Uri;)V
+PLcom/android/server/notification/ScheduleConditionProvider;->readSnoozed()V
+PLcom/android/server/notification/ScheduleConditionProvider;->setRegistered(Z)V
+PLcom/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;-><clinit>()V
+PLcom/android/server/notification/ShortcutHelper;-><init>(Landroid/content/pm/LauncherApps;Lcom/android/server/notification/ShortcutHelper$ShortcutListener;Landroid/content/pm/ShortcutServiceInternal;Landroid/os/UserManager;)V
+PLcom/android/server/notification/ShortcutHelper;->getValidShortcutInfo(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/pm/ShortcutInfo;
+PLcom/android/server/notification/ShortcutHelper;->maybeListenForShortcutChangesForBubbles(Lcom/android/server/notification/NotificationRecord;ZLandroid/os/Handler;)V
+PLcom/android/server/notification/SmallHash;->hash(I)I
+PLcom/android/server/notification/SmallHash;->hash(Ljava/lang/String;)I
+PLcom/android/server/notification/SnoozeHelper$$ExternalSyntheticLambda3;-><init>(JLcom/android/modules/utils/TypedXmlSerializer;)V
+PLcom/android/server/notification/SnoozeHelper$$ExternalSyntheticLambda4;-><init>(Lcom/android/modules/utils/TypedXmlSerializer;)V
+PLcom/android/server/notification/SnoozeHelper$1;-><init>(Lcom/android/server/notification/SnoozeHelper;)V
+PLcom/android/server/notification/SnoozeHelper;-><clinit>()V
+PLcom/android/server/notification/SnoozeHelper;-><init>(Landroid/content/Context;Lcom/android/server/notification/SnoozeHelper$Callback;Lcom/android/server/notification/ManagedServices$UserProfiles;)V
+PLcom/android/server/notification/SnoozeHelper;->cancel(ILjava/lang/String;)Z
+HPLcom/android/server/notification/SnoozeHelper;->cancel(ILjava/lang/String;Ljava/lang/String;I)Z
+PLcom/android/server/notification/SnoozeHelper;->getSnoozeContextForUnpostedNotification(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/notification/SnoozeHelper;->getSnoozeTimeForUnpostedNotification(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/Long;
+HPLcom/android/server/notification/SnoozeHelper;->getSnoozed(ILjava/lang/String;)Ljava/util/Collection;
+PLcom/android/server/notification/SnoozeHelper;->getTrimmedString(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/notification/SnoozeHelper;->isSnoozed(ILjava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/notification/SnoozeHelper;->readXml(Lcom/android/modules/utils/TypedXmlPullParser;J)V
+PLcom/android/server/notification/SnoozeHelper;->scheduleRepostsForPersistedNotifications(J)V
+HPLcom/android/server/notification/SnoozeHelper;->writeXml(Lcom/android/modules/utils/TypedXmlSerializer;)V
+PLcom/android/server/notification/SnoozeHelper;->writeXml(Lcom/android/modules/utils/TypedXmlSerializer;Landroid/util/ArrayMap;Ljava/lang/String;Lcom/android/server/notification/SnoozeHelper$Inserter;)V
+PLcom/android/server/notification/SystemConditionProviderService;-><init>()V
+PLcom/android/server/notification/SystemConditionProviderService;->formatDuration(J)Ljava/lang/String;
+HPLcom/android/server/notification/SystemConditionProviderService;->ts(J)Ljava/lang/String;
+PLcom/android/server/notification/ValidateNotificationPeople$1;-><init>(Lcom/android/server/notification/ValidateNotificationPeople;Landroid/os/Handler;)V
+PLcom/android/server/notification/ValidateNotificationPeople;-><clinit>()V
+PLcom/android/server/notification/ValidateNotificationPeople;-><init>()V
+PLcom/android/server/notification/ValidateNotificationPeople;->combineLists([Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
+PLcom/android/server/notification/ValidateNotificationPeople;->getContextAsUser(Landroid/os/UserHandle;)Landroid/content/Context;
+PLcom/android/server/notification/ValidateNotificationPeople;->getExtraPeople(Landroid/os/Bundle;)[Ljava/lang/String;
+PLcom/android/server/notification/ValidateNotificationPeople;->getExtraPeopleForKey(Landroid/os/Bundle;Ljava/lang/String;)[Ljava/lang/String;
+PLcom/android/server/notification/ValidateNotificationPeople;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
+PLcom/android/server/notification/ValidateNotificationPeople;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+PLcom/android/server/notification/ValidateNotificationPeople;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+PLcom/android/server/notification/ValidateNotificationPeople;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+PLcom/android/server/notification/ValidateNotificationPeople;->validatePeople(Landroid/content/Context;Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+PLcom/android/server/notification/ValidateNotificationPeople;->validatePeople(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;Ljava/util/List;[FLandroid/util/ArraySet;)Lcom/android/server/notification/ValidateNotificationPeople$PeopleRankingReconsideration;
+PLcom/android/server/notification/VibratorHelper;-><clinit>()V
+HPLcom/android/server/notification/VibratorHelper;-><init>(Landroid/content/Context;)V
+PLcom/android/server/notification/VibratorHelper;->getFloatArray(Landroid/content/res/Resources;I)[F
+PLcom/android/server/notification/VibratorHelper;->getLongArray(Landroid/content/res/Resources;II[J)[J
+PLcom/android/server/notification/VisibilityExtractor;-><init>()V
+PLcom/android/server/notification/VisibilityExtractor;->adminAllowsKeyguardFeature(II)Z
+PLcom/android/server/notification/VisibilityExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
+PLcom/android/server/notification/VisibilityExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+PLcom/android/server/notification/VisibilityExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+PLcom/android/server/notification/VisibilityExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+PLcom/android/server/notification/ZenLog;-><clinit>()V
+HPLcom/android/server/notification/ZenLog;->append(ILjava/lang/String;)V
+PLcom/android/server/notification/ZenLog;->componentListToString(Ljava/util/List;)Ljava/lang/String;
+PLcom/android/server/notification/ZenLog;->componentToString(Landroid/content/ComponentName;)Ljava/lang/String;
+PLcom/android/server/notification/ZenLog;->hintsToString(I)Ljava/lang/String;
+PLcom/android/server/notification/ZenLog;->subscribeResult(Landroid/service/notification/IConditionProvider;Landroid/os/RemoteException;)Ljava/lang/String;
+PLcom/android/server/notification/ZenLog;->traceConfig(Ljava/lang/String;Landroid/content/ComponentName;Landroid/service/notification/ZenModeConfig;Landroid/service/notification/ZenModeConfig;I)V
+PLcom/android/server/notification/ZenLog;->traceDisableEffects(Lcom/android/server/notification/NotificationRecord;Ljava/lang/String;)V
+PLcom/android/server/notification/ZenLog;->traceEffectsSuppressorChanged(Ljava/util/List;Ljava/util/List;J)V
+PLcom/android/server/notification/ZenLog;->traceListenerHintsChanged(III)V
+PLcom/android/server/notification/ZenLog;->traceSetNotificationPolicy(Ljava/lang/String;ILandroid/app/NotificationManager$Policy;)V
+HPLcom/android/server/notification/ZenLog;->traceSetZenMode(ILjava/lang/String;)V
+PLcom/android/server/notification/ZenLog;->traceSubscribe(Landroid/net/Uri;Landroid/service/notification/IConditionProvider;Landroid/os/RemoteException;)V
+PLcom/android/server/notification/ZenLog;->typeToString(I)Ljava/lang/String;
+PLcom/android/server/notification/ZenLog;->zenModeToString(I)Ljava/lang/String;
+PLcom/android/server/notification/ZenModeConditions;-><clinit>()V
+PLcom/android/server/notification/ZenModeConditions;-><init>(Lcom/android/server/notification/ZenModeHelper;Lcom/android/server/notification/ConditionProviders;)V
+HPLcom/android/server/notification/ZenModeConditions;->evaluateConfig(Landroid/service/notification/ZenModeConfig;Landroid/content/ComponentName;Z)V
+HPLcom/android/server/notification/ZenModeConditions;->evaluateRule(Landroid/service/notification/ZenModeConfig$ZenRule;Landroid/util/ArraySet;Landroid/content/ComponentName;Z)V
+PLcom/android/server/notification/ZenModeConditions;->onBootComplete()V
+PLcom/android/server/notification/ZenModeConditions;->onConditionChanged(Landroid/net/Uri;Landroid/service/notification/Condition;)V
+PLcom/android/server/notification/ZenModeConditions;->onUserSwitched()V
+PLcom/android/server/notification/ZenModeConditions;->updateSnoozing(Landroid/service/notification/ZenModeConfig$ZenRule;)Z
+HPLcom/android/server/notification/ZenModeEventLogger$ZenModeInfo;-><init>(ILandroid/service/notification/ZenModeConfig;Landroid/app/NotificationManager$Policy;)V
+PLcom/android/server/notification/ZenModeEventLogger$ZenStateChanges;->-$$Nest$minit(Lcom/android/server/notification/ZenModeEventLogger$ZenStateChanges;Lcom/android/server/notification/ZenModeEventLogger$ZenModeInfo;Lcom/android/server/notification/ZenModeEventLogger$ZenModeInfo;II)V
+PLcom/android/server/notification/ZenModeEventLogger$ZenStateChanges;->-$$Nest$mshouldLogChanges(Lcom/android/server/notification/ZenModeEventLogger$ZenStateChanges;)Z
+PLcom/android/server/notification/ZenModeEventLogger$ZenStateChanges;-><init>()V
+PLcom/android/server/notification/ZenModeEventLogger$ZenStateChanges;->hasActiveRuleCountDiff()Z
+HPLcom/android/server/notification/ZenModeEventLogger$ZenStateChanges;->init(Lcom/android/server/notification/ZenModeEventLogger$ZenModeInfo;Lcom/android/server/notification/ZenModeEventLogger$ZenModeInfo;II)V
+PLcom/android/server/notification/ZenModeEventLogger$ZenStateChanges;->numActiveRulesInConfig(Landroid/service/notification/ZenModeConfig;)I
+PLcom/android/server/notification/ZenModeEventLogger$ZenStateChanges;->shouldLogChanges()Z
+PLcom/android/server/notification/ZenModeEventLogger$ZenStateChanges;->zenModeFlipped()Z
+PLcom/android/server/notification/ZenModeEventLogger;-><init>(Landroid/content/pm/PackageManager;)V
+PLcom/android/server/notification/ZenModeEventLogger;->maybeLogZenChange(Lcom/android/server/notification/ZenModeEventLogger$ZenModeInfo;Lcom/android/server/notification/ZenModeEventLogger$ZenModeInfo;II)V
+PLcom/android/server/notification/ZenModeExtractor;-><clinit>()V
+PLcom/android/server/notification/ZenModeExtractor;-><init>()V
+PLcom/android/server/notification/ZenModeExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
+PLcom/android/server/notification/ZenModeExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+PLcom/android/server/notification/ZenModeExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+PLcom/android/server/notification/ZenModeExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+PLcom/android/server/notification/ZenModeFiltering$RepeatCallers;-><init>()V
+PLcom/android/server/notification/ZenModeFiltering$RepeatCallers;-><init>(Lcom/android/server/notification/ZenModeFiltering$RepeatCallers-IA;)V
+PLcom/android/server/notification/ZenModeFiltering;-><clinit>()V
+PLcom/android/server/notification/ZenModeFiltering;-><init>(Landroid/content/Context;)V
+PLcom/android/server/notification/ZenModeFiltering;->shouldIntercept(ILandroid/app/NotificationManager$Policy;Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/ZenModeHelper$Callback;-><init>()V
+PLcom/android/server/notification/ZenModeHelper$H;->-$$Nest$mpostMetricsTimer(Lcom/android/server/notification/ZenModeHelper$H;)V
+PLcom/android/server/notification/ZenModeHelper$H;->-$$Nest$mpostUpdateRingerAndAudio(Lcom/android/server/notification/ZenModeHelper$H;Z)V
+PLcom/android/server/notification/ZenModeHelper$H;-><init>(Lcom/android/server/notification/ZenModeHelper;Landroid/os/Looper;)V
+PLcom/android/server/notification/ZenModeHelper$H;-><init>(Lcom/android/server/notification/ZenModeHelper;Landroid/os/Looper;Lcom/android/server/notification/ZenModeHelper$H-IA;)V
+PLcom/android/server/notification/ZenModeHelper$H;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/notification/ZenModeHelper$H;->postMetricsTimer()V
+PLcom/android/server/notification/ZenModeHelper$H;->postUpdateRingerAndAudio(Z)V
+PLcom/android/server/notification/ZenModeHelper$Metrics;-><init>(Lcom/android/server/notification/ZenModeHelper;)V
+PLcom/android/server/notification/ZenModeHelper$Metrics;-><init>(Lcom/android/server/notification/ZenModeHelper;Lcom/android/server/notification/ZenModeHelper$Metrics-IA;)V
+PLcom/android/server/notification/ZenModeHelper$Metrics;->emit()V
+PLcom/android/server/notification/ZenModeHelper$Metrics;->emitDndType()V
+PLcom/android/server/notification/ZenModeHelper$Metrics;->emitRules()V
+PLcom/android/server/notification/ZenModeHelper$Metrics;->emitZenMode()V
+PLcom/android/server/notification/ZenModeHelper$Metrics;->onConfigChanged()V
+PLcom/android/server/notification/ZenModeHelper$RingerModeDelegate;-><init>(Lcom/android/server/notification/ZenModeHelper;)V
+PLcom/android/server/notification/ZenModeHelper$RingerModeDelegate;->getRingerModeAffectedStreams(I)I
+PLcom/android/server/notification/ZenModeHelper$RingerModeDelegate;->onSetRingerModeInternal(IILjava/lang/String;ILandroid/media/VolumePolicy;)I
+PLcom/android/server/notification/ZenModeHelper$SettingsObserver;-><init>(Lcom/android/server/notification/ZenModeHelper;Landroid/os/Handler;)V
+PLcom/android/server/notification/ZenModeHelper$SettingsObserver;->observe()V
+PLcom/android/server/notification/ZenModeHelper$SettingsObserver;->update(Landroid/net/Uri;)V
+PLcom/android/server/notification/ZenModeHelper;->-$$Nest$fgetmConfigLock(Lcom/android/server/notification/ZenModeHelper;)Ljava/lang/Object;
+PLcom/android/server/notification/ZenModeHelper;->-$$Nest$fgetmContext(Lcom/android/server/notification/ZenModeHelper;)Landroid/content/Context;
+PLcom/android/server/notification/ZenModeHelper;->-$$Nest$fgetmHandler(Lcom/android/server/notification/ZenModeHelper;)Lcom/android/server/notification/ZenModeHelper$H;
+PLcom/android/server/notification/ZenModeHelper;->-$$Nest$msetPreviousRingerModeSetting(Lcom/android/server/notification/ZenModeHelper;Ljava/lang/Integer;)V
+PLcom/android/server/notification/ZenModeHelper;->-$$Nest$mupdateRingerAndAudio(Lcom/android/server/notification/ZenModeHelper;Z)V
+PLcom/android/server/notification/ZenModeHelper;-><clinit>()V
+HPLcom/android/server/notification/ZenModeHelper;-><init>(Landroid/content/Context;Landroid/os/Looper;Ljava/time/Clock;Lcom/android/server/notification/ConditionProviders;Lcom/android/internal/config/sysui/SystemUiSystemPropertiesFlags$FlagResolver;Lcom/android/server/notification/ZenModeEventLogger;)V
+PLcom/android/server/notification/ZenModeHelper;->addCallback(Lcom/android/server/notification/ZenModeHelper$Callback;)V
+PLcom/android/server/notification/ZenModeHelper;->applyConsolidatedDeviceEffects(I)V
+HPLcom/android/server/notification/ZenModeHelper;->applyRestrictions()V
+PLcom/android/server/notification/ZenModeHelper;->applyRestrictions(ZZI)V
+PLcom/android/server/notification/ZenModeHelper;->applyRestrictions(ZZII)V
+PLcom/android/server/notification/ZenModeHelper;->cleanUpZenRules()V
+PLcom/android/server/notification/ZenModeHelper;->computeZenMode()I
+PLcom/android/server/notification/ZenModeHelper;->deleteRulesWithoutOwner(Landroid/util/ArrayMap;)V
+PLcom/android/server/notification/ZenModeHelper;->dispatchOnConfigChanged()V
+HPLcom/android/server/notification/ZenModeHelper;->evaluateZenModeLocked(ILjava/lang/String;Z)V
+PLcom/android/server/notification/ZenModeHelper;->findMatchingRules(Landroid/service/notification/ZenModeConfig;Landroid/net/Uri;Landroid/service/notification/Condition;)Ljava/util/List;
+PLcom/android/server/notification/ZenModeHelper;->getConfig()Landroid/service/notification/ZenModeConfig;
+PLcom/android/server/notification/ZenModeHelper;->getNotificationPolicy()Landroid/app/NotificationManager$Policy;
+PLcom/android/server/notification/ZenModeHelper;->getNotificationPolicy(Landroid/service/notification/ZenModeConfig;)Landroid/app/NotificationManager$Policy;
+PLcom/android/server/notification/ZenModeHelper;->getSuppressedEffects()J
+PLcom/android/server/notification/ZenModeHelper;->getZenMode()I
+PLcom/android/server/notification/ZenModeHelper;->getZenModeListenerInterruptionFilter()I
+PLcom/android/server/notification/ZenModeHelper;->initZenMode()V
+PLcom/android/server/notification/ZenModeHelper;->loadConfigForUser(ILjava/lang/String;)V
+PLcom/android/server/notification/ZenModeHelper;->onSystemReady()V
+PLcom/android/server/notification/ZenModeHelper;->onUserSwitched(I)V
+PLcom/android/server/notification/ZenModeHelper;->readDefaultConfig(Landroid/content/res/Resources;)Landroid/service/notification/ZenModeConfig;
+PLcom/android/server/notification/ZenModeHelper;->readXml(Lcom/android/modules/utils/TypedXmlPullParser;ZI)V
+PLcom/android/server/notification/ZenModeHelper;->requirePublicOrigin(Ljava/lang/String;I)V
+PLcom/android/server/notification/ZenModeHelper;->ruleMatches(Landroid/net/Uri;Landroid/service/notification/Condition;Landroid/service/notification/ZenModeConfig$ZenRule;)Z
+PLcom/android/server/notification/ZenModeHelper;->setAutomaticZenRuleState(Landroid/net/Uri;Landroid/service/notification/Condition;II)V
+PLcom/android/server/notification/ZenModeHelper;->setAutomaticZenRuleStateLocked(Landroid/service/notification/ZenModeConfig;Ljava/util/List;Landroid/service/notification/Condition;II)V
+HPLcom/android/server/notification/ZenModeHelper;->setConfigLocked(Landroid/service/notification/ZenModeConfig;ILjava/lang/String;Landroid/content/ComponentName;ZI)Z
+PLcom/android/server/notification/ZenModeHelper;->setConfigLocked(Landroid/service/notification/ZenModeConfig;Landroid/content/ComponentName;ILjava/lang/String;I)Z
+PLcom/android/server/notification/ZenModeHelper;->setDeviceEffectsApplier(Landroid/service/notification/DeviceEffectsApplier;)V
+PLcom/android/server/notification/ZenModeHelper;->setNotificationPolicy(Landroid/app/NotificationManager$Policy;II)V
+PLcom/android/server/notification/ZenModeHelper;->setPreviousRingerModeSetting(Ljava/lang/Integer;)V
+PLcom/android/server/notification/ZenModeHelper;->setPriorityOnlyDndExemptPackages([Ljava/lang/String;)V
+PLcom/android/server/notification/ZenModeHelper;->setSuppressedEffects(J)V
+PLcom/android/server/notification/ZenModeHelper;->setZenModeSetting(I)V
+PLcom/android/server/notification/ZenModeHelper;->shouldIntercept(Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/ZenModeHelper;->showZenUpgradeNotification(I)V
+HPLcom/android/server/notification/ZenModeHelper;->updateAndApplyConsolidatedPolicyAndDeviceEffects(ILjava/lang/String;)V
+HPLcom/android/server/notification/ZenModeHelper;->updateConfigAndZenModeLocked(Landroid/service/notification/ZenModeConfig;ILjava/lang/String;ZI)V
+PLcom/android/server/notification/ZenModeHelper;->updateDefaultAutomaticRuleNames()V
+PLcom/android/server/notification/ZenModeHelper;->updateDefaultAutomaticRulePolicies()V
+PLcom/android/server/notification/ZenModeHelper;->updateRingerAndAudio(Z)V
+PLcom/android/server/notification/ZenModeHelper;->writeXml(Lcom/android/modules/utils/TypedXmlSerializer;ZLjava/lang/Integer;I)V
+PLcom/android/server/oemlock/OemLock;-><init>()V
+PLcom/android/server/oemlock/OemLockService$1;-><init>(Lcom/android/server/oemlock/OemLockService;)V
+PLcom/android/server/oemlock/OemLockService$1;->onUserRestrictionsChanged(ILandroid/os/Bundle;Landroid/os/Bundle;)V
+PLcom/android/server/oemlock/OemLockService$2;-><init>(Lcom/android/server/oemlock/OemLockService;)V
+PLcom/android/server/oemlock/OemLockService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/oemlock/OemLockService;-><init>(Landroid/content/Context;Lcom/android/server/oemlock/OemLock;)V
+PLcom/android/server/oemlock/OemLockService;->getOemLock(Landroid/content/Context;)Lcom/android/server/oemlock/OemLock;
+PLcom/android/server/oemlock/OemLockService;->onStart()V
+PLcom/android/server/oemlock/PersistentDataBlockLock;-><init>(Landroid/content/Context;)V
+PLcom/android/server/oemlock/VendorLockAidl;->getOemLockHalService()Landroid/hardware/oemlock/IOemLock;
+PLcom/android/server/oemlock/VendorLockHidl;->getOemLockHalService()Landroid/hardware/oemlock/V1_0/IOemLock;
+PLcom/android/server/om/IdmapDaemon$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/om/IdmapDaemon$$ExternalSyntheticLambda0;->binderDied()V
+PLcom/android/server/om/IdmapDaemon$Connection$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/om/IdmapDaemon$Connection;)V
+PLcom/android/server/om/IdmapDaemon$Connection$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/om/IdmapDaemon$Connection;->$r8$lambda$_PxKgIA4Eqf9yi0zZSqVFth5eU0(Lcom/android/server/om/IdmapDaemon$Connection;)V
+HPLcom/android/server/om/IdmapDaemon$Connection;-><init>(Lcom/android/server/om/IdmapDaemon;Landroid/os/IIdmap2;)V
+PLcom/android/server/om/IdmapDaemon$Connection;-><init>(Lcom/android/server/om/IdmapDaemon;Landroid/os/IIdmap2;Lcom/android/server/om/IdmapDaemon$Connection-IA;)V
+HPLcom/android/server/om/IdmapDaemon$Connection;->close()V
+PLcom/android/server/om/IdmapDaemon$Connection;->getIdmap2()Landroid/os/IIdmap2;
+PLcom/android/server/om/IdmapDaemon$Connection;->lambda$close$0()V
+PLcom/android/server/om/IdmapDaemon;->$r8$lambda$pEh2sDZUhfJliWY8-qy5fFqPH_A()V
+PLcom/android/server/om/IdmapDaemon;->-$$Nest$fgetmIdmapToken(Lcom/android/server/om/IdmapDaemon;)Ljava/lang/Object;
+PLcom/android/server/om/IdmapDaemon;->-$$Nest$fgetmOpenedCount(Lcom/android/server/om/IdmapDaemon;)Ljava/util/concurrent/atomic/AtomicInteger;
+PLcom/android/server/om/IdmapDaemon;->-$$Nest$fgetmService(Lcom/android/server/om/IdmapDaemon;)Landroid/os/IIdmap2;
+PLcom/android/server/om/IdmapDaemon;->-$$Nest$fputmService(Lcom/android/server/om/IdmapDaemon;Landroid/os/IIdmap2;)V
+PLcom/android/server/om/IdmapDaemon;->-$$Nest$smstopIdmapService()V
+PLcom/android/server/om/IdmapDaemon;-><init>()V
+HPLcom/android/server/om/IdmapDaemon;->connect()Lcom/android/server/om/IdmapDaemon$Connection;
+PLcom/android/server/om/IdmapDaemon;->createIdmap(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IZI)Ljava/lang/String;
+PLcom/android/server/om/IdmapDaemon;->getFabricatedOverlayInfos()Ljava/util/List;
+PLcom/android/server/om/IdmapDaemon;->getIdmapService()Landroid/os/IBinder;
+PLcom/android/server/om/IdmapDaemon;->getInstance()Lcom/android/server/om/IdmapDaemon;
+PLcom/android/server/om/IdmapDaemon;->idmapExists(Ljava/lang/String;I)Z
+PLcom/android/server/om/IdmapDaemon;->lambda$getIdmapService$0()V
+PLcom/android/server/om/IdmapDaemon;->stopIdmapService()V
+HPLcom/android/server/om/IdmapDaemon;->verifyIdmap(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IZI)Z
+PLcom/android/server/om/IdmapManager;-><clinit>()V
+PLcom/android/server/om/IdmapManager;-><init>(Lcom/android/server/om/IdmapDaemon;Lcom/android/server/om/PackageManagerHelper;)V
+HPLcom/android/server/om/IdmapManager;->calculateFulfilledPolicies(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/pkg/AndroidPackage;I)I
+HPLcom/android/server/om/IdmapManager;->createIdmap(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/pkg/AndroidPackage;Ljava/lang/String;Ljava/lang/String;I)I
+PLcom/android/server/om/IdmapManager;->enforceOverlayable(Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/pkg/AndroidPackage;)Z
+PLcom/android/server/om/IdmapManager;->getFabricatedOverlayInfos()Ljava/util/List;
+PLcom/android/server/om/IdmapManager;->idmapExists(Landroid/content/om/OverlayInfo;)Z
+PLcom/android/server/om/IdmapManager;->matchesActorSignature(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/pkg/AndroidPackage;I)Z
+PLcom/android/server/om/OverlayActorEnforcer$ActorState;->$values()[Lcom/android/server/om/OverlayActorEnforcer$ActorState;
+PLcom/android/server/om/OverlayActorEnforcer$ActorState;-><clinit>()V
+PLcom/android/server/om/OverlayActorEnforcer$ActorState;-><init>(Ljava/lang/String;I)V
+PLcom/android/server/om/OverlayActorEnforcer;-><init>(Lcom/android/server/om/PackageManagerHelper;)V
+HPLcom/android/server/om/OverlayActorEnforcer;->getPackageNameForActor(Ljava/lang/String;Ljava/util/Map;)Landroid/util/Pair;
+PLcom/android/server/om/OverlayManagerService$$ExternalSyntheticLambda0;-><init>(Ljava/lang/String;)V
+PLcom/android/server/om/OverlayManagerService$$ExternalSyntheticLambda0;->test(Ljava/lang/Object;)Z
+PLcom/android/server/om/OverlayManagerService$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/om/OverlayManagerService;Ljava/util/List;ILandroid/util/ArraySet;)V
+PLcom/android/server/om/OverlayManagerService$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/om/OverlayManagerService$$ExternalSyntheticLambda2;-><init>(Landroid/util/SparseArray;)V
+PLcom/android/server/om/OverlayManagerService$$ExternalSyntheticLambda2;->acceptOrThrow(Ljava/lang/Object;)V
+PLcom/android/server/om/OverlayManagerService$$ExternalSyntheticLambda3;-><init>(ILandroid/app/ActivityManagerInternal;)V
+PLcom/android/server/om/OverlayManagerService$$ExternalSyntheticLambda3;->acceptOrThrow(Ljava/lang/Object;)V
+PLcom/android/server/om/OverlayManagerService$$ExternalSyntheticLambda4;-><init>()V
+PLcom/android/server/om/OverlayManagerService$1;-><init>(Lcom/android/server/om/OverlayManagerService;)V
+PLcom/android/server/om/OverlayManagerService$1;->getOverlayInfoByIdentifier(Landroid/content/om/OverlayIdentifier;I)Landroid/content/om/OverlayInfo;
+PLcom/android/server/om/OverlayManagerService$1;->handleIncomingUser(ILjava/lang/String;)I
+PLcom/android/server/om/OverlayManagerService$OverlayManagerPackageMonitor;-><init>(Lcom/android/server/om/OverlayManagerService;)V
+PLcom/android/server/om/OverlayManagerService$OverlayManagerPackageMonitor;-><init>(Lcom/android/server/om/OverlayManagerService;Lcom/android/server/om/OverlayManagerService$OverlayManagerPackageMonitor-IA;)V
+PLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;I)V
+PLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
+PLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl$PackageStateUsers;->-$$Nest$fgetmInstalledUsers(Lcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl$PackageStateUsers;)Ljava/util/Set;
+PLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl$PackageStateUsers;->-$$Nest$fgetmPackageState(Lcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl$PackageStateUsers;)Lcom/android/server/pm/pkg/PackageState;
+PLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl$PackageStateUsers;-><init>(Lcom/android/server/pm/pkg/PackageState;)V
+PLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl$PackageStateUsers;-><init>(Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl$PackageStateUsers-IA;)V
+PLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;->$r8$lambda$OwbHhRYnQy2yMeQN_5EmmuVHt4k(Lcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;ILcom/android/server/pm/pkg/PackageStateInternal;)V
+PLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;->addPackageUser(Lcom/android/server/pm/pkg/PackageState;I)Lcom/android/server/pm/pkg/PackageState;
+PLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;->getConfigSignaturePackage()Ljava/lang/String;
+PLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;->getNamedActors()Ljava/util/Map;
+PLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;->getOverlayableForTarget(Ljava/lang/String;Ljava/lang/String;I)Landroid/content/om/OverlayableInfo;
+HPLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;->getPackageStateForUser(Ljava/lang/String;I)Lcom/android/server/pm/pkg/PackageState;
+PLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;->initializeForUser(I)Landroid/util/ArrayMap;
+HPLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;->lambda$initializeForUser$0(ILcom/android/server/pm/pkg/PackageStateInternal;)V
+PLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;->signaturesMatching(Ljava/lang/String;Ljava/lang/String;I)Z
+PLcom/android/server/om/OverlayManagerService$UserReceiver;-><init>(Lcom/android/server/om/OverlayManagerService;)V
+PLcom/android/server/om/OverlayManagerService$UserReceiver;-><init>(Lcom/android/server/om/OverlayManagerService;Lcom/android/server/om/OverlayManagerService$UserReceiver-IA;)V
+PLcom/android/server/om/OverlayManagerService;->$r8$lambda$GzMpaQrsjSzVXIS6Ewd4ZVcwe0E(Landroid/util/SparseArray;Landroid/content/pm/UserPackage;)V
+PLcom/android/server/om/OverlayManagerService;->$r8$lambda$VKUwGCBEaC1c_ubMSsuE2Rf3650(ILandroid/app/ActivityManagerInternal;Ljava/lang/String;)V
+PLcom/android/server/om/OverlayManagerService;->$r8$lambda$gmoodzoVnIfdn8kZYi3Op37no2g(Lcom/android/server/om/OverlayManagerService;Ljava/util/List;ILandroid/util/ArraySet;)V
+PLcom/android/server/om/OverlayManagerService;->$r8$lambda$rFdAtDXTB46MBaeMgzs6tfJWKtk(Ljava/lang/String;Landroid/content/om/OverlayInfo;)Z
+PLcom/android/server/om/OverlayManagerService;->-$$Nest$fgetmImpl(Lcom/android/server/om/OverlayManagerService;)Lcom/android/server/om/OverlayManagerServiceImpl;
+PLcom/android/server/om/OverlayManagerService;->-$$Nest$fgetmLock(Lcom/android/server/om/OverlayManagerService;)Ljava/lang/Object;
+HPLcom/android/server/om/OverlayManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/om/OverlayManagerService;->broadcastActionOverlayChanged(Ljava/util/Set;I)V
+PLcom/android/server/om/OverlayManagerService;->getDefaultOverlayPackages()[Ljava/lang/String;
+PLcom/android/server/om/OverlayManagerService;->groupTargetsByUserId(Ljava/util/Set;)Landroid/util/SparseArray;
+PLcom/android/server/om/OverlayManagerService;->initIfNeeded()V
+HPLcom/android/server/om/OverlayManagerService;->lambda$broadcastActionOverlayChanged$3(ILandroid/app/ActivityManagerInternal;Ljava/lang/String;)V
+PLcom/android/server/om/OverlayManagerService;->lambda$groupTargetsByUserId$2(Landroid/util/SparseArray;Landroid/content/pm/UserPackage;)V
+PLcom/android/server/om/OverlayManagerService;->lambda$new$0(Ljava/lang/String;Landroid/content/om/OverlayInfo;)Z
+PLcom/android/server/om/OverlayManagerService;->lambda$updateTargetPackagesLocked$1(Ljava/util/List;ILandroid/util/ArraySet;)V
+PLcom/android/server/om/OverlayManagerService;->onStart()V
+PLcom/android/server/om/OverlayManagerService;->onStartUser(I)V
+PLcom/android/server/om/OverlayManagerService;->onUserStarting(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/om/OverlayManagerService;->persistSettingsLocked()V
+PLcom/android/server/om/OverlayManagerService;->restoreSettings()V
+PLcom/android/server/om/OverlayManagerService;->updateActivityManager(Ljava/util/List;I)V
+HPLcom/android/server/om/OverlayManagerService;->updatePackageManagerLocked(Ljava/util/Collection;I)Ljava/util/List;
+PLcom/android/server/om/OverlayManagerService;->updateTargetPackagesLocked(Ljava/util/Set;)V
+PLcom/android/server/om/OverlayManagerServiceImpl$$ExternalSyntheticLambda0;-><init>(Landroid/util/ArrayMap;)V
+PLcom/android/server/om/OverlayManagerServiceImpl$$ExternalSyntheticLambda0;->test(Ljava/lang/Object;)Z
+PLcom/android/server/om/OverlayManagerServiceImpl$$ExternalSyntheticLambda2;-><init>(Ljava/util/Set;)V
+PLcom/android/server/om/OverlayManagerServiceImpl$$ExternalSyntheticLambda3;-><init>(ILjava/util/function/Predicate;)V
+PLcom/android/server/om/OverlayManagerServiceImpl$$ExternalSyntheticLambda3;->test(Ljava/lang/Object;)Z
+PLcom/android/server/om/OverlayManagerServiceImpl;->$r8$lambda$4_u0zZtyj6jePmGinO-0D6huxCc(Landroid/util/ArrayMap;Landroid/content/om/OverlayInfo;)Z
+PLcom/android/server/om/OverlayManagerServiceImpl;->$r8$lambda$Tz06Z6gMGNWEvNzQgIVBx0FKDBw(ILjava/util/function/Predicate;Landroid/content/om/OverlayInfo;)Z
+PLcom/android/server/om/OverlayManagerServiceImpl;-><init>(Lcom/android/server/om/PackageManagerHelper;Lcom/android/server/om/IdmapManager;Lcom/android/server/om/OverlayManagerSettings;Lcom/android/internal/content/om/OverlayConfig;[Ljava/lang/String;)V
+PLcom/android/server/om/OverlayManagerServiceImpl;->calculateNewState(Landroid/content/om/OverlayInfo;Lcom/android/server/pm/pkg/AndroidPackage;III)I
+PLcom/android/server/om/OverlayManagerServiceImpl;->cleanStaleResourceCache()V
+HPLcom/android/server/om/OverlayManagerServiceImpl;->getEnabledOverlayPaths(Ljava/lang/String;IZ)Landroid/content/pm/overlay/OverlayPaths;
+PLcom/android/server/om/OverlayManagerServiceImpl;->getFabricatedOverlayInfos()Ljava/util/List;
+PLcom/android/server/om/OverlayManagerServiceImpl;->getOverlayInfo(Landroid/content/om/OverlayIdentifier;I)Landroid/content/om/OverlayInfo;
+PLcom/android/server/om/OverlayManagerServiceImpl;->getPackageConfiguredPriority(Lcom/android/server/pm/pkg/AndroidPackage;)I
+PLcom/android/server/om/OverlayManagerServiceImpl;->isPackageConfiguredEnabled(Lcom/android/server/pm/pkg/AndroidPackage;)Z
+PLcom/android/server/om/OverlayManagerServiceImpl;->isPackageConfiguredMutable(Lcom/android/server/pm/pkg/AndroidPackage;)Z
+PLcom/android/server/om/OverlayManagerServiceImpl;->lambda$removeOverlaysForUser$2(ILjava/util/function/Predicate;Landroid/content/om/OverlayInfo;)Z
+PLcom/android/server/om/OverlayManagerServiceImpl;->lambda$updateOverlaysForUser$0(Landroid/util/ArrayMap;Landroid/content/om/OverlayInfo;)Z
+HPLcom/android/server/om/OverlayManagerServiceImpl;->mustReinitializeOverlay(Lcom/android/server/pm/pkg/AndroidPackage;Landroid/content/om/OverlayInfo;)Z
+PLcom/android/server/om/OverlayManagerServiceImpl;->removeOverlaysForUser(Ljava/util/function/Predicate;I)Ljava/util/Set;
+HPLcom/android/server/om/OverlayManagerServiceImpl;->updateOverlaysForUser(I)Landroid/util/ArraySet;
+HPLcom/android/server/om/OverlayManagerServiceImpl;->updatePackageOverlays(Lcom/android/server/pm/pkg/AndroidPackage;II)Ljava/util/Set;
+HPLcom/android/server/om/OverlayManagerServiceImpl;->updateState(Landroid/content/om/CriticalOverlayInfo;II)Z
+PLcom/android/server/om/OverlayManagerSettings$$ExternalSyntheticLambda11;-><init>()V
+PLcom/android/server/om/OverlayManagerSettings$$ExternalSyntheticLambda11;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/om/OverlayManagerSettings$$ExternalSyntheticLambda12;-><init>(I)V
+PLcom/android/server/om/OverlayManagerSettings$$ExternalSyntheticLambda12;->test(Ljava/lang/Object;)Z
+PLcom/android/server/om/OverlayManagerSettings$$ExternalSyntheticLambda1;-><init>()V
+PLcom/android/server/om/OverlayManagerSettings$$ExternalSyntheticLambda1;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/om/OverlayManagerSettings$$ExternalSyntheticLambda2;-><init>()V
+PLcom/android/server/om/OverlayManagerSettings$$ExternalSyntheticLambda2;->applyAsInt(Ljava/lang/Object;)I
+PLcom/android/server/om/OverlayManagerSettings$$ExternalSyntheticLambda3;-><init>(Ljava/lang/String;)V
+HPLcom/android/server/om/OverlayManagerSettings$$ExternalSyntheticLambda3;->test(Ljava/lang/Object;)Z
+PLcom/android/server/om/OverlayManagerSettings$$ExternalSyntheticLambda4;-><init>(Ljava/util/Set;)V
+PLcom/android/server/om/OverlayManagerSettings$$ExternalSyntheticLambda4;->accept(Ljava/lang/Object;)V
+PLcom/android/server/om/OverlayManagerSettings$BadKeyException;-><init>(Landroid/content/om/OverlayIdentifier;I)V
+PLcom/android/server/om/OverlayManagerSettings$Serializer;->persist(Ljava/util/ArrayList;Ljava/io/OutputStream;)V
+HPLcom/android/server/om/OverlayManagerSettings$Serializer;->persistRow(Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)V
+PLcom/android/server/om/OverlayManagerSettings$Serializer;->restore(Ljava/util/ArrayList;Ljava/io/InputStream;)V
+HPLcom/android/server/om/OverlayManagerSettings$Serializer;->restoreRow(Lcom/android/modules/utils/TypedXmlPullParser;I)Lcom/android/server/om/OverlayManagerSettings$SettingsItem;
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$fgetmBaseCodePath(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Ljava/lang/String;
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$fgetmCategory(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Ljava/lang/String;
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$fgetmIsEnabled(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Z
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$fgetmIsFabricated(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Z
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$fgetmIsMutable(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Z
+HPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$fgetmOverlay(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Landroid/content/om/OverlayIdentifier;
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$fgetmPriority(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)I
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$fgetmState(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)I
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$fgetmTargetOverlayableName(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Ljava/lang/String;
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$fgetmTargetPackageName(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Ljava/lang/String;
+HPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$fgetmUserId(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)I
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$mgetOverlayInfo(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Landroid/content/om/OverlayInfo;
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$mgetPriority(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)I
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$mgetState(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)I
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$mgetTargetPackageName(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Ljava/lang/String;
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$mgetUserId(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)I
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$misEnabled(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Z
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$msetBaseCodePath(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;Ljava/lang/String;)Z
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$msetCategory(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;Ljava/lang/String;)Z
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$msetState(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;I)Z
+HPLcom/android/server/om/OverlayManagerSettings$SettingsItem;-><init>(Landroid/content/om/OverlayIdentifier;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;IZZILjava/lang/String;Z)V
+HPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->getOverlayInfo()Landroid/content/om/OverlayInfo;
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->getPriority()I
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->getState()I
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->getTargetPackageName()Ljava/lang/String;
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->getUserId()I
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->invalidateCache()V
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->isEnabled()Z
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->setBaseCodePath(Ljava/lang/String;)Z
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->setCategory(Ljava/lang/String;)Z
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->setState(I)Z
+HPLcom/android/server/om/OverlayManagerSettings;->$r8$lambda$09biqz89cy9hpldr4q1PFVNuWP0(Ljava/lang/String;Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Z
+PLcom/android/server/om/OverlayManagerSettings;->$r8$lambda$6NW65LIpjrluanlvM01K9BiQbu8(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)I
+PLcom/android/server/om/OverlayManagerSettings;->$r8$lambda$UJI7EebfpGNorHvdj0-tvz36dZM(ILcom/android/server/om/OverlayManagerSettings$SettingsItem;)Z
+PLcom/android/server/om/OverlayManagerSettings;->$r8$lambda$YzjH3ppJzDqsTP84tx6Vx4SWtMQ(Ljava/lang/String;)Ljava/util/List;
+PLcom/android/server/om/OverlayManagerSettings;->$r8$lambda$kDyA0E1XFyUdbniZy8flqK7NCTI(Ljava/util/Set;Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)V
+PLcom/android/server/om/OverlayManagerSettings;->$r8$lambda$kdu1J4VP2rTGaX3uyigDkFiHHyI(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Landroid/content/om/OverlayInfo;
+PLcom/android/server/om/OverlayManagerSettings;-><init>()V
+PLcom/android/server/om/OverlayManagerSettings;->getAllBaseCodePaths()Ljava/util/Set;
+HPLcom/android/server/om/OverlayManagerSettings;->getEnabled(Landroid/content/om/OverlayIdentifier;I)Z
+HPLcom/android/server/om/OverlayManagerSettings;->getNullableOverlayInfo(Landroid/content/om/OverlayIdentifier;I)Landroid/content/om/OverlayInfo;
+HPLcom/android/server/om/OverlayManagerSettings;->getOverlayInfo(Landroid/content/om/OverlayIdentifier;I)Landroid/content/om/OverlayInfo;
+HPLcom/android/server/om/OverlayManagerSettings;->getOverlaysForTarget(Ljava/lang/String;I)Ljava/util/List;
+PLcom/android/server/om/OverlayManagerSettings;->getOverlaysForUser(I)Landroid/util/ArrayMap;
+HPLcom/android/server/om/OverlayManagerSettings;->getState(Landroid/content/om/OverlayIdentifier;I)I
+PLcom/android/server/om/OverlayManagerSettings;->getUsers()[I
+PLcom/android/server/om/OverlayManagerSettings;->init(Landroid/content/om/OverlayIdentifier;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZILjava/lang/String;Z)Landroid/content/om/OverlayInfo;
+PLcom/android/server/om/OverlayManagerSettings;->insert(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)V
+PLcom/android/server/om/OverlayManagerSettings;->lambda$getAllBaseCodePaths$1(Ljava/util/Set;Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)V
+PLcom/android/server/om/OverlayManagerSettings;->lambda$getOverlaysForUser$0(Ljava/lang/String;)Ljava/util/List;
+PLcom/android/server/om/OverlayManagerSettings;->lambda$selectWhereTarget$12(Ljava/lang/String;Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Z
+HPLcom/android/server/om/OverlayManagerSettings;->lambda$selectWhereUser$10(ILcom/android/server/om/OverlayManagerSettings$SettingsItem;)Z
+PLcom/android/server/om/OverlayManagerSettings;->persist(Ljava/io/OutputStream;)V
+PLcom/android/server/om/OverlayManagerSettings;->remove(Landroid/content/om/OverlayIdentifier;I)Z
+PLcom/android/server/om/OverlayManagerSettings;->removeIf(Ljava/util/function/Predicate;)Ljava/util/List;
+PLcom/android/server/om/OverlayManagerSettings;->restore(Ljava/io/InputStream;)V
+HPLcom/android/server/om/OverlayManagerSettings;->select(Landroid/content/om/OverlayIdentifier;I)I
+HPLcom/android/server/om/OverlayManagerSettings;->selectWhereTarget(Ljava/lang/String;I)Ljava/util/List;
+HPLcom/android/server/om/OverlayManagerSettings;->selectWhereUser(I)Ljava/util/List;
+HPLcom/android/server/om/OverlayManagerSettings;->setBaseCodePath(Landroid/content/om/OverlayIdentifier;ILjava/lang/String;)Z
+HPLcom/android/server/om/OverlayManagerSettings;->setCategory(Landroid/content/om/OverlayIdentifier;ILjava/lang/String;)Z
+PLcom/android/server/om/OverlayManagerSettings;->setState(Landroid/content/om/OverlayIdentifier;II)Z
+HSPLcom/android/server/om/OverlayReferenceMapper$1;-><init>(Lcom/android/server/om/OverlayReferenceMapper;)V
+HPLcom/android/server/om/OverlayReferenceMapper$1;->getActorPkg(Ljava/lang/String;)Ljava/lang/String;
+HPLcom/android/server/om/OverlayReferenceMapper$1;->getTargetToOverlayables(Lcom/android/server/pm/pkg/AndroidPackage;)Ljava/util/Map;
+HSPLcom/android/server/om/OverlayReferenceMapper;-><init>(ZLcom/android/server/om/OverlayReferenceMapper$Provider;)V
+HPLcom/android/server/om/OverlayReferenceMapper;->addOverlay(Lcom/android/server/pm/pkg/AndroidPackage;Ljava/util/Map;Ljava/util/Collection;)V
+PLcom/android/server/om/OverlayReferenceMapper;->addOverlayToMap(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;)V
+HPLcom/android/server/om/OverlayReferenceMapper;->addPkg(Lcom/android/server/pm/pkg/AndroidPackage;Ljava/util/Map;)Landroid/util/ArraySet;
+HPLcom/android/server/om/OverlayReferenceMapper;->addTarget(Lcom/android/server/pm/pkg/AndroidPackage;Ljava/util/Map;Ljava/util/Collection;)V
+HPLcom/android/server/om/OverlayReferenceMapper;->addTargetToMap(Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;)V
+HPLcom/android/server/om/OverlayReferenceMapper;->ensureMapBuilt()V
+HPLcom/android/server/om/OverlayReferenceMapper;->isValidActor(Ljava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/om/OverlayReferenceMapper;->rebuild()V
+PLcom/android/server/om/OverlayReferenceMapper;->rebuildIfDeferred()V
+PLcom/android/server/om/OverlayReferenceMapper;->removeOverlay(Ljava/lang/String;Ljava/util/Collection;)V
+HPLcom/android/server/om/OverlayReferenceMapper;->removeTarget(Ljava/lang/String;Ljava/util/Collection;)V
+PLcom/android/server/os/BugreportManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/os/BugreportManagerService;->onStart()V
+PLcom/android/server/os/BugreportManagerServiceImpl$BugreportFileManager;-><init>(Landroid/util/AtomicFile;)V
+PLcom/android/server/os/BugreportManagerServiceImpl$Injector;-><init>(Landroid/content/Context;Landroid/util/ArraySet;Landroid/util/AtomicFile;)V
+PLcom/android/server/os/BugreportManagerServiceImpl$Injector;->getAllowlistedPackages()Landroid/util/ArraySet;
+PLcom/android/server/os/BugreportManagerServiceImpl$Injector;->getContext()Landroid/content/Context;
+PLcom/android/server/os/BugreportManagerServiceImpl$Injector;->getMappingFile()Landroid/util/AtomicFile;
+PLcom/android/server/os/BugreportManagerServiceImpl;-><init>(Landroid/content/Context;)V
+PLcom/android/server/os/BugreportManagerServiceImpl;-><init>(Lcom/android/server/os/BugreportManagerServiceImpl$Injector;)V
+HSPLcom/android/server/os/DeviceIdentifiersPolicyService$DeviceIdentifiersPolicy;-><init>(Landroid/content/Context;)V
+PLcom/android/server/os/DeviceIdentifiersPolicyService$DeviceIdentifiersPolicy;->checkPackageBelongsToCaller(Ljava/lang/String;)Z
+PLcom/android/server/os/DeviceIdentifiersPolicyService$DeviceIdentifiersPolicy;->getSerial()Ljava/lang/String;
+PLcom/android/server/os/DeviceIdentifiersPolicyService$DeviceIdentifiersPolicy;->getSerialForPackage(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/server/os/DeviceIdentifiersPolicyService;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/os/DeviceIdentifiersPolicyService;->onStart()V
+HPLcom/android/server/os/NativeTombstoneManager$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/os/NativeTombstoneManager;IIILjava/util/ArrayList;ILjava/util/concurrent/CompletableFuture;)V
+PLcom/android/server/os/NativeTombstoneManager$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/os/NativeTombstoneManager$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/os/NativeTombstoneManager;)V
+PLcom/android/server/os/NativeTombstoneManager$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/os/NativeTombstoneManager$1;-><init>(Lcom/android/server/os/NativeTombstoneManager;)V
+PLcom/android/server/os/NativeTombstoneManager$2;-><init>(Lcom/android/server/os/NativeTombstoneManager;)V
+HPLcom/android/server/os/NativeTombstoneManager$TombstoneFile;->parse(Landroid/os/ParcelFileDescriptor;)Ljava/util/Optional;
+PLcom/android/server/os/NativeTombstoneManager$TombstoneWatcher$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/os/NativeTombstoneManager$TombstoneWatcher;Ljava/lang/String;)V
+PLcom/android/server/os/NativeTombstoneManager$TombstoneWatcher$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/os/NativeTombstoneManager$TombstoneWatcher;->$r8$lambda$A74hOANgR204PBre_Brq7oIduOU(Lcom/android/server/os/NativeTombstoneManager$TombstoneWatcher;Ljava/lang/String;)V
+PLcom/android/server/os/NativeTombstoneManager$TombstoneWatcher;-><init>(Lcom/android/server/os/NativeTombstoneManager;)V
+PLcom/android/server/os/NativeTombstoneManager$TombstoneWatcher;->lambda$onEvent$0(Ljava/lang/String;)V
+PLcom/android/server/os/NativeTombstoneManager$TombstoneWatcher;->onEvent(ILjava/lang/String;)V
+PLcom/android/server/os/NativeTombstoneManager;->$r8$lambda$d5FKVJLhf8wmcpGmXSaNGRF1qVM(Lcom/android/server/os/NativeTombstoneManager;IIILjava/util/ArrayList;ILjava/util/concurrent/CompletableFuture;)V
+PLcom/android/server/os/NativeTombstoneManager;->$r8$lambda$gBT9xmTreiWpNj0UDSi2eO2Yau4(Lcom/android/server/os/NativeTombstoneManager;)V
+PLcom/android/server/os/NativeTombstoneManager;->-$$Nest$fgetmHandler(Lcom/android/server/os/NativeTombstoneManager;)Landroid/os/Handler;
+PLcom/android/server/os/NativeTombstoneManager;->-$$Nest$sfgetTAG()Ljava/lang/String;
+PLcom/android/server/os/NativeTombstoneManager;->-$$Nest$sfgetTOMBSTONE_DIR()Ljava/io/File;
+PLcom/android/server/os/NativeTombstoneManager;-><clinit>()V
+PLcom/android/server/os/NativeTombstoneManager;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/os/NativeTombstoneManager;->collectTombstones(Ljava/util/ArrayList;III)V
+HPLcom/android/server/os/NativeTombstoneManager;->handleProtoTombstone(Ljava/io/File;Z)Ljava/util/Optional;
+HPLcom/android/server/os/NativeTombstoneManager;->handleTombstone(Ljava/io/File;)V
+PLcom/android/server/os/NativeTombstoneManager;->lambda$collectTombstones$3(IIILjava/util/ArrayList;ILjava/util/concurrent/CompletableFuture;)V
+PLcom/android/server/os/NativeTombstoneManager;->lambda$onSystemReady$0()V
+PLcom/android/server/os/NativeTombstoneManager;->onSystemReady()V
+PLcom/android/server/os/NativeTombstoneManager;->registerForPackageRemoval()V
+PLcom/android/server/os/NativeTombstoneManager;->registerForUserRemoval()V
+PLcom/android/server/os/NativeTombstoneManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/os/NativeTombstoneManagerService;->onBootPhase(I)V
+PLcom/android/server/os/NativeTombstoneManagerService;->onStart()V
+PLcom/android/server/os/SchedulingPolicyService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/os/SchedulingPolicyService;)V
+PLcom/android/server/os/SchedulingPolicyService$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/os/SchedulingPolicyService$1;-><init>(Lcom/android/server/os/SchedulingPolicyService;)V
+PLcom/android/server/os/SchedulingPolicyService;->$r8$lambda$KlPgkKRnOe1m4zokkdzlozJ7zLQ(Lcom/android/server/os/SchedulingPolicyService;)V
+PLcom/android/server/os/SchedulingPolicyService;-><clinit>()V
+PLcom/android/server/os/SchedulingPolicyService;-><init>()V
+PLcom/android/server/os/SchedulingPolicyService;->disableCpusetBoost(I)I
+PLcom/android/server/os/SchedulingPolicyService;->isPermitted()Z
+PLcom/android/server/os/SchedulingPolicyService;->lambda$new$0()V
+PLcom/android/server/os/SchedulingPolicyService;->requestPriority(IIIZ)I
+PLcom/android/server/pdb/PersistentDataBlockService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/pdb/PersistentDataBlockService;)V
+PLcom/android/server/pdb/PersistentDataBlockService$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/pdb/PersistentDataBlockService$1;-><init>(Lcom/android/server/pdb/PersistentDataBlockService;)V
+PLcom/android/server/pdb/PersistentDataBlockService$1;->getMaximumDataBlockSize()J
+PLcom/android/server/pdb/PersistentDataBlockService$1;->read()[B
+PLcom/android/server/pdb/PersistentDataBlockService$1;->write([B)I
+PLcom/android/server/pdb/PersistentDataBlockService$InternalService;-><init>(Lcom/android/server/pdb/PersistentDataBlockService;)V
+PLcom/android/server/pdb/PersistentDataBlockService$InternalService;-><init>(Lcom/android/server/pdb/PersistentDataBlockService;Lcom/android/server/pdb/PersistentDataBlockService$InternalService-IA;)V
+PLcom/android/server/pdb/PersistentDataBlockService$InternalService;->getAllowedUid()I
+PLcom/android/server/pdb/PersistentDataBlockService$InternalService;->getTestHarnessModeData()[B
+PLcom/android/server/pdb/PersistentDataBlockService$InternalService;->readInternal(JI)[B
+PLcom/android/server/pdb/PersistentDataBlockService;->$r8$lambda$konnAXJEAnzKBClo_dB4T2g6MZ4(Lcom/android/server/pdb/PersistentDataBlockService;)V
+PLcom/android/server/pdb/PersistentDataBlockService;->-$$Nest$fgetmAllowedUid(Lcom/android/server/pdb/PersistentDataBlockService;)I
+PLcom/android/server/pdb/PersistentDataBlockService;->-$$Nest$fgetmDataBlockFile(Lcom/android/server/pdb/PersistentDataBlockService;)Ljava/lang/String;
+PLcom/android/server/pdb/PersistentDataBlockService;->-$$Nest$fgetmIsWritable(Lcom/android/server/pdb/PersistentDataBlockService;)Z
+PLcom/android/server/pdb/PersistentDataBlockService;->-$$Nest$fgetmLock(Lcom/android/server/pdb/PersistentDataBlockService;)Ljava/lang/Object;
+PLcom/android/server/pdb/PersistentDataBlockService;->-$$Nest$mcomputeAndWriteDigestLocked(Lcom/android/server/pdb/PersistentDataBlockService;)Z
+PLcom/android/server/pdb/PersistentDataBlockService;->-$$Nest$mdoGetMaximumDataBlockSize(Lcom/android/server/pdb/PersistentDataBlockService;)J
+PLcom/android/server/pdb/PersistentDataBlockService;->-$$Nest$menforceChecksumValidity(Lcom/android/server/pdb/PersistentDataBlockService;)Z
+PLcom/android/server/pdb/PersistentDataBlockService;->-$$Nest$menforceUid(Lcom/android/server/pdb/PersistentDataBlockService;I)V
+PLcom/android/server/pdb/PersistentDataBlockService;->-$$Nest$mgetBlockOutputChannel(Lcom/android/server/pdb/PersistentDataBlockService;)Ljava/nio/channels/FileChannel;
+PLcom/android/server/pdb/PersistentDataBlockService;->-$$Nest$mgetTotalDataSizeLocked(Lcom/android/server/pdb/PersistentDataBlockService;Ljava/io/DataInputStream;)I
+PLcom/android/server/pdb/PersistentDataBlockService;-><clinit>()V
+PLcom/android/server/pdb/PersistentDataBlockService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/pdb/PersistentDataBlockService;->computeAndWriteDigestLocked()Z
+HPLcom/android/server/pdb/PersistentDataBlockService;->computeDigestLocked([B)[B
+PLcom/android/server/pdb/PersistentDataBlockService;->doGetMaximumDataBlockSize()J
+PLcom/android/server/pdb/PersistentDataBlockService;->doGetOemUnlockEnabled()Z
+PLcom/android/server/pdb/PersistentDataBlockService;->enforceChecksumValidity()Z
+PLcom/android/server/pdb/PersistentDataBlockService;->enforceFactoryResetProtectionInactive()V
+PLcom/android/server/pdb/PersistentDataBlockService;->enforceUid(I)V
+PLcom/android/server/pdb/PersistentDataBlockService;->formatIfOemUnlockEnabled()V
+PLcom/android/server/pdb/PersistentDataBlockService;->getAllowedUid()I
+PLcom/android/server/pdb/PersistentDataBlockService;->getBlockDeviceSize()J
+PLcom/android/server/pdb/PersistentDataBlockService;->getBlockOutputChannel()Ljava/nio/channels/FileChannel;
+PLcom/android/server/pdb/PersistentDataBlockService;->getBlockOutputChannelIgnoringFrp()Ljava/nio/channels/FileChannel;
+PLcom/android/server/pdb/PersistentDataBlockService;->getFrpCredentialDataOffset()J
+PLcom/android/server/pdb/PersistentDataBlockService;->getOemUnlockDataOffset()J
+PLcom/android/server/pdb/PersistentDataBlockService;->getTestHarnessModeDataOffset()J
+PLcom/android/server/pdb/PersistentDataBlockService;->getTotalDataSizeLocked(Ljava/io/DataInputStream;)I
+PLcom/android/server/pdb/PersistentDataBlockService;->lambda$onStart$0()V
+PLcom/android/server/pdb/PersistentDataBlockService;->onBootPhase(I)V
+PLcom/android/server/pdb/PersistentDataBlockService;->onStart()V
+PLcom/android/server/pdb/PersistentDataBlockService;->setOemUnlockEnabledProperty(Z)V
+PLcom/android/server/pdb/PersistentDataBlockService;->setProperty(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/pdb/PersistentDataBlockService;->signalInitDone()V
+PLcom/android/server/pdb/PersistentDataBlockService;->waitForInitDoneSignal()V
+PLcom/android/server/people/PeopleService$1;-><init>(Lcom/android/server/people/PeopleService;)V
+PLcom/android/server/people/PeopleService$ConversationListenerHelper;-><init>()V
+PLcom/android/server/people/PeopleService$LocalService;-><init>(Lcom/android/server/people/PeopleService;)V
+PLcom/android/server/people/PeopleService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/people/PeopleService;->getDataManager()Lcom/android/server/people/data/DataManager;
+PLcom/android/server/people/PeopleService;->initLazyStuff()V
+PLcom/android/server/people/PeopleService;->onStart()V
+PLcom/android/server/people/PeopleService;->onStart(Z)V
+PLcom/android/server/people/PeopleService;->onUserUnlocked(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/people/PeopleServiceInternal;-><init>()V
+PLcom/android/server/people/data/CallLogQueryHelper;-><clinit>()V
+PLcom/android/server/people/data/CallLogQueryHelper;-><init>(Landroid/content/Context;Ljava/util/function/BiConsumer;)V
+PLcom/android/server/people/data/ConversationStatusExpirationBroadcastReceiver;-><init>()V
+PLcom/android/server/people/data/ConversationStatusExpirationBroadcastReceiver;->getFilter()Landroid/content/IntentFilter;
+PLcom/android/server/people/data/DataMaintenanceService;-><clinit>()V
+PLcom/android/server/people/data/DataMaintenanceService;->getJobId(I)I
+PLcom/android/server/people/data/DataMaintenanceService;->scheduleJob(Landroid/content/Context;I)V
+PLcom/android/server/people/data/DataManager$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/people/data/DataManager;I)V
+PLcom/android/server/people/data/DataManager$$ExternalSyntheticLambda2;->run()V
+PLcom/android/server/people/data/DataManager$CallLogContentObserver;-><init>(Lcom/android/server/people/data/DataManager;Landroid/os/Handler;)V
+PLcom/android/server/people/data/DataManager$CallLogContentObserver;-><init>(Lcom/android/server/people/data/DataManager;Landroid/os/Handler;Lcom/android/server/people/data/DataManager$CallLogContentObserver-IA;)V
+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$ContactsContentObserver-IA;)V
+PLcom/android/server/people/data/DataManager$Injector;-><init>()V
+PLcom/android/server/people/data/DataManager$Injector;->createCallLogQueryHelper(Landroid/content/Context;Ljava/util/function/BiConsumer;)Lcom/android/server/people/data/CallLogQueryHelper;
+PLcom/android/server/people/data/DataManager$Injector;->createMmsQueryHelper(Landroid/content/Context;Ljava/util/function/BiConsumer;)Lcom/android/server/people/data/MmsQueryHelper;
+PLcom/android/server/people/data/DataManager$Injector;->createScheduledExecutor()Ljava/util/concurrent/ScheduledExecutorService;
+PLcom/android/server/people/data/DataManager$Injector;->createSmsQueryHelper(Landroid/content/Context;Ljava/util/function/BiConsumer;)Lcom/android/server/people/data/SmsQueryHelper;
+PLcom/android/server/people/data/DataManager$Injector;->createUsageStatsQueryHelper(ILjava/util/function/Function;Lcom/android/server/people/data/UsageStatsQueryHelper$EventListener;)Lcom/android/server/people/data/UsageStatsQueryHelper;
+PLcom/android/server/people/data/DataManager$MmsSmsContentObserver;-><init>(Lcom/android/server/people/data/DataManager;Landroid/os/Handler;)V
+PLcom/android/server/people/data/DataManager$MmsSmsContentObserver;-><init>(Lcom/android/server/people/data/DataManager;Landroid/os/Handler;Lcom/android/server/people/data/DataManager$MmsSmsContentObserver-IA;)V
+PLcom/android/server/people/data/DataManager$NotificationListener$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/people/data/DataManager$NotificationListener;Landroid/service/notification/StatusBarNotification;Ljava/lang/String;)V
+PLcom/android/server/people/data/DataManager$NotificationListener;-><init>(Lcom/android/server/people/data/DataManager;I)V
+PLcom/android/server/people/data/DataManager$NotificationListener;-><init>(Lcom/android/server/people/data/DataManager;ILcom/android/server/people/data/DataManager$NotificationListener-IA;)V
+PLcom/android/server/people/data/DataManager$NotificationListener;->onNotificationPosted(Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationListenerService$RankingMap;)V
+PLcom/android/server/people/data/DataManager$PerUserBroadcastReceiver;-><init>(Lcom/android/server/people/data/DataManager;I)V
+PLcom/android/server/people/data/DataManager$PerUserBroadcastReceiver;-><init>(Lcom/android/server/people/data/DataManager;ILcom/android/server/people/data/DataManager$PerUserBroadcastReceiver-IA;)V
+PLcom/android/server/people/data/DataManager$PerUserPackageMonitor;-><init>(Lcom/android/server/people/data/DataManager;)V
+PLcom/android/server/people/data/DataManager$PerUserPackageMonitor;-><init>(Lcom/android/server/people/data/DataManager;Lcom/android/server/people/data/DataManager$PerUserPackageMonitor-IA;)V
+PLcom/android/server/people/data/DataManager$ShortcutServiceCallback;-><init>(Lcom/android/server/people/data/DataManager;)V
+PLcom/android/server/people/data/DataManager$ShortcutServiceCallback;-><init>(Lcom/android/server/people/data/DataManager;Lcom/android/server/people/data/DataManager$ShortcutServiceCallback-IA;)V
+PLcom/android/server/people/data/DataManager$ShutdownBroadcastReceiver;-><init>(Lcom/android/server/people/data/DataManager;)V
+PLcom/android/server/people/data/DataManager$ShutdownBroadcastReceiver;-><init>(Lcom/android/server/people/data/DataManager;Lcom/android/server/people/data/DataManager$ShutdownBroadcastReceiver-IA;)V
+PLcom/android/server/people/data/DataManager$UsageStatsQueryRunnable$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/people/data/DataManager$UsageStatsQueryRunnable;I)V
+HPLcom/android/server/people/data/DataManager$UsageStatsQueryRunnable$$ExternalSyntheticLambda0;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HPLcom/android/server/people/data/DataManager$UsageStatsQueryRunnable;->$r8$lambda$cVW9hPliqF0sjWNbpn4Xp9GLrWc(Lcom/android/server/people/data/DataManager$UsageStatsQueryRunnable;ILjava/lang/String;)Lcom/android/server/people/data/PackageData;
+PLcom/android/server/people/data/DataManager$UsageStatsQueryRunnable;-><init>(Lcom/android/server/people/data/DataManager;I)V
+PLcom/android/server/people/data/DataManager$UsageStatsQueryRunnable;-><init>(Lcom/android/server/people/data/DataManager;ILcom/android/server/people/data/DataManager$UsageStatsQueryRunnable-IA;)V
+PLcom/android/server/people/data/DataManager$UsageStatsQueryRunnable;->lambda$new$0(ILjava/lang/String;)Lcom/android/server/people/data/PackageData;
+PLcom/android/server/people/data/DataManager$UsageStatsQueryRunnable;->run()V
+PLcom/android/server/people/data/DataManager;->$r8$lambda$1-ISRhLNWfPETJJig6xBTzQCJ7w(Lcom/android/server/people/data/DataManager;I)V
+PLcom/android/server/people/data/DataManager;->-$$Nest$fgetmContext(Lcom/android/server/people/data/DataManager;)Landroid/content/Context;
+PLcom/android/server/people/data/DataManager;->-$$Nest$fgetmInjector(Lcom/android/server/people/data/DataManager;)Lcom/android/server/people/data/DataManager$Injector;
+PLcom/android/server/people/data/DataManager;->-$$Nest$mgetPackageIfConversationExists(Lcom/android/server/people/data/DataManager;Landroid/service/notification/StatusBarNotification;Ljava/util/function/Consumer;)Lcom/android/server/people/data/PackageData;
+PLcom/android/server/people/data/DataManager;-><init>(Landroid/content/Context;)V
+PLcom/android/server/people/data/DataManager;-><init>(Landroid/content/Context;Lcom/android/server/people/data/DataManager$Injector;Landroid/os/Looper;)V
+PLcom/android/server/people/data/DataManager;->addConversationsListener(Lcom/android/server/people/PeopleService$ConversationsListener;)V
+PLcom/android/server/people/data/DataManager;->getPackage(Ljava/lang/String;I)Lcom/android/server/people/data/PackageData;
+PLcom/android/server/people/data/DataManager;->getPackageIfConversationExists(Landroid/service/notification/StatusBarNotification;Ljava/util/function/Consumer;)Lcom/android/server/people/data/PackageData;
+HPLcom/android/server/people/data/DataManager;->getUnlockedUserData(I)Lcom/android/server/people/data/UserData;
+PLcom/android/server/people/data/DataManager;->initialize()V
+PLcom/android/server/people/data/DataManager;->lambda$onUserUnlocked$0(I)V
+PLcom/android/server/people/data/DataManager;->onUserUnlocked(I)V
+HPLcom/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/MmsQueryHelper;-><clinit>()V
+PLcom/android/server/people/data/MmsQueryHelper;-><init>(Landroid/content/Context;Ljava/util/function/BiConsumer;)V
+PLcom/android/server/people/data/PackageData;->packagesDataFromDisk(ILjava/util/function/Predicate;Ljava/util/function/Predicate;Ljava/util/concurrent/ScheduledExecutorService;Ljava/io/File;)Ljava/util/Map;
+PLcom/android/server/people/data/SmsQueryHelper;-><clinit>()V
+PLcom/android/server/people/data/SmsQueryHelper;-><init>(Landroid/content/Context;Ljava/util/function/BiConsumer;)V
+PLcom/android/server/people/data/UsageStatsQueryHelper;-><init>(ILjava/util/function/Function;Lcom/android/server/people/data/UsageStatsQueryHelper$EventListener;)V
+PLcom/android/server/people/data/UsageStatsQueryHelper;->getLastEventTimestamp()J
+PLcom/android/server/people/data/UsageStatsQueryHelper;->getUsageStatsManagerInternal()Landroid/app/usage/UsageStatsManagerInternal;
+PLcom/android/server/people/data/UsageStatsQueryHelper;->querySince(J)Z
+PLcom/android/server/people/data/UserData$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/people/data/UserData;)V
+PLcom/android/server/people/data/UserData$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/people/data/UserData;)V
+PLcom/android/server/people/data/UserData;-><clinit>()V
+PLcom/android/server/people/data/UserData;-><init>(ILjava/util/concurrent/ScheduledExecutorService;)V
+HPLcom/android/server/people/data/UserData;->getPackageData(Ljava/lang/String;)Lcom/android/server/people/data/PackageData;
+PLcom/android/server/people/data/UserData;->getUserId()I
+PLcom/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;->setUserUnlocked()V
+PLcom/android/server/people/data/Utils;->getCurrentCountryIso(Landroid/content/Context;)Ljava/lang/String;
+HSPLcom/android/server/permission/access/AccessCheckingService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/permission/access/AccessCheckingService;->access$getPersistence$p(Lcom/android/server/permission/access/AccessCheckingService;)Lcom/android/server/permission/access/AccessPersistence;
+HPLcom/android/server/permission/access/AccessCheckingService;->access$getPolicy$p(Lcom/android/server/permission/access/AccessCheckingService;)Lcom/android/server/permission/access/AccessPolicy;
+HPLcom/android/server/permission/access/AccessCheckingService;->access$getState$p(Lcom/android/server/permission/access/AccessCheckingService;)Lcom/android/server/permission/access/AccessState;
+HPLcom/android/server/permission/access/AccessCheckingService;->access$getStateLock$p(Lcom/android/server/permission/access/AccessCheckingService;)Ljava/lang/Object;
+HPLcom/android/server/permission/access/AccessCheckingService;->access$setState$p(Lcom/android/server/permission/access/AccessCheckingService;Lcom/android/server/permission/access/AccessState;)V
+HSPLcom/android/server/permission/access/AccessCheckingService;->getAllPackageStates(Lcom/android/server/pm/PackageManagerLocal;)Lcom/android/server/permission/jarjar/kotlin/Pair;
+HSPLcom/android/server/permission/access/AccessCheckingService;->getImplicitToSourcePermissions(Lcom/android/server/SystemConfig;)Lcom/android/server/permission/access/immutable/IndexedMap;
+HSPLcom/android/server/permission/access/AccessCheckingService;->getKnownPackages(Landroid/content/pm/PackageManagerInternal;)Lcom/android/server/permission/access/immutable/IntMap;
+HSPLcom/android/server/permission/access/AccessCheckingService;->getPrivilegedPermissionAllowlistPackages(Lcom/android/server/SystemConfig;)Lcom/android/server/permission/access/immutable/IndexedListSet;
+HSPLcom/android/server/permission/access/AccessCheckingService;->getSchemePolicy$frameworks__base__services__permission__android_common__services_permission_pre_jarjar(Ljava/lang/String;Ljava/lang/String;)Lcom/android/server/permission/access/SchemePolicy;
+HSPLcom/android/server/permission/access/AccessCheckingService;->initialize()V
+HSPLcom/android/server/permission/access/AccessCheckingService;->isLeanback(Lcom/android/server/SystemConfig;)Z
+HSPLcom/android/server/permission/access/AccessCheckingService;->onStart()V
+PLcom/android/server/permission/access/AccessCheckingService;->onStorageVolumeMounted$frameworks__base__services__permission__android_common__services_permission_pre_jarjar(Ljava/lang/String;Ljava/util/List;Z)V
+PLcom/android/server/permission/access/AccessCheckingService;->onSystemReady$frameworks__base__services__permission__android_common__services_permission_pre_jarjar()V
+HSPLcom/android/server/permission/access/AccessPersistence$Companion;-><init>()V
+HSPLcom/android/server/permission/access/AccessPersistence$Companion;-><init>(Lcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+HSPLcom/android/server/permission/access/AccessPersistence$WriteHandler;-><init>(Lcom/android/server/permission/access/AccessPersistence;Landroid/os/Looper;)V
+PLcom/android/server/permission/access/AccessPersistence$WriteHandler;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/server/permission/access/AccessPersistence;-><clinit>()V
+HSPLcom/android/server/permission/access/AccessPersistence;-><init>(Lcom/android/server/permission/access/AccessPolicy;)V
+PLcom/android/server/permission/access/AccessPersistence;->access$writePendingState(Lcom/android/server/permission/access/AccessPersistence;I)V
+HSPLcom/android/server/permission/access/AccessPersistence;->getSystemFile()Ljava/io/File;
+PLcom/android/server/permission/access/AccessPersistence;->getUserFile(I)Ljava/io/File;
+HSPLcom/android/server/permission/access/AccessPersistence;->initialize()V
+HSPLcom/android/server/permission/access/AccessPersistence;->read(Lcom/android/server/permission/access/MutableAccessState;)V
+HSPLcom/android/server/permission/access/AccessPersistence;->readSystemState(Lcom/android/server/permission/access/MutableAccessState;)V
+PLcom/android/server/permission/access/AccessPersistence;->readUserState(Lcom/android/server/permission/access/MutableAccessState;I)V
+HPLcom/android/server/permission/access/AccessPersistence;->write(Lcom/android/server/permission/access/AccessState;)V
+HPLcom/android/server/permission/access/AccessPersistence;->write(Lcom/android/server/permission/access/WritableState;Lcom/android/server/permission/access/AccessState;I)V
+HPLcom/android/server/permission/access/AccessPersistence;->writePendingState(I)V
+HPLcom/android/server/permission/access/AccessPersistence;->writeSystemState(Lcom/android/server/permission/access/AccessState;)V
+HPLcom/android/server/permission/access/AccessPersistence;->writeUserState(Lcom/android/server/permission/access/AccessState;I)V
+HSPLcom/android/server/permission/access/AccessPolicy$Companion;-><init>()V
+HSPLcom/android/server/permission/access/AccessPolicy$Companion;-><init>(Lcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+HSPLcom/android/server/permission/access/AccessPolicy;-><clinit>()V
+HSPLcom/android/server/permission/access/AccessPolicy;-><init>()V
+HSPLcom/android/server/permission/access/AccessPolicy;-><init>(Lcom/android/server/permission/access/immutable/IndexedMap;)V
+HSPLcom/android/server/permission/access/AccessPolicy;->_init_$lambda$1$addPolicy(Lcom/android/server/permission/access/immutable/MutableIndexedMap;Lcom/android/server/permission/access/SchemePolicy;)V
+HSPLcom/android/server/permission/access/AccessPolicy;->getSchemePolicy(Ljava/lang/String;Ljava/lang/String;)Lcom/android/server/permission/access/SchemePolicy;
+HSPLcom/android/server/permission/access/AccessPolicy;->initialize(Lcom/android/server/permission/access/MutableAccessState;Lcom/android/server/permission/access/immutable/IntSet;Ljava/util/Map;Ljava/util/Map;Lcom/android/server/permission/access/immutable/IntMap;ZLjava/util/Map;Lcom/android/server/permission/access/immutable/IndexedListSet;Lcom/android/server/pm/permission/PermissionAllowlist;Lcom/android/server/permission/access/immutable/IndexedMap;)V
+PLcom/android/server/permission/access/AccessPolicy;->onInitialized(Lcom/android/server/permission/access/MutateStateScope;)V
+HPLcom/android/server/permission/access/AccessPolicy;->onStateMutated(Lcom/android/server/permission/access/GetStateScope;)V
+HPLcom/android/server/permission/access/AccessPolicy;->onStorageVolumeMounted(Lcom/android/server/permission/access/MutateStateScope;Ljava/util/Map;Ljava/util/Map;Lcom/android/server/permission/access/immutable/IntMap;Ljava/lang/String;Ljava/util/List;Z)V
+PLcom/android/server/permission/access/AccessPolicy;->onSystemReady(Lcom/android/server/permission/access/MutateStateScope;)V
+PLcom/android/server/permission/access/AccessPolicy;->parseDefaultPermissionGrant(Lcom/android/modules/utils/BinaryXmlPullParser;Lcom/android/server/permission/access/MutableAccessState;I)V
+HPLcom/android/server/permission/access/AccessPolicy;->parsePackageVersion(Lcom/android/modules/utils/BinaryXmlPullParser;Lcom/android/server/permission/access/immutable/MutableIndexedMap;)V
+HPLcom/android/server/permission/access/AccessPolicy;->parsePackageVersions(Lcom/android/modules/utils/BinaryXmlPullParser;Lcom/android/server/permission/access/MutableAccessState;I)V
+HSPLcom/android/server/permission/access/AccessPolicy;->parseSystemState(Lcom/android/modules/utils/BinaryXmlPullParser;Lcom/android/server/permission/access/MutableAccessState;)V
+HPLcom/android/server/permission/access/AccessPolicy;->parseUserState(Lcom/android/modules/utils/BinaryXmlPullParser;Lcom/android/server/permission/access/MutableAccessState;I)V
+PLcom/android/server/permission/access/AccessPolicy;->serializeDefaultPermissionGrantFingerprint(Lcom/android/modules/utils/BinaryXmlSerializer;Ljava/lang/String;)V
+HPLcom/android/server/permission/access/AccessPolicy;->serializePackageVersions(Lcom/android/modules/utils/BinaryXmlSerializer;Lcom/android/server/permission/access/immutable/IndexedMap;)V
+HPLcom/android/server/permission/access/AccessPolicy;->serializeSystemState(Lcom/android/modules/utils/BinaryXmlSerializer;Lcom/android/server/permission/access/AccessState;)V
+HPLcom/android/server/permission/access/AccessPolicy;->serializeUserState(Lcom/android/modules/utils/BinaryXmlSerializer;Lcom/android/server/permission/access/AccessState;I)V
+HPLcom/android/server/permission/access/AccessPolicy;->upgradePackageVersion(Lcom/android/server/permission/access/MutateStateScope;Lcom/android/server/pm/pkg/PackageState;I)V
+HSPLcom/android/server/permission/access/AccessState;-><init>(Lcom/android/server/permission/access/immutable/MutableReference;Lcom/android/server/permission/access/immutable/MutableReference;Lcom/android/server/permission/access/immutable/MutableReference;)V
+HSPLcom/android/server/permission/access/AccessState;-><init>(Lcom/android/server/permission/access/immutable/MutableReference;Lcom/android/server/permission/access/immutable/MutableReference;Lcom/android/server/permission/access/immutable/MutableReference;Lcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+HSPLcom/android/server/permission/access/AccessState;->getExternalState()Lcom/android/server/permission/access/ExternalState;
+HSPLcom/android/server/permission/access/AccessState;->getExternalStateReference$frameworks__base__services__permission__android_common__services_permission_pre_jarjar()Lcom/android/server/permission/access/immutable/MutableReference;
+HPLcom/android/server/permission/access/AccessState;->getSystemState()Lcom/android/server/permission/access/SystemState;
+HSPLcom/android/server/permission/access/AccessState;->getSystemStateReference$frameworks__base__services__permission__android_common__services_permission_pre_jarjar()Lcom/android/server/permission/access/immutable/MutableReference;
+HPLcom/android/server/permission/access/AccessState;->getUserStates()Lcom/android/server/permission/access/immutable/IntReferenceMap;
+HSPLcom/android/server/permission/access/AccessState;->getUserStatesReference$frameworks__base__services__permission__android_common__services_permission_pre_jarjar()Lcom/android/server/permission/access/immutable/MutableReference;
+HPLcom/android/server/permission/access/AccessState;->toMutable()Lcom/android/server/permission/access/MutableAccessState;
+HSPLcom/android/server/permission/access/ExternalState;-><init>(Lcom/android/server/permission/access/immutable/MutableReference;Ljava/util/Map;Ljava/util/Map;Lcom/android/server/permission/access/immutable/MutableReference;Lcom/android/server/permission/access/immutable/IntMap;ZLjava/util/Map;Lcom/android/server/permission/access/immutable/IndexedListSet;Lcom/android/server/pm/permission/PermissionAllowlist;Lcom/android/server/permission/access/immutable/IndexedMap;Z)V
+HSPLcom/android/server/permission/access/ExternalState;-><init>(Lcom/android/server/permission/access/immutable/MutableReference;Ljava/util/Map;Ljava/util/Map;Lcom/android/server/permission/access/immutable/MutableReference;Lcom/android/server/permission/access/immutable/IntMap;ZLjava/util/Map;Lcom/android/server/permission/access/immutable/IndexedListSet;Lcom/android/server/pm/permission/PermissionAllowlist;Lcom/android/server/permission/access/immutable/IndexedMap;ZLcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+HPLcom/android/server/permission/access/ExternalState;->getAppIdPackageNames()Lcom/android/server/permission/access/immutable/IntReferenceMap;
+HSPLcom/android/server/permission/access/ExternalState;->getAppIdPackageNamesReference()Lcom/android/server/permission/access/immutable/MutableReference;
+PLcom/android/server/permission/access/ExternalState;->getConfigPermissions()Ljava/util/Map;
+PLcom/android/server/permission/access/ExternalState;->getDisabledSystemPackageStates()Ljava/util/Map;
+PLcom/android/server/permission/access/ExternalState;->getImplicitToSourcePermissions()Lcom/android/server/permission/access/immutable/IndexedMap;
+PLcom/android/server/permission/access/ExternalState;->getKnownPackages()Lcom/android/server/permission/access/immutable/IntMap;
+HSPLcom/android/server/permission/access/ExternalState;->getPackageStates()Ljava/util/Map;
+PLcom/android/server/permission/access/ExternalState;->getPermissionAllowlist()Lcom/android/server/pm/permission/PermissionAllowlist;
+PLcom/android/server/permission/access/ExternalState;->getPrivilegedPermissionAllowlistPackages()Lcom/android/server/permission/access/immutable/IndexedListSet;
+HPLcom/android/server/permission/access/ExternalState;->getUserIds()Lcom/android/server/permission/access/immutable/IntSet;
+HSPLcom/android/server/permission/access/ExternalState;->getUserIdsReference()Lcom/android/server/permission/access/immutable/MutableReference;
+PLcom/android/server/permission/access/ExternalState;->isLeanback()Z
+PLcom/android/server/permission/access/ExternalState;->isSystemReady()Z
+HSPLcom/android/server/permission/access/ExternalState;->setConfigPermissions(Ljava/util/Map;)V
+HSPLcom/android/server/permission/access/ExternalState;->setDisabledSystemPackageStates(Ljava/util/Map;)V
+HSPLcom/android/server/permission/access/ExternalState;->setImplicitToSourcePermissions(Lcom/android/server/permission/access/immutable/IndexedMap;)V
+HSPLcom/android/server/permission/access/ExternalState;->setKnownPackages(Lcom/android/server/permission/access/immutable/IntMap;)V
+HSPLcom/android/server/permission/access/ExternalState;->setLeanback(Z)V
+HSPLcom/android/server/permission/access/ExternalState;->setPackageStates(Ljava/util/Map;)V
+HSPLcom/android/server/permission/access/ExternalState;->setPermissionAllowlist(Lcom/android/server/pm/permission/PermissionAllowlist;)V
+HSPLcom/android/server/permission/access/ExternalState;->setPrivilegedPermissionAllowlistPackages(Lcom/android/server/permission/access/immutable/IndexedListSet;)V
+PLcom/android/server/permission/access/ExternalState;->setSystemReady(Z)V
+PLcom/android/server/permission/access/ExternalState;->toMutable()Lcom/android/server/permission/access/MutableExternalState;
+PLcom/android/server/permission/access/ExternalState;->toMutable()Ljava/lang/Object;
+PLcom/android/server/permission/access/GetStateScope;-><init>(Lcom/android/server/permission/access/AccessState;)V
+PLcom/android/server/permission/access/GetStateScope;->getState()Lcom/android/server/permission/access/AccessState;
+HSPLcom/android/server/permission/access/MutableAccessState;-><init>()V
+HPLcom/android/server/permission/access/MutableAccessState;-><init>(Lcom/android/server/permission/access/AccessState;)V
+HSPLcom/android/server/permission/access/MutableAccessState;-><init>(Lcom/android/server/permission/access/immutable/MutableReference;Lcom/android/server/permission/access/immutable/MutableReference;Lcom/android/server/permission/access/immutable/MutableReference;)V
+HSPLcom/android/server/permission/access/MutableAccessState;->mutateExternalState()Lcom/android/server/permission/access/MutableExternalState;
+HPLcom/android/server/permission/access/MutableAccessState;->mutateSystemState$default(Lcom/android/server/permission/access/MutableAccessState;IILjava/lang/Object;)Lcom/android/server/permission/access/MutableSystemState;
+HSPLcom/android/server/permission/access/MutableAccessState;->mutateSystemState(I)Lcom/android/server/permission/access/MutableSystemState;
+PLcom/android/server/permission/access/MutableAccessState;->mutateUserState$default(Lcom/android/server/permission/access/MutableAccessState;IIILjava/lang/Object;)Lcom/android/server/permission/access/MutableUserState;
+PLcom/android/server/permission/access/MutableAccessState;->mutateUserState(II)Lcom/android/server/permission/access/MutableUserState;
+HSPLcom/android/server/permission/access/MutableAccessState;->mutateUserStatesNoWrite()Lcom/android/server/permission/access/immutable/MutableIntReferenceMap;
+HSPLcom/android/server/permission/access/MutableExternalState;-><init>()V
+PLcom/android/server/permission/access/MutableExternalState;-><init>(Lcom/android/server/permission/access/ExternalState;)V
+HSPLcom/android/server/permission/access/MutableExternalState;-><init>(Lcom/android/server/permission/access/immutable/MutableReference;Ljava/util/Map;Ljava/util/Map;Lcom/android/server/permission/access/immutable/MutableReference;Lcom/android/server/permission/access/immutable/IntMap;ZLjava/util/Map;Lcom/android/server/permission/access/immutable/IndexedListSet;Lcom/android/server/pm/permission/PermissionAllowlist;Lcom/android/server/permission/access/immutable/IndexedMap;Z)V
+HSPLcom/android/server/permission/access/MutableExternalState;->mutateAppIdPackageNames()Lcom/android/server/permission/access/immutable/MutableIntReferenceMap;
+HSPLcom/android/server/permission/access/MutableExternalState;->mutateUserIds()Lcom/android/server/permission/access/immutable/MutableIntSet;
+HSPLcom/android/server/permission/access/MutableExternalState;->setConfigPermissionsPublic(Ljava/util/Map;)V
+HSPLcom/android/server/permission/access/MutableExternalState;->setDisabledSystemPackageStatesPublic(Ljava/util/Map;)V
+HSPLcom/android/server/permission/access/MutableExternalState;->setImplicitToSourcePermissionsPublic(Lcom/android/server/permission/access/immutable/IndexedMap;)V
+HSPLcom/android/server/permission/access/MutableExternalState;->setKnownPackagesPublic(Lcom/android/server/permission/access/immutable/IntMap;)V
+HSPLcom/android/server/permission/access/MutableExternalState;->setLeanbackPublic(Z)V
+HSPLcom/android/server/permission/access/MutableExternalState;->setPackageStatesPublic(Ljava/util/Map;)V
+HSPLcom/android/server/permission/access/MutableExternalState;->setPermissionAllowlistPublic(Lcom/android/server/pm/permission/PermissionAllowlist;)V
+HSPLcom/android/server/permission/access/MutableExternalState;->setPrivilegedPermissionAllowlistPackagesPublic(Lcom/android/server/permission/access/immutable/IndexedListSet;)V
+PLcom/android/server/permission/access/MutableExternalState;->setSystemReadyPublic(Z)V
+HSPLcom/android/server/permission/access/MutableSystemState;-><init>()V
+PLcom/android/server/permission/access/MutableSystemState;-><init>(Lcom/android/server/permission/access/SystemState;)V
+HSPLcom/android/server/permission/access/MutableSystemState;-><init>(Lcom/android/server/permission/access/immutable/MutableReference;Lcom/android/server/permission/access/immutable/MutableReference;Lcom/android/server/permission/access/immutable/MutableReference;I)V
+PLcom/android/server/permission/access/MutableSystemState;->mutatePermissionGroups()Lcom/android/server/permission/access/immutable/MutableIndexedMap;
+HSPLcom/android/server/permission/access/MutableSystemState;->mutatePermissionTrees()Lcom/android/server/permission/access/immutable/MutableIndexedMap;
+HSPLcom/android/server/permission/access/MutableSystemState;->mutatePermissions()Lcom/android/server/permission/access/immutable/MutableIndexedMap;
+HSPLcom/android/server/permission/access/MutableSystemState;->requestWriteMode(I)V
+HSPLcom/android/server/permission/access/MutableUserState;-><init>()V
+PLcom/android/server/permission/access/MutableUserState;-><init>(Lcom/android/server/permission/access/UserState;)V
+HSPLcom/android/server/permission/access/MutableUserState;-><init>(Lcom/android/server/permission/access/immutable/MutableReference;Lcom/android/server/permission/access/immutable/MutableReference;Lcom/android/server/permission/access/immutable/MutableReference;Lcom/android/server/permission/access/immutable/MutableReference;Lcom/android/server/permission/access/immutable/MutableReference;Ljava/lang/String;I)V
+PLcom/android/server/permission/access/MutableUserState;->mutateAppIdAppOpModes()Lcom/android/server/permission/access/immutable/MutableIntReferenceMap;
+PLcom/android/server/permission/access/MutableUserState;->mutateAppIdDevicePermissionFlags()Lcom/android/server/permission/access/immutable/MutableIntReferenceMap;
+PLcom/android/server/permission/access/MutableUserState;->mutateAppIdPermissionFlags()Lcom/android/server/permission/access/immutable/MutableIntReferenceMap;
+PLcom/android/server/permission/access/MutableUserState;->mutatePackageAppOpModes()Lcom/android/server/permission/access/immutable/MutableIndexedReferenceMap;
+HPLcom/android/server/permission/access/MutableUserState;->mutatePackageVersions()Lcom/android/server/permission/access/immutable/MutableIndexedMap;
+PLcom/android/server/permission/access/MutableUserState;->requestWriteMode(I)V
+PLcom/android/server/permission/access/MutableUserState;->setDefaultPermissionGrantFingerprintPublic(Ljava/lang/String;)V
+HPLcom/android/server/permission/access/MutateStateScope;-><init>(Lcom/android/server/permission/access/AccessState;Lcom/android/server/permission/access/MutableAccessState;)V
+PLcom/android/server/permission/access/MutateStateScope;->getNewState()Lcom/android/server/permission/access/MutableAccessState;
+PLcom/android/server/permission/access/MutateStateScope;->getOldState()Lcom/android/server/permission/access/AccessState;
+HSPLcom/android/server/permission/access/SchemePolicy;-><init>()V
+PLcom/android/server/permission/access/SchemePolicy;->onAppIdAdded(Lcom/android/server/permission/access/MutateStateScope;I)V
+PLcom/android/server/permission/access/SchemePolicy;->onInitialized(Lcom/android/server/permission/access/MutateStateScope;)V
+PLcom/android/server/permission/access/SchemePolicy;->onStorageVolumeMounted(Lcom/android/server/permission/access/MutateStateScope;Ljava/lang/String;Ljava/util/List;Z)V
+PLcom/android/server/permission/access/SchemePolicy;->onSystemReady(Lcom/android/server/permission/access/MutateStateScope;)V
+HSPLcom/android/server/permission/access/SchemePolicy;->parseSystemState(Lcom/android/modules/utils/BinaryXmlPullParser;Lcom/android/server/permission/access/MutableAccessState;)V
+PLcom/android/server/permission/access/SchemePolicy;->serializeSystemState(Lcom/android/modules/utils/BinaryXmlSerializer;Lcom/android/server/permission/access/AccessState;)V
+HSPLcom/android/server/permission/access/SystemState;-><init>(Lcom/android/server/permission/access/immutable/MutableReference;Lcom/android/server/permission/access/immutable/MutableReference;Lcom/android/server/permission/access/immutable/MutableReference;I)V
+HSPLcom/android/server/permission/access/SystemState;-><init>(Lcom/android/server/permission/access/immutable/MutableReference;Lcom/android/server/permission/access/immutable/MutableReference;Lcom/android/server/permission/access/immutable/MutableReference;ILcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+PLcom/android/server/permission/access/SystemState;->getPermissionGroups()Lcom/android/server/permission/access/immutable/IndexedMap;
+PLcom/android/server/permission/access/SystemState;->getPermissionGroupsReference()Lcom/android/server/permission/access/immutable/MutableReference;
+HPLcom/android/server/permission/access/SystemState;->getPermissionTrees()Lcom/android/server/permission/access/immutable/IndexedMap;
+HSPLcom/android/server/permission/access/SystemState;->getPermissionTreesReference()Lcom/android/server/permission/access/immutable/MutableReference;
+HPLcom/android/server/permission/access/SystemState;->getPermissions()Lcom/android/server/permission/access/immutable/IndexedMap;
+HSPLcom/android/server/permission/access/SystemState;->getPermissionsReference()Lcom/android/server/permission/access/immutable/MutableReference;
+HSPLcom/android/server/permission/access/SystemState;->getWriteMode()I
+HSPLcom/android/server/permission/access/SystemState;->setWriteMode(I)V
+PLcom/android/server/permission/access/SystemState;->toMutable()Lcom/android/server/permission/access/MutableSystemState;
+PLcom/android/server/permission/access/SystemState;->toMutable()Ljava/lang/Object;
+HSPLcom/android/server/permission/access/UserState;-><init>(Lcom/android/server/permission/access/immutable/MutableReference;Lcom/android/server/permission/access/immutable/MutableReference;Lcom/android/server/permission/access/immutable/MutableReference;Lcom/android/server/permission/access/immutable/MutableReference;Lcom/android/server/permission/access/immutable/MutableReference;Ljava/lang/String;I)V
+HSPLcom/android/server/permission/access/UserState;-><init>(Lcom/android/server/permission/access/immutable/MutableReference;Lcom/android/server/permission/access/immutable/MutableReference;Lcom/android/server/permission/access/immutable/MutableReference;Lcom/android/server/permission/access/immutable/MutableReference;Lcom/android/server/permission/access/immutable/MutableReference;Ljava/lang/String;ILcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+HPLcom/android/server/permission/access/UserState;->getAppIdAppOpModes()Lcom/android/server/permission/access/immutable/IntReferenceMap;
+PLcom/android/server/permission/access/UserState;->getAppIdAppOpModesReference$frameworks__base__services__permission__android_common__services_permission_pre_jarjar()Lcom/android/server/permission/access/immutable/MutableReference;
+PLcom/android/server/permission/access/UserState;->getAppIdDevicePermissionFlags()Lcom/android/server/permission/access/immutable/IntReferenceMap;
+PLcom/android/server/permission/access/UserState;->getAppIdDevicePermissionFlagsReference$frameworks__base__services__permission__android_common__services_permission_pre_jarjar()Lcom/android/server/permission/access/immutable/MutableReference;
+HPLcom/android/server/permission/access/UserState;->getAppIdPermissionFlags()Lcom/android/server/permission/access/immutable/IntReferenceMap;
+PLcom/android/server/permission/access/UserState;->getAppIdPermissionFlagsReference$frameworks__base__services__permission__android_common__services_permission_pre_jarjar()Lcom/android/server/permission/access/immutable/MutableReference;
+PLcom/android/server/permission/access/UserState;->getDefaultPermissionGrantFingerprint()Ljava/lang/String;
+HPLcom/android/server/permission/access/UserState;->getPackageAppOpModes()Lcom/android/server/permission/access/immutable/IndexedReferenceMap;
+PLcom/android/server/permission/access/UserState;->getPackageAppOpModesReference$frameworks__base__services__permission__android_common__services_permission_pre_jarjar()Lcom/android/server/permission/access/immutable/MutableReference;
+HPLcom/android/server/permission/access/UserState;->getPackageVersions()Lcom/android/server/permission/access/immutable/IndexedMap;
+PLcom/android/server/permission/access/UserState;->getPackageVersionsReference$frameworks__base__services__permission__android_common__services_permission_pre_jarjar()Lcom/android/server/permission/access/immutable/MutableReference;
+PLcom/android/server/permission/access/UserState;->getWriteMode()I
+PLcom/android/server/permission/access/UserState;->setDefaultPermissionGrantFingerprint(Ljava/lang/String;)V
+PLcom/android/server/permission/access/UserState;->setWriteMode(I)V
+PLcom/android/server/permission/access/UserState;->toMutable()Lcom/android/server/permission/access/MutableUserState;
+PLcom/android/server/permission/access/UserState;->toMutable()Ljava/lang/Object;
+HSPLcom/android/server/permission/access/appop/AppIdAppOpMigration$Companion;-><init>()V
+HSPLcom/android/server/permission/access/appop/AppIdAppOpMigration$Companion;-><init>(Lcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+HSPLcom/android/server/permission/access/appop/AppIdAppOpMigration;-><clinit>()V
+HSPLcom/android/server/permission/access/appop/AppIdAppOpMigration;-><init>()V
+HSPLcom/android/server/permission/access/appop/AppIdAppOpPersistence$Companion;-><init>()V
+HSPLcom/android/server/permission/access/appop/AppIdAppOpPersistence$Companion;-><init>(Lcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+HSPLcom/android/server/permission/access/appop/AppIdAppOpPersistence;-><clinit>()V
+HSPLcom/android/server/permission/access/appop/AppIdAppOpPersistence;-><init>()V
+HPLcom/android/server/permission/access/appop/AppIdAppOpPersistence;->parseAppId(Lcom/android/modules/utils/BinaryXmlPullParser;Lcom/android/server/permission/access/immutable/MutableIntReferenceMap;)V
+HPLcom/android/server/permission/access/appop/AppIdAppOpPersistence;->parseAppIdAppOps(Lcom/android/modules/utils/BinaryXmlPullParser;Lcom/android/server/permission/access/MutableAccessState;I)V
+PLcom/android/server/permission/access/appop/AppIdAppOpPersistence;->parseUserState(Lcom/android/modules/utils/BinaryXmlPullParser;Lcom/android/server/permission/access/MutableAccessState;I)V
+HPLcom/android/server/permission/access/appop/AppIdAppOpPersistence;->serializeAppId(Lcom/android/modules/utils/BinaryXmlSerializer;ILcom/android/server/permission/access/immutable/IndexedMap;)V
+HPLcom/android/server/permission/access/appop/AppIdAppOpPersistence;->serializeAppIdAppOps(Lcom/android/modules/utils/BinaryXmlSerializer;Lcom/android/server/permission/access/immutable/IntReferenceMap;)V
+PLcom/android/server/permission/access/appop/AppIdAppOpPersistence;->serializeUserState(Lcom/android/modules/utils/BinaryXmlSerializer;Lcom/android/server/permission/access/AccessState;I)V
+HSPLcom/android/server/permission/access/appop/AppIdAppOpPolicy$Companion;-><init>()V
+HSPLcom/android/server/permission/access/appop/AppIdAppOpPolicy$Companion;-><init>(Lcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+PLcom/android/server/permission/access/appop/AppIdAppOpPolicy$OnAppOpModeChangedListener;-><init>()V
+HSPLcom/android/server/permission/access/appop/AppIdAppOpPolicy;-><clinit>()V
+HSPLcom/android/server/permission/access/appop/AppIdAppOpPolicy;-><init>()V
+PLcom/android/server/permission/access/appop/AppIdAppOpPolicy;->addOnAppOpModeChangedListener(Lcom/android/server/permission/access/appop/AppIdAppOpPolicy$OnAppOpModeChangedListener;)V
+HPLcom/android/server/permission/access/appop/AppIdAppOpPolicy;->getAppOpMode(Lcom/android/server/permission/access/GetStateScope;IILjava/lang/String;)I
+HPLcom/android/server/permission/access/appop/AppIdAppOpPolicy;->getAppOpModes(Lcom/android/server/permission/access/GetStateScope;II)Lcom/android/server/permission/access/immutable/IndexedMap;
+HSPLcom/android/server/permission/access/appop/AppIdAppOpPolicy;->getSubjectScheme()Ljava/lang/String;
+HPLcom/android/server/permission/access/appop/AppIdAppOpPolicy;->onStateMutated(Lcom/android/server/permission/access/GetStateScope;)V
+PLcom/android/server/permission/access/appop/AppIdAppOpPolicy;->removeAppOpModes(Lcom/android/server/permission/access/MutateStateScope;II)Z
+HPLcom/android/server/permission/access/appop/AppIdAppOpPolicy;->setAppOpMode(Lcom/android/server/permission/access/MutateStateScope;IILjava/lang/String;I)Z
+HSPLcom/android/server/permission/access/appop/AppIdAppOpUpgrade;-><init>(Lcom/android/server/permission/access/appop/AppIdAppOpPolicy;)V
+PLcom/android/server/permission/access/appop/AppOpService$OnAppIdAppOpModeChangedListener;-><init>(Lcom/android/server/permission/access/appop/AppOpService;)V
+HPLcom/android/server/permission/access/appop/AppOpService$OnAppIdAppOpModeChangedListener;->onStateMutated()V
+PLcom/android/server/permission/access/appop/AppOpService$OnPackageAppOpModeChangedListener;-><init>(Lcom/android/server/permission/access/appop/AppOpService;)V
+HPLcom/android/server/permission/access/appop/AppOpService$OnPackageAppOpModeChangedListener;->onStateMutated()V
+HSPLcom/android/server/permission/access/appop/AppOpService;-><init>(Lcom/android/server/permission/access/AccessCheckingService;)V
+PLcom/android/server/permission/access/appop/AppOpService;->access$getAppIdPolicy$p(Lcom/android/server/permission/access/appop/AppOpService;)Lcom/android/server/permission/access/appop/AppIdAppOpPolicy;
+HPLcom/android/server/permission/access/appop/AppOpService;->access$getListeners$p(Lcom/android/server/permission/access/appop/AppOpService;)Landroid/util/ArraySet;
+PLcom/android/server/permission/access/appop/AppOpService;->access$getPackagePolicy$p(Lcom/android/server/permission/access/appop/AppOpService;)Lcom/android/server/permission/access/appop/PackageAppOpPolicy;
+HSPLcom/android/server/permission/access/appop/AppOpService;->addAppOpsModeChangedListener(Lcom/android/server/appop/AppOpsCheckingServiceInterface$AppOpsModeChangedListener;)Z
+HSPLcom/android/server/permission/access/appop/AppOpService;->clearAllModes()V
+HPLcom/android/server/permission/access/appop/AppOpService;->getForegroundOps(ILjava/lang/String;)Landroid/util/SparseBooleanArray;
+HPLcom/android/server/permission/access/appop/AppOpService;->getForegroundOps(Ljava/lang/String;I)Landroid/util/SparseBooleanArray;
+HPLcom/android/server/permission/access/appop/AppOpService;->getNonDefaultPackageModes(Ljava/lang/String;I)Landroid/util/SparseIntArray;
+HPLcom/android/server/permission/access/appop/AppOpService;->getPackageMode(Ljava/lang/String;II)I
+HPLcom/android/server/permission/access/appop/AppOpService;->getPackageModes(Ljava/lang/String;I)Landroid/util/ArrayMap;
+HPLcom/android/server/permission/access/appop/AppOpService;->getUidMode(ILjava/lang/String;I)I
+HPLcom/android/server/permission/access/appop/AppOpService;->getUidModes(I)Landroid/util/ArrayMap;
+PLcom/android/server/permission/access/appop/AppOpService;->initialize()V
+PLcom/android/server/permission/access/appop/AppOpService;->opNameMapToOpSparseArray(Landroid/util/ArrayMap;)Landroid/util/SparseIntArray;
+HSPLcom/android/server/permission/access/appop/AppOpService;->readState()V
+HPLcom/android/server/permission/access/appop/AppOpService;->removePackage(Ljava/lang/String;I)Z
+PLcom/android/server/permission/access/appop/AppOpService;->removeUid(I)V
+HPLcom/android/server/permission/access/appop/AppOpService;->setUidMode(ILjava/lang/String;II)Z
+PLcom/android/server/permission/access/appop/AppOpService;->systemReady()V
+HSPLcom/android/server/permission/access/appop/BaseAppOpPersistence$Companion;-><init>()V
+HSPLcom/android/server/permission/access/appop/BaseAppOpPersistence$Companion;-><init>(Lcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+HSPLcom/android/server/permission/access/appop/BaseAppOpPersistence;-><clinit>()V
+HSPLcom/android/server/permission/access/appop/BaseAppOpPersistence;-><init>()V
+HPLcom/android/server/permission/access/appop/BaseAppOpPersistence;->parseAppOp(Lcom/android/modules/utils/BinaryXmlPullParser;Lcom/android/server/permission/access/immutable/MutableIndexedMap;)V
+HPLcom/android/server/permission/access/appop/BaseAppOpPersistence;->parseAppOps(Lcom/android/modules/utils/BinaryXmlPullParser;Lcom/android/server/permission/access/immutable/MutableIndexedMap;)V
+PLcom/android/server/permission/access/appop/BaseAppOpPersistence;->serializeAppOp(Lcom/android/modules/utils/BinaryXmlSerializer;Ljava/lang/String;I)V
+PLcom/android/server/permission/access/appop/BaseAppOpPersistence;->serializeAppOps(Lcom/android/modules/utils/BinaryXmlSerializer;Lcom/android/server/permission/access/immutable/IndexedMap;)V
+HSPLcom/android/server/permission/access/appop/BaseAppOpPolicy;-><init>(Lcom/android/server/permission/access/appop/BaseAppOpPersistence;)V
+HSPLcom/android/server/permission/access/appop/BaseAppOpPolicy;->getObjectScheme()Ljava/lang/String;
+PLcom/android/server/permission/access/appop/BaseAppOpPolicy;->parseUserState(Lcom/android/modules/utils/BinaryXmlPullParser;Lcom/android/server/permission/access/MutableAccessState;I)V
+PLcom/android/server/permission/access/appop/BaseAppOpPolicy;->serializeUserState(Lcom/android/modules/utils/BinaryXmlSerializer;Lcom/android/server/permission/access/AccessState;I)V
+HSPLcom/android/server/permission/access/appop/PackageAppOpMigration$Companion;-><init>()V
+HSPLcom/android/server/permission/access/appop/PackageAppOpMigration$Companion;-><init>(Lcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+HSPLcom/android/server/permission/access/appop/PackageAppOpMigration;-><clinit>()V
+HSPLcom/android/server/permission/access/appop/PackageAppOpMigration;-><init>()V
+HSPLcom/android/server/permission/access/appop/PackageAppOpPersistence$Companion;-><init>()V
+HSPLcom/android/server/permission/access/appop/PackageAppOpPersistence$Companion;-><init>(Lcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+HSPLcom/android/server/permission/access/appop/PackageAppOpPersistence;-><clinit>()V
+HSPLcom/android/server/permission/access/appop/PackageAppOpPersistence;-><init>()V
+PLcom/android/server/permission/access/appop/PackageAppOpPersistence;->parsePackage(Lcom/android/modules/utils/BinaryXmlPullParser;Lcom/android/server/permission/access/immutable/MutableIndexedReferenceMap;)V
+PLcom/android/server/permission/access/appop/PackageAppOpPersistence;->parsePackageAppOps(Lcom/android/modules/utils/BinaryXmlPullParser;Lcom/android/server/permission/access/MutableAccessState;I)V
+PLcom/android/server/permission/access/appop/PackageAppOpPersistence;->parseUserState(Lcom/android/modules/utils/BinaryXmlPullParser;Lcom/android/server/permission/access/MutableAccessState;I)V
+PLcom/android/server/permission/access/appop/PackageAppOpPersistence;->serializePackage(Lcom/android/modules/utils/BinaryXmlSerializer;Ljava/lang/String;Lcom/android/server/permission/access/immutable/IndexedMap;)V
+PLcom/android/server/permission/access/appop/PackageAppOpPersistence;->serializePackageAppOps(Lcom/android/modules/utils/BinaryXmlSerializer;Lcom/android/server/permission/access/immutable/IndexedReferenceMap;)V
+PLcom/android/server/permission/access/appop/PackageAppOpPersistence;->serializeUserState(Lcom/android/modules/utils/BinaryXmlSerializer;Lcom/android/server/permission/access/AccessState;I)V
+HSPLcom/android/server/permission/access/appop/PackageAppOpPolicy$Companion;-><init>()V
+HSPLcom/android/server/permission/access/appop/PackageAppOpPolicy$Companion;-><init>(Lcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+PLcom/android/server/permission/access/appop/PackageAppOpPolicy$OnAppOpModeChangedListener;-><init>()V
+HSPLcom/android/server/permission/access/appop/PackageAppOpPolicy;-><clinit>()V
+HSPLcom/android/server/permission/access/appop/PackageAppOpPolicy;-><init>()V
+PLcom/android/server/permission/access/appop/PackageAppOpPolicy;->addOnAppOpModeChangedListener(Lcom/android/server/permission/access/appop/PackageAppOpPolicy$OnAppOpModeChangedListener;)V
+HPLcom/android/server/permission/access/appop/PackageAppOpPolicy;->getAppOpMode(Lcom/android/server/permission/access/GetStateScope;Ljava/lang/String;ILjava/lang/String;)I
+HPLcom/android/server/permission/access/appop/PackageAppOpPolicy;->getAppOpModes(Lcom/android/server/permission/access/GetStateScope;Ljava/lang/String;I)Lcom/android/server/permission/access/immutable/IndexedMap;
+HSPLcom/android/server/permission/access/appop/PackageAppOpPolicy;->getSubjectScheme()Ljava/lang/String;
+HPLcom/android/server/permission/access/appop/PackageAppOpPolicy;->onStateMutated(Lcom/android/server/permission/access/GetStateScope;)V
+HPLcom/android/server/permission/access/appop/PackageAppOpPolicy;->removeAppOpModes(Lcom/android/server/permission/access/MutateStateScope;Ljava/lang/String;I)Z
+HSPLcom/android/server/permission/access/appop/PackageAppOpUpgrade;-><init>(Lcom/android/server/permission/access/appop/PackageAppOpPolicy;)V
+HSPLcom/android/server/permission/access/collection/ArraySetExtensionsKt;->arraySetOf([Ljava/lang/Object;)Landroid/util/ArraySet;
+PLcom/android/server/permission/access/immutable/IndexedList;-><init>(Ljava/util/ArrayList;)V
+HPLcom/android/server/permission/access/immutable/IndexedList;-><init>(Ljava/util/ArrayList;Lcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+PLcom/android/server/permission/access/immutable/IndexedList;->get(I)Ljava/lang/Object;
+PLcom/android/server/permission/access/immutable/IndexedList;->getList$frameworks__base__services__permission__android_common__services_permission_pre_jarjar()Ljava/util/ArrayList;
+HPLcom/android/server/permission/access/immutable/IndexedList;->getSize()I
+HSPLcom/android/server/permission/access/immutable/IndexedListSet;-><init>(Ljava/util/ArrayList;)V
+HSPLcom/android/server/permission/access/immutable/IndexedListSet;-><init>(Ljava/util/ArrayList;Lcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+HPLcom/android/server/permission/access/immutable/IndexedListSet;->contains(Ljava/lang/Object;)Z
+HPLcom/android/server/permission/access/immutable/IndexedListSet;->elementAt(I)Ljava/lang/Object;
+HSPLcom/android/server/permission/access/immutable/IndexedListSet;->getList$frameworks__base__services__permission__android_common__services_permission_pre_jarjar()Ljava/util/ArrayList;
+HPLcom/android/server/permission/access/immutable/IndexedListSet;->getSize()I
+HPLcom/android/server/permission/access/immutable/IndexedListSet;->toMutable()Lcom/android/server/permission/access/immutable/MutableIndexedListSet;
+PLcom/android/server/permission/access/immutable/IndexedListSet;->toMutable()Ljava/lang/Object;
+PLcom/android/server/permission/access/immutable/IndexedListSetExtensionsKt;->plus(Lcom/android/server/permission/access/immutable/IndexedListSet;Ljava/lang/Object;)Lcom/android/server/permission/access/immutable/MutableIndexedListSet;
+HSPLcom/android/server/permission/access/immutable/IndexedMap;-><init>(Landroid/util/ArrayMap;)V
+HSPLcom/android/server/permission/access/immutable/IndexedMap;-><init>(Landroid/util/ArrayMap;Lcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+HSPLcom/android/server/permission/access/immutable/IndexedMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/server/permission/access/immutable/IndexedMap;->getMap$frameworks__base__services__permission__android_common__services_permission_pre_jarjar()Landroid/util/ArrayMap;
+HSPLcom/android/server/permission/access/immutable/IndexedMap;->getSize()I
+HPLcom/android/server/permission/access/immutable/IndexedMap;->indexOfKey(Ljava/lang/Object;)I
+HSPLcom/android/server/permission/access/immutable/IndexedMap;->keyAt(I)Ljava/lang/Object;
+PLcom/android/server/permission/access/immutable/IndexedMap;->toMutable()Lcom/android/server/permission/access/immutable/MutableIndexedMap;
+PLcom/android/server/permission/access/immutable/IndexedMap;->toMutable()Ljava/lang/Object;
+HSPLcom/android/server/permission/access/immutable/IndexedMap;->valueAt(I)Ljava/lang/Object;
+HPLcom/android/server/permission/access/immutable/IndexedMapExtensionsKt;->getWithDefault(Lcom/android/server/permission/access/immutable/IndexedMap;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/permission/access/immutable/IndexedMapExtensionsKt;->putWithDefault(Lcom/android/server/permission/access/immutable/MutableIndexedMap;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/server/permission/access/immutable/IndexedReferenceMap;-><init>(Landroid/util/ArrayMap;)V
+HSPLcom/android/server/permission/access/immutable/IndexedReferenceMap;-><init>(Landroid/util/ArrayMap;Lcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+HPLcom/android/server/permission/access/immutable/IndexedReferenceMap;->get(Ljava/lang/Object;)Lcom/android/server/permission/access/immutable/Immutable;
+PLcom/android/server/permission/access/immutable/IndexedReferenceMap;->getMap$frameworks__base__services__permission__android_common__services_permission_pre_jarjar()Landroid/util/ArrayMap;
+PLcom/android/server/permission/access/immutable/IndexedReferenceMap;->getSize()I
+HPLcom/android/server/permission/access/immutable/IndexedReferenceMap;->indexOfKey(Ljava/lang/Object;)I
+PLcom/android/server/permission/access/immutable/IndexedReferenceMap;->keyAt(I)Ljava/lang/Object;
+PLcom/android/server/permission/access/immutable/IndexedReferenceMap;->valueAt(I)Lcom/android/server/permission/access/immutable/Immutable;
+HSPLcom/android/server/permission/access/immutable/IndexedSet;-><init>(Landroid/util/ArraySet;)V
+HSPLcom/android/server/permission/access/immutable/IndexedSet;-><init>(Landroid/util/ArraySet;Lcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+PLcom/android/server/permission/access/immutable/IndexedSet;->elementAt(I)Ljava/lang/Object;
+PLcom/android/server/permission/access/immutable/IndexedSet;->getSet$frameworks__base__services__permission__android_common__services_permission_pre_jarjar()Landroid/util/ArraySet;
+HPLcom/android/server/permission/access/immutable/IndexedSet;->getSize()I
+PLcom/android/server/permission/access/immutable/IndexedSet;->isEmpty()Z
+HSPLcom/android/server/permission/access/immutable/IndexedSetExtensionsKt;->indexedSetOf([Ljava/lang/Object;)Lcom/android/server/permission/access/immutable/IndexedSet;
+HPLcom/android/server/permission/access/immutable/IndexedSetExtensionsKt;->plusAssign(Lcom/android/server/permission/access/immutable/MutableIndexedSet;Ljava/util/Collection;)V
+HSPLcom/android/server/permission/access/immutable/IntMap;-><init>(Landroid/util/SparseArray;)V
+HSPLcom/android/server/permission/access/immutable/IntMap;-><init>(Landroid/util/SparseArray;Lcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+PLcom/android/server/permission/access/immutable/IntMap;->get(I)Ljava/lang/Object;
+HSPLcom/android/server/permission/access/immutable/IntMap;->getArray$frameworks__base__services__permission__android_common__services_permission_pre_jarjar()Landroid/util/SparseArray;
+HPLcom/android/server/permission/access/immutable/IntMap;->getSize()I
+HSPLcom/android/server/permission/access/immutable/IntMapExtensionsKt;->set(Lcom/android/server/permission/access/immutable/MutableIntMap;ILjava/lang/Object;)V
+PLcom/android/server/permission/access/immutable/IntMapKt;->gc(Landroid/util/SparseArray;)V
+HSPLcom/android/server/permission/access/immutable/IntMapKt;->putReturnOld(Landroid/util/SparseArray;ILjava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/server/permission/access/immutable/IntReferenceMap;-><init>(Landroid/util/SparseArray;)V
+HSPLcom/android/server/permission/access/immutable/IntReferenceMap;-><init>(Landroid/util/SparseArray;Lcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+HPLcom/android/server/permission/access/immutable/IntReferenceMap;->contains(I)Z
+HPLcom/android/server/permission/access/immutable/IntReferenceMap;->get(I)Lcom/android/server/permission/access/immutable/Immutable;
+HSPLcom/android/server/permission/access/immutable/IntReferenceMap;->getArray$frameworks__base__services__permission__android_common__services_permission_pre_jarjar()Landroid/util/SparseArray;
+HPLcom/android/server/permission/access/immutable/IntReferenceMap;->getSize()I
+PLcom/android/server/permission/access/immutable/IntReferenceMap;->indexOfKey(I)I
+HPLcom/android/server/permission/access/immutable/IntReferenceMap;->keyAt(I)I
+PLcom/android/server/permission/access/immutable/IntReferenceMap;->toMutable()Lcom/android/server/permission/access/immutable/MutableIntReferenceMap;
+PLcom/android/server/permission/access/immutable/IntReferenceMap;->toMutable()Ljava/lang/Object;
+HPLcom/android/server/permission/access/immutable/IntReferenceMap;->valueAt(I)Lcom/android/server/permission/access/immutable/Immutable;
+HSPLcom/android/server/permission/access/immutable/IntReferenceMapExtensionsKt;->set(Lcom/android/server/permission/access/immutable/MutableIntReferenceMap;ILcom/android/server/permission/access/immutable/Immutable;)V
+HSPLcom/android/server/permission/access/immutable/IntSet;-><init>(Landroid/util/SparseBooleanArray;)V
+HSPLcom/android/server/permission/access/immutable/IntSet;-><init>(Landroid/util/SparseBooleanArray;Lcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+HSPLcom/android/server/permission/access/immutable/IntSet;->elementAt(I)I
+HSPLcom/android/server/permission/access/immutable/IntSet;->getArray$frameworks__base__services__permission__android_common__services_permission_pre_jarjar()Landroid/util/SparseBooleanArray;
+HSPLcom/android/server/permission/access/immutable/IntSet;->getSize()I
+HSPLcom/android/server/permission/access/immutable/IntSetExtensionsKt;->MutableIntSet([I)Lcom/android/server/permission/access/immutable/MutableIntSet;
+HSPLcom/android/server/permission/access/immutable/IntSetExtensionsKt;->plusAssign(Lcom/android/server/permission/access/immutable/MutableIntSet;I)V
+HSPLcom/android/server/permission/access/immutable/IntSetExtensionsKt;->plusAssign(Lcom/android/server/permission/access/immutable/MutableIntSet;Lcom/android/server/permission/access/immutable/IntSet;)V
+HSPLcom/android/server/permission/access/immutable/IntSetExtensionsKt;->plusAssign(Lcom/android/server/permission/access/immutable/MutableIntSet;[I)V
+HPLcom/android/server/permission/access/immutable/MutableIndexedList;-><init>(Ljava/util/ArrayList;)V
+HPLcom/android/server/permission/access/immutable/MutableIndexedList;-><init>(Ljava/util/ArrayList;ILcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+HPLcom/android/server/permission/access/immutable/MutableIndexedList;->add(Ljava/lang/Object;)V
+PLcom/android/server/permission/access/immutable/MutableIndexedListSet;-><init>(Lcom/android/server/permission/access/immutable/IndexedListSet;)V
+HSPLcom/android/server/permission/access/immutable/MutableIndexedListSet;-><init>(Ljava/util/ArrayList;)V
+HSPLcom/android/server/permission/access/immutable/MutableIndexedListSet;-><init>(Ljava/util/ArrayList;ILcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+HSPLcom/android/server/permission/access/immutable/MutableIndexedListSet;->add(Ljava/lang/Object;)Z
+HSPLcom/android/server/permission/access/immutable/MutableIndexedMap;-><init>(Landroid/util/ArrayMap;)V
+HSPLcom/android/server/permission/access/immutable/MutableIndexedMap;-><init>(Landroid/util/ArrayMap;ILcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+PLcom/android/server/permission/access/immutable/MutableIndexedMap;-><init>(Lcom/android/server/permission/access/immutable/IndexedMap;)V
+HSPLcom/android/server/permission/access/immutable/MutableIndexedMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+HPLcom/android/server/permission/access/immutable/MutableIndexedMap;->putAt(ILjava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/permission/access/immutable/MutableIndexedMap;->removeAt(I)Ljava/lang/Object;
+HSPLcom/android/server/permission/access/immutable/MutableIndexedReferenceMap;-><init>(Landroid/util/ArrayMap;)V
+HSPLcom/android/server/permission/access/immutable/MutableIndexedReferenceMap;-><init>(Landroid/util/ArrayMap;ILcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+PLcom/android/server/permission/access/immutable/MutableIndexedReferenceMap;->put(Ljava/lang/Object;Lcom/android/server/permission/access/immutable/Immutable;)Lcom/android/server/permission/access/immutable/Immutable;
+HSPLcom/android/server/permission/access/immutable/MutableIndexedSet;-><init>(Landroid/util/ArraySet;)V
+HSPLcom/android/server/permission/access/immutable/MutableIndexedSet;-><init>(Landroid/util/ArraySet;ILcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+HPLcom/android/server/permission/access/immutable/MutableIndexedSet;->add(Ljava/lang/Object;)Z
+HSPLcom/android/server/permission/access/immutable/MutableIntMap;-><init>(Landroid/util/SparseArray;)V
+HSPLcom/android/server/permission/access/immutable/MutableIntMap;-><init>(Landroid/util/SparseArray;ILcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+PLcom/android/server/permission/access/immutable/MutableIntMap;->clear()V
+PLcom/android/server/permission/access/immutable/MutableIntMap;->remove(I)Ljava/lang/Object;
+HSPLcom/android/server/permission/access/immutable/MutableIntReferenceMap;-><init>(Landroid/util/SparseArray;)V
+HSPLcom/android/server/permission/access/immutable/MutableIntReferenceMap;-><init>(Landroid/util/SparseArray;ILcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+PLcom/android/server/permission/access/immutable/MutableIntReferenceMap;-><init>(Lcom/android/server/permission/access/immutable/IntReferenceMap;)V
+HSPLcom/android/server/permission/access/immutable/MutableIntReferenceMap;->mutate(I)Lcom/android/server/permission/access/immutable/Immutable;
+HSPLcom/android/server/permission/access/immutable/MutableIntReferenceMap;->put(ILcom/android/server/permission/access/immutable/Immutable;)Lcom/android/server/permission/access/immutable/Immutable;
+HSPLcom/android/server/permission/access/immutable/MutableIntSet;-><init>(Landroid/util/SparseBooleanArray;)V
+HSPLcom/android/server/permission/access/immutable/MutableIntSet;-><init>(Landroid/util/SparseBooleanArray;ILcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+HPLcom/android/server/permission/access/immutable/MutableIntSet;->clear()V
+HSPLcom/android/server/permission/access/immutable/MutableReference;-><init>(Lcom/android/server/permission/access/immutable/Immutable;)V
+HSPLcom/android/server/permission/access/immutable/MutableReference;-><init>(Lcom/android/server/permission/access/immutable/Immutable;Lcom/android/server/permission/access/immutable/Immutable;)V
+HSPLcom/android/server/permission/access/immutable/MutableReference;->get()Lcom/android/server/permission/access/immutable/Immutable;
+HSPLcom/android/server/permission/access/immutable/MutableReference;->mutate()Lcom/android/server/permission/access/immutable/Immutable;
+HPLcom/android/server/permission/access/immutable/MutableReference;->toImmutable()Lcom/android/server/permission/access/immutable/MutableReference;
+HSPLcom/android/server/permission/access/permission/AppIdPermissionMigration$Companion;-><init>()V
+HSPLcom/android/server/permission/access/permission/AppIdPermissionMigration$Companion;-><init>(Lcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+HSPLcom/android/server/permission/access/permission/AppIdPermissionMigration;-><clinit>()V
+HSPLcom/android/server/permission/access/permission/AppIdPermissionMigration;-><init>()V
+HSPLcom/android/server/permission/access/permission/AppIdPermissionPersistence$Companion;-><init>()V
+HSPLcom/android/server/permission/access/permission/AppIdPermissionPersistence$Companion;-><init>(Lcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+HSPLcom/android/server/permission/access/permission/AppIdPermissionPersistence;-><clinit>()V
+HSPLcom/android/server/permission/access/permission/AppIdPermissionPersistence;-><init>()V
+HPLcom/android/server/permission/access/permission/AppIdPermissionPersistence;->parseAppId(Lcom/android/modules/utils/BinaryXmlPullParser;Lcom/android/server/permission/access/immutable/MutableIntReferenceMap;)V
+HPLcom/android/server/permission/access/permission/AppIdPermissionPersistence;->parseAppIdPermission(Lcom/android/modules/utils/BinaryXmlPullParser;Lcom/android/server/permission/access/immutable/MutableIndexedMap;)V
+HPLcom/android/server/permission/access/permission/AppIdPermissionPersistence;->parseAppIdPermissions(Lcom/android/modules/utils/BinaryXmlPullParser;Lcom/android/server/permission/access/MutableAccessState;I)V
+HSPLcom/android/server/permission/access/permission/AppIdPermissionPersistence;->parsePermission(Lcom/android/modules/utils/BinaryXmlPullParser;Lcom/android/server/permission/access/immutable/MutableIndexedMap;)V
+HSPLcom/android/server/permission/access/permission/AppIdPermissionPersistence;->parsePermissions(Lcom/android/modules/utils/BinaryXmlPullParser;Lcom/android/server/permission/access/MutableAccessState;Z)V
+HSPLcom/android/server/permission/access/permission/AppIdPermissionPersistence;->parseSystemState(Lcom/android/modules/utils/BinaryXmlPullParser;Lcom/android/server/permission/access/MutableAccessState;)V
+PLcom/android/server/permission/access/permission/AppIdPermissionPersistence;->parseUserState(Lcom/android/modules/utils/BinaryXmlPullParser;Lcom/android/server/permission/access/MutableAccessState;I)V
+HPLcom/android/server/permission/access/permission/AppIdPermissionPersistence;->serializeAppId(Lcom/android/modules/utils/BinaryXmlSerializer;ILcom/android/server/permission/access/immutable/IndexedMap;)V
+HPLcom/android/server/permission/access/permission/AppIdPermissionPersistence;->serializeAppIdPermission(Lcom/android/modules/utils/BinaryXmlSerializer;Ljava/lang/String;I)V
+PLcom/android/server/permission/access/permission/AppIdPermissionPersistence;->serializeAppIdPermissions(Lcom/android/modules/utils/BinaryXmlSerializer;Lcom/android/server/permission/access/immutable/IntReferenceMap;)V
+HPLcom/android/server/permission/access/permission/AppIdPermissionPersistence;->serializePermission(Lcom/android/modules/utils/BinaryXmlSerializer;Lcom/android/server/permission/access/permission/Permission;)V
+HPLcom/android/server/permission/access/permission/AppIdPermissionPersistence;->serializePermissions(Lcom/android/modules/utils/BinaryXmlSerializer;Ljava/lang/String;Lcom/android/server/permission/access/immutable/IndexedMap;)V
+PLcom/android/server/permission/access/permission/AppIdPermissionPersistence;->serializeSystemState(Lcom/android/modules/utils/BinaryXmlSerializer;Lcom/android/server/permission/access/AccessState;)V
+PLcom/android/server/permission/access/permission/AppIdPermissionPersistence;->serializeUserState(Lcom/android/modules/utils/BinaryXmlSerializer;Lcom/android/server/permission/access/AccessState;I)V
+HSPLcom/android/server/permission/access/permission/AppIdPermissionPolicy$Companion;-><init>()V
+HSPLcom/android/server/permission/access/permission/AppIdPermissionPolicy$Companion;-><init>(Lcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+HSPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;-><clinit>()V
+HSPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;-><init>()V
+PLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->addOnPermissionFlagsChangedListener(Lcom/android/server/permission/access/permission/AppIdPermissionPolicy$OnPermissionFlagsChangedListener;)V
+HPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->addPermissionGroups(Lcom/android/server/permission/access/MutateStateScope;Lcom/android/server/pm/pkg/PackageState;)V
+HPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->addPermissions(Lcom/android/server/permission/access/MutateStateScope;Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/permission/access/immutable/MutableIndexedSet;)V
+HPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->adoptPermissions(Lcom/android/server/permission/access/MutateStateScope;Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/permission/access/immutable/MutableIndexedSet;)V
+PLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->canAdoptPermissions(Lcom/android/server/permission/access/MutateStateScope;Ljava/lang/String;Ljava/lang/String;)Z
+HPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->checkPrivilegedPermissionAllowlist(Lcom/android/server/permission/access/MutateStateScope;Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/permission/access/permission/Permission;)Z
+HPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->evaluateAllPermissionStatesForPackage(Lcom/android/server/permission/access/MutateStateScope;Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/pkg/PackageState;)V
+HPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->evaluateAllPermissionStatesForPackageAndUser(Lcom/android/server/permission/access/MutateStateScope;Lcom/android/server/pm/pkg/PackageState;ILcom/android/server/pm/pkg/PackageState;)V
+HPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->evaluatePermissionState(Lcom/android/server/permission/access/MutateStateScope;IILjava/lang/String;Lcom/android/server/pm/pkg/PackageState;)V
+HPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->evaluatePermissionStateForAllPackages(Lcom/android/server/permission/access/MutateStateScope;Ljava/lang/String;Lcom/android/server/pm/pkg/PackageState;)V
+HPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->findPermissionTree(Lcom/android/server/permission/access/GetStateScope;Ljava/lang/String;)Lcom/android/server/permission/access/permission/Permission;
+HSPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->getObjectScheme()Ljava/lang/String;
+PLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->getOldStatePermissionFlags(Lcom/android/server/permission/access/MutateStateScope;IILjava/lang/String;)I
+HPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->getPermissionFlags(Lcom/android/server/permission/access/AccessState;IILjava/lang/String;)I
+HPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->getPermissionFlags(Lcom/android/server/permission/access/GetStateScope;IILjava/lang/String;)I
+PLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->getPermissionGroups(Lcom/android/server/permission/access/GetStateScope;)Lcom/android/server/permission/access/immutable/IndexedMap;
+PLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->getPermissionTrees(Lcom/android/server/permission/access/GetStateScope;)Lcom/android/server/permission/access/immutable/IndexedMap;
+HPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->getPermissions(Lcom/android/server/permission/access/GetStateScope;)Lcom/android/server/permission/access/immutable/IndexedMap;
+HPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->getPrivilegedPermissionAllowlistState(Lcom/android/server/permission/access/MutateStateScope;Lcom/android/server/pm/pkg/PackageState;Ljava/lang/String;)Ljava/lang/Boolean;
+HSPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->getSubjectScheme()Ljava/lang/String;
+HPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->getUidPermissionFlags(Lcom/android/server/permission/access/GetStateScope;II)Lcom/android/server/permission/access/immutable/IndexedMap;
+HPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->inheritImplicitPermissionStates(Lcom/android/server/permission/access/MutateStateScope;II)V
+HPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->onInitialized(Lcom/android/server/permission/access/MutateStateScope;)V
+HPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->onStateMutated(Lcom/android/server/permission/access/GetStateScope;)V
+HPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->onStorageVolumeMounted(Lcom/android/server/permission/access/MutateStateScope;Ljava/lang/String;Ljava/util/List;Z)V
+PLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->onSystemReady(Lcom/android/server/permission/access/MutateStateScope;)V
+HSPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->parseSystemState(Lcom/android/modules/utils/BinaryXmlPullParser;Lcom/android/server/permission/access/MutableAccessState;)V
+PLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->parseUserState(Lcom/android/modules/utils/BinaryXmlPullParser;Lcom/android/server/permission/access/MutableAccessState;I)V
+HPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->revokePermissionsOnPackageUpdate(Lcom/android/server/permission/access/MutateStateScope;I)V
+PLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->serializeSystemState(Lcom/android/modules/utils/BinaryXmlSerializer;Lcom/android/server/permission/access/AccessState;)V
+PLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->serializeUserState(Lcom/android/modules/utils/BinaryXmlSerializer;Lcom/android/server/permission/access/AccessState;I)V
+HPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->setPermissionFlags(Lcom/android/server/permission/access/MutateStateScope;IILjava/lang/String;I)Z
+HPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->shouldGrantPermissionByProtectionFlags(Lcom/android/server/permission/access/MutateStateScope;Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/permission/access/permission/Permission;)Z
+HPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->shouldGrantPermissionBySignature(Lcom/android/server/permission/access/MutateStateScope;Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/permission/access/permission/Permission;)Z
+HPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->shouldGrantPrivilegedOrOemPermission(Lcom/android/server/permission/access/MutateStateScope;Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/permission/access/permission/Permission;)Z
+HPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->trimPermissionStates(Lcom/android/server/permission/access/MutateStateScope;I)V
+HPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->trimPermissions(Lcom/android/server/permission/access/MutateStateScope;Ljava/lang/String;Lcom/android/server/permission/access/immutable/MutableIndexedSet;)V
+HPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->updatePermissionFlags(Lcom/android/server/permission/access/MutateStateScope;IILjava/lang/String;II)Z
+HPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->updatePermissionIfDynamic(Lcom/android/server/permission/access/MutateStateScope;Lcom/android/server/permission/access/permission/Permission;)Lcom/android/server/permission/access/permission/Permission;
+HSPLcom/android/server/permission/access/permission/AppIdPermissionUpgrade$Companion;-><init>()V
+HSPLcom/android/server/permission/access/permission/AppIdPermissionUpgrade$Companion;-><init>(Lcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+HSPLcom/android/server/permission/access/permission/AppIdPermissionUpgrade;-><clinit>()V
+HSPLcom/android/server/permission/access/permission/AppIdPermissionUpgrade;-><init>(Lcom/android/server/permission/access/permission/AppIdPermissionPolicy;)V
+HSPLcom/android/server/permission/access/permission/DevicePermissionPersistence$Companion;-><init>()V
+HSPLcom/android/server/permission/access/permission/DevicePermissionPersistence$Companion;-><init>(Lcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+HSPLcom/android/server/permission/access/permission/DevicePermissionPersistence;-><clinit>()V
+HSPLcom/android/server/permission/access/permission/DevicePermissionPersistence;-><init>()V
+PLcom/android/server/permission/access/permission/DevicePermissionPersistence;->parseAppIdDevicePermissions(Lcom/android/modules/utils/BinaryXmlPullParser;Lcom/android/server/permission/access/MutableAccessState;I)V
+PLcom/android/server/permission/access/permission/DevicePermissionPersistence;->parseUserState(Lcom/android/modules/utils/BinaryXmlPullParser;Lcom/android/server/permission/access/MutableAccessState;I)V
+PLcom/android/server/permission/access/permission/DevicePermissionPersistence;->serializeUserState(Lcom/android/modules/utils/BinaryXmlSerializer;Lcom/android/server/permission/access/AccessState;I)V
+HSPLcom/android/server/permission/access/permission/DevicePermissionPolicy$Companion;-><init>()V
+HSPLcom/android/server/permission/access/permission/DevicePermissionPolicy$Companion;-><init>(Lcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+HSPLcom/android/server/permission/access/permission/DevicePermissionPolicy;-><clinit>()V
+HSPLcom/android/server/permission/access/permission/DevicePermissionPolicy;-><init>()V
+PLcom/android/server/permission/access/permission/DevicePermissionPolicy;->addOnPermissionFlagsChangedListener(Lcom/android/server/permission/access/permission/DevicePermissionPolicy$OnDevicePermissionFlagsChangedListener;)V
+HSPLcom/android/server/permission/access/permission/DevicePermissionPolicy;->getObjectScheme()Ljava/lang/String;
+HSPLcom/android/server/permission/access/permission/DevicePermissionPolicy;->getSubjectScheme()Ljava/lang/String;
+HPLcom/android/server/permission/access/permission/DevicePermissionPolicy;->onStateMutated(Lcom/android/server/permission/access/GetStateScope;)V
+HPLcom/android/server/permission/access/permission/DevicePermissionPolicy;->onStorageVolumeMounted(Lcom/android/server/permission/access/MutateStateScope;Ljava/lang/String;Ljava/util/List;Z)V
+PLcom/android/server/permission/access/permission/DevicePermissionPolicy;->parseUserState(Lcom/android/modules/utils/BinaryXmlPullParser;Lcom/android/server/permission/access/MutableAccessState;I)V
+PLcom/android/server/permission/access/permission/DevicePermissionPolicy;->serializeUserState(Lcom/android/modules/utils/BinaryXmlSerializer;Lcom/android/server/permission/access/AccessState;I)V
+PLcom/android/server/permission/access/permission/DevicePermissionPolicy;->trimDevicePermissionStates(Lcom/android/server/permission/access/MutateStateScope;Ljava/util/Set;)V
+HPLcom/android/server/permission/access/permission/DevicePermissionPolicy;->trimPermissionStates(Lcom/android/server/permission/access/MutateStateScope;I)V
+HSPLcom/android/server/permission/access/permission/Permission$Companion;-><init>()V
+HSPLcom/android/server/permission/access/permission/Permission$Companion;-><init>(Lcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+HSPLcom/android/server/permission/access/permission/Permission;-><clinit>()V
+HSPLcom/android/server/permission/access/permission/Permission;-><init>(Landroid/content/pm/PermissionInfo;ZII[IZ)V
+HSPLcom/android/server/permission/access/permission/Permission;-><init>(Landroid/content/pm/PermissionInfo;ZII[IZILcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+PLcom/android/server/permission/access/permission/Permission;->copy$default(Lcom/android/server/permission/access/permission/Permission;Landroid/content/pm/PermissionInfo;ZII[IZILjava/lang/Object;)Lcom/android/server/permission/access/permission/Permission;
+HPLcom/android/server/permission/access/permission/Permission;->copy(Landroid/content/pm/PermissionInfo;ZII[IZ)Lcom/android/server/permission/access/permission/Permission;
+PLcom/android/server/permission/access/permission/Permission;->getAppId()I
+PLcom/android/server/permission/access/permission/Permission;->getGids()[I
+HPLcom/android/server/permission/access/permission/Permission;->getGidsForUser(I)[I
+HSPLcom/android/server/permission/access/permission/Permission;->getPermissionInfo()Landroid/content/pm/PermissionInfo;
+PLcom/android/server/permission/access/permission/Permission;->getType()I
+PLcom/android/server/permission/access/permission/PermissionFlags;-><clinit>()V
+PLcom/android/server/permission/access/permission/PermissionFlags;-><init>()V
+HPLcom/android/server/permission/access/permission/PermissionFlags;->fromApiFlags(ILcom/android/server/permission/access/permission/Permission;I)I
+HPLcom/android/server/permission/access/permission/PermissionFlags;->isPermissionGranted(I)Z
+HPLcom/android/server/permission/access/permission/PermissionFlags;->toApiFlags(I)I
+PLcom/android/server/permission/access/permission/PermissionFlags;->updateFlags(Lcom/android/server/permission/access/permission/Permission;III)I
+PLcom/android/server/permission/access/permission/PermissionFlags;->updateRuntimePermissionGranted(IZ)I
+HSPLcom/android/server/permission/access/permission/PermissionService$Companion;-><init>()V
+HSPLcom/android/server/permission/access/permission/PermissionService$Companion;-><init>(Lcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+PLcom/android/server/permission/access/permission/PermissionService$OnPermissionFlagsChangedListener;-><init>(Lcom/android/server/permission/access/permission/PermissionService;)V
+PLcom/android/server/permission/access/permission/PermissionService$OnPermissionFlagsChangedListener;->onDevicePermissionFlagsChanged(IILjava/lang/String;Ljava/lang/String;II)V
+PLcom/android/server/permission/access/permission/PermissionService$OnPermissionFlagsChangedListener;->onPermissionFlagsChanged(IILjava/lang/String;II)V
+HPLcom/android/server/permission/access/permission/PermissionService$OnPermissionFlagsChangedListener;->onStateMutated()V
+PLcom/android/server/permission/access/permission/PermissionService$OnPermissionsChangeListeners$Companion;-><init>()V
+PLcom/android/server/permission/access/permission/PermissionService$OnPermissionsChangeListeners$Companion;-><init>(Lcom/android/server/permission/jarjar/kotlin/jvm/internal/DefaultConstructorMarker;)V
+PLcom/android/server/permission/access/permission/PermissionService$OnPermissionsChangeListeners;-><clinit>()V
+PLcom/android/server/permission/access/permission/PermissionService$OnPermissionsChangeListeners;-><init>(Landroid/os/Looper;)V
+PLcom/android/server/permission/access/permission/PermissionService$OnPermissionsChangeListeners;->addListener(Landroid/permission/IOnPermissionsChangeListener;)V
+PLcom/android/server/permission/access/permission/PermissionService$OnPermissionsChangeListeners;->removeListener(Landroid/permission/IOnPermissionsChangeListener;)V
+PLcom/android/server/permission/access/permission/PermissionService$onSystemReady$2;-><init>(Lcom/android/server/permission/access/permission/PermissionService;)V
+HSPLcom/android/server/permission/access/permission/PermissionService;-><clinit>()V
+HSPLcom/android/server/permission/access/permission/PermissionService;-><init>(Lcom/android/server/permission/access/AccessCheckingService;)V
+PLcom/android/server/permission/access/permission/PermissionService;->access$getDevicePolicy$p(Lcom/android/server/permission/access/permission/PermissionService;)Lcom/android/server/permission/access/permission/DevicePermissionPolicy;
+PLcom/android/server/permission/access/permission/PermissionService;->access$getOnPermissionFlagsChangedListener$p(Lcom/android/server/permission/access/permission/PermissionService;)Lcom/android/server/permission/access/permission/PermissionService$OnPermissionFlagsChangedListener;
+PLcom/android/server/permission/access/permission/PermissionService;->access$getPolicy$p(Lcom/android/server/permission/access/permission/PermissionService;)Lcom/android/server/permission/access/permission/AppIdPermissionPolicy;
+PLcom/android/server/permission/access/permission/PermissionService;->access$getService$p(Lcom/android/server/permission/access/permission/PermissionService;)Lcom/android/server/permission/access/AccessCheckingService;
+PLcom/android/server/permission/access/permission/PermissionService;->access$setRuntimePermissionGranted(Lcom/android/server/permission/access/permission/PermissionService;Lcom/android/server/permission/access/MutateStateScope;Lcom/android/server/pm/pkg/PackageState;ILjava/lang/String;Ljava/lang/String;ZZZZLjava/lang/String;)V
+PLcom/android/server/permission/access/permission/PermissionService;->access$updatePermissionFlags(Lcom/android/server/permission/access/permission/PermissionService;Lcom/android/server/permission/access/MutateStateScope;IILjava/lang/String;Ljava/lang/String;IIZZZLjava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/permission/access/permission/PermissionService;->addOnPermissionsChangeListener(Landroid/permission/IOnPermissionsChangeListener;)V
+HPLcom/android/server/permission/access/permission/PermissionService;->checkPermission(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)I
+HPLcom/android/server/permission/access/permission/PermissionService;->checkUidPermission(ILjava/lang/String;I)I
+HPLcom/android/server/permission/access/permission/PermissionService;->enforceCallingOrSelfAnyPermission(Ljava/lang/String;[Ljava/lang/String;)V
+HPLcom/android/server/permission/access/permission/PermissionService;->enforceCallingOrSelfCrossUserPermission(IZZLjava/lang/String;)V
+HPLcom/android/server/permission/access/permission/PermissionService;->filtered(Lcom/android/server/pm/PackageManagerLocal$UnfilteredSnapshot;II)Lcom/android/server/pm/PackageManagerLocal$FilteredSnapshot;
+PLcom/android/server/permission/access/permission/PermissionService;->generatePermissionGroupInfo(Landroid/content/pm/PermissionGroupInfo;I)Landroid/content/pm/PermissionGroupInfo;
+PLcom/android/server/permission/access/permission/PermissionService;->generatePermissionInfo$default(Lcom/android/server/permission/access/permission/PermissionService;Lcom/android/server/permission/access/permission/Permission;IIILjava/lang/Object;)Landroid/content/pm/PermissionInfo;
+HPLcom/android/server/permission/access/permission/PermissionService;->generatePermissionInfo(Lcom/android/server/permission/access/permission/Permission;II)Landroid/content/pm/PermissionInfo;
+HPLcom/android/server/permission/access/permission/PermissionService;->getAllAppOpPermissionPackages()Ljava/util/Map;
+PLcom/android/server/permission/access/permission/PermissionService;->getAllPermissionsWithProtection(I)Ljava/util/List;
+PLcom/android/server/permission/access/permission/PermissionService;->getAllPermissionsWithProtectionFlags(I)Ljava/util/List;
+PLcom/android/server/permission/access/permission/PermissionService;->getAppOpPermissionPackages(Ljava/lang/String;)[Ljava/lang/String;
+PLcom/android/server/permission/access/permission/PermissionService;->getDefaultPermissionGrantFingerprint(I)Ljava/lang/String;
+HPLcom/android/server/permission/access/permission/PermissionService;->getGidsForUid(I)[I
+HPLcom/android/server/permission/access/permission/PermissionService;->getGrantedPermissions(Ljava/lang/String;I)Ljava/util/Set;
+HPLcom/android/server/permission/access/permission/PermissionService;->getInstalledPermissions(Ljava/lang/String;)Ljava/util/Set;
+HPLcom/android/server/permission/access/permission/PermissionService;->getLegacyPermissionState(I)Lcom/android/server/pm/permission/LegacyPermissionState;
+HPLcom/android/server/permission/access/permission/PermissionService;->getLegacyPermissions()Ljava/util/List;
+HPLcom/android/server/permission/access/permission/PermissionService;->getPackageState(Lcom/android/server/pm/PackageManagerLocal$UnfilteredSnapshot;Ljava/lang/String;)Lcom/android/server/pm/pkg/PackageState;
+HPLcom/android/server/permission/access/permission/PermissionService;->getPermissionFlags(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)I
+HPLcom/android/server/permission/access/permission/PermissionService;->getPermissionFlagsWithPolicy(Lcom/android/server/permission/access/GetStateScope;IILjava/lang/String;Ljava/lang/String;)I
+PLcom/android/server/permission/access/permission/PermissionService;->getPermissionGids(Ljava/lang/String;I)[I
+HPLcom/android/server/permission/access/permission/PermissionService;->getPermissionGroupInfo(Ljava/lang/String;I)Landroid/content/pm/PermissionGroupInfo;
+HPLcom/android/server/permission/access/permission/PermissionService;->getPermissionInfo(Ljava/lang/String;ILjava/lang/String;)Landroid/content/pm/PermissionInfo;
+HPLcom/android/server/permission/access/permission/PermissionService;->getPersistentDeviceId(I)Ljava/lang/String;
+PLcom/android/server/permission/access/permission/PermissionService;->getSplitPermissions()Ljava/util/List;
+PLcom/android/server/permission/access/permission/PermissionService;->grantRuntimePermission(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/permission/access/permission/PermissionService;->initialize()V
+HPLcom/android/server/permission/access/permission/PermissionService;->isPackageVisibleToUid(Lcom/android/server/pm/PackageManagerLocal$UnfilteredSnapshot;Ljava/lang/String;I)Z
+HPLcom/android/server/permission/access/permission/PermissionService;->isPackageVisibleToUid(Lcom/android/server/pm/PackageManagerLocal$UnfilteredSnapshot;Ljava/lang/String;II)Z
+HPLcom/android/server/permission/access/permission/PermissionService;->isPermissionGranted(Lcom/android/server/permission/access/GetStateScope;Lcom/android/server/pm/pkg/PackageState;ILjava/lang/String;Ljava/lang/String;)Z
+HPLcom/android/server/permission/access/permission/PermissionService;->isPermissionsReviewRequired(Ljava/lang/String;I)Z
+HPLcom/android/server/permission/access/permission/PermissionService;->isRootOrSystemOrShellUid(I)Z
+HPLcom/android/server/permission/access/permission/PermissionService;->isRootOrSystemUid(I)Z
+HPLcom/android/server/permission/access/permission/PermissionService;->isShellUid(I)Z
+HPLcom/android/server/permission/access/permission/PermissionService;->isSinglePermissionGranted(Lcom/android/server/permission/access/GetStateScope;IIZLjava/lang/String;Ljava/lang/String;)Z
+HPLcom/android/server/permission/access/permission/PermissionService;->isSystemUidPermissionGranted(ILjava/lang/String;)Z
+HPLcom/android/server/permission/access/permission/PermissionService;->isUidInstantApp(Lcom/android/server/pm/PackageManagerLocal$UnfilteredSnapshot;I)Z
+HPLcom/android/server/permission/access/permission/PermissionService;->onPackageAdded(Lcom/android/server/pm/pkg/PackageState;ZLcom/android/server/pm/pkg/AndroidPackage;)V
+PLcom/android/server/permission/access/permission/PermissionService;->onStorageVolumeMounted(Ljava/lang/String;Z)V
+PLcom/android/server/permission/access/permission/PermissionService;->onSystemReady()V
+PLcom/android/server/permission/access/permission/PermissionService;->readLegacyPermissionStateTEMP()V
+HSPLcom/android/server/permission/access/permission/PermissionService;->readLegacyPermissionsTEMP(Lcom/android/server/pm/permission/LegacyPermissionSettings;)V
+PLcom/android/server/permission/access/permission/PermissionService;->removeOnPermissionsChangeListener(Landroid/permission/IOnPermissionsChangeListener;)V
+PLcom/android/server/permission/access/permission/PermissionService;->setPermissionFlagsWithPolicy(Lcom/android/server/permission/access/MutateStateScope;IILjava/lang/String;Ljava/lang/String;I)Z
+PLcom/android/server/permission/access/permission/PermissionService;->setRuntimePermissionGranted$default(Lcom/android/server/permission/access/permission/PermissionService;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;ZZLjava/lang/String;ILjava/lang/Object;)V
+HPLcom/android/server/permission/access/permission/PermissionService;->setRuntimePermissionGranted(Lcom/android/server/permission/access/MutateStateScope;Lcom/android/server/pm/pkg/PackageState;ILjava/lang/String;Ljava/lang/String;ZZZZLjava/lang/String;)V
+HPLcom/android/server/permission/access/permission/PermissionService;->setRuntimePermissionGranted(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;ZZLjava/lang/String;)V
+PLcom/android/server/permission/access/permission/PermissionService;->toLegacyPermissions(Lcom/android/server/permission/access/immutable/IndexedMap;)Ljava/util/List;
+HPLcom/android/server/permission/access/permission/PermissionService;->updatePermissionFlags(Lcom/android/server/permission/access/MutateStateScope;IILjava/lang/String;Ljava/lang/String;IIZZZLjava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/permission/access/permission/PermissionService;->updatePermissionFlags(Ljava/lang/String;Ljava/lang/String;IIZLjava/lang/String;I)V
+HPLcom/android/server/permission/access/permission/PermissionService;->withFilteredSnapshot(Lcom/android/server/pm/PackageManagerLocal;II)Lcom/android/server/pm/PackageManagerLocal$FilteredSnapshot;
+PLcom/android/server/permission/access/permission/PermissionService;->writeLegacyPermissionStateTEMP()V
+PLcom/android/server/permission/access/permission/PermissionService;->writeLegacyPermissionsTEMP(Lcom/android/server/pm/permission/LegacyPermissionSettings;)V
+PLcom/android/server/permission/access/util/IntExtensionsKt;->andInv(II)I
+PLcom/android/server/permission/access/util/IntExtensionsKt;->hasAnyBit(II)Z
+HPLcom/android/server/permission/access/util/IntExtensionsKt;->hasBits(II)Z
+HSPLcom/android/server/permission/access/util/PermissionApex;-><clinit>()V
+HSPLcom/android/server/permission/access/util/PermissionApex;-><init>()V
+HSPLcom/android/server/permission/access/util/PermissionApex;->getApexEnvironment()Landroid/content/ApexEnvironment;
+HSPLcom/android/server/permission/access/util/PermissionApex;->getSystemDataDirectory()Ljava/io/File;
+PLcom/android/server/permission/access/util/PermissionApex;->getUserDataDirectory(I)Ljava/io/File;
+HSPLcom/android/server/permission/jarjar/kotlin/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
+HSPLcom/android/server/permission/jarjar/kotlin/Pair;->component1()Ljava/lang/Object;
+HSPLcom/android/server/permission/jarjar/kotlin/Pair;->component2()Ljava/lang/Object;
+HSPLcom/android/server/permission/jarjar/kotlin/TuplesKt;->to(Ljava/lang/Object;Ljava/lang/Object;)Lcom/android/server/permission/jarjar/kotlin/Pair;
+PLcom/android/server/permission/jarjar/kotlin/Unit;-><clinit>()V
+PLcom/android/server/permission/jarjar/kotlin/Unit;-><init>()V
+HSPLcom/android/server/permission/jarjar/kotlin/collections/ArraysKt;->asList([Ljava/lang/Object;)Ljava/util/List;
+PLcom/android/server/permission/jarjar/kotlin/collections/ArraysKt;->contains([Ljava/lang/Object;Ljava/lang/Object;)Z
+PLcom/android/server/permission/jarjar/kotlin/collections/ArraysKt;->first([Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/server/permission/jarjar/kotlin/collections/ArraysKt___ArraysJvmKt;->asList([Ljava/lang/Object;)Ljava/util/List;
+HPLcom/android/server/permission/jarjar/kotlin/collections/ArraysKt___ArraysKt;->contains([Ljava/lang/Object;Ljava/lang/Object;)Z
+PLcom/android/server/permission/jarjar/kotlin/collections/ArraysKt___ArraysKt;->first([Ljava/lang/Object;)Ljava/lang/Object;
+HPLcom/android/server/permission/jarjar/kotlin/collections/ArraysKt___ArraysKt;->indexOf([Ljava/lang/Object;Ljava/lang/Object;)I
+HSPLcom/android/server/permission/jarjar/kotlin/collections/ArraysUtilJVM;->asList([Ljava/lang/Object;)Ljava/util/List;
+PLcom/android/server/permission/jarjar/kotlin/collections/CollectionsKt;->elementAt(Ljava/lang/Iterable;I)Ljava/lang/Object;
+HPLcom/android/server/permission/jarjar/kotlin/collections/CollectionsKt___CollectionsKt$elementAt$1;-><init>(I)V
+PLcom/android/server/permission/jarjar/kotlin/collections/CollectionsKt___CollectionsKt;->elementAt(Ljava/lang/Iterable;I)Ljava/lang/Object;
+HPLcom/android/server/permission/jarjar/kotlin/collections/CollectionsKt___CollectionsKt;->elementAtOrElse(Ljava/lang/Iterable;ILcom/android/server/permission/jarjar/kotlin/jvm/functions/Function1;)Ljava/lang/Object;
+HSPLcom/android/server/permission/jarjar/kotlin/collections/EmptyMap;-><clinit>()V
+HSPLcom/android/server/permission/jarjar/kotlin/collections/EmptyMap;-><init>()V
+HSPLcom/android/server/permission/jarjar/kotlin/collections/EmptySet;-><clinit>()V
+HSPLcom/android/server/permission/jarjar/kotlin/collections/EmptySet;-><init>()V
+HSPLcom/android/server/permission/jarjar/kotlin/collections/MapsKt;->emptyMap()Ljava/util/Map;
+HSPLcom/android/server/permission/jarjar/kotlin/collections/MapsKt__MapsKt;->emptyMap()Ljava/util/Map;
+HSPLcom/android/server/permission/jarjar/kotlin/collections/SetsKt;->emptySet()Ljava/util/Set;
+HSPLcom/android/server/permission/jarjar/kotlin/collections/SetsKt__SetsKt;->emptySet()Ljava/util/Set;
+PLcom/android/server/permission/jarjar/kotlin/io/CloseableKt;->closeFinally(Ljava/io/Closeable;Ljava/lang/Throwable;)V
+HSPLcom/android/server/permission/jarjar/kotlin/jdk7/AutoCloseableKt;->closeFinally(Ljava/lang/AutoCloseable;Ljava/lang/Throwable;)V
+HSPLcom/android/server/permission/jarjar/kotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
+PLcom/android/server/permission/jarjar/kotlin/jvm/internal/Intrinsics;->checkNotNull(Ljava/lang/Object;)V
+HSPLcom/android/server/permission/jarjar/kotlin/jvm/internal/Intrinsics;->checkNotNull(Ljava/lang/Object;Ljava/lang/String;)V
+HSPLcom/android/server/permission/jarjar/kotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
+HSPLcom/android/server/permission/jarjar/kotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
+PLcom/android/server/permission/jarjar/kotlin/jvm/internal/Lambda;-><init>(I)V
+PLcom/android/server/permission/jarjar/kotlin/jvm/internal/Ref$BooleanRef;-><init>()V
+PLcom/android/server/permission/jarjar/kotlin/jvm/internal/Ref$ObjectRef;-><init>()V
+PLcom/android/server/permission/jarjar/kotlin/ranges/RangesKt;->coerceAtMost(II)I
+PLcom/android/server/permission/jarjar/kotlin/ranges/RangesKt;->coerceAtMost(JJ)J
+PLcom/android/server/permission/jarjar/kotlin/ranges/RangesKt___RangesKt;->coerceAtMost(II)I
+PLcom/android/server/permission/jarjar/kotlin/ranges/RangesKt___RangesKt;->coerceAtMost(JJ)J
+HPLcom/android/server/permission/jarjar/kotlin/text/StringsKt;->startsWith$default(Ljava/lang/String;Ljava/lang/String;ZILjava/lang/Object;)Z
+PLcom/android/server/permission/jarjar/kotlin/text/StringsKt__StringsJVMKt;->startsWith$default(Ljava/lang/String;Ljava/lang/String;ZILjava/lang/Object;)Z
+PLcom/android/server/permission/jarjar/kotlin/text/StringsKt__StringsJVMKt;->startsWith(Ljava/lang/String;Ljava/lang/String;Z)Z
+HSPLcom/android/server/pm/AbstractStatsBase;-><init>(Ljava/lang/String;Ljava/lang/String;Z)V
+PLcom/android/server/pm/AbstractStatsBase;->getFile()Landroid/util/AtomicFile;
+PLcom/android/server/pm/AbstractStatsBase;->read(Ljava/lang/Object;)V
+HSPLcom/android/server/pm/ApexManager$1;-><init>()V
+HSPLcom/android/server/pm/ApexManager$1;->create()Lcom/android/server/pm/ApexManager;
+HSPLcom/android/server/pm/ApexManager$1;->create()Ljava/lang/Object;
+HSPLcom/android/server/pm/ApexManager$ActiveApexInfo;-><init>(Landroid/apex/ApexInfo;)V
+HSPLcom/android/server/pm/ApexManager$ActiveApexInfo;-><init>(Ljava/lang/String;Ljava/io/File;Ljava/io/File;ZLjava/io/File;Z)V
+HSPLcom/android/server/pm/ApexManager$ApexManagerImpl;-><init>()V
+PLcom/android/server/pm/ApexManager$ApexManagerImpl;->destroyCeSnapshotsNotSpecified(I[I)Z
+HSPLcom/android/server/pm/ApexManager$ApexManagerImpl;->getActiveApexInfos()Ljava/util/List;
+HPLcom/android/server/pm/ApexManager$ApexManagerImpl;->getActivePackageNameForApexModuleName(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/pm/ApexManager$ApexManagerImpl;->getAllApexInfos()[Landroid/apex/ApexInfo;
+PLcom/android/server/pm/ApexManager$ApexManagerImpl;->getApexSystemServices()Ljava/util/List;
+PLcom/android/server/pm/ApexManager$ApexManagerImpl;->getApksInApex(Ljava/lang/String;)Ljava/util/List;
+HPLcom/android/server/pm/ApexManager$ApexManagerImpl;->getBackingApexFile(Ljava/io/File;)Ljava/io/File;
+PLcom/android/server/pm/ApexManager$ApexManagerImpl;->getSessions()Landroid/util/SparseArray;
+PLcom/android/server/pm/ApexManager$ApexManagerImpl;->markBootCompleted()V
+PLcom/android/server/pm/ApexManager$ApexManagerImpl;->notifyScanResult(Ljava/util/List;)V
+PLcom/android/server/pm/ApexManager$ApexManagerImpl;->notifyScanResultLocked(Ljava/util/List;)V
+HPLcom/android/server/pm/ApexManager$ApexManagerImpl;->registerApkInApex(Lcom/android/server/pm/pkg/AndroidPackage;)V
+PLcom/android/server/pm/ApexManager$ApexManagerImpl;->reportErrorWithApkInApex(Ljava/lang/String;Ljava/lang/String;)V
+HSPLcom/android/server/pm/ApexManager$ApexManagerImpl;->waitForApexService()Landroid/apex/IApexService;
+PLcom/android/server/pm/ApexManager$ScanResult;-><init>(Landroid/apex/ApexInfo;Lcom/android/server/pm/pkg/AndroidPackage;Ljava/lang/String;)V
+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;
+PLcom/android/server/pm/ApexSystemServiceInfo;-><init>(Ljava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/pm/ApexSystemServiceInfo;->getJarPath()Ljava/lang/String;
+PLcom/android/server/pm/ApexSystemServiceInfo;->getName()Ljava/lang/String;
+PLcom/android/server/pm/AppDataHelper$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/pm/AppDataHelper;Ljava/util/List;I)V
+PLcom/android/server/pm/AppDataHelper$$ExternalSyntheticLambda0;->run()V
+HPLcom/android/server/pm/AppDataHelper$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/pm/AppDataHelper;ZLcom/android/server/pm/PackageSetting;II)V
+PLcom/android/server/pm/AppDataHelper$$ExternalSyntheticLambda1;->run()V
+HPLcom/android/server/pm/AppDataHelper$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/pm/AppDataHelper;Ljava/lang/String;Ljava/lang/String;IILandroid/os/CreateAppDataArgs;Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/PackageSetting;)V
+HPLcom/android/server/pm/AppDataHelper$$ExternalSyntheticLambda3;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/pm/AppDataHelper;->$r8$lambda$2BeLf97yLOm88wYtplb9WF4eyqo(Lcom/android/server/pm/AppDataHelper;ZLcom/android/server/pm/PackageSetting;II)V
+PLcom/android/server/pm/AppDataHelper;->$r8$lambda$M0YumYvb8z5b5xIpxD3ih_G5vRU(Lcom/android/server/pm/AppDataHelper;Ljava/lang/String;Ljava/lang/String;IILandroid/os/CreateAppDataArgs;Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/PackageSetting;Landroid/os/CreateAppDataResult;Ljava/lang/Throwable;)V
+PLcom/android/server/pm/AppDataHelper;->$r8$lambda$YFf7DSMx-MyHV4nCg6MSaBHl8TQ(Lcom/android/server/pm/AppDataHelper;Ljava/util/List;I)V
+HSPLcom/android/server/pm/AppDataHelper;-><init>(Lcom/android/server/pm/PackageManagerService;)V
+HPLcom/android/server/pm/AppDataHelper;->assertPackageStorageValid(Lcom/android/server/pm/Computer;Ljava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/pm/AppDataHelper;->executeBatchLI(Lcom/android/server/pm/Installer$Batch;)V
+PLcom/android/server/pm/AppDataHelper;->fixAppsDataOnBoot()Ljava/util/concurrent/Future;
+HPLcom/android/server/pm/AppDataHelper;->lambda$fixAppsDataOnBoot$3(Ljava/util/List;I)V
+HPLcom/android/server/pm/AppDataHelper;->lambda$prepareAppData$2(Ljava/lang/String;Ljava/lang/String;IILandroid/os/CreateAppDataArgs;Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/PackageSetting;Landroid/os/CreateAppDataResult;Ljava/lang/Throwable;)V
+PLcom/android/server/pm/AppDataHelper;->lambda$prepareAppDataAndMigrate$1(ZLcom/android/server/pm/PackageSetting;II)V
+HPLcom/android/server/pm/AppDataHelper;->maybeMigrateAppDataLIF(Lcom/android/server/pm/PackageSetting;I)Z
+HPLcom/android/server/pm/AppDataHelper;->prepareAppData(Lcom/android/server/pm/Installer$Batch;Lcom/android/server/pm/PackageSetting;III)Ljava/util/concurrent/CompletableFuture;
+HPLcom/android/server/pm/AppDataHelper;->prepareAppDataAndMigrate(Lcom/android/server/pm/Installer$Batch;Lcom/android/server/pm/pkg/AndroidPackage;IIZ)V
+HPLcom/android/server/pm/AppDataHelper;->prepareAppDataContentsLeafLIF(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/pkg/PackageStateInternal;II)V
+PLcom/android/server/pm/AppDataHelper;->reconcileAppsData(IIZ)V
+PLcom/android/server/pm/AppDataHelper;->reconcileAppsDataLI(Ljava/lang/String;IIZ)V
+HPLcom/android/server/pm/AppDataHelper;->reconcileAppsDataLI(Ljava/lang/String;IIZZ)Ljava/util/List;
+HPLcom/android/server/pm/AppDataHelper;->shouldHaveAppStorage(Lcom/android/server/pm/pkg/AndroidPackage;)Z
+HSPLcom/android/server/pm/AppIdSettingMap;-><init>()V
+HSPLcom/android/server/pm/AppIdSettingMap;-><init>(Lcom/android/server/pm/AppIdSettingMap;)V
+HSPLcom/android/server/pm/AppIdSettingMap;->getSetting(I)Lcom/android/server/pm/SettingBase;
+HSPLcom/android/server/pm/AppIdSettingMap;->registerExistingAppId(ILcom/android/server/pm/SettingBase;Ljava/lang/Object;)Z
+HSPLcom/android/server/pm/AppIdSettingMap;->registerObserver(Lcom/android/server/utils/Watcher;)V
+PLcom/android/server/pm/AppIdSettingMap;->removeSetting(I)V
+PLcom/android/server/pm/AppIdSettingMap;->setFirstAvailableAppId(I)V
+HSPLcom/android/server/pm/AppIdSettingMap;->snapshot()Lcom/android/server/pm/AppIdSettingMap;
+PLcom/android/server/pm/AppStateHelper;-><clinit>()V
+PLcom/android/server/pm/AppStateHelper;-><init>(Landroid/content/Context;)V
+PLcom/android/server/pm/AppsFilterBase$$ExternalSyntheticLambda0;-><init>(Landroid/util/SparseArray;[ILcom/android/internal/util/function/QuadFunction;)V
+HPLcom/android/server/pm/AppsFilterBase$$ExternalSyntheticLambda0;->toString(Ljava/lang/Object;)Ljava/lang/String;
+PLcom/android/server/pm/AppsFilterBase;->$r8$lambda$EzD-3Qgs3agQ0FfI--Dk-PGWLFc(Landroid/util/SparseArray;[ILcom/android/internal/util/function/QuadFunction;Ljava/lang/Integer;)Ljava/lang/String;
+HSPLcom/android/server/pm/AppsFilterBase;-><init>()V
+PLcom/android/server/pm/AppsFilterBase;->dumpForceQueryable(Ljava/io/PrintWriter;Ljava/lang/Integer;Lcom/android/server/pm/AppsFilterBase$ToString;)V
+HPLcom/android/server/pm/AppsFilterBase;->dumpPackageSet(Ljava/io/PrintWriter;Ljava/lang/Object;Landroid/util/ArraySet;Ljava/lang/String;Ljava/lang/String;Lcom/android/server/pm/AppsFilterBase$ToString;)V
+HPLcom/android/server/pm/AppsFilterBase;->dumpQueries(Ljava/io/PrintWriter;Ljava/lang/Integer;Lcom/android/server/pm/DumpState;[ILcom/android/internal/util/function/QuadFunction;)V
+HPLcom/android/server/pm/AppsFilterBase;->dumpQueriesMap(Ljava/io/PrintWriter;Ljava/lang/Integer;Lcom/android/server/utils/WatchedSparseSetArray;Ljava/lang/String;Lcom/android/server/pm/AppsFilterBase$ToString;)V
+PLcom/android/server/pm/AppsFilterBase;->dumpQueriesViaComponent(Ljava/io/PrintWriter;Ljava/lang/Integer;Lcom/android/server/pm/AppsFilterBase$ToString;)V
+HPLcom/android/server/pm/AppsFilterBase;->dumpQueriesViaImplicitlyQueryable(Ljava/io/PrintWriter;Ljava/lang/Integer;[ILcom/android/server/pm/AppsFilterBase$ToString;)V
+PLcom/android/server/pm/AppsFilterBase;->dumpQueriesViaPackage(Ljava/io/PrintWriter;Ljava/lang/Integer;Lcom/android/server/pm/AppsFilterBase$ToString;)V
+PLcom/android/server/pm/AppsFilterBase;->dumpQueriesViaUsesLibrary(Ljava/io/PrintWriter;Ljava/lang/Integer;Lcom/android/server/pm/AppsFilterBase$ToString;)V
+PLcom/android/server/pm/AppsFilterBase;->getVisibilityAllowList(Lcom/android/server/pm/snapshot/PackageDataSnapshot;Lcom/android/server/pm/pkg/PackageStateInternal;[ILandroid/util/ArrayMap;)Landroid/util/SparseArray;
+HPLcom/android/server/pm/AppsFilterBase;->isForceQueryable(I)Z
+HPLcom/android/server/pm/AppsFilterBase;->isImplicitlyQueryable(II)Z
+HPLcom/android/server/pm/AppsFilterBase;->isQueryableViaComponent(II)Z
+HPLcom/android/server/pm/AppsFilterBase;->isQueryableViaComponentWhenRequireRecompute(Landroid/util/ArrayMap;Lcom/android/server/pm/pkg/PackageStateInternal;Landroid/util/ArraySet;Lcom/android/server/pm/pkg/AndroidPackage;II)Z
+HPLcom/android/server/pm/AppsFilterBase;->isQueryableViaPackage(II)Z
+HPLcom/android/server/pm/AppsFilterBase;->isQueryableViaUsesLibrary(II)Z
+HPLcom/android/server/pm/AppsFilterBase;->isQueryableViaUsesPermission(II)Z
+HPLcom/android/server/pm/AppsFilterBase;->isRetainedImplicitlyQueryable(II)Z
+HPLcom/android/server/pm/AppsFilterBase;->lambda$dumpQueries$0(Landroid/util/SparseArray;[ILcom/android/internal/util/function/QuadFunction;Ljava/lang/Integer;)Ljava/lang/String;
+PLcom/android/server/pm/AppsFilterBase;->log(Ljava/lang/Object;Lcom/android/server/pm/pkg/PackageStateInternal;Ljava/lang/String;)V
+HSPLcom/android/server/pm/AppsFilterBase;->shouldFilterApplication(Lcom/android/server/pm/snapshot/PackageDataSnapshot;ILjava/lang/Object;Lcom/android/server/pm/pkg/PackageStateInternal;I)Z
+HPLcom/android/server/pm/AppsFilterBase;->shouldFilterApplicationInternal(Lcom/android/server/pm/Computer;ILjava/lang/Object;Lcom/android/server/pm/pkg/PackageStateInternal;I)Z
+HPLcom/android/server/pm/AppsFilterBase;->shouldFilterApplicationUsingCache(III)Z
+HSPLcom/android/server/pm/AppsFilterImpl$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/pm/AppsFilterImpl;)V
+PLcom/android/server/pm/AppsFilterImpl$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/pm/AppsFilterImpl;Landroid/content/pm/PackageManagerInternal;IJ)V
+PLcom/android/server/pm/AppsFilterImpl$$ExternalSyntheticLambda1;->run()V
+HSPLcom/android/server/pm/AppsFilterImpl$1;-><init>(Lcom/android/server/pm/AppsFilterImpl;Lcom/android/server/pm/AppsFilterSnapshot;Lcom/android/server/utils/Watchable;)V
+HSPLcom/android/server/pm/AppsFilterImpl$1;->createSnapshot()Lcom/android/server/pm/AppsFilterSnapshot;
+HSPLcom/android/server/pm/AppsFilterImpl$1;->createSnapshot()Ljava/lang/Object;
+PLcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl;)V
+HSPLcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl;-><init>(Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerServiceInjector;)V
+HSPLcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl;-><init>(Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl-IA;)V
+HSPLcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl;-><init>(Lcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl;)V
+HPLcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl;->enableLogging(IZ)V
+HPLcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl;->isGloballyEnabled()Z
+HPLcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl;->isLoggingEnabled(I)Z
+PLcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl;->onSystemReady()V
+HPLcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl;->packageIsEnabled(Lcom/android/server/pm/pkg/AndroidPackage;)Z
+HSPLcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl;->setAppsFilter(Lcom/android/server/pm/AppsFilterImpl;)V
+HSPLcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl;->snapshot()Lcom/android/server/pm/FeatureConfig;
+HPLcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl;->updateEnabledState(Lcom/android/server/pm/pkg/AndroidPackage;)V
+HPLcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl;->updatePackageState(Lcom/android/server/pm/pkg/PackageStateInternal;Z)V
+PLcom/android/server/pm/AppsFilterImpl;->$r8$lambda$z8pKsxG_4fqX35js78wjP4SRLPM(Lcom/android/server/pm/AppsFilterImpl;Landroid/content/pm/PackageManagerInternal;IJ)V
+PLcom/android/server/pm/AppsFilterImpl;->-$$Nest$monChanged(Lcom/android/server/pm/AppsFilterImpl;)V
+HSPLcom/android/server/pm/AppsFilterImpl;-><init>(Lcom/android/server/pm/FeatureConfig;[Ljava/lang/String;ZLcom/android/server/om/OverlayReferenceMapper$Provider;Landroid/os/Handler;)V
+HPLcom/android/server/pm/AppsFilterImpl;->addPackage(Lcom/android/server/pm/Computer;Lcom/android/server/pm/pkg/PackageStateInternal;ZZ)V
+HPLcom/android/server/pm/AppsFilterImpl;->addPackageInternal(Lcom/android/server/pm/pkg/PackageStateInternal;Landroid/util/ArrayMap;)Landroid/util/ArraySet;
+HSPLcom/android/server/pm/AppsFilterImpl;->create(Lcom/android/server/pm/PackageManagerServiceInjector;Landroid/content/pm/PackageManagerInternal;)Lcom/android/server/pm/AppsFilterImpl;
+HPLcom/android/server/pm/AppsFilterImpl;->dispatchChange(Lcom/android/server/utils/Watchable;)V
+HPLcom/android/server/pm/AppsFilterImpl;->grantImplicitAccess(IIZ)Z
+HPLcom/android/server/pm/AppsFilterImpl;->invalidateCache(Ljava/lang/String;)V
+PLcom/android/server/pm/AppsFilterImpl;->isQueryableViaComponentWhenRequireRecompute(Landroid/util/ArrayMap;Lcom/android/server/pm/pkg/PackageStateInternal;Landroid/util/ArraySet;Lcom/android/server/pm/pkg/AndroidPackage;II)Z
+HPLcom/android/server/pm/AppsFilterImpl;->isSystemSigned(Landroid/content/pm/SigningDetails;Lcom/android/server/pm/pkg/PackageStateInternal;)Z
+PLcom/android/server/pm/AppsFilterImpl;->lambda$updateEntireShouldFilterCacheAsync$0(Landroid/content/pm/PackageManagerInternal;IJ)V
+PLcom/android/server/pm/AppsFilterImpl;->logCacheRebuilt(IJII)V
+HPLcom/android/server/pm/AppsFilterImpl;->onChanged()V
+PLcom/android/server/pm/AppsFilterImpl;->onSystemReady(Landroid/content/pm/PackageManagerInternal;)V
+HPLcom/android/server/pm/AppsFilterImpl;->pkgInstruments(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/pkg/AndroidPackage;)Z
+HSPLcom/android/server/pm/AppsFilterImpl;->readCacheEnabledSysProp()V
+PLcom/android/server/pm/AppsFilterImpl;->recomputeComponentVisibility(Landroid/util/ArrayMap;)V
+HSPLcom/android/server/pm/AppsFilterImpl;->registerObserver(Lcom/android/server/utils/Watcher;)V
+HSPLcom/android/server/pm/AppsFilterImpl;->snapshot()Lcom/android/server/pm/AppsFilterSnapshot;
+PLcom/android/server/pm/AppsFilterImpl;->updateEntireShouldFilterCacheAsync(Landroid/content/pm/PackageManagerInternal;I)V
+PLcom/android/server/pm/AppsFilterImpl;->updateEntireShouldFilterCacheAsync(Landroid/content/pm/PackageManagerInternal;JI)V
+HPLcom/android/server/pm/AppsFilterImpl;->updateEntireShouldFilterCacheInner(Lcom/android/server/pm/Computer;Landroid/util/ArrayMap;[Landroid/content/pm/UserInfo;I)V
+PLcom/android/server/pm/AppsFilterImpl;->updateShouldFilterCacheForImplicitAccess()V
+PLcom/android/server/pm/AppsFilterImpl;->updateShouldFilterCacheForImplicitAccess(Lcom/android/server/utils/WatchedSparseSetArray;)V
+HPLcom/android/server/pm/AppsFilterImpl;->updateShouldFilterCacheForPackage(Lcom/android/server/pm/Computer;Ljava/lang/String;Lcom/android/server/pm/pkg/PackageStateInternal;Landroid/util/ArrayMap;[Landroid/content/pm/UserInfo;II)V
+HPLcom/android/server/pm/AppsFilterImpl;->updateShouldFilterCacheForUser(Lcom/android/server/pm/Computer;Lcom/android/server/pm/pkg/PackageStateInternal;[Landroid/content/pm/UserInfo;Lcom/android/server/pm/pkg/PackageStateInternal;I)V
+HSPLcom/android/server/pm/AppsFilterLocked;-><init>()V
+HPLcom/android/server/pm/AppsFilterLocked;->isForceQueryable(I)Z
+PLcom/android/server/pm/AppsFilterLocked;->isImplicitlyQueryable(II)Z
+HPLcom/android/server/pm/AppsFilterLocked;->isQueryableViaComponent(II)Z
+HPLcom/android/server/pm/AppsFilterLocked;->isQueryableViaPackage(II)Z
+HPLcom/android/server/pm/AppsFilterLocked;->isQueryableViaUsesLibrary(II)Z
+HPLcom/android/server/pm/AppsFilterLocked;->isQueryableViaUsesPermission(II)Z
+PLcom/android/server/pm/AppsFilterLocked;->isRetainedImplicitlyQueryable(II)Z
+HSPLcom/android/server/pm/AppsFilterSnapshotImpl;-><init>(Lcom/android/server/pm/AppsFilterImpl;)V
+PLcom/android/server/pm/AppsFilterUtils$ParallelComputeComponentVisibility$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/pm/AppsFilterUtils$ParallelComputeComponentVisibility;Lcom/android/server/pm/pkg/PackageStateInternal;)V
+PLcom/android/server/pm/AppsFilterUtils$ParallelComputeComponentVisibility$$ExternalSyntheticLambda0;->call()Ljava/lang/Object;
+PLcom/android/server/pm/AppsFilterUtils$ParallelComputeComponentVisibility;->$r8$lambda$UMa2mVXysTyYjRdBqkvUdM8dmxQ(Lcom/android/server/pm/AppsFilterUtils$ParallelComputeComponentVisibility;Lcom/android/server/pm/pkg/PackageStateInternal;)Landroid/util/ArraySet;
+PLcom/android/server/pm/AppsFilterUtils$ParallelComputeComponentVisibility;-><init>(Landroid/util/ArrayMap;Landroid/util/ArraySet;Lcom/android/server/utils/WatchedArraySet;)V
+HPLcom/android/server/pm/AppsFilterUtils$ParallelComputeComponentVisibility;->execute()Landroid/util/SparseSetArray;
+HPLcom/android/server/pm/AppsFilterUtils$ParallelComputeComponentVisibility;->getVisibleListOfQueryViaComponents(Lcom/android/server/pm/pkg/PackageStateInternal;)Landroid/util/ArraySet;
+PLcom/android/server/pm/AppsFilterUtils$ParallelComputeComponentVisibility;->lambda$execute$0(Lcom/android/server/pm/pkg/PackageStateInternal;)Landroid/util/ArraySet;
+HPLcom/android/server/pm/AppsFilterUtils;->canQueryAsInstaller(Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/pkg/AndroidPackage;)Z
+HPLcom/android/server/pm/AppsFilterUtils;->canQueryAsUpdateOwner(Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/pkg/AndroidPackage;)Z
+HPLcom/android/server/pm/AppsFilterUtils;->canQueryViaComponents(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/utils/WatchedArraySet;)Z
+HPLcom/android/server/pm/AppsFilterUtils;->canQueryViaPackage(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/pkg/AndroidPackage;)Z
+HPLcom/android/server/pm/AppsFilterUtils;->canQueryViaUsesLibrary(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/pkg/AndroidPackage;)Z
+HPLcom/android/server/pm/AppsFilterUtils;->matchesAnyComponents(Landroid/content/Intent;Ljava/util/List;Lcom/android/server/utils/WatchedArraySet;)Z
+HPLcom/android/server/pm/AppsFilterUtils;->matchesAnyFilter(Landroid/content/Intent;Lcom/android/internal/pm/pkg/component/ParsedComponent;Lcom/android/server/utils/WatchedArraySet;)Z
+HPLcom/android/server/pm/AppsFilterUtils;->matchesIntentFilter(Landroid/content/Intent;Landroid/content/IntentFilter;Lcom/android/server/utils/WatchedArraySet;)Z
+HPLcom/android/server/pm/AppsFilterUtils;->matchesPackage(Landroid/content/Intent;Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/utils/WatchedArraySet;)Z
+HPLcom/android/server/pm/AppsFilterUtils;->matchesProviders(Ljava/util/Set;Lcom/android/server/pm/pkg/AndroidPackage;)Z
+HPLcom/android/server/pm/AppsFilterUtils;->requestsQueryAllPackages(Lcom/android/server/pm/pkg/AndroidPackage;)Z
+PLcom/android/server/pm/BackgroundInstallControlCallbackHelper;-><init>()V
+PLcom/android/server/pm/BackgroundInstallControlService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/pm/BackgroundInstallControlService;)V
+HPLcom/android/server/pm/BackgroundInstallControlService$$ExternalSyntheticLambda0;->onUsageEvent(ILandroid/app/usage/UsageEvents$Event;)V
+PLcom/android/server/pm/BackgroundInstallControlService$1;-><init>(Lcom/android/server/pm/BackgroundInstallControlService;)V
+PLcom/android/server/pm/BackgroundInstallControlService$BinderService;-><init>(Lcom/android/server/pm/BackgroundInstallControlService;)V
+PLcom/android/server/pm/BackgroundInstallControlService$EventHandler;-><init>(Landroid/os/Looper;Lcom/android/server/pm/BackgroundInstallControlService;)V
+PLcom/android/server/pm/BackgroundInstallControlService$EventHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/pm/BackgroundInstallControlService$InjectorImpl;-><init>(Landroid/content/Context;)V
+PLcom/android/server/pm/BackgroundInstallControlService$InjectorImpl;->getBackgroundInstallControlCallbackHelper()Lcom/android/server/pm/BackgroundInstallControlCallbackHelper;
+PLcom/android/server/pm/BackgroundInstallControlService$InjectorImpl;->getContext()Landroid/content/Context;
+PLcom/android/server/pm/BackgroundInstallControlService$InjectorImpl;->getDiskFile()Ljava/io/File;
+PLcom/android/server/pm/BackgroundInstallControlService$InjectorImpl;->getLooper()Landroid/os/Looper;
+PLcom/android/server/pm/BackgroundInstallControlService$InjectorImpl;->getPackageManager()Landroid/content/pm/PackageManager;
+PLcom/android/server/pm/BackgroundInstallControlService$InjectorImpl;->getPackageManagerInternal()Landroid/content/pm/PackageManagerInternal;
+PLcom/android/server/pm/BackgroundInstallControlService$InjectorImpl;->getPermissionManager()Lcom/android/server/pm/permission/PermissionManagerServiceInternal;
+PLcom/android/server/pm/BackgroundInstallControlService$InjectorImpl;->getUsageStatsManagerInternal()Landroid/app/usage/UsageStatsManagerInternal;
+HPLcom/android/server/pm/BackgroundInstallControlService;->$r8$lambda$r3_D5ZCfbKAc8o--pXGNM2kXs6w(Lcom/android/server/pm/BackgroundInstallControlService;ILandroid/app/usage/UsageEvents$Event;)V
+PLcom/android/server/pm/BackgroundInstallControlService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/pm/BackgroundInstallControlService;-><init>(Lcom/android/server/pm/BackgroundInstallControlService$Injector;)V
+PLcom/android/server/pm/BackgroundInstallControlService;->handleUsageEvent(Landroid/app/usage/UsageEvents$Event;I)V
+PLcom/android/server/pm/BackgroundInstallControlService;->isInstaller(Ljava/lang/String;I)Z
+HPLcom/android/server/pm/BackgroundInstallControlService;->lambda$new$0(ILandroid/app/usage/UsageEvents$Event;)V
+PLcom/android/server/pm/BackgroundInstallControlService;->onStart()V
+PLcom/android/server/pm/BackgroundInstallControlService;->onStart(Z)V
+HSPLcom/android/server/pm/BroadcastHelper;-><clinit>()V
+HSPLcom/android/server/pm/BroadcastHelper;-><init>(Lcom/android/server/pm/PackageManagerServiceInjector;)V
+PLcom/android/server/pm/BroadcastHelper;->broadcastIntent(Landroid/content/Intent;Landroid/content/IIntentReceiver;ZILandroid/util/SparseArray;Ljava/util/function/BiFunction;Landroid/os/Bundle;)V
+PLcom/android/server/pm/BroadcastHelper;->doSendBroadcast(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/String;Landroid/content/IIntentReceiver;[IZLandroid/util/SparseArray;Ljava/util/function/BiFunction;Landroid/os/Bundle;)V
+PLcom/android/server/pm/BroadcastHelper;->sendPackageBroadcast(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/String;Landroid/content/IIntentReceiver;[I[ILandroid/util/SparseArray;Ljava/util/function/BiFunction;Landroid/os/Bundle;)V
+HSPLcom/android/server/pm/ChangedPackagesTracker;-><init>()V
+PLcom/android/server/pm/ChangedPackagesTracker;->getChangedPackages(II)Landroid/content/pm/ChangedPackages;
+PLcom/android/server/pm/ChangedPackagesTracker;->getSequenceNumber()I
+HSPLcom/android/server/pm/CompilerStats;-><init>()V
+PLcom/android/server/pm/CompilerStats;->getPackageStats(Ljava/lang/String;)Lcom/android/server/pm/CompilerStats$PackageStats;
+PLcom/android/server/pm/CompilerStats;->read()V
+PLcom/android/server/pm/CompilerStats;->readInternal(Ljava/lang/Object;)V
+PLcom/android/server/pm/CompilerStats;->readInternal(Ljava/lang/Void;)V
+PLcom/android/server/pm/ComputerEngine$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/pm/ComputerEngine$Settings;)V
+HSPLcom/android/server/pm/ComputerEngine$$ExternalSyntheticLambda1;-><init>()V
+HPLcom/android/server/pm/ComputerEngine$$ExternalSyntheticLambda1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+PLcom/android/server/pm/ComputerEngine$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/pm/ComputerEngine;)V
+HPLcom/android/server/pm/ComputerEngine$$ExternalSyntheticLambda2;->apply(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/server/pm/ComputerEngine$Settings;-><init>(Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/Settings;)V
+PLcom/android/server/pm/ComputerEngine$Settings;->dumpKeySet(Ljava/io/PrintWriter;Ljava/lang/String;Lcom/android/server/pm/DumpState;)V
+PLcom/android/server/pm/ComputerEngine$Settings;->dumpPackages(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/util/ArraySet;Lcom/android/server/pm/DumpState;Z)V
+PLcom/android/server/pm/ComputerEngine$Settings;->dumpPermissions(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/util/ArraySet;Lcom/android/server/pm/DumpState;)V
+PLcom/android/server/pm/ComputerEngine$Settings;->dumpPreferred(Ljava/io/PrintWriter;Lcom/android/server/pm/DumpState;Ljava/lang/String;)V
+PLcom/android/server/pm/ComputerEngine$Settings;->dumpSharedUsers(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/util/ArraySet;Lcom/android/server/pm/DumpState;Z)V
+PLcom/android/server/pm/ComputerEngine$Settings;->getApplicationEnabledSetting(Ljava/lang/String;I)I
+HPLcom/android/server/pm/ComputerEngine$Settings;->getComponentEnabledSetting(Landroid/content/ComponentName;I)I
+HPLcom/android/server/pm/ComputerEngine$Settings;->getCrossProfileIntentResolver(I)Lcom/android/server/pm/CrossProfileIntentResolver;
+HSPLcom/android/server/pm/ComputerEngine$Settings;->getDisabledSystemPackages()Landroid/util/ArrayMap;
+HPLcom/android/server/pm/ComputerEngine$Settings;->getDisabledSystemPkg(Ljava/lang/String;)Lcom/android/server/pm/pkg/PackageStateInternal;
+HSPLcom/android/server/pm/ComputerEngine$Settings;->getPackage(Ljava/lang/String;)Lcom/android/server/pm/pkg/PackageStateInternal;
+HSPLcom/android/server/pm/ComputerEngine$Settings;->getPackages()Landroid/util/ArrayMap;
+HSPLcom/android/server/pm/ComputerEngine$Settings;->getRenamedPackageLPr(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/server/pm/ComputerEngine$Settings;->getSettingBase(I)Lcom/android/server/pm/SettingBase;
+HPLcom/android/server/pm/ComputerEngine$Settings;->getSharedUserFromAppId(I)Lcom/android/server/pm/pkg/SharedUserApi;
+PLcom/android/server/pm/ComputerEngine$Settings;->getSharedUserFromId(Ljava/lang/String;)Lcom/android/server/pm/SharedUserSetting;
+HPLcom/android/server/pm/ComputerEngine$Settings;->getSharedUserFromPackageName(Ljava/lang/String;)Lcom/android/server/pm/pkg/SharedUserApi;
+PLcom/android/server/pm/ComputerEngine$Settings;->getVolumePackages(Ljava/lang/String;)Ljava/util/List;
+HPLcom/android/server/pm/ComputerEngine$Settings;->isEnabledAndMatch(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/pkg/component/ParsedMainComponent;JI)Z
+PLcom/android/server/pm/ComputerEngine;->$r8$lambda$ZsQO-GMd1VCddKx0WIWHtlgezQI(Landroid/content/pm/ProviderInfo;Landroid/content/pm/ProviderInfo;)I
+HSPLcom/android/server/pm/ComputerEngine;-><clinit>()V
+HSPLcom/android/server/pm/ComputerEngine;-><init>(Lcom/android/server/pm/PackageManagerService$Snapshot;I)V
+HPLcom/android/server/pm/ComputerEngine;->addPackageHoldingPermissions(Ljava/util/ArrayList;Lcom/android/server/pm/pkg/PackageStateInternal;[Ljava/lang/String;[ZJI)V
+HPLcom/android/server/pm/ComputerEngine;->applyPostResolutionFilter(Ljava/util/List;Ljava/lang/String;ZIZILandroid/content/Intent;)Ljava/util/List;
+HPLcom/android/server/pm/ComputerEngine;->applyPostServiceResolutionFilter(Ljava/util/List;Ljava/lang/String;II)Ljava/util/List;
+PLcom/android/server/pm/ComputerEngine;->areWebInstantAppsDisabled(I)Z
+HPLcom/android/server/pm/ComputerEngine;->canQueryPackage(ILjava/lang/String;)Z
+PLcom/android/server/pm/ComputerEngine;->canViewInstantApps(II)Z
+HPLcom/android/server/pm/ComputerEngine;->checkSignatures(Ljava/lang/String;Ljava/lang/String;I)I
+PLcom/android/server/pm/ComputerEngine;->checkSignaturesInternal(Landroid/content/pm/SigningDetails;Landroid/content/pm/SigningDetails;)I
+HPLcom/android/server/pm/ComputerEngine;->checkUidPermission(Ljava/lang/String;I)I
+HPLcom/android/server/pm/ComputerEngine;->dump(ILjava/io/FileDescriptor;Ljava/io/PrintWriter;Lcom/android/server/pm/DumpState;)V
+PLcom/android/server/pm/ComputerEngine;->dumpKeySet(Ljava/io/PrintWriter;Ljava/lang/String;Lcom/android/server/pm/DumpState;)V
+PLcom/android/server/pm/ComputerEngine;->dumpPackages(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/util/ArraySet;Lcom/android/server/pm/DumpState;Z)V
+PLcom/android/server/pm/ComputerEngine;->dumpPermissions(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/util/ArraySet;Lcom/android/server/pm/DumpState;)V
+PLcom/android/server/pm/ComputerEngine;->dumpSharedUsers(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/util/ArraySet;Lcom/android/server/pm/DumpState;Z)V
+HPLcom/android/server/pm/ComputerEngine;->enforceCrossUserOrProfilePermission(IIZZLjava/lang/String;)V
+HPLcom/android/server/pm/ComputerEngine;->enforceCrossUserPermission(IIZZLjava/lang/String;)V
+HPLcom/android/server/pm/ComputerEngine;->enforceCrossUserPermission(IIZZZLjava/lang/String;)V
+PLcom/android/server/pm/ComputerEngine;->filterAppAccess(II)Z
+HSPLcom/android/server/pm/ComputerEngine;->filterAppAccess(Ljava/lang/String;IIZ)Z
+PLcom/android/server/pm/ComputerEngine;->filterIfNotSystemUser(Ljava/util/List;I)Ljava/util/List;
+HSPLcom/android/server/pm/ComputerEngine;->filterOnlySystemPackages([Ljava/lang/String;)[Ljava/lang/String;
+HPLcom/android/server/pm/ComputerEngine;->filterSdkLibPackage(Lcom/android/server/pm/pkg/PackageStateInternal;IIJ)Z
+HPLcom/android/server/pm/ComputerEngine;->filterSharedLibPackage(Lcom/android/server/pm/pkg/PackageStateInternal;IIJ)Z
+HPLcom/android/server/pm/ComputerEngine;->filterStaticSharedLibPackage(Lcom/android/server/pm/pkg/PackageStateInternal;IIJ)Z
+HPLcom/android/server/pm/ComputerEngine;->generatePackageInfo(Lcom/android/server/pm/pkg/PackageStateInternal;JI)Landroid/content/pm/PackageInfo;
+PLcom/android/server/pm/ComputerEngine;->getActivityInfo(Landroid/content/ComponentName;JI)Landroid/content/pm/ActivityInfo;
+HPLcom/android/server/pm/ComputerEngine;->getActivityInfoInternal(Landroid/content/ComponentName;JII)Landroid/content/pm/ActivityInfo;
+HPLcom/android/server/pm/ComputerEngine;->getActivityInfoInternalBody(Landroid/content/ComponentName;JII)Landroid/content/pm/ActivityInfo;
+PLcom/android/server/pm/ComputerEngine;->getApplicationEnabledSetting(Ljava/lang/String;I)I
+HPLcom/android/server/pm/ComputerEngine;->getApplicationInfo(Ljava/lang/String;JI)Landroid/content/pm/ApplicationInfo;
+HPLcom/android/server/pm/ComputerEngine;->getApplicationInfoInternal(Ljava/lang/String;JII)Landroid/content/pm/ApplicationInfo;
+HPLcom/android/server/pm/ComputerEngine;->getApplicationInfoInternalBody(Ljava/lang/String;JII)Landroid/content/pm/ApplicationInfo;
+PLcom/android/server/pm/ComputerEngine;->getBaseSdkSandboxUid()I
+HPLcom/android/server/pm/ComputerEngine;->getComponentEnabledSetting(Landroid/content/ComponentName;II)I
+HPLcom/android/server/pm/ComputerEngine;->getComponentEnabledSettingInternal(Landroid/content/ComponentName;II)I
+HPLcom/android/server/pm/ComputerEngine;->getComponentResolver()Lcom/android/server/pm/resolution/ComponentResolverApi;
+HPLcom/android/server/pm/ComputerEngine;->getDisabledSystemPackage(Ljava/lang/String;)Lcom/android/server/pm/pkg/PackageStateInternal;
+HSPLcom/android/server/pm/ComputerEngine;->getDisabledSystemPackageStates()Landroid/util/ArrayMap;
+PLcom/android/server/pm/ComputerEngine;->getHarmfulAppWarning(Ljava/lang/String;I)Ljava/lang/CharSequence;
+HPLcom/android/server/pm/ComputerEngine;->getInstallSource(Ljava/lang/String;II)Lcom/android/server/pm/InstallSource;
+HPLcom/android/server/pm/ComputerEngine;->getInstallSourceInfo(Ljava/lang/String;I)Landroid/content/pm/InstallSourceInfo;
+HPLcom/android/server/pm/ComputerEngine;->getInstalledApplications(JIIZ)Ljava/util/List;
+HPLcom/android/server/pm/ComputerEngine;->getInstalledPackages(JI)Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/pm/ComputerEngine;->getInstalledPackagesBody(JII)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/pm/ComputerEngine;->getInstallerPackageName(Ljava/lang/String;I)Ljava/lang/String;
+HSPLcom/android/server/pm/ComputerEngine;->getInstantAppPackageName(I)Ljava/lang/String;
+PLcom/android/server/pm/ComputerEngine;->getInstrumentationInfoAsUser(Landroid/content/ComponentName;II)Landroid/content/pm/InstrumentationInfo;
+HPLcom/android/server/pm/ComputerEngine;->getMatchingCrossProfileIntentFilters(Landroid/content/Intent;Ljava/lang/String;I)Ljava/util/List;
+HPLcom/android/server/pm/ComputerEngine;->getNameForUid(I)Ljava/lang/String;
+HPLcom/android/server/pm/ComputerEngine;->getNamesForUids([I)[Ljava/lang/String;
+HPLcom/android/server/pm/ComputerEngine;->getPackage(I)Lcom/android/server/pm/pkg/AndroidPackage;
+HPLcom/android/server/pm/ComputerEngine;->getPackage(Ljava/lang/String;)Lcom/android/server/pm/pkg/AndroidPackage;
+HPLcom/android/server/pm/ComputerEngine;->getPackageGids(Ljava/lang/String;JI)[I
+HPLcom/android/server/pm/ComputerEngine;->getPackageInfo(Ljava/lang/String;JI)Landroid/content/pm/PackageInfo;
+HPLcom/android/server/pm/ComputerEngine;->getPackageInfoInternal(Ljava/lang/String;JJII)Landroid/content/pm/PackageInfo;
+HPLcom/android/server/pm/ComputerEngine;->getPackageInfoInternalBody(Ljava/lang/String;JJII)Landroid/content/pm/PackageInfo;
+HPLcom/android/server/pm/ComputerEngine;->getPackageStartability(ZLjava/lang/String;II)I
+HPLcom/android/server/pm/ComputerEngine;->getPackageStateFiltered(Ljava/lang/String;II)Lcom/android/server/pm/pkg/PackageStateInternal;
+HPLcom/android/server/pm/ComputerEngine;->getPackageStateForInstalledAndFiltered(Ljava/lang/String;II)Lcom/android/server/pm/pkg/PackageStateInternal;
+HSPLcom/android/server/pm/ComputerEngine;->getPackageStateInternal(Ljava/lang/String;)Lcom/android/server/pm/pkg/PackageStateInternal;
+HSPLcom/android/server/pm/ComputerEngine;->getPackageStateInternal(Ljava/lang/String;I)Lcom/android/server/pm/pkg/PackageStateInternal;
+HSPLcom/android/server/pm/ComputerEngine;->getPackageStates()Landroid/util/ArrayMap;
+HPLcom/android/server/pm/ComputerEngine;->getPackageUid(Ljava/lang/String;JI)I
+HPLcom/android/server/pm/ComputerEngine;->getPackageUidInternal(Ljava/lang/String;JII)I
+HPLcom/android/server/pm/ComputerEngine;->getPackagesForUid(I)[Ljava/lang/String;
+HPLcom/android/server/pm/ComputerEngine;->getPackagesForUidInternal(II)[Ljava/lang/String;
+HPLcom/android/server/pm/ComputerEngine;->getPackagesForUidInternalBody(IIIZ)[Ljava/lang/String;
+HPLcom/android/server/pm/ComputerEngine;->getPackagesHoldingPermissions([Ljava/lang/String;JI)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/pm/ComputerEngine;->getPackagesUsingSharedLibrary(Landroid/content/pm/SharedLibraryInfo;JII)Landroid/util/Pair;
+HPLcom/android/server/pm/ComputerEngine;->getPersistentApplications(ZI)Ljava/util/List;
+HPLcom/android/server/pm/ComputerEngine;->getProcessesForUid(I)Landroid/util/ArrayMap;
+HPLcom/android/server/pm/ComputerEngine;->getProviderInfo(Landroid/content/ComponentName;JI)Landroid/content/pm/ProviderInfo;
+HPLcom/android/server/pm/ComputerEngine;->getReceiverInfo(Landroid/content/ComponentName;JI)Landroid/content/pm/ActivityInfo;
+HPLcom/android/server/pm/ComputerEngine;->getServiceInfo(Landroid/content/ComponentName;JI)Landroid/content/pm/ServiceInfo;
+HPLcom/android/server/pm/ComputerEngine;->getServiceInfoBody(Landroid/content/ComponentName;JII)Landroid/content/pm/ServiceInfo;
+PLcom/android/server/pm/ComputerEngine;->getSharedLibraries()Lcom/android/server/utils/WatchedArrayMap;
+HSPLcom/android/server/pm/ComputerEngine;->getSharedLibraryInfo(Ljava/lang/String;J)Landroid/content/pm/SharedLibraryInfo;
+HPLcom/android/server/pm/ComputerEngine;->getSharedUser(I)Lcom/android/server/pm/pkg/SharedUserApi;
+HPLcom/android/server/pm/ComputerEngine;->getSharedUserPackagesForPackage(Ljava/lang/String;I)[Ljava/lang/String;
+HPLcom/android/server/pm/ComputerEngine;->getSigningDetails(I)Landroid/content/pm/SigningDetails;
+HPLcom/android/server/pm/ComputerEngine;->getSystemSharedLibraryNamesAndPaths()Landroid/util/ArrayMap;
+HPLcom/android/server/pm/ComputerEngine;->getTargetSdkVersion(Ljava/lang/String;)I
+PLcom/android/server/pm/ComputerEngine;->getUidForSharedUser(Ljava/lang/String;)I
+HPLcom/android/server/pm/ComputerEngine;->getUidTargetSdkVersion(I)I
+HPLcom/android/server/pm/ComputerEngine;->getUsed()I
+HPLcom/android/server/pm/ComputerEngine;->getUserInfos()[Landroid/content/pm/UserInfo;
+HPLcom/android/server/pm/ComputerEngine;->getUserStateOrDefaultForUser(Ljava/lang/String;I)Lcom/android/server/pm/pkg/PackageUserStateInternal;
+HPLcom/android/server/pm/ComputerEngine;->getVersion()I
+PLcom/android/server/pm/ComputerEngine;->getVisibilityAllowLists(Ljava/lang/String;[I)Landroid/util/SparseArray;
+PLcom/android/server/pm/ComputerEngine;->getVolumePackages(Ljava/lang/String;)Ljava/util/List;
+HPLcom/android/server/pm/ComputerEngine;->hasCrossUserPermission(IIIZZ)Z
+HPLcom/android/server/pm/ComputerEngine;->hasNonNegativePriority(Ljava/util/List;)Z
+PLcom/android/server/pm/ComputerEngine;->hasPermission(Ljava/lang/String;)Z
+PLcom/android/server/pm/ComputerEngine;->instantAppInstallerActivity()Landroid/content/pm/ActivityInfo;
+HPLcom/android/server/pm/ComputerEngine;->isApexPackage(Ljava/lang/String;)Z
+HSPLcom/android/server/pm/ComputerEngine;->isCallerSameApp(Ljava/lang/String;I)Z
+HSPLcom/android/server/pm/ComputerEngine;->isCallerSameApp(Ljava/lang/String;IZ)Z
+PLcom/android/server/pm/ComputerEngine;->isComponentEffectivelyEnabled(Landroid/content/pm/ComponentInfo;Landroid/os/UserHandle;)Z
+HPLcom/android/server/pm/ComputerEngine;->isImplicitImageCaptureIntentAndNotSetByDpc(Landroid/content/Intent;ILjava/lang/String;J)Z
+HPLcom/android/server/pm/ComputerEngine;->isInstantApp(Ljava/lang/String;I)Z
+HPLcom/android/server/pm/ComputerEngine;->isInstantAppInternal(Ljava/lang/String;II)Z
+HPLcom/android/server/pm/ComputerEngine;->isInstantAppInternalBody(Ljava/lang/String;II)Z
+HPLcom/android/server/pm/ComputerEngine;->isInstantAppResolutionAllowed(Landroid/content/Intent;Ljava/util/List;IZJ)Z
+HPLcom/android/server/pm/ComputerEngine;->isPackageAvailable(Ljava/lang/String;I)Z
+PLcom/android/server/pm/ComputerEngine;->isPackageStoppedForUser(Ljava/lang/String;I)Z
+PLcom/android/server/pm/ComputerEngine;->isPackageSuspendedForUser(Ljava/lang/String;I)Z
+HPLcom/android/server/pm/ComputerEngine;->isRecentsAccessingChildProfiles(II)Z
+HPLcom/android/server/pm/ComputerEngine;->lambda$static$0(Landroid/content/pm/ProviderInfo;Landroid/content/pm/ProviderInfo;)I
+HPLcom/android/server/pm/ComputerEngine;->queryContentProviders(Ljava/lang/String;IJLjava/lang/String;)Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/pm/ComputerEngine;->queryIntentActivitiesInternal(Landroid/content/Intent;Ljava/lang/String;JI)Ljava/util/List;
+PLcom/android/server/pm/ComputerEngine;->queryIntentActivitiesInternal(Landroid/content/Intent;Ljava/lang/String;JII)Ljava/util/List;
+HPLcom/android/server/pm/ComputerEngine;->queryIntentActivitiesInternal(Landroid/content/Intent;Ljava/lang/String;JJIIZZ)Ljava/util/List;
+HPLcom/android/server/pm/ComputerEngine;->queryIntentActivitiesInternalBody(Landroid/content/Intent;Ljava/lang/String;JIIZZLjava/lang/String;Ljava/lang/String;)Lcom/android/server/pm/QueryIntentActivitiesResult;
+HPLcom/android/server/pm/ComputerEngine;->queryIntentServicesInternal(Landroid/content/Intent;Ljava/lang/String;JIIZ)Ljava/util/List;
+HPLcom/android/server/pm/ComputerEngine;->queryIntentServicesInternalBody(Landroid/content/Intent;Ljava/lang/String;JIILjava/lang/String;)Ljava/util/List;
+PLcom/android/server/pm/ComputerEngine;->resolveComponentName()Landroid/content/ComponentName;
+HPLcom/android/server/pm/ComputerEngine;->resolveContentProvider(Ljava/lang/String;JII)Landroid/content/pm/ProviderInfo;
+HPLcom/android/server/pm/ComputerEngine;->resolveExternalPackageName(Lcom/android/server/pm/pkg/AndroidPackage;)Ljava/lang/String;
+HPLcom/android/server/pm/ComputerEngine;->resolveInternalPackageName(Ljava/lang/String;J)Ljava/lang/String;
+HSPLcom/android/server/pm/ComputerEngine;->resolveInternalPackageNameInternalLocked(Ljava/lang/String;JI)Ljava/lang/String;
+PLcom/android/server/pm/ComputerEngine;->safeMode()Z
+HPLcom/android/server/pm/ComputerEngine;->shouldFilterApplication(Lcom/android/server/pm/SharedUserSetting;II)Z
+HPLcom/android/server/pm/ComputerEngine;->shouldFilterApplication(Lcom/android/server/pm/pkg/PackageStateInternal;II)Z
+HPLcom/android/server/pm/ComputerEngine;->shouldFilterApplication(Lcom/android/server/pm/pkg/PackageStateInternal;ILandroid/content/ComponentName;II)Z
+HSPLcom/android/server/pm/ComputerEngine;->shouldFilterApplication(Lcom/android/server/pm/pkg/PackageStateInternal;ILandroid/content/ComponentName;IIZ)Z
+HSPLcom/android/server/pm/ComputerEngine;->shouldFilterApplication(Lcom/android/server/pm/pkg/PackageStateInternal;ILandroid/content/ComponentName;IIZZ)Z
+HPLcom/android/server/pm/ComputerEngine;->shouldFilterApplicationIncludingUninstalled(Lcom/android/server/pm/SharedUserSetting;II)Z
+HPLcom/android/server/pm/ComputerEngine;->shouldFilterApplicationIncludingUninstalled(Lcom/android/server/pm/pkg/PackageStateInternal;II)Z
+HPLcom/android/server/pm/ComputerEngine;->shouldFilterApplicationIncludingUninstalledNotArchived(Lcom/android/server/pm/pkg/PackageStateInternal;II)Z
+HPLcom/android/server/pm/ComputerEngine;->updateFlags(JI)J
+PLcom/android/server/pm/ComputerEngine;->updateFlagsForApplication(JI)J
+HPLcom/android/server/pm/ComputerEngine;->updateFlagsForComponent(JI)J
+HPLcom/android/server/pm/ComputerEngine;->updateFlagsForPackage(JI)J
+HPLcom/android/server/pm/ComputerEngine;->updateFlagsForResolve(JIIZZ)J
+HPLcom/android/server/pm/ComputerEngine;->updateFlagsForResolve(JIIZZZ)J
+HSPLcom/android/server/pm/ComputerEngine;->use()Lcom/android/server/pm/Computer;
+HSPLcom/android/server/pm/ComputerLocked;-><init>(Lcom/android/server/pm/PackageManagerService$Snapshot;)V
+PLcom/android/server/pm/CrossProfileAppsService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/pm/CrossProfileAppsService;->onStart()V
+PLcom/android/server/pm/CrossProfileAppsServiceImpl$$ExternalSyntheticLambda7;-><init>(Lcom/android/server/pm/CrossProfileAppsServiceImpl;ILjava/lang/String;)V
+PLcom/android/server/pm/CrossProfileAppsServiceImpl$$ExternalSyntheticLambda7;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/pm/CrossProfileAppsServiceImpl$InjectorImpl;-><init>(Landroid/content/Context;)V
+PLcom/android/server/pm/CrossProfileAppsServiceImpl$InjectorImpl;->checkComponentPermission(Ljava/lang/String;IIZ)I
+PLcom/android/server/pm/CrossProfileAppsServiceImpl$InjectorImpl;->getUserManager()Landroid/os/UserManager;
+PLcom/android/server/pm/CrossProfileAppsServiceImpl$InjectorImpl;->withCleanCallingIdentity(Lcom/android/internal/util/FunctionalUtils$ThrowingSupplier;)Ljava/lang/Object;
+PLcom/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;->verifyUidHasInteractAcrossProfilePermission(Ljava/lang/String;I)Z
+PLcom/android/server/pm/CrossProfileAppsServiceImpl;->$r8$lambda$vikD5Mw9q_Jc9YJF2vwkg_I5o_A(Lcom/android/server/pm/CrossProfileAppsServiceImpl;ILjava/lang/String;)Ljava/util/List;
+PLcom/android/server/pm/CrossProfileAppsServiceImpl;->-$$Nest$mgetTargetUserProfilesUnchecked(Lcom/android/server/pm/CrossProfileAppsServiceImpl;Ljava/lang/String;I)Ljava/util/List;
+PLcom/android/server/pm/CrossProfileAppsServiceImpl;->-$$Nest$mhasInteractAcrossProfilesPermission(Lcom/android/server/pm/CrossProfileAppsServiceImpl;Ljava/lang/String;II)Z
+PLcom/android/server/pm/CrossProfileAppsServiceImpl;-><init>(Landroid/content/Context;)V
+PLcom/android/server/pm/CrossProfileAppsServiceImpl;-><init>(Landroid/content/Context;Lcom/android/server/pm/CrossProfileAppsServiceImpl$Injector;)V
+PLcom/android/server/pm/CrossProfileAppsServiceImpl;->getLocalService()Landroid/content/pm/CrossProfileAppsInternal;
+PLcom/android/server/pm/CrossProfileAppsServiceImpl;->getTargetUserProfilesUnchecked(Ljava/lang/String;I)Ljava/util/List;
+PLcom/android/server/pm/CrossProfileAppsServiceImpl;->hasInteractAcrossProfilesPermission(Ljava/lang/String;II)Z
+PLcom/android/server/pm/CrossProfileAppsServiceImpl;->isPermissionGranted(Ljava/lang/String;I)Z
+PLcom/android/server/pm/CrossProfileAppsServiceImpl;->lambda$getTargetUserProfilesUnchecked$3(ILjava/lang/String;)Ljava/util/List;
+HSPLcom/android/server/pm/CrossProfileIntentResolverEngine;-><init>(Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/verify/domain/DomainVerificationManagerInternal;Lcom/android/server/pm/DefaultAppProvider;Landroid/content/Context;)V
+HPLcom/android/server/pm/CrossProfileIntentResolverEngine;->combineFilterAndCreateQueryActivitiesResponse(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZJIIZLjava/util/List;Ljava/util/List;ZZZLjava/util/function/Function;)Lcom/android/server/pm/QueryIntentActivitiesResult;
+HPLcom/android/server/pm/CrossProfileIntentResolverEngine;->resolveInfoFromCrossProfileDomainInfo(Ljava/util/List;)Ljava/util/List;
+HPLcom/android/server/pm/CrossProfileIntentResolverEngine;->resolveIntent(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;IJLjava/lang/String;ZZLjava/util/function/Function;)Ljava/util/List;
+HPLcom/android/server/pm/CrossProfileIntentResolverEngine;->resolveIntentInternal(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;IIJLjava/lang/String;ZZLjava/util/function/Function;Ljava/util/Set;)Ljava/util/List;
+HPLcom/android/server/pm/CrossProfileIntentResolverEngine;->shouldSkipCurrentProfile(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;I)Z
+HSPLcom/android/server/pm/DataLoaderManagerService$DataLoaderManagerBinderService;-><init>(Lcom/android/server/pm/DataLoaderManagerService;)V
+HSPLcom/android/server/pm/DataLoaderManagerService;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/pm/DataLoaderManagerService;->onStart()V
+HSPLcom/android/server/pm/DefaultAppProvider;-><init>(Ljava/util/function/Supplier;Ljava/util/function/Supplier;)V
+HSPLcom/android/server/pm/DefaultCrossProfileIntentFilter$Builder;-><init>(IIZ)V
+HSPLcom/android/server/pm/DefaultCrossProfileIntentFilter$Builder;->addAction(Ljava/lang/String;)Lcom/android/server/pm/DefaultCrossProfileIntentFilter$Builder;
+HSPLcom/android/server/pm/DefaultCrossProfileIntentFilter$Builder;->addCategory(Ljava/lang/String;)Lcom/android/server/pm/DefaultCrossProfileIntentFilter$Builder;
+HSPLcom/android/server/pm/DefaultCrossProfileIntentFilter$Builder;->addDataScheme(Ljava/lang/String;)Lcom/android/server/pm/DefaultCrossProfileIntentFilter$Builder;
+HSPLcom/android/server/pm/DefaultCrossProfileIntentFilter$Builder;->addDataType(Ljava/lang/String;)Lcom/android/server/pm/DefaultCrossProfileIntentFilter$Builder;
+HSPLcom/android/server/pm/DefaultCrossProfileIntentFilter$Builder;->build()Lcom/android/server/pm/DefaultCrossProfileIntentFilter;
+HSPLcom/android/server/pm/DefaultCrossProfileIntentFilter;-><init>(Lcom/android/server/pm/WatchedIntentFilter;IIZ)V
+HSPLcom/android/server/pm/DefaultCrossProfileIntentFilter;-><init>(Lcom/android/server/pm/WatchedIntentFilter;IIZLcom/android/server/pm/DefaultCrossProfileIntentFilter-IA;)V
+HSPLcom/android/server/pm/DefaultCrossProfileIntentFiltersUtils;-><clinit>()V
+HSPLcom/android/server/pm/DefaultCrossProfileIntentFiltersUtils;->getDefaultCloneProfileFilters()Ljava/util/List;
+HSPLcom/android/server/pm/DefaultCrossProfileIntentFiltersUtils;->getDefaultCrossProfileTelephonyIntentFilters(Z)Ljava/util/List;
+HSPLcom/android/server/pm/DefaultCrossProfileIntentFiltersUtils;->getDefaultManagedProfileFilters()Ljava/util/List;
+HSPLcom/android/server/pm/DeletePackageHelper;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/RemovePackageHelper;Lcom/android/server/pm/BroadcastHelper;)V
+PLcom/android/server/pm/DexOptHelper$1;-><init>(Lcom/android/server/art/ArtManagerLocal;)V
+PLcom/android/server/pm/DexOptHelper$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/pm/DexOptHelper$DexoptDoneHandler;-><init>(Lcom/android/server/pm/DexOptHelper;)V
+PLcom/android/server/pm/DexOptHelper$DexoptDoneHandler;-><init>(Lcom/android/server/pm/DexOptHelper;Lcom/android/server/pm/DexOptHelper$DexoptDoneHandler-IA;)V
+HSPLcom/android/server/pm/DexOptHelper;-><clinit>()V
+HSPLcom/android/server/pm/DexOptHelper;-><init>(Lcom/android/server/pm/PackageManagerService;)V
+PLcom/android/server/pm/DexOptHelper;->dumpDexoptState(Lcom/android/internal/util/IndentingPrintWriter;Ljava/lang/String;)V
+PLcom/android/server/pm/DexOptHelper;->getArtManagerLocal()Lcom/android/server/art/ArtManagerLocal;
+HPLcom/android/server/pm/DexOptHelper;->getBcpApexes()Ljava/util/List;
+HPLcom/android/server/pm/DexOptHelper;->getDexUseManagerLocal()Lcom/android/server/art/DexUseManagerLocal;
+PLcom/android/server/pm/DexOptHelper;->hasBcpApexesChanged()Z
+PLcom/android/server/pm/DexOptHelper;->initializeArtManagerLocal(Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;)V
+PLcom/android/server/pm/DexOptHelper;->performPackageDexOptUpgradeIfNeeded()V
+HSPLcom/android/server/pm/DexOptHelper;->useArtService()Z
+HSPLcom/android/server/pm/DistractingPackageHelper;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/BroadcastHelper;Lcom/android/server/pm/SuspendPackageHelper;)V
+HSPLcom/android/server/pm/DomainVerificationConnection;-><init>(Lcom/android/server/pm/PackageManagerService;)V
+HSPLcom/android/server/pm/DomainVerificationConnection;->doesUserExist(I)Z
+HSPLcom/android/server/pm/DomainVerificationConnection;->filterAppAccess(Ljava/lang/String;II)Z
+HSPLcom/android/server/pm/DomainVerificationConnection;->getCallingUid()I
+HSPLcom/android/server/pm/DomainVerificationConnection;->getCallingUserId()I
+HSPLcom/android/server/pm/DomainVerificationConnection;->scheduleWriteSettings()V
+HPLcom/android/server/pm/DumpHelper;-><init>(Lcom/android/server/pm/permission/PermissionManagerServiceInternal;Lcom/android/server/pm/StorageEventHelper;Lcom/android/server/pm/verify/domain/DomainVerificationManagerInternal;Lcom/android/server/pm/PackageInstallerService;[Ljava/lang/String;Lcom/android/server/pm/KnownPackages;Lcom/android/server/pm/ChangedPackagesTracker;Landroid/util/ArrayMap;Landroid/util/ArraySet;[Landroid/os/incremental/PerUidReadTimeouts;Lcom/android/server/pm/SnapshotStatistics;)V
+PLcom/android/server/pm/DumpHelper;->doDump(Lcom/android/server/pm/Computer;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+PLcom/android/server/pm/DumpState;-><init>()V
+PLcom/android/server/pm/DumpState;->getSharedUser()Lcom/android/server/pm/SharedUserSetting;
+PLcom/android/server/pm/DumpState;->getTargetPackageName()Ljava/lang/String;
+PLcom/android/server/pm/DumpState;->getTitlePrinted()Z
+PLcom/android/server/pm/DumpState;->isCheckIn()Z
+PLcom/android/server/pm/DumpState;->isDumping(I)Z
+PLcom/android/server/pm/DumpState;->isOptionEnabled(I)Z
+HPLcom/android/server/pm/DumpState;->onTitlePrinted()Z
+PLcom/android/server/pm/DumpState;->setOptionEnabled(I)V
+PLcom/android/server/pm/DumpState;->setSharedUser(Lcom/android/server/pm/SharedUserSetting;)V
+PLcom/android/server/pm/DumpState;->setTargetPackageName(Ljava/lang/String;)V
+PLcom/android/server/pm/DumpState;->setTitlePrinted(Z)V
+HSPLcom/android/server/pm/FreeStorageHelper;-><clinit>()V
+HSPLcom/android/server/pm/FreeStorageHelper;-><init>(Lcom/android/server/pm/PackageManagerService;)V
+HSPLcom/android/server/pm/FreeStorageHelper;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerServiceInjector;Landroid/content/Context;Z)V
+PLcom/android/server/pm/FreeStorageHelper;->performFstrimIfNeeded()V
+PLcom/android/server/pm/GentleUpdateHelper$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/pm/GentleUpdateHelper;)V
+HPLcom/android/server/pm/GentleUpdateHelper$$ExternalSyntheticLambda1;->onUidImportance(II)V
+HPLcom/android/server/pm/GentleUpdateHelper$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/pm/GentleUpdateHelper;Ljava/lang/String;I)V
+PLcom/android/server/pm/GentleUpdateHelper$$ExternalSyntheticLambda3;->run()V
+PLcom/android/server/pm/GentleUpdateHelper;->$r8$lambda$9Vy9TsTEIaX26UUSrPw3MGLRU-s(Lcom/android/server/pm/GentleUpdateHelper;Ljava/lang/String;I)V
+HPLcom/android/server/pm/GentleUpdateHelper;->$r8$lambda$JQiy908NuzFx59XC1nxYVaiXKqM(Lcom/android/server/pm/GentleUpdateHelper;II)V
+PLcom/android/server/pm/GentleUpdateHelper;-><clinit>()V
+PLcom/android/server/pm/GentleUpdateHelper;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/pm/AppStateHelper;)V
+PLcom/android/server/pm/GentleUpdateHelper;->lambda$onUidImportance$4(Ljava/lang/String;I)V
+HPLcom/android/server/pm/GentleUpdateHelper;->onUidImportance(II)V
+PLcom/android/server/pm/GentleUpdateHelper;->onUidImportance(Ljava/lang/String;I)V
+PLcom/android/server/pm/GentleUpdateHelper;->systemReady()V
+PLcom/android/server/pm/IPackageManagerBase;-><init>(Lcom/android/server/pm/PackageManagerService;Landroid/content/Context;Lcom/android/server/pm/DexOptHelper;Lcom/android/server/pm/ModuleInfoProvider;Lcom/android/server/pm/PreferredActivityHelper;Lcom/android/server/pm/ResolveIntentHelper;Lcom/android/server/pm/verify/domain/DomainVerificationManagerInternal;Lcom/android/server/pm/DomainVerificationConnection;Lcom/android/server/pm/PackageInstallerService;Lcom/android/server/pm/PackageProperty;Landroid/content/ComponentName;Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/pm/IPackageManagerBase;->checkPermission(Ljava/lang/String;Ljava/lang/String;I)I
+PLcom/android/server/pm/IPackageManagerBase;->checkSignatures(Ljava/lang/String;Ljava/lang/String;I)I
+HPLcom/android/server/pm/IPackageManagerBase;->checkUidPermission(Ljava/lang/String;I)I
+PLcom/android/server/pm/IPackageManagerBase;->getActivityInfo(Landroid/content/ComponentName;JI)Landroid/content/pm/ActivityInfo;
+PLcom/android/server/pm/IPackageManagerBase;->getApplicationEnabledSetting(Ljava/lang/String;I)I
+HPLcom/android/server/pm/IPackageManagerBase;->getApplicationInfo(Ljava/lang/String;JI)Landroid/content/pm/ApplicationInfo;
+PLcom/android/server/pm/IPackageManagerBase;->getAttentionServicePackageName()Ljava/lang/String;
+HPLcom/android/server/pm/IPackageManagerBase;->getComponentEnabledSetting(Landroid/content/ComponentName;I)I
+PLcom/android/server/pm/IPackageManagerBase;->getDefaultTextClassifierPackageName()Ljava/lang/String;
+PLcom/android/server/pm/IPackageManagerBase;->getHarmfulAppWarning(Ljava/lang/String;I)Ljava/lang/CharSequence;
+HPLcom/android/server/pm/IPackageManagerBase;->getInstallSourceInfo(Ljava/lang/String;I)Landroid/content/pm/InstallSourceInfo;
+PLcom/android/server/pm/IPackageManagerBase;->getInstalledApplications(JI)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/pm/IPackageManagerBase;->getInstalledModules(I)Ljava/util/List;
+HPLcom/android/server/pm/IPackageManagerBase;->getInstalledPackages(JI)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/pm/IPackageManagerBase;->getInstallerPackageName(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/pm/IPackageManagerBase;->getInstrumentationInfoAsUser(Landroid/content/ComponentName;II)Landroid/content/pm/InstrumentationInfo;
+PLcom/android/server/pm/IPackageManagerBase;->getModuleInfo(Ljava/lang/String;I)Landroid/content/pm/ModuleInfo;
+HPLcom/android/server/pm/IPackageManagerBase;->getNameForUid(I)Ljava/lang/String;
+HPLcom/android/server/pm/IPackageManagerBase;->getPackageGids(Ljava/lang/String;JI)[I
+HPLcom/android/server/pm/IPackageManagerBase;->getPackageInfo(Ljava/lang/String;JI)Landroid/content/pm/PackageInfo;
+PLcom/android/server/pm/IPackageManagerBase;->getPackageInstaller()Landroid/content/pm/IPackageInstaller;
+HPLcom/android/server/pm/IPackageManagerBase;->getPackageUid(Ljava/lang/String;JI)I
+HPLcom/android/server/pm/IPackageManagerBase;->getPackagesForUid(I)[Ljava/lang/String;
+PLcom/android/server/pm/IPackageManagerBase;->getPackagesHoldingPermissions([Ljava/lang/String;JI)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/pm/IPackageManagerBase;->getPersistentApplications(I)Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/pm/IPackageManagerBase;->getPropertyAsUser(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Landroid/content/pm/PackageManager$Property;
+HPLcom/android/server/pm/IPackageManagerBase;->getProviderInfo(Landroid/content/ComponentName;JI)Landroid/content/pm/ProviderInfo;
+PLcom/android/server/pm/IPackageManagerBase;->getRotationResolverPackageName()Ljava/lang/String;
+PLcom/android/server/pm/IPackageManagerBase;->getSdkSandboxPackageName()Ljava/lang/String;
+HPLcom/android/server/pm/IPackageManagerBase;->getServiceInfo(Landroid/content/ComponentName;JI)Landroid/content/pm/ServiceInfo;
+PLcom/android/server/pm/IPackageManagerBase;->getServicesSystemSharedLibraryPackageName()Ljava/lang/String;
+PLcom/android/server/pm/IPackageManagerBase;->getSetupWizardPackageName()Ljava/lang/String;
+PLcom/android/server/pm/IPackageManagerBase;->getSystemCaptionsServicePackageName()Ljava/lang/String;
+PLcom/android/server/pm/IPackageManagerBase;->getSystemSharedLibraryNames()[Ljava/lang/String;
+PLcom/android/server/pm/IPackageManagerBase;->getSystemTextClassifierPackageName()Ljava/lang/String;
+HPLcom/android/server/pm/IPackageManagerBase;->getTargetSdkVersion(Ljava/lang/String;)I
+PLcom/android/server/pm/IPackageManagerBase;->getUidForSharedUser(Ljava/lang/String;)I
+PLcom/android/server/pm/IPackageManagerBase;->getWellbeingPackageName()Ljava/lang/String;
+HPLcom/android/server/pm/IPackageManagerBase;->hasSystemFeature(Ljava/lang/String;I)Z
+PLcom/android/server/pm/IPackageManagerBase;->hasSystemUidErrors()Z
+PLcom/android/server/pm/IPackageManagerBase;->isDeviceUpgrading()Z
+PLcom/android/server/pm/IPackageManagerBase;->isFirstBoot()Z
+PLcom/android/server/pm/IPackageManagerBase;->isInstantApp(Ljava/lang/String;I)Z
+HPLcom/android/server/pm/IPackageManagerBase;->isPackageAvailable(Ljava/lang/String;I)Z
+PLcom/android/server/pm/IPackageManagerBase;->isPackageSuspendedForUser(Ljava/lang/String;I)Z
+PLcom/android/server/pm/IPackageManagerBase;->isSafeMode()Z
+HPLcom/android/server/pm/IPackageManagerBase;->queryContentProviders(Ljava/lang/String;IJLjava/lang/String;)Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/pm/IPackageManagerBase;->queryIntentActivities(Landroid/content/Intent;Ljava/lang/String;JI)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/pm/IPackageManagerBase;->queryIntentContentProviders(Landroid/content/Intent;Ljava/lang/String;JI)Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/pm/IPackageManagerBase;->queryIntentReceivers(Landroid/content/Intent;Ljava/lang/String;JI)Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/pm/IPackageManagerBase;->queryIntentServices(Landroid/content/Intent;Ljava/lang/String;JI)Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/pm/IPackageManagerBase;->resolveContentProvider(Ljava/lang/String;JI)Landroid/content/pm/ProviderInfo;
+HPLcom/android/server/pm/IPackageManagerBase;->resolveIntent(Landroid/content/Intent;Ljava/lang/String;JI)Landroid/content/pm/ResolveInfo;
+PLcom/android/server/pm/IPackageManagerBase;->resolveService(Landroid/content/Intent;Ljava/lang/String;JI)Landroid/content/pm/ResolveInfo;
+HPLcom/android/server/pm/IPackageManagerBase;->snapshot()Lcom/android/server/pm/Computer;
+PLcom/android/server/pm/InitAppsHelper$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/pm/InitAppsHelper;Landroid/util/ArrayMap;)V
+PLcom/android/server/pm/InitAppsHelper$$ExternalSyntheticLambda1;->forEachPackage(Lcom/android/internal/util/function/TriConsumer;)V
+PLcom/android/server/pm/InitAppsHelper$$ExternalSyntheticLambda2;-><init>(Lcom/android/internal/util/function/TriConsumer;Landroid/util/ArrayMap;)V
+PLcom/android/server/pm/InitAppsHelper$$ExternalSyntheticLambda2;->accept(Ljava/lang/Object;)V
+PLcom/android/server/pm/InitAppsHelper;->$r8$lambda$VJZW-c31uI8Yaywv2gsqfy0KEng(Lcom/android/internal/util/function/TriConsumer;Landroid/util/ArrayMap;Lcom/android/server/pm/pkg/PackageStateInternal;)V
+PLcom/android/server/pm/InitAppsHelper;->$r8$lambda$VWF6nFCGGoc9b6Gi7rkF04KUDnc(Lcom/android/server/pm/InitAppsHelper;Landroid/util/ArrayMap;Lcom/android/internal/util/function/TriConsumer;)V
+PLcom/android/server/pm/InitAppsHelper;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/ApexManager;Lcom/android/server/pm/InstallPackageHelper;Ljava/util/List;)V
+PLcom/android/server/pm/InitAppsHelper;->fixSystemPackages([I)V
+PLcom/android/server/pm/InitAppsHelper;->getApexScanPartitions()Ljava/util/List;
+PLcom/android/server/pm/InitAppsHelper;->getDirsToScanAsSystem()Ljava/util/List;
+PLcom/android/server/pm/InitAppsHelper;->getSystemScanPartitions()Ljava/util/List;
+PLcom/android/server/pm/InitAppsHelper;->initNonSystemApps(Lcom/android/internal/pm/parsing/PackageParser2;[IJ)V
+HPLcom/android/server/pm/InitAppsHelper;->initSystemApps(Lcom/android/internal/pm/parsing/PackageParser2;Lcom/android/server/utils/WatchedArrayMap;[IJ)Lcom/android/internal/content/om/OverlayConfig;
+PLcom/android/server/pm/InitAppsHelper;->isExpectingBetter(Ljava/lang/String;)Z
+PLcom/android/server/pm/InitAppsHelper;->lambda$initSystemApps$0(Lcom/android/internal/util/function/TriConsumer;Landroid/util/ArrayMap;Lcom/android/server/pm/pkg/PackageStateInternal;)V
+PLcom/android/server/pm/InitAppsHelper;->lambda$initSystemApps$1(Landroid/util/ArrayMap;Lcom/android/internal/util/function/TriConsumer;)V
+PLcom/android/server/pm/InitAppsHelper;->logNonSystemAppScanningTime(J)V
+PLcom/android/server/pm/InitAppsHelper;->logSystemAppsScanningTime(J)V
+HPLcom/android/server/pm/InitAppsHelper;->resolveApexToScanPartition(Lcom/android/server/pm/ApexManager$ActiveApexInfo;)Lcom/android/server/pm/ScanPartition;
+PLcom/android/server/pm/InitAppsHelper;->scanApexPackagesTraced(Lcom/android/internal/pm/parsing/PackageParser2;)Ljava/util/List;
+HPLcom/android/server/pm/InitAppsHelper;->scanDirTracedLI(Ljava/io/File;IILcom/android/internal/pm/parsing/PackageParser2;Ljava/util/concurrent/ExecutorService;Lcom/android/server/pm/ApexManager$ActiveApexInfo;)V
+HPLcom/android/server/pm/InitAppsHelper;->scanSystemDirs(Lcom/android/internal/pm/parsing/PackageParser2;Ljava/util/concurrent/ExecutorService;)V
+PLcom/android/server/pm/InitAppsHelper;->updateStubSystemAppsList(Ljava/util/List;)V
+PLcom/android/server/pm/InstallPackageHelper$$ExternalSyntheticLambda3;-><init>(Landroid/util/ArrayMap;)V
+PLcom/android/server/pm/InstallPackageHelper$$ExternalSyntheticLambda3;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+PLcom/android/server/pm/InstallPackageHelper;->$r8$lambda$tl1xpBbhI4eWYKVkhUKxKCDJBRM(Landroid/util/ArrayMap;Lcom/android/server/pm/ParallelPackageParser$ParseResult;Lcom/android/server/pm/ParallelPackageParser$ParseResult;)I
+HSPLcom/android/server/pm/InstallPackageHelper;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/AppDataHelper;Lcom/android/server/pm/RemovePackageHelper;Lcom/android/server/pm/DeletePackageHelper;Lcom/android/server/pm/BroadcastHelper;)V
+HPLcom/android/server/pm/InstallPackageHelper;->addForInitLI(Lcom/android/internal/pm/parsing/pkg/ParsedPackage;IILandroid/os/UserHandle;Lcom/android/server/pm/ApexManager$ActiveApexInfo;)Lcom/android/server/pm/pkg/AndroidPackage;
+HPLcom/android/server/pm/InstallPackageHelper;->adjustScanFlags(ILcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Landroid/os/UserHandle;Lcom/android/server/pm/pkg/AndroidPackage;)I
+PLcom/android/server/pm/InstallPackageHelper;->assertOverlayIsValid(Lcom/android/server/pm/pkg/AndroidPackage;II)V
+HPLcom/android/server/pm/InstallPackageHelper;->assertPackageIsValid(Lcom/android/server/pm/pkg/AndroidPackage;II)V
+HPLcom/android/server/pm/InstallPackageHelper;->assertPackageWithSharedUserIdIsPrivileged(Lcom/android/server/pm/pkg/AndroidPackage;)V
+PLcom/android/server/pm/InstallPackageHelper;->checkExistingBetterPackages(Landroid/util/ArrayMap;Ljava/util/List;II)V
+PLcom/android/server/pm/InstallPackageHelper;->cleanupDisabledPackageSettings(Ljava/util/List;[II)V
+HPLcom/android/server/pm/InstallPackageHelper;->commitPackageSettings(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/ReconciledPackage;)V
+HPLcom/android/server/pm/InstallPackageHelper;->commitReconciledScanResultLocked(Lcom/android/server/pm/ReconciledPackage;[I)Lcom/android/server/pm/pkg/AndroidPackage;
+HPLcom/android/server/pm/InstallPackageHelper;->getOriginalPackageLocked(Lcom/android/server/pm/pkg/AndroidPackage;Ljava/lang/String;)Lcom/android/server/pm/PackageSetting;
+PLcom/android/server/pm/InstallPackageHelper;->hasLauncherEntry(Lcom/android/internal/pm/parsing/pkg/ParsedPackage;)Z
+HPLcom/android/server/pm/InstallPackageHelper;->installPackagesFromDir(Ljava/io/File;IILcom/android/internal/pm/parsing/PackageParser2;Ljava/util/concurrent/ExecutorService;Lcom/android/server/pm/ApexManager$ActiveApexInfo;)V
+PLcom/android/server/pm/InstallPackageHelper;->installSystemStubPackages(Ljava/util/List;I)V
+PLcom/android/server/pm/InstallPackageHelper;->lambda$scanApexPackages$3(Landroid/util/ArrayMap;Lcom/android/server/pm/ParallelPackageParser$ParseResult;Lcom/android/server/pm/ParallelPackageParser$ParseResult;)I
+HPLcom/android/server/pm/InstallPackageHelper;->maybeClearProfilesForUpgradesLI(Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/pkg/AndroidPackage;)V
+PLcom/android/server/pm/InstallPackageHelper;->needSignatureMatchToSystem(Ljava/lang/String;)Z
+HPLcom/android/server/pm/InstallPackageHelper;->optimisticallyRegisterAppId(Lcom/android/server/pm/InstallRequest;)Z
+HPLcom/android/server/pm/InstallPackageHelper;->prepareInitialScanRequest(Lcom/android/internal/pm/parsing/pkg/ParsedPackage;IILandroid/os/UserHandle;Ljava/lang/String;)Lcom/android/server/pm/ScanRequest;
+PLcom/android/server/pm/InstallPackageHelper;->prepareSystemPackageCleanUp(Lcom/android/server/utils/WatchedArrayMap;Ljava/util/List;Landroid/util/ArrayMap;[I)V
+HPLcom/android/server/pm/InstallPackageHelper;->scanApexPackages([Landroid/apex/ApexInfo;IILcom/android/internal/pm/parsing/PackageParser2;Ljava/util/concurrent/ExecutorService;)Ljava/util/List;
+HPLcom/android/server/pm/InstallPackageHelper;->scanPackageNewLI(Lcom/android/internal/pm/parsing/pkg/ParsedPackage;IIJLandroid/os/UserHandle;Ljava/lang/String;)Lcom/android/server/pm/ScanResult;
+HPLcom/android/server/pm/InstallPackageHelper;->scanSystemPackageLI(Lcom/android/internal/pm/parsing/pkg/ParsedPackage;IILandroid/os/UserHandle;)Landroid/util/Pair;
+HPLcom/android/server/pm/InstallRequest;-><init>(Lcom/android/internal/pm/parsing/pkg/ParsedPackage;IILandroid/os/UserHandle;Lcom/android/server/pm/ScanResult;Lcom/android/server/pm/PackageSetting;)V
+HPLcom/android/server/pm/InstallRequest;->assertScanResultExists()V
+PLcom/android/server/pm/InstallRequest;->getApexModuleName()Ljava/lang/String;
+PLcom/android/server/pm/InstallRequest;->getDisabledPackageSetting()Lcom/android/server/pm/PackageSetting;
+PLcom/android/server/pm/InstallRequest;->getDynamicSharedLibraryInfos()Ljava/util/List;
+HPLcom/android/server/pm/InstallRequest;->getInstallSource()Lcom/android/server/pm/InstallSource;
+PLcom/android/server/pm/InstallRequest;->getParseFlags()I
+PLcom/android/server/pm/InstallRequest;->getParsedPackage()Lcom/android/internal/pm/parsing/pkg/ParsedPackage;
+PLcom/android/server/pm/InstallRequest;->getPreVerifiedDomains()Landroid/content/pm/verify/domain/DomainSet;
+HPLcom/android/server/pm/InstallRequest;->getRealPackageName()Ljava/lang/String;
+PLcom/android/server/pm/InstallRequest;->getScanFlags()I
+HPLcom/android/server/pm/InstallRequest;->getScanRequestOldPackage()Lcom/android/server/pm/pkg/AndroidPackage;
+HPLcom/android/server/pm/InstallRequest;->getScanRequestOldPackageSetting()Lcom/android/server/pm/PackageSetting;
+HPLcom/android/server/pm/InstallRequest;->getScanRequestOriginalPackageSetting()Lcom/android/server/pm/PackageSetting;
+HPLcom/android/server/pm/InstallRequest;->getScanRequestPackageSetting()Lcom/android/server/pm/PackageSetting;
+HPLcom/android/server/pm/InstallRequest;->getScannedPackageSetting()Lcom/android/server/pm/PackageSetting;
+PLcom/android/server/pm/InstallRequest;->getSdkSharedLibraryInfo()Landroid/content/pm/SharedLibraryInfo;
+HPLcom/android/server/pm/InstallRequest;->getStaticSharedLibraryInfo()Landroid/content/pm/SharedLibraryInfo;
+PLcom/android/server/pm/InstallRequest;->getUserId()I
+HPLcom/android/server/pm/InstallRequest;->isExistingSettingCopied()Z
+HPLcom/android/server/pm/InstallRequest;->isForceQueryableOverride()Z
+PLcom/android/server/pm/InstallRequest;->isInstallReplace()Z
+PLcom/android/server/pm/InstallRequest;->isInstallSystem()Z
+HPLcom/android/server/pm/InstallRequest;->isRollback()Z
+HPLcom/android/server/pm/InstallRequest;->needsNewAppId()Z
+HPLcom/android/server/pm/InstallRequest;->onReconcileFinished()V
+HPLcom/android/server/pm/InstallRequest;->onReconcileStarted()V
+PLcom/android/server/pm/InstallRequest;->setApexModuleName(Ljava/lang/String;)V
+PLcom/android/server/pm/InstallRequest;->setLibraryConsumers(Ljava/util/ArrayList;)V
+HPLcom/android/server/pm/InstallRequest;->setScannedPackageSettingAppId(I)V
+HSPLcom/android/server/pm/InstallSource;-><clinit>()V
+HSPLcom/android/server/pm/InstallSource;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;ZZLcom/android/server/pm/PackageSignatures;I)V
+HSPLcom/android/server/pm/InstallSource;->create(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;IZZ)Lcom/android/server/pm/InstallSource;
+HSPLcom/android/server/pm/InstallSource;->createInternal(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;IZZLcom/android/server/pm/PackageSignatures;)Lcom/android/server/pm/InstallSource;
+HSPLcom/android/server/pm/InstallSource;->intern(Ljava/lang/String;)Ljava/lang/String;
+HPLcom/android/server/pm/InstallSource;->setIsOrphaned(Z)Lcom/android/server/pm/InstallSource;
+HPLcom/android/server/pm/InstallSource;->setUpdateOwnerPackageName(Ljava/lang/String;)Lcom/android/server/pm/InstallSource;
+HSPLcom/android/server/pm/Installer$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/pm/Installer;)V
+PLcom/android/server/pm/Installer$Batch;-><init>()V
+PLcom/android/server/pm/Installer$Batch;->createAppData(Landroid/os/CreateAppDataArgs;)Ljava/util/concurrent/CompletableFuture;
+HPLcom/android/server/pm/Installer$Batch;->execute(Lcom/android/server/pm/Installer;)V
+HSPLcom/android/server/pm/Installer;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/pm/Installer;-><init>(Landroid/content/Context;Z)V
+HPLcom/android/server/pm/Installer;->buildCreateAppDataArgs(Ljava/lang/String;Ljava/lang/String;IIILjava/lang/String;IZ)Landroid/os/CreateAppDataArgs;
+HSPLcom/android/server/pm/Installer;->checkBeforeRemote()Z
+PLcom/android/server/pm/Installer;->cleanupInvalidPackageDirs(Ljava/lang/String;II)V
+HSPLcom/android/server/pm/Installer;->connect()V
+PLcom/android/server/pm/Installer;->createAppDataBatched([Landroid/os/CreateAppDataArgs;)[Landroid/os/CreateAppDataResult;
+PLcom/android/server/pm/Installer;->createUserData(Ljava/lang/String;III)V
+PLcom/android/server/pm/Installer;->destroyCeSnapshotsNotSpecified(I[I)Z
+HSPLcom/android/server/pm/Installer;->executeDeferredActions()V
+PLcom/android/server/pm/Installer;->fixupAppData(Ljava/lang/String;I)V
+HSPLcom/android/server/pm/Installer;->invalidateMounts()V
+PLcom/android/server/pm/Installer;->linkNativeLibraryDirectory(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
+HSPLcom/android/server/pm/Installer;->onStart()V
+PLcom/android/server/pm/Installer;->setWarnIfHeld(Ljava/lang/Object;)V
+HSPLcom/android/server/pm/InstantAppRegistry$1;-><init>(Lcom/android/server/pm/InstantAppRegistry;)V
+HSPLcom/android/server/pm/InstantAppRegistry$2;-><init>(Lcom/android/server/pm/InstantAppRegistry;Lcom/android/server/pm/InstantAppRegistry;Lcom/android/server/utils/Watchable;)V
+HSPLcom/android/server/pm/InstantAppRegistry$2;->createSnapshot()Lcom/android/server/pm/InstantAppRegistry;
+HSPLcom/android/server/pm/InstantAppRegistry$2;->createSnapshot()Ljava/lang/Object;
+HSPLcom/android/server/pm/InstantAppRegistry$CookiePersistence;-><init>(Lcom/android/server/pm/InstantAppRegistry;Landroid/os/Looper;)V
+HSPLcom/android/server/pm/InstantAppRegistry;->-$$Nest$fgetmWatchable(Lcom/android/server/pm/InstantAppRegistry;)Lcom/android/server/utils/WatchableImpl;
+HSPLcom/android/server/pm/InstantAppRegistry;-><init>(Landroid/content/Context;Lcom/android/server/pm/permission/PermissionManagerServiceInternal;Lcom/android/server/pm/UserManagerInternal;Lcom/android/server/pm/DeletePackageHelper;)V
+HSPLcom/android/server/pm/InstantAppRegistry;-><init>(Lcom/android/server/pm/InstantAppRegistry;)V
+HSPLcom/android/server/pm/InstantAppRegistry;-><init>(Lcom/android/server/pm/InstantAppRegistry;Lcom/android/server/pm/InstantAppRegistry-IA;)V
+HSPLcom/android/server/pm/InstantAppRegistry;->makeCache()Lcom/android/server/utils/SnapshotCache;
+HSPLcom/android/server/pm/InstantAppRegistry;->registerObserver(Lcom/android/server/utils/Watcher;)V
+HSPLcom/android/server/pm/InstantAppRegistry;->snapshot()Lcom/android/server/pm/InstantAppRegistry;
+PLcom/android/server/pm/InstantAppResolverConnection$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/pm/InstantAppResolverConnection;)V
+PLcom/android/server/pm/InstantAppResolverConnection$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/pm/InstantAppResolverConnection$GetInstantAppResolveInfoCaller$1;-><init>(Lcom/android/server/pm/InstantAppResolverConnection$GetInstantAppResolveInfoCaller;)V
+PLcom/android/server/pm/InstantAppResolverConnection$GetInstantAppResolveInfoCaller;-><init>()V
+PLcom/android/server/pm/InstantAppResolverConnection$MyServiceConnection;-><init>(Lcom/android/server/pm/InstantAppResolverConnection;)V
+PLcom/android/server/pm/InstantAppResolverConnection$MyServiceConnection;-><init>(Lcom/android/server/pm/InstantAppResolverConnection;Lcom/android/server/pm/InstantAppResolverConnection$MyServiceConnection-IA;)V
+PLcom/android/server/pm/InstantAppResolverConnection$MyServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/pm/InstantAppResolverConnection;->$r8$lambda$66W2s2mMKe4pk_xXCScH9RCqav8(Lcom/android/server/pm/InstantAppResolverConnection;)V
+PLcom/android/server/pm/InstantAppResolverConnection;->-$$Nest$fgetmBindState(Lcom/android/server/pm/InstantAppResolverConnection;)I
+PLcom/android/server/pm/InstantAppResolverConnection;->-$$Nest$fgetmLock(Lcom/android/server/pm/InstantAppResolverConnection;)Ljava/lang/Object;
+PLcom/android/server/pm/InstantAppResolverConnection;->-$$Nest$fputmRemoteInstance(Lcom/android/server/pm/InstantAppResolverConnection;Landroid/app/IInstantAppResolver;)V
+PLcom/android/server/pm/InstantAppResolverConnection;->-$$Nest$sfgetCALL_SERVICE_TIMEOUT_MS()J
+PLcom/android/server/pm/InstantAppResolverConnection;->-$$Nest$sfgetDEBUG_INSTANT()Z
+PLcom/android/server/pm/InstantAppResolverConnection;-><clinit>()V
+PLcom/android/server/pm/InstantAppResolverConnection;-><init>(Landroid/content/Context;Landroid/content/ComponentName;Ljava/lang/String;)V
+PLcom/android/server/pm/InstantAppResolverConnection;->bind(Ljava/lang/String;)Landroid/app/IInstantAppResolver;
+PLcom/android/server/pm/InstantAppResolverConnection;->lambda$optimisticBind$0()V
+PLcom/android/server/pm/InstantAppResolverConnection;->optimisticBind()V
+PLcom/android/server/pm/InstantAppResolverConnection;->waitForBindLocked(Ljava/lang/String;)V
+PLcom/android/server/pm/InstructionSets;-><clinit>()V
+HPLcom/android/server/pm/InstructionSets;->getDexCodeInstructionSet(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/pm/InstructionSets;->getPreferredInstructionSet()Ljava/lang/String;
+HPLcom/android/server/pm/InstructionSets;->getPrimaryInstructionSet(Lcom/android/server/pm/PackageAbiHelper$Abis;)Ljava/lang/String;
+HSPLcom/android/server/pm/KeySetHandle;-><init>(JI)V
+HSPLcom/android/server/pm/KeySetHandle;->getRefCountLPr()I
+HSPLcom/android/server/pm/KeySetHandle;->setRefCountLPw(I)V
+HSPLcom/android/server/pm/KeySetManagerService$PublicKeyHandle;-><init>(Lcom/android/server/pm/KeySetManagerService;JILjava/security/PublicKey;)V
+HSPLcom/android/server/pm/KeySetManagerService$PublicKeyHandle;-><init>(Lcom/android/server/pm/KeySetManagerService;JILjava/security/PublicKey;Lcom/android/server/pm/KeySetManagerService$PublicKeyHandle-IA;)V
+PLcom/android/server/pm/KeySetManagerService$PublicKeyHandle;->getKey()Ljava/security/PublicKey;
+HSPLcom/android/server/pm/KeySetManagerService$PublicKeyHandle;->incrRefCountLPw()V
+HSPLcom/android/server/pm/KeySetManagerService;-><init>(Lcom/android/server/pm/KeySetManagerService;Lcom/android/server/utils/WatchedArrayMap;)V
+HSPLcom/android/server/pm/KeySetManagerService;-><init>(Lcom/android/server/utils/WatchedArrayMap;)V
+HPLcom/android/server/pm/KeySetManagerService;->addDefinedKeySetsToPackageLPw(Lcom/android/server/pm/PackageSetting;Ljava/util/Map;)V
+HSPLcom/android/server/pm/KeySetManagerService;->addRefCountsFromSavedPackagesLPw(Landroid/util/ArrayMap;)V
+HPLcom/android/server/pm/KeySetManagerService;->addScannedPackageLPw(Lcom/android/server/pm/pkg/AndroidPackage;)V
+HPLcom/android/server/pm/KeySetManagerService;->addSigningKeySetToPackageLPw(Lcom/android/server/pm/PackageSetting;Landroid/util/ArraySet;)V
+HPLcom/android/server/pm/KeySetManagerService;->addUpgradeKeySetsToPackageLPw(Lcom/android/server/pm/PackageSetting;Ljava/util/Set;)V
+HPLcom/android/server/pm/KeySetManagerService;->assertScannedPackageValid(Lcom/android/server/pm/pkg/AndroidPackage;)V
+HPLcom/android/server/pm/KeySetManagerService;->dumpLPr(Ljava/io/PrintWriter;Ljava/lang/String;Lcom/android/server/pm/DumpState;)V
+HPLcom/android/server/pm/KeySetManagerService;->getPublicKeysFromKeySetLPr(J)Landroid/util/ArraySet;
+HSPLcom/android/server/pm/KeySetManagerService;->readKeySetListLPw(Lcom/android/modules/utils/TypedXmlPullParser;)V
+HSPLcom/android/server/pm/KeySetManagerService;->readKeySetsLPw(Lcom/android/modules/utils/TypedXmlPullParser;Landroid/util/ArrayMap;)V
+HSPLcom/android/server/pm/KeySetManagerService;->readKeysLPw(Lcom/android/modules/utils/TypedXmlPullParser;)V
+HSPLcom/android/server/pm/KeySetManagerService;->readPublicKeyLPw(Lcom/android/modules/utils/TypedXmlPullParser;)V
+PLcom/android/server/pm/KeySetManagerService;->shouldCheckUpgradeKeySetLocked(Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/pkg/SharedUserApi;I)Z
+PLcom/android/server/pm/KeySetManagerService;->writeKeySetManagerServiceLPr(Lcom/android/modules/utils/TypedXmlSerializer;)V
+HPLcom/android/server/pm/KeySetManagerService;->writeKeySetsLPr(Lcom/android/modules/utils/TypedXmlSerializer;)V
+HPLcom/android/server/pm/KeySetManagerService;->writePublicKeysLPr(Lcom/android/modules/utils/TypedXmlSerializer;)V
+HSPLcom/android/server/pm/KnownPackages;-><init>(Lcom/android/server/pm/DefaultAppProvider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+HSPLcom/android/server/pm/KnownPackages;->getKnownPackageNames(Lcom/android/server/pm/Computer;II)[Ljava/lang/String;
+PLcom/android/server/pm/LauncherAppsService$BroadcastCookie;-><init>(Landroid/os/UserHandle;Ljava/lang/String;II)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;Landroid/os/UserHandle;)V
+HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$$ExternalSyntheticLambda4;->accept(Ljava/lang/Object;)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$LocalService;-><init>(Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor;Ljava/lang/String;I)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor;->$r8$lambda$vtWdDInHNEcUSDBzImmSY0mx-XU(Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor;Ljava/lang/String;I)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor;-><init>(Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor;-><init>(Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor-IA;)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor;->lambda$onShortcutChanged$0(Ljava/lang/String;I)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor;->onShortcutChanged(Ljava/lang/String;I)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor;->onShortcutChangedInner(Ljava/lang/String;I)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$PackageCallbackList;-><init>(Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$PackageRemovedListener;-><init>(Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$PackageRemovedListener;-><init>(Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$PackageRemovedListener-IA;)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$ShortcutChangeHandler;-><init>(Lcom/android/server/pm/UserManagerInternal;)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->$r8$lambda$kx0EDd9EHlGq1e2ICkr064uuOvo(Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;Landroid/os/UserHandle;Lcom/android/server/pm/pkg/AndroidPackage;)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->-$$Nest$fgetmListeners(Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;)Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$PackageCallbackList;
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->-$$Nest$fgetmShortcutServiceInternal(Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;)Landroid/content/pm/ShortcutServiceInternal;
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->-$$Nest$misEnabledProfileOf(Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;Landroid/os/UserHandle;Landroid/os/UserHandle;Ljava/lang/String;)Z
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->-$$Nest$misPackageVisibleToListener(Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;Ljava/lang/String;Lcom/android/server/pm/LauncherAppsService$BroadcastCookie;Landroid/os/UserHandle;)Z
+HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;-><init>(Landroid/content/Context;)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->addOnAppsChangedListener(Ljava/lang/String;Landroid/content/pm/IOnAppsChangedListener;)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->canAccessProfile(IIIILjava/lang/String;)Z
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->canAccessProfile(ILjava/lang/String;)Z
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->ensureShortcutPermission(IILjava/lang/String;)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->ensureShortcutPermission(Ljava/lang/String;)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->generateLauncherActivitiesForArchivedApp(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/util/List;
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getActivitiesForArchivedApp(Ljava/lang/String;Landroid/os/UserHandle;Landroid/content/pm/ParceledListSlice;)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getApplicationInfoListForAllArchivedApps(Landroid/os/UserHandle;)Ljava/util/List;
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getCallingUserId()I
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getLauncherActivities(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getShortcuts(Ljava/lang/String;Landroid/content/pm/ShortcutQueryWrapper;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->hasDefaultEnableLauncherActivity(Ljava/lang/String;)Z
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->injectBinderCallingPid()I
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->injectBinderCallingUid()I
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->injectCallingUserId()I
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->injectClearCallingIdentity()J
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->injectRestoreCallingIdentity(J)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->isEnabledProfileOf(Landroid/os/UserHandle;Landroid/os/UserHandle;Ljava/lang/String;)Z
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->isManagedProfileAdmin(Landroid/os/UserHandle;Ljava/lang/String;)Z
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->isPackageVisibleToListener(Ljava/lang/String;Lcom/android/server/pm/LauncherAppsService$BroadcastCookie;Landroid/os/UserHandle;)Z
+HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->lambda$registerLoadingProgressForIncrementalApps$6(Landroid/os/UserHandle;Lcom/android/server/pm/pkg/AndroidPackage;)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->postToPackageMonitorHandler(Ljava/lang/Runnable;)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->queryActivitiesForUser(Ljava/lang/String;Landroid/content/Intent;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->queryIntentLauncherActivities(Landroid/content/Intent;ILandroid/os/UserHandle;)Ljava/util/List;
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->registerLoadingProgressForIncrementalApps()V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->requestsPermissions(Lcom/android/server/pm/pkg/AndroidPackage;)Z
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->shouldShowSyntheticActivity(Landroid/os/UserHandle;Landroid/content/pm/ApplicationInfo;)Z
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->startWatchingPackageBroadcasts()V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->verifyCallingPackage(Ljava/lang/String;)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->verifyCallingPackage(Ljava/lang/String;I)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsServiceInternal;-><init>()V
+PLcom/android/server/pm/LauncherAppsService;-><clinit>()V
+PLcom/android/server/pm/LauncherAppsService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/pm/LauncherAppsService;->onStart()V
+PLcom/android/server/pm/ModuleInfoProvider;-><init>(Landroid/content/Context;)V
+PLcom/android/server/pm/ModuleInfoProvider;->getInstalledModules(I)Ljava/util/List;
+PLcom/android/server/pm/ModuleInfoProvider;->getModuleInfo(Ljava/lang/String;I)Landroid/content/pm/ModuleInfo;
+PLcom/android/server/pm/ModuleInfoProvider;->getPackageManager()Landroid/content/pm/IPackageManager;
+PLcom/android/server/pm/ModuleInfoProvider;->loadModuleMetadata(Landroid/content/res/XmlResourceParser;Landroid/content/res/Resources;)V
+PLcom/android/server/pm/ModuleInfoProvider;->systemReady()V
+HSPLcom/android/server/pm/MovePackageHelper$MoveCallbacks;-><init>(Landroid/os/Looper;)V
+PLcom/android/server/pm/OtaDexoptService;-><init>(Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;)V
+PLcom/android/server/pm/OtaDexoptService;->main(Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/OtaDexoptService;
+PLcom/android/server/pm/OtaDexoptService;->moveAbArtifacts(Lcom/android/server/pm/Installer;)V
+HPLcom/android/server/pm/PackageAbiHelper$Abis;-><init>(Ljava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/pm/PackageAbiHelper$NativeLibraryPaths;-><init>(Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/pm/PackageAbiHelper$NativeLibraryPaths;->applyTo(Lcom/android/internal/pm/parsing/pkg/ParsedPackage;)V
+HSPLcom/android/server/pm/PackageAbiHelperImpl;-><init>()V
+HPLcom/android/server/pm/PackageAbiHelperImpl;->calculateBundledApkRoot(Ljava/lang/String;)Ljava/lang/String;
+HPLcom/android/server/pm/PackageAbiHelperImpl;->deriveCodePathName(Ljava/lang/String;)Ljava/lang/String;
+HPLcom/android/server/pm/PackageAbiHelperImpl;->deriveNativeLibraryPaths(Lcom/android/server/pm/PackageAbiHelper$Abis;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;ZZ)Lcom/android/server/pm/PackageAbiHelper$NativeLibraryPaths;
+HPLcom/android/server/pm/PackageAbiHelperImpl;->deriveNativeLibraryPaths(Lcom/android/server/pm/pkg/AndroidPackage;ZZLjava/io/File;)Lcom/android/server/pm/PackageAbiHelper$NativeLibraryPaths;
+PLcom/android/server/pm/PackageAbiHelperImpl;->derivePackageAbi(Lcom/android/server/pm/pkg/AndroidPackage;ZZLjava/lang/String;Ljava/io/File;)Landroid/util/Pair;
+PLcom/android/server/pm/PackageAbiHelperImpl;->getAdjustedAbiForSharedUser(Landroid/util/ArraySet;Lcom/android/server/pm/pkg/AndroidPackage;)Ljava/lang/String;
+PLcom/android/server/pm/PackageAbiHelperImpl;->shouldExtractLibs(Lcom/android/server/pm/pkg/AndroidPackage;ZZ)Z
+HSPLcom/android/server/pm/PackageArchiver;-><clinit>()V
+PLcom/android/server/pm/PackageArchiver;-><init>(Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;)V
+HSPLcom/android/server/pm/PackageArchiver;->isArchived(Lcom/android/server/pm/pkg/PackageUserState;)Z
+PLcom/android/server/pm/PackageArchiver;->isArchivingEnabled()Z
+HSPLcom/android/server/pm/PackageDexOptimizer$1;-><init>()V
+HSPLcom/android/server/pm/PackageDexOptimizer$1;->getPowerManager(Landroid/content/Context;)Landroid/os/PowerManager;
+HSPLcom/android/server/pm/PackageDexOptimizer;-><clinit>()V
+HSPLcom/android/server/pm/PackageDexOptimizer;-><init>(Lcom/android/server/pm/Installer;Ljava/lang/Object;Landroid/content/Context;Ljava/lang/String;)V
+HSPLcom/android/server/pm/PackageDexOptimizer;-><init>(Lcom/android/server/pm/PackageDexOptimizer$Injector;Lcom/android/server/pm/Installer;Ljava/lang/Object;Landroid/content/Context;Ljava/lang/String;)V
+PLcom/android/server/pm/PackageDexOptimizer;->systemReady()V
+HSPLcom/android/server/pm/PackageHandler;-><init>(Landroid/os/Looper;Lcom/android/server/pm/PackageManagerService;)V
+PLcom/android/server/pm/PackageHandler;->doHandleMessage(Landroid/os/Message;)V
+PLcom/android/server/pm/PackageHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/pm/PackageInstallerService$$ExternalSyntheticLambda4;-><init>(I)V
+PLcom/android/server/pm/PackageInstallerService$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/pm/PackageInstallerService;Lcom/android/server/pm/Computer;I)V
+PLcom/android/server/pm/PackageInstallerService$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/pm/PackageInstallerService;)V
+PLcom/android/server/pm/PackageInstallerService$$ExternalSyntheticLambda6;->get()Ljava/lang/Object;
+PLcom/android/server/pm/PackageInstallerService$1;-><init>()V
+PLcom/android/server/pm/PackageInstallerService$1;->accept(Ljava/io/File;Ljava/lang/String;)Z
+PLcom/android/server/pm/PackageInstallerService$BroadcastCookie;-><init>(ILjava/util/function/IntPredicate;)V
+PLcom/android/server/pm/PackageInstallerService$Callbacks;-><init>(Lcom/android/server/pm/PackageInstallerService;Landroid/os/Looper;)V
+PLcom/android/server/pm/PackageInstallerService$Callbacks;->register(Landroid/content/pm/IPackageInstallerCallback;Lcom/android/server/pm/PackageInstallerService$BroadcastCookie;)V
+PLcom/android/server/pm/PackageInstallerService$InternalCallback;-><init>(Lcom/android/server/pm/PackageInstallerService;)V
+PLcom/android/server/pm/PackageInstallerService$Lifecycle;-><init>(Landroid/content/Context;Lcom/android/server/pm/PackageInstallerService;)V
+PLcom/android/server/pm/PackageInstallerService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/pm/PackageInstallerService$Lifecycle;->onStart()V
+PLcom/android/server/pm/PackageInstallerService;->$r8$lambda$wY7L0Z422az4MHHhP9QFuryN2S8(Lcom/android/server/pm/PackageInstallerService;)Ljava/lang/Boolean;
+PLcom/android/server/pm/PackageInstallerService;->-$$Nest$monBroadcastReady(Lcom/android/server/pm/PackageInstallerService;)V
+PLcom/android/server/pm/PackageInstallerService;-><clinit>()V
+HPLcom/android/server/pm/PackageInstallerService;-><init>(Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;Ljava/util/function/Supplier;)V
+PLcom/android/server/pm/PackageInstallerService;->expireSessionsLocked()V
+PLcom/android/server/pm/PackageInstallerService;->getMySessions(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/pm/PackageInstallerService;->getStagedSessions()Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/pm/PackageInstallerService;->getStagingDirsOnVolume(Ljava/lang/String;)Landroid/util/ArraySet;
+PLcom/android/server/pm/PackageInstallerService;->getStagingManager()Lcom/android/server/pm/StagingManager;
+PLcom/android/server/pm/PackageInstallerService;->getTmpSessionDir(Ljava/lang/String;)Ljava/io/File;
+HPLcom/android/server/pm/PackageInstallerService;->isStageName(Ljava/lang/String;)Z
+PLcom/android/server/pm/PackageInstallerService;->lambda$new$0()Ljava/lang/Boolean;
+PLcom/android/server/pm/PackageInstallerService;->newArraySet([Ljava/lang/Object;)Landroid/util/ArraySet;
+PLcom/android/server/pm/PackageInstallerService;->onBroadcastReady()V
+PLcom/android/server/pm/PackageInstallerService;->readSessionsLocked()V
+PLcom/android/server/pm/PackageInstallerService;->reconcileStagesLocked(Ljava/lang/String;)V
+PLcom/android/server/pm/PackageInstallerService;->registerCallback(Landroid/content/pm/IPackageInstallerCallback;I)V
+PLcom/android/server/pm/PackageInstallerService;->registerCallback(Landroid/content/pm/IPackageInstallerCallback;Ljava/util/function/IntPredicate;)V
+PLcom/android/server/pm/PackageInstallerService;->removeStagingDirs(Landroid/util/ArraySet;)V
+PLcom/android/server/pm/PackageInstallerService;->restoreAndApplyStagedSessionIfNeeded()V
+PLcom/android/server/pm/PackageInstallerService;->systemReady()V
+PLcom/android/server/pm/PackageInstallerService;->writeSessions()Z
+HSPLcom/android/server/pm/PackageKeySetData;-><init>()V
+HSPLcom/android/server/pm/PackageKeySetData;-><init>(Lcom/android/server/pm/PackageKeySetData;)V
+PLcom/android/server/pm/PackageKeySetData;->getAliases()Landroid/util/ArrayMap;
+PLcom/android/server/pm/PackageKeySetData;->getProperSigningKeySet()J
+PLcom/android/server/pm/PackageKeySetData;->isUsingDefinedKeySets()Z
+HPLcom/android/server/pm/PackageKeySetData;->isUsingUpgradeKeySets()Z
+HPLcom/android/server/pm/PackageKeySetData;->removeAllDefinedKeySets()V
+HPLcom/android/server/pm/PackageKeySetData;->removeAllUpgradeKeySets()V
+HPLcom/android/server/pm/PackageKeySetData;->setAliases(Ljava/util/Map;)V
+HSPLcom/android/server/pm/PackageKeySetData;->setProperSigningKeySet(J)V
+PLcom/android/server/pm/PackageList;-><init>(Ljava/util/List;Landroid/content/pm/PackageManagerInternal$PackageListObserver;)V
+PLcom/android/server/pm/PackageList;->getPackageNames()Ljava/util/List;
+PLcom/android/server/pm/PackageManagerException;-><init>(ILjava/lang/String;)V
+PLcom/android/server/pm/PackageManagerException;-><init>(ILjava/lang/String;Ljava/lang/Throwable;)V
+HSPLcom/android/server/pm/PackageManagerInternalBase;-><init>(Lcom/android/server/pm/PackageManagerService;)V
+PLcom/android/server/pm/PackageManagerInternalBase;->canAccessInstantApps(II)Z
+HPLcom/android/server/pm/PackageManagerInternalBase;->canQueryPackage(ILjava/lang/String;)Z
+PLcom/android/server/pm/PackageManagerInternalBase;->filterAppAccess(II)Z
+HPLcom/android/server/pm/PackageManagerInternalBase;->filterAppAccess(Ljava/lang/String;IIZ)Z
+PLcom/android/server/pm/PackageManagerInternalBase;->forEachInstalledPackage(Ljava/util/function/Consumer;I)V
+PLcom/android/server/pm/PackageManagerInternalBase;->forEachPackage(Ljava/util/function/Consumer;)V
+PLcom/android/server/pm/PackageManagerInternalBase;->forEachPackageState(Ljava/util/function/Consumer;)V
+HPLcom/android/server/pm/PackageManagerInternalBase;->getApplicationEnabledState(Ljava/lang/String;I)I
+HPLcom/android/server/pm/PackageManagerInternalBase;->getApplicationInfo(Ljava/lang/String;JII)Landroid/content/pm/ApplicationInfo;
+HPLcom/android/server/pm/PackageManagerInternalBase;->getDisabledComponents(Ljava/lang/String;I)Landroid/util/ArraySet;
+PLcom/android/server/pm/PackageManagerInternalBase;->getDistractingPackageRestrictions(Ljava/lang/String;I)I
+HPLcom/android/server/pm/PackageManagerInternalBase;->getEnabledComponents(Ljava/lang/String;I)Landroid/util/ArraySet;
+PLcom/android/server/pm/PackageManagerInternalBase;->getInstalledApplications(JII)Ljava/util/List;
+PLcom/android/server/pm/PackageManagerInternalBase;->getInstalledApplicationsCrossUser(JII)Ljava/util/List;
+HPLcom/android/server/pm/PackageManagerInternalBase;->getInstantAppPackageName(I)Ljava/lang/String;
+HSPLcom/android/server/pm/PackageManagerInternalBase;->getKnownPackageNames(II)[Ljava/lang/String;
+HPLcom/android/server/pm/PackageManagerInternalBase;->getPackage(I)Lcom/android/server/pm/pkg/AndroidPackage;
+HPLcom/android/server/pm/PackageManagerInternalBase;->getPackage(Ljava/lang/String;)Lcom/android/server/pm/pkg/AndroidPackage;
+HPLcom/android/server/pm/PackageManagerInternalBase;->getPackageInfo(Ljava/lang/String;JII)Landroid/content/pm/PackageInfo;
+HPLcom/android/server/pm/PackageManagerInternalBase;->getPackageStateInternal(Ljava/lang/String;)Lcom/android/server/pm/pkg/PackageStateInternal;
+PLcom/android/server/pm/PackageManagerInternalBase;->getPackageTargetSdkVersion(Ljava/lang/String;)I
+HPLcom/android/server/pm/PackageManagerInternalBase;->getPackageUid(Ljava/lang/String;JI)I
+PLcom/android/server/pm/PackageManagerInternalBase;->getPermissionGids(Ljava/lang/String;I)[I
+HPLcom/android/server/pm/PackageManagerInternalBase;->getProcessesForUid(I)Landroid/util/ArrayMap;
+HPLcom/android/server/pm/PackageManagerInternalBase;->getSharedUserPackagesForPackage(Ljava/lang/String;I)[Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerInternalBase;->getSystemUiServiceComponent()Landroid/content/ComponentName;
+HPLcom/android/server/pm/PackageManagerInternalBase;->getUidTargetSdkVersion(I)I
+HPLcom/android/server/pm/PackageManagerInternalBase;->grantImplicitAccess(ILandroid/content/Intent;IIZ)V
+HPLcom/android/server/pm/PackageManagerInternalBase;->grantImplicitAccess(ILandroid/content/Intent;IIZZ)V
+HPLcom/android/server/pm/PackageManagerInternalBase;->isInstantApp(Ljava/lang/String;I)Z
+PLcom/android/server/pm/PackageManagerInternalBase;->isInstantAppInstallerComponent(Landroid/content/ComponentName;)Z
+HPLcom/android/server/pm/PackageManagerInternalBase;->isPackageEphemeral(ILjava/lang/String;)Z
+HPLcom/android/server/pm/PackageManagerInternalBase;->isPackageFrozen(Ljava/lang/String;II)Z
+HPLcom/android/server/pm/PackageManagerInternalBase;->isPackageStateProtected(Ljava/lang/String;I)Z
+PLcom/android/server/pm/PackageManagerInternalBase;->isPackageStopped(Ljava/lang/String;I)Z
+HPLcom/android/server/pm/PackageManagerInternalBase;->isPackageSuspended(Ljava/lang/String;I)Z
+HPLcom/android/server/pm/PackageManagerInternalBase;->isPermissionsReviewRequired(Ljava/lang/String;I)Z
+HPLcom/android/server/pm/PackageManagerInternalBase;->notifyComponentUsed(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/pm/PackageManagerInternalBase;->queryIntentActivities(Landroid/content/Intent;Ljava/lang/String;JII)Ljava/util/List;
+HPLcom/android/server/pm/PackageManagerInternalBase;->queryIntentReceivers(Landroid/content/Intent;Ljava/lang/String;JIIZ)Ljava/util/List;
+PLcom/android/server/pm/PackageManagerInternalBase;->reconcileAppsData(IIZ)V
+PLcom/android/server/pm/PackageManagerInternalBase;->resolveContentProvider(Ljava/lang/String;JII)Landroid/content/pm/ProviderInfo;
+PLcom/android/server/pm/PackageManagerInternalBase;->resolveIntentExported(Landroid/content/Intent;Ljava/lang/String;JJIZII)Landroid/content/pm/ResolveInfo;
+HPLcom/android/server/pm/PackageManagerInternalBase;->resolveService(Landroid/content/Intent;Ljava/lang/String;JII)Landroid/content/pm/ResolveInfo;
+PLcom/android/server/pm/PackageManagerInternalBase;->setPackageStoppedState(Ljava/lang/String;ZI)V
+HSPLcom/android/server/pm/PackageManagerInternalBase;->snapshot()Lcom/android/server/pm/Computer;
+HPLcom/android/server/pm/PackageManagerInternalBase;->snapshot()Lcom/android/server/pm/snapshot/PackageDataSnapshot;
+PLcom/android/server/pm/PackageManagerInternalBase;->wasPackageEverLaunched(Ljava/lang/String;I)Z
+PLcom/android/server/pm/PackageManagerNative;-><init>(Lcom/android/server/pm/PackageManagerService;)V
+PLcom/android/server/pm/PackageManagerNative;->getInstallerForPackage(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerNative;->getNamesForUids([I)[Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerNative;->getTargetSdkVersionForPackage(Ljava/lang/String;)I
+PLcom/android/server/pm/PackageManagerNative;->getVersionCodeForPackage(Ljava/lang/String;)J
+PLcom/android/server/pm/PackageManagerNative;->hasSystemFeature(Ljava/lang/String;I)Z
+PLcom/android/server/pm/PackageManagerNative;->isAudioPlaybackCaptureAllowed([Ljava/lang/String;)[Z
+PLcom/android/server/pm/PackageManagerNative;->registerStagedApexObserver(Landroid/content/pm/IStagedApexObserver;)V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda10;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda10;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda11;-><init>()V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda11;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda12;-><init>()V
+PLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda12;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda13;-><init>()V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda14;-><init>()V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda15;-><init>()V
+PLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda15;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda16;-><init>()V
+PLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda16;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda17;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda17;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda18;-><init>()V
+PLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda18;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda19;-><init>()V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda19;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda1;-><init>()V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda1;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda20;-><init>(Lcom/android/server/pm/verify/domain/DomainVerificationService;)V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda20;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda21;-><init>()V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda21;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda22;-><init>()V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda22;->produce(Ljava/lang/Class;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda23;-><init>(Landroid/content/Context;)V
+PLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda23;->produce(Ljava/lang/Class;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda24;-><init>()V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda24;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda25;-><init>()V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda26;-><init>()V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda26;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda27;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda28;-><init>(Landroid/content/Context;Lcom/android/server/pm/Installer;Ljava/lang/Object;Lcom/android/server/pm/PackageManagerTracedLock;)V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda28;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda29;-><init>()V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda29;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/pm/PackageManagerService;)V
+PLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda2;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda30;-><init>()V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda30;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+PLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda31;-><init>(Lcom/android/server/pm/PackageManagerService;)V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda32;-><init>(Lcom/android/server/pm/verify/domain/DomainVerificationService;Landroid/os/Handler;Lcom/android/server/pm/PackageManagerTracedLock;)V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda32;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda33;-><init>()V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda33;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda34;-><init>()V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda34;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda35;-><init>()V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda35;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda36;-><init>()V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda36;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda37;-><init>()V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda37;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda38;-><init>()V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda38;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/pm/PackageManagerService;)V
+PLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda40;-><init>(Lcom/android/server/pm/PackageManagerService;Z)V
+PLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda40;->run()V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda41;-><init>(Lcom/android/server/pm/PackageManagerService;)V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda42;-><init>(Lcom/android/server/pm/PackageManagerService;)V
+PLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda43;-><init>(Lcom/android/server/pm/PackageManagerService;[I)V
+PLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda43;->accept(Ljava/lang/Object;)V
+PLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda44;-><init>(IZZ)V
+PLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda44;->accept(Ljava/lang/Object;)V
+HPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda45;-><init>(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;I)V
+HPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda45;->run()V
+PLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda46;-><init>(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;Landroid/os/Bundle;[ILandroid/util/SparseArray;)V
+PLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda46;->run()V
+PLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda48;-><init>(Lcom/android/server/pm/PackageManagerServiceInjector;)V
+PLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda4;-><init>()V
+PLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda4;->apply(I)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda50;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda51;-><init>()V
+PLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda55;-><init>(ILjava/util/function/Consumer;)V
+HPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda55;->accept(Ljava/lang/Object;)V
+PLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/pm/PackageManagerService;)V
+PLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda63;-><init>(ILandroid/util/ArrayMap;Ljava/util/Set;ILandroid/util/ArrayMap;)V
+PLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda63;->accept(Ljava/lang/Object;)V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda6;-><init>()V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda6;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda7;-><init>()V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda7;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda8;-><init>()V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda8;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda9;-><init>()V
+HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda9;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$1;-><init>(Lcom/android/server/pm/PackageManagerService;)V
+HSPLcom/android/server/pm/PackageManagerService$1;->onChange(Lcom/android/server/utils/Watchable;)V
+HSPLcom/android/server/pm/PackageManagerService$2;-><init>()V
+PLcom/android/server/pm/PackageManagerService$2;->handleMessage(Landroid/os/Message;)Z
+HSPLcom/android/server/pm/PackageManagerService$3;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/compat/PlatformCompat;)V
+PLcom/android/server/pm/PackageManagerService$4;-><init>(Lcom/android/server/pm/PackageManagerService;Landroid/os/Handler;Landroid/content/ContentResolver;)V
+PLcom/android/server/pm/PackageManagerService$4;->onChange(Z)V
+PLcom/android/server/pm/PackageManagerService$5;-><init>(Lcom/android/server/pm/PackageManagerService;)V
+PLcom/android/server/pm/PackageManagerService$5;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/pm/PackageManagerService$6;-><init>(Lcom/android/server/pm/PackageManagerService;)V
+HSPLcom/android/server/pm/PackageManagerService$DefaultSystemWrapper;-><init>()V
+HSPLcom/android/server/pm/PackageManagerService$DefaultSystemWrapper;-><init>(Lcom/android/server/pm/PackageManagerService$DefaultSystemWrapper-IA;)V
+HSPLcom/android/server/pm/PackageManagerService$DefaultSystemWrapper;->disablePackageCaches()V
+PLcom/android/server/pm/PackageManagerService$DefaultSystemWrapper;->enablePackageCaches()V
+PLcom/android/server/pm/PackageManagerService$IPackageManagerImpl$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/pm/Computer;II)V
+PLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;-><init>(Lcom/android/server/pm/PackageManagerService;)V
+HPLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->checkPackageStartable(Ljava/lang/String;I)V
+HPLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+PLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->getChangedPackages(II)Landroid/content/pm/ChangedPackages;
+PLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->getInstantAppAndroidId(Ljava/lang/String;I)Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->getPermissionControllerPackageName()Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->getSplashScreenTheme(Ljava/lang/String;I)Ljava/lang/String;
+HPLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->getSystemAvailableFeatures()Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->isProtectedBroadcast(Ljava/lang/String;)Z
+HPLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->logAppProcessStartIfNeeded(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;I)V
+HPLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->notifyDexLoad(Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;)V
+HPLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->notifyPackageUse(Ljava/lang/String;I)V
+HPLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->onShellCommand(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/lang/String;Landroid/os/ShellCallback;Landroid/os/ResultReceiver;)V
+HPLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->queryProperty(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->registerPackageMonitorCallback(Landroid/os/IRemoteCallback;I)V
+PLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->setApplicationEnabledSetting(Ljava/lang/String;IIILjava/lang/String;)V
+HPLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->setComponentEnabledSetting(Landroid/content/ComponentName;IIILjava/lang/String;)V
+PLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->setPackageStoppedState(Ljava/lang/String;ZI)V
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;Ljava/lang/String;Landroid/os/Bundle;I[ILandroid/util/SparseArray;)V
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl$$ExternalSyntheticLambda2;->run()V
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl$$ExternalSyntheticLambda3;-><init>(Ljava/util/List;)V
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl$$ExternalSyntheticLambda3;->accept(Ljava/lang/Object;)V
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl$$ExternalSyntheticLambda4;-><init>(Ljava/util/ArrayList;)V
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl$$ExternalSyntheticLambda4;->accept(Ljava/lang/Object;)V
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->$r8$lambda$6BzoV0knGY9C14_caifkEEMMdVU(Ljava/util/List;Lcom/android/server/pm/pkg/PackageStateInternal;)V
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->$r8$lambda$EQuwNqG4N0yM_qw6ZX3BhqlsDtw(Ljava/util/ArrayList;Lcom/android/server/pm/pkg/PackageStateInternal;)V
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->$r8$lambda$oFinl0bGSorgAoKfFRg-vRv_2cE(Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;Ljava/lang/String;Landroid/os/Bundle;I[ILandroid/util/SparseArray;)V
+HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;-><init>(Lcom/android/server/pm/PackageManagerService;)V
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getAppDataHelper()Lcom/android/server/pm/AppDataHelper;
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getContext()Landroid/content/Context;
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getDisabledSystemPackageName(Ljava/lang/String;)Ljava/lang/String;
+HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getIncrementalStatesInfo(Ljava/lang/String;II)Landroid/content/pm/IncrementalStatesInfo;
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getPackageList(Landroid/content/pm/PackageManagerInternal$PackageListObserver;)Lcom/android/server/pm/PackageList;
+HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getPermissionManager()Lcom/android/server/pm/permission/PermissionManagerServiceInternal;
+HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getProtectedPackages()Lcom/android/server/pm/ProtectedPackages;
+HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getResolveIntentHelper()Lcom/android/server/pm/ResolveIntentHelper;
+HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getSuspendPackageHelper()Lcom/android/server/pm/SuspendPackageHelper;
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getTargetPackageNames(I)Ljava/util/List;
+HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->hasSignatureCapability(III)Z
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isPackagePersistent(Ljava/lang/String;)Z
+HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isPlatformSigned(Ljava/lang/String;)Z
+HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isSameApp(Ljava/lang/String;II)Z
+HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isSameApp(Ljava/lang/String;JII)Z
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->lambda$getPackageList$0(Ljava/util/ArrayList;Lcom/android/server/pm/pkg/PackageStateInternal;)V
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->lambda$getTargetPackageNames$2(Ljava/util/List;Lcom/android/server/pm/pkg/PackageStateInternal;)V
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->lambda$sendPackageRestartedBroadcast$4(Ljava/lang/String;Landroid/os/Bundle;I[ILandroid/util/SparseArray;)V
+HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->notifyPackageUse(Ljava/lang/String;I)V
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->sendPackageRestartedBroadcast(Ljava/lang/String;II)V
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setDeviceAndProfileOwnerPackages(ILjava/lang/String;Landroid/util/SparseArray;)V
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setEnabledOverlayPackages(ILandroid/util/ArrayMap;Ljava/util/Set;Ljava/util/Set;)V
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setExternalSourcesPolicy(Landroid/content/pm/PackageManagerInternal$ExternalSourcesPolicy;)V
+HSPLcom/android/server/pm/PackageManagerService$Snapshot;-><init>(Lcom/android/server/pm/PackageManagerService;I)V
+HSPLcom/android/server/pm/PackageManagerService;->$r8$lambda$3kw1stMVsxw0hUSyOsS2FPnzpHQ(Landroid/content/Context;Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/DefaultAppProvider;
+HSPLcom/android/server/pm/PackageManagerService;->$r8$lambda$49MB1VcYhb5vNzYT8bGtg2MigyY(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/SystemConfig;
+PLcom/android/server/pm/PackageManagerService;->$r8$lambda$5zfMCrLbAea9InASGoniwjwLP1g(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;Landroid/content/ComponentName;)Lcom/android/server/pm/InstantAppResolverConnection;
+HSPLcom/android/server/pm/PackageManagerService;->$r8$lambda$Ak19Qy9hQiUyM128pbH0sxNNbxE(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Landroid/os/Handler;
+PLcom/android/server/pm/PackageManagerService;->$r8$lambda$AtsdeBa8co53jl7kYt8ysrzmEo8(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/internal/pm/parsing/PackageParser2;
+PLcom/android/server/pm/PackageManagerService;->$r8$lambda$JCnmoBuRlexuCDDmhAlJO4FAjhg(ILandroid/util/ArrayMap;Ljava/util/Set;ILandroid/util/ArrayMap;Lcom/android/server/pm/pkg/mutate/PackageStateMutator;)V
+HSPLcom/android/server/pm/PackageManagerService;->$r8$lambda$LT765XNHeztBOay7rENBSJ4FpQo(Lcom/android/server/pm/verify/domain/DomainVerificationService;Landroid/os/Handler;Lcom/android/server/pm/PackageManagerTracedLock;Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/Settings;
+PLcom/android/server/pm/PackageManagerService;->$r8$lambda$Ob4Lx_QzpY-udQ1-YTziQadgFcc(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;Landroid/os/Bundle;[ILandroid/util/SparseArray;)V
+HSPLcom/android/server/pm/PackageManagerService;->$r8$lambda$OdKicpQs5x3SrKKW4-UnxBv2k4k(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/dex/ArtManagerService;
+HSPLcom/android/server/pm/PackageManagerService;->$r8$lambda$P8SY61CGf4lgD7vmEgc6OJo18Jc(Landroid/content/Context;Lcom/android/server/pm/Installer;Ljava/lang/Object;Lcom/android/server/pm/PackageManagerTracedLock;Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/UserManagerService;
+HSPLcom/android/server/pm/PackageManagerService;->$r8$lambda$RJDxvoMUIzns2AakZT-srNoyjqA(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/BackgroundDexOptService;
+PLcom/android/server/pm/PackageManagerService;->$r8$lambda$SVfaWm0ftYEb_i0fK608nQic6a8(ILjava/util/function/Consumer;Lcom/android/server/pm/pkg/PackageStateInternal;)V
+PLcom/android/server/pm/PackageManagerService;->$r8$lambda$Sj0TiBD2qrAz-kSBJZjvN19KwM8(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;I)V
+HSPLcom/android/server/pm/PackageManagerService;->$r8$lambda$Ss9DVkISkXku8V-CYhxH_GTx3uk(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/compat/PlatformCompat;
+HSPLcom/android/server/pm/PackageManagerService;->$r8$lambda$WTjLzvsZwKnygY1dXmiEXrU4wns(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Landroid/os/incremental/IncrementalManager;
+HSPLcom/android/server/pm/PackageManagerService;->$r8$lambda$XIxgBW0a_Dim0prfYI26N63QYA8(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/permission/LegacyPermissionManagerInternal;
+HSPLcom/android/server/pm/PackageManagerService;->$r8$lambda$XK0jyd8NWE8sX2dLVxJDSWyX-fc(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/resolution/ComponentResolver;
+HSPLcom/android/server/pm/PackageManagerService;->$r8$lambda$bP6O2EM4vQjnURNcnMI3AEd8jvE(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/ApexManager;
+HSPLcom/android/server/pm/PackageManagerService;->$r8$lambda$biXVbknQI0VSnqBwrsRYdId7lOg(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Landroid/util/DisplayMetrics;
+HSPLcom/android/server/pm/PackageManagerService;->$r8$lambda$cgf9HzQDpIYBAM1FfODw1LJfeaA(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/SharedLibrariesImpl;
+HSPLcom/android/server/pm/PackageManagerService;->$r8$lambda$f76IiBvzWjWrK7cEm3Fwh4D5vPI(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/PackageDexOptimizer;
+HSPLcom/android/server/pm/PackageManagerService;->$r8$lambda$g8phPHwnEQKwNibO76kbTV-ernk(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/UpdateOwnershipHelper;
+HSPLcom/android/server/pm/PackageManagerService;->$r8$lambda$gIhdWIFiJVJIMETTUG8yHCSxQyU(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/dex/DexManager;
+HSPLcom/android/server/pm/PackageManagerService;->$r8$lambda$gt9gWkZ6s9W-_z9hX2383OetJQg(Lcom/android/server/pm/verify/domain/DomainVerificationService;Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/verify/domain/DomainVerificationManagerInternal;
+HSPLcom/android/server/pm/PackageManagerService;->$r8$lambda$hV-hx61rt_I-GSVq2c9QBKlQU-A(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/AppsFilterImpl;
+HSPLcom/android/server/pm/PackageManagerService;->$r8$lambda$jI7_wgzMOIg2_ALwQh3N7aqxwk0(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/PackageMonitorCallbackHelper;
+PLcom/android/server/pm/PackageManagerService;->$r8$lambda$kLempGNYbwTngE5VfwmJi2ujEMA(Lcom/android/server/pm/PackageManagerService;[ILcom/android/server/pm/pkg/PackageStateInternal;)V
+PLcom/android/server/pm/PackageManagerService;->$r8$lambda$lrT8YtmB66bCdNFFrQigcIEKlkk(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/PackageInstallerService;
+PLcom/android/server/pm/PackageManagerService;->$r8$lambda$o-iKpv5pW-KnOFqF1r6GTvXljZ0(IZZLcom/android/server/pm/pkg/mutate/PackageStateWrite;)V
+HSPLcom/android/server/pm/PackageManagerService;->$r8$lambda$peRMMEdjCdKA187FsiE-4lz5Nvw(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/dex/DynamicCodeLogger;
+PLcom/android/server/pm/PackageManagerService;->$r8$lambda$x-LxCO1xlxJ6o3haCm6qjxrkCF4(Lcom/android/server/pm/PackageManagerService;Z)V
+PLcom/android/server/pm/PackageManagerService;->$r8$lambda$xeK55D47HzV-aDVTdJQUUfbLB-s(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/ModuleInfoProvider;
+PLcom/android/server/pm/PackageManagerService;->$r8$lambda$ycLid5CfrcIKxha4GPTBH7u22Kc(I)[Ljava/lang/Integer;
+HSPLcom/android/server/pm/PackageManagerService;->$r8$lambda$yd0vfnhyLdiG7JVKGsIrzU91iec(Landroid/content/Context;Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/permission/PermissionManagerServiceInternal;
+HSPLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmAndroidApplication(Lcom/android/server/pm/PackageManagerService;)Landroid/content/pm/ApplicationInfo;
+PLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmAppDataHelper(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/AppDataHelper;
+PLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmAvailableFeatures(Lcom/android/server/pm/PackageManagerService;)Landroid/util/ArrayMap;
+PLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmBroadcastHelper(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/BroadcastHelper;
+PLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmDefaultAppProvider(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/DefaultAppProvider;
+PLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmDexOptHelper(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/DexOptHelper;
+PLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmDomainVerificationConnection(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/DomainVerificationConnection;
+HSPLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmFrozenPackagesSnapshot(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/utils/SnapshotCache;
+HSPLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmInstantAppInstallerInfo(Lcom/android/server/pm/PackageManagerService;)Landroid/content/pm/ResolveInfo;
+HSPLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmInstrumentation(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/utils/WatchedArrayMap;
+HSPLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmInstrumentationSnapshot(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/utils/SnapshotCache;
+HSPLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmIsolatedOwnersSnapshot(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/utils/SnapshotCache;
+PLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmModuleInfoProvider(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/ModuleInfoProvider;
+PLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmPackageMonitorCallbackHelper(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/PackageMonitorCallbackHelper;
+PLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmPackageObserverHelper(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/PackageObserverHelper;
+PLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmPackageProperty(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/PackageProperty;
+HSPLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmPackagesSnapshot(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/utils/SnapshotCache;
+PLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmPlatformPackage(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/pkg/AndroidPackage;
+PLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmPreferredActivityHelper(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/PreferredActivityHelper;
+HSPLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmResolveActivity(Lcom/android/server/pm/PackageManagerService;)Landroid/content/pm/ActivityInfo;
+HPLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmResolveIntentHelper(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/ResolveIntentHelper;
+HSPLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmSharedLibraries(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/SharedLibrariesImpl;
+PLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmSnapshotStatistics(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/SnapshotStatistics;
+PLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmStorageEventHelper(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/StorageEventHelper;
+HPLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmSuspendPackageHelper(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/SuspendPackageHelper;
+HSPLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmWebInstantAppsDisabled(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/utils/WatchedSparseBooleanArray;
+HPLcom/android/server/pm/PackageManagerService;->-$$Nest$mnotifyPackageUseInternal(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;I)V
+PLcom/android/server/pm/PackageManagerService;->-$$Nest$msetEnabledOverlayPackages(Lcom/android/server/pm/PackageManagerService;ILandroid/util/ArrayMap;Ljava/util/Set;Ljava/util/Set;)V
+HPLcom/android/server/pm/PackageManagerService;->-$$Nest$msetEnabledSettings(Lcom/android/server/pm/PackageManagerService;Ljava/util/List;ILjava/lang/String;)V
+HSPLcom/android/server/pm/PackageManagerService;-><clinit>()V
+HSPLcom/android/server/pm/PackageManagerService;-><init>(Lcom/android/server/pm/PackageManagerServiceInjector;ZLjava/lang/String;ZZILjava/lang/String;)V
+HPLcom/android/server/pm/PackageManagerService;->addAllPackageProperties(Lcom/android/server/pm/pkg/AndroidPackage;)V
+PLcom/android/server/pm/PackageManagerService;->addInstrumentation(Landroid/content/ComponentName;Lcom/android/internal/pm/pkg/component/ParsedInstrumentation;)V
+PLcom/android/server/pm/PackageManagerService;->applyUpdatedSystemOverlayPaths()V
+HSPLcom/android/server/pm/PackageManagerService;->boostPriorityForPackageManagerTracedLockedSection()V
+PLcom/android/server/pm/PackageManagerService;->canSetOverlayPaths(Landroid/content/pm/overlay/OverlayPaths;Landroid/content/pm/overlay/OverlayPaths;)Z
+HPLcom/android/server/pm/PackageManagerService;->checkPackageStartable(Lcom/android/server/pm/Computer;Ljava/lang/String;I)V
+HPLcom/android/server/pm/PackageManagerService;->checkPermission(Ljava/lang/String;Ljava/lang/String;I)I
+PLcom/android/server/pm/PackageManagerService;->commitPackageStateMutation(Lcom/android/server/pm/pkg/mutate/PackageStateMutator$InitialState;Ljava/lang/String;Ljava/util/function/Consumer;)Lcom/android/server/pm/pkg/mutate/PackageStateMutator$Result;
+PLcom/android/server/pm/PackageManagerService;->commitPackageStateMutation(Lcom/android/server/pm/pkg/mutate/PackageStateMutator$InitialState;Ljava/util/function/Consumer;)Lcom/android/server/pm/pkg/mutate/PackageStateMutator$Result;
+HSPLcom/android/server/pm/PackageManagerService;->createLiveComputer()Lcom/android/server/pm/ComputerLocked;
+PLcom/android/server/pm/PackageManagerService;->disableSkuSpecificApps()V
+PLcom/android/server/pm/PackageManagerService;->ensureSystemPackageName(Lcom/android/server/pm/Computer;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService;->forEachInstalledPackage(Lcom/android/server/pm/Computer;Ljava/util/function/Consumer;I)V
+HPLcom/android/server/pm/PackageManagerService;->forEachPackage(Lcom/android/server/pm/Computer;Ljava/util/function/Consumer;)V
+HPLcom/android/server/pm/PackageManagerService;->forEachPackageState(Landroid/util/ArrayMap;Ljava/util/function/Consumer;)V
+PLcom/android/server/pm/PackageManagerService;->forEachPackageState(Lcom/android/server/pm/Computer;Ljava/util/function/Consumer;)V
+PLcom/android/server/pm/PackageManagerService;->getAppInstallDir()Ljava/io/File;
+PLcom/android/server/pm/PackageManagerService;->getCoreAndroidApplication()Landroid/content/pm/ApplicationInfo;
+PLcom/android/server/pm/PackageManagerService;->getDefParseFlags()I
+HSPLcom/android/server/pm/PackageManagerService;->getDefaultAppProvider()Lcom/android/server/pm/DefaultAppProvider;
+PLcom/android/server/pm/PackageManagerService;->getDefaultTimeouts()Ljava/lang/String;
+HSPLcom/android/server/pm/PackageManagerService;->getDexManager()Lcom/android/server/pm/dex/DexManager;
+PLcom/android/server/pm/PackageManagerService;->getDexOptHelper()Lcom/android/server/pm/DexOptHelper;
+PLcom/android/server/pm/PackageManagerService;->getDomainVerificationAgentComponentNameLPr(Lcom/android/server/pm/Computer;)Landroid/content/ComponentName;
+PLcom/android/server/pm/PackageManagerService;->getInstantAppInstallerLPr()Landroid/content/pm/ActivityInfo;
+PLcom/android/server/pm/PackageManagerService;->getInstantAppResolver(Lcom/android/server/pm/Computer;)Landroid/content/ComponentName;
+PLcom/android/server/pm/PackageManagerService;->getInstantAppResolverSettingsLPr(Lcom/android/server/pm/Computer;Landroid/content/ComponentName;)Landroid/content/ComponentName;
+PLcom/android/server/pm/PackageManagerService;->getIntentFilterVerifierComponentNameLPr(Lcom/android/server/pm/Computer;)Landroid/content/ComponentName;
+PLcom/android/server/pm/PackageManagerService;->getKnownDigestersList()Ljava/lang/String;
+HSPLcom/android/server/pm/PackageManagerService;->getKnownPackageNamesInternal(Lcom/android/server/pm/Computer;II)[Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService;->getPackageFromComponentString(I)Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService;->getPackageSettingForMutation(Ljava/lang/String;)Lcom/android/server/pm/PackageSetting;
+PLcom/android/server/pm/PackageManagerService;->getPerUidReadTimeouts(Lcom/android/server/pm/Computer;)[Landroid/os/incremental/PerUidReadTimeouts;
+HPLcom/android/server/pm/PackageManagerService;->getPlatformPackage()Lcom/android/server/pm/pkg/AndroidPackage;
+PLcom/android/server/pm/PackageManagerService;->getRequiredButNotReallyRequiredVerifiersLPr(Lcom/android/server/pm/Computer;)[Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService;->getRequiredInstallerLPr(Lcom/android/server/pm/Computer;)Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService;->getRequiredPermissionControllerLPr(Lcom/android/server/pm/Computer;)Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService;->getRequiredSdkSandboxPackageName(Lcom/android/server/pm/Computer;)Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService;->getRequiredServicesExtensionPackageLPr(Lcom/android/server/pm/Computer;)Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService;->getRequiredSharedLibrary(Lcom/android/server/pm/Computer;Ljava/lang/String;I)Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService;->getRequiredUninstallerLPr(Lcom/android/server/pm/Computer;)Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService;->getRetailDemoPackageName()Ljava/lang/String;
+HPLcom/android/server/pm/PackageManagerService;->getSafeMode()Z
+PLcom/android/server/pm/PackageManagerService;->getSdkSandboxPackageName()Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService;->getSdkVersion()I
+HPLcom/android/server/pm/PackageManagerService;->getSettingsVersionForPackage(Lcom/android/server/pm/pkg/AndroidPackage;)Lcom/android/server/pm/Settings$VersionInfo;
+PLcom/android/server/pm/PackageManagerService;->getSetupWizardPackageNameImpl(Lcom/android/server/pm/Computer;)Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService;->getStorageManagerPackageName(Lcom/android/server/pm/Computer;)Ljava/lang/String;
+HPLcom/android/server/pm/PackageManagerService;->getSystemPackageScanFlags(Ljava/io/File;)I
+HPLcom/android/server/pm/PackageManagerService;->grantImplicitAccess(Lcom/android/server/pm/Computer;ILandroid/content/Intent;IIZZ)V
+HPLcom/android/server/pm/PackageManagerService;->hasSystemFeature(Ljava/lang/String;I)Z
+PLcom/android/server/pm/PackageManagerService;->installAllowlistedSystemPackages()V
+HSPLcom/android/server/pm/PackageManagerService;->invalidatePackageInfoCache()V
+HPLcom/android/server/pm/PackageManagerService;->isDeviceUpgrading()Z
+PLcom/android/server/pm/PackageManagerService;->isExpectingBetter(Ljava/lang/String;)Z
+PLcom/android/server/pm/PackageManagerService;->isFirstBoot()Z
+HPLcom/android/server/pm/PackageManagerService;->isPreNMR1Upgrade()Z
+HPLcom/android/server/pm/PackageManagerService;->lambda$forEachInstalledPackage$60(ILjava/util/function/Consumer;Lcom/android/server/pm/pkg/PackageStateInternal;)V
+HSPLcom/android/server/pm/PackageManagerService;->lambda$main$12(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/resolution/ComponentResolver;
+HSPLcom/android/server/pm/PackageManagerService;->lambda$main$13(Landroid/content/Context;Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/permission/PermissionManagerServiceInternal;
+HSPLcom/android/server/pm/PackageManagerService;->lambda$main$14(Landroid/content/Context;Lcom/android/server/pm/Installer;Ljava/lang/Object;Lcom/android/server/pm/PackageManagerTracedLock;Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/UserManagerService;
+HSPLcom/android/server/pm/PackageManagerService;->lambda$main$15(Lcom/android/server/pm/verify/domain/DomainVerificationService;Landroid/os/Handler;Lcom/android/server/pm/PackageManagerTracedLock;Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/Settings;
+HSPLcom/android/server/pm/PackageManagerService;->lambda$main$16(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/AppsFilterImpl;
+HSPLcom/android/server/pm/PackageManagerService;->lambda$main$17(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/compat/PlatformCompat;
+HSPLcom/android/server/pm/PackageManagerService;->lambda$main$18(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/SystemConfig;
+HSPLcom/android/server/pm/PackageManagerService;->lambda$main$19(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/PackageDexOptimizer;
+HSPLcom/android/server/pm/PackageManagerService;->lambda$main$20(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/dex/DexManager;
+HSPLcom/android/server/pm/PackageManagerService;->lambda$main$21(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/dex/DynamicCodeLogger;
+HSPLcom/android/server/pm/PackageManagerService;->lambda$main$22(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/dex/ArtManagerService;
+HSPLcom/android/server/pm/PackageManagerService;->lambda$main$23(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/ApexManager;
+HSPLcom/android/server/pm/PackageManagerService;->lambda$main$24(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Landroid/os/incremental/IncrementalManager;
+HSPLcom/android/server/pm/PackageManagerService;->lambda$main$27(Landroid/content/Context;Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/DefaultAppProvider;
+HSPLcom/android/server/pm/PackageManagerService;->lambda$main$28(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Landroid/util/DisplayMetrics;
+PLcom/android/server/pm/PackageManagerService;->lambda$main$29(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/internal/pm/parsing/PackageParser2;
+PLcom/android/server/pm/PackageManagerService;->lambda$main$32(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/PackageInstallerService;
+PLcom/android/server/pm/PackageManagerService;->lambda$main$33(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;Landroid/content/ComponentName;)Lcom/android/server/pm/InstantAppResolverConnection;
+PLcom/android/server/pm/PackageManagerService;->lambda$main$34(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/ModuleInfoProvider;
+HSPLcom/android/server/pm/PackageManagerService;->lambda$main$35(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/permission/LegacyPermissionManagerInternal;
+HSPLcom/android/server/pm/PackageManagerService;->lambda$main$36(Lcom/android/server/pm/verify/domain/DomainVerificationService;Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/verify/domain/DomainVerificationManagerInternal;
+HSPLcom/android/server/pm/PackageManagerService;->lambda$main$37(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Landroid/os/Handler;
+HSPLcom/android/server/pm/PackageManagerService;->lambda$main$38(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/BackgroundDexOptService;
+HSPLcom/android/server/pm/PackageManagerService;->lambda$main$40(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/SharedLibrariesImpl;
+HSPLcom/android/server/pm/PackageManagerService;->lambda$main$42(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/UpdateOwnershipHelper;
+HSPLcom/android/server/pm/PackageManagerService;->lambda$main$43(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/PackageMonitorCallbackHelper;
+PLcom/android/server/pm/PackageManagerService;->lambda$new$48([ILcom/android/server/pm/pkg/PackageStateInternal;)V
+PLcom/android/server/pm/PackageManagerService;->lambda$setEnabledOverlayPackages$59(ILandroid/util/ArrayMap;Ljava/util/Set;ILandroid/util/ArrayMap;Lcom/android/server/pm/pkg/mutate/PackageStateMutator;)V
+PLcom/android/server/pm/PackageManagerService;->lambda$setPackageStoppedState$56(IZZLcom/android/server/pm/pkg/mutate/PackageStateWrite;)V
+PLcom/android/server/pm/PackageManagerService;->lambda$setPackageStoppedState$57(Ljava/lang/String;I)V
+PLcom/android/server/pm/PackageManagerService;->lambda$setPackageStoppedState$58(Ljava/lang/String;Landroid/os/Bundle;[ILandroid/util/SparseArray;)V
+PLcom/android/server/pm/PackageManagerService;->lambda$tryWriteSettings$10(Z)V
+PLcom/android/server/pm/PackageManagerService;->lambda$writePendingRestrictions$9(I)[Ljava/lang/Integer;
+HSPLcom/android/server/pm/PackageManagerService;->main(Landroid/content/Context;Lcom/android/server/pm/Installer;Lcom/android/server/pm/verify/domain/DomainVerificationService;Z)Lcom/android/server/pm/PackageManagerService;
+PLcom/android/server/pm/PackageManagerService;->maybeUpdateSystemOverlays(Ljava/lang/String;Landroid/content/pm/overlay/OverlayPaths;)V
+HPLcom/android/server/pm/PackageManagerService;->notifyComponentUsed(Lcom/android/server/pm/Computer;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/pm/PackageManagerService;->notifyPackageUseInternal(Ljava/lang/String;I)V
+HSPLcom/android/server/pm/PackageManagerService;->onChange(Lcom/android/server/utils/Watchable;)V
+HSPLcom/android/server/pm/PackageManagerService;->onChanged()V
+PLcom/android/server/pm/PackageManagerService;->parsePerUidReadTimeouts(Lcom/android/server/pm/Computer;)[Landroid/os/incremental/PerUidReadTimeouts;
+PLcom/android/server/pm/PackageManagerService;->performFstrimIfNeeded()V
+HSPLcom/android/server/pm/PackageManagerService;->rebuildSnapshot(Lcom/android/server/pm/Computer;I)Lcom/android/server/pm/Computer;
+HSPLcom/android/server/pm/PackageManagerService;->registerObservers(Z)V
+PLcom/android/server/pm/PackageManagerService;->reportSettingsProblem(ILjava/lang/String;)V
+HSPLcom/android/server/pm/PackageManagerService;->resetPriorityAfterPackageManagerTracedLockedSection()V
+PLcom/android/server/pm/PackageManagerService;->resolveUserIds(I)[I
+PLcom/android/server/pm/PackageManagerService;->schedulePruneUnusedStaticSharedLibraries(Z)V
+PLcom/android/server/pm/PackageManagerService;->scheduleWritePackageRestrictions(I)V
+HSPLcom/android/server/pm/PackageManagerService;->scheduleWriteSettings()V
+HPLcom/android/server/pm/PackageManagerService;->setEnabledOverlayPackages(ILandroid/util/ArrayMap;Ljava/util/Set;Ljava/util/Set;)V
+HPLcom/android/server/pm/PackageManagerService;->setEnabledSettingInternalLocked(Lcom/android/server/pm/Computer;Lcom/android/server/pm/PackageSetting;Landroid/content/pm/PackageManager$ComponentEnabledSetting;ILjava/lang/String;)Z
+HPLcom/android/server/pm/PackageManagerService;->setEnabledSettings(Ljava/util/List;ILjava/lang/String;)V
+HPLcom/android/server/pm/PackageManagerService;->setPackageStoppedState(Lcom/android/server/pm/Computer;Ljava/lang/String;ZI)V
+PLcom/android/server/pm/PackageManagerService;->setPlatformPackage(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/PackageSetting;)V
+PLcom/android/server/pm/PackageManagerService;->setUpCustomResolverActivity(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/PackageSetting;)V
+PLcom/android/server/pm/PackageManagerService;->setUpInstantAppInstallerActivityLP(Landroid/content/pm/ActivityInfo;)V
+HSPLcom/android/server/pm/PackageManagerService;->snapshotComputer()Lcom/android/server/pm/Computer;
+HSPLcom/android/server/pm/PackageManagerService;->snapshotComputer(Z)Lcom/android/server/pm/Computer;
+HPLcom/android/server/pm/PackageManagerService;->systemReady()V
+PLcom/android/server/pm/PackageManagerService;->tryUnderLock(ZJLjava/lang/Runnable;)Z
+PLcom/android/server/pm/PackageManagerService;->tryWriteSettings(Z)Z
+PLcom/android/server/pm/PackageManagerService;->updateInstantAppInstallerLocked(Ljava/lang/String;)V
+PLcom/android/server/pm/PackageManagerService;->updatePackagesIfNeeded()V
+PLcom/android/server/pm/PackageManagerService;->waitForAppDataPrepared()V
+PLcom/android/server/pm/PackageManagerService;->writePendingRestrictions()V
+PLcom/android/server/pm/PackageManagerService;->writeSettingsLPrTEMP()V
+PLcom/android/server/pm/PackageManagerService;->writeSettingsLPrTEMP(Z)V
+HSPLcom/android/server/pm/PackageManagerServiceCompilerMapping;-><clinit>()V
+HSPLcom/android/server/pm/PackageManagerServiceCompilerMapping;->checkProperties()V
+HSPLcom/android/server/pm/PackageManagerServiceCompilerMapping;->getAndCheckValidity(I)Ljava/lang/String;
+HSPLcom/android/server/pm/PackageManagerServiceCompilerMapping;->getSystemPropertyName(I)Ljava/lang/String;
+HSPLcom/android/server/pm/PackageManagerServiceCompilerMapping;->isFilterAllowedForReason(ILjava/lang/String;)Z
+HSPLcom/android/server/pm/PackageManagerServiceInjector$Singleton;-><init>(Lcom/android/server/pm/PackageManagerServiceInjector$Producer;)V
+HSPLcom/android/server/pm/PackageManagerServiceInjector$Singleton;->get(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerServiceInjector;-><init>(Landroid/content/Context;Lcom/android/server/pm/PackageManagerTracedLock;Lcom/android/server/pm/Installer;Ljava/lang/Object;Lcom/android/server/pm/PackageAbiHelper;Landroid/os/Handler;Ljava/util/List;Lcom/android/server/pm/PackageManagerServiceInjector$Producer;Lcom/android/server/pm/PackageManagerServiceInjector$Producer;Lcom/android/server/pm/PackageManagerServiceInjector$Producer;Lcom/android/server/pm/PackageManagerServiceInjector$Producer;Lcom/android/server/pm/PackageManagerServiceInjector$Producer;Lcom/android/server/pm/PackageManagerServiceInjector$Producer;Lcom/android/server/pm/PackageManagerServiceInjector$Producer;Lcom/android/server/pm/PackageManagerServiceInjector$Producer;Lcom/android/server/pm/PackageManagerServiceInjector$Producer;Lcom/android/server/pm/PackageManagerServiceInjector$Producer;Lcom/android/server/pm/PackageManagerServiceInjector$Producer;Lcom/android/server/pm/PackageManagerServiceInjector$Producer;Lcom/android/server/pm/PackageManagerServiceInjector$Producer;Lcom/android/server/pm/PackageManagerServiceInjector$Producer;Lcom/android/server/pm/PackageManagerServiceInjector$Producer;Lcom/android/server/pm/PackageManagerServiceInjector$Producer;Lcom/android/server/pm/PackageManagerServiceInjector$Producer;Lcom/android/server/pm/PackageManagerServiceInjector$Producer;Lcom/android/server/pm/PackageManagerServiceInjector$Producer;Lcom/android/server/pm/PackageManagerServiceInjector$ProducerWithArgument;Lcom/android/server/pm/PackageManagerServiceInjector$Producer;Lcom/android/server/pm/PackageManagerServiceInjector$Producer;Lcom/android/server/pm/PackageManagerServiceInjector$Producer;Lcom/android/server/pm/PackageManagerServiceInjector$Producer;Lcom/android/server/pm/PackageManagerServiceInjector$SystemWrapper;Lcom/android/server/pm/PackageManagerServiceInjector$ServiceProducer;Lcom/android/server/pm/PackageManagerServiceInjector$ServiceProducer;Lcom/android/server/pm/PackageManagerServiceInjector$Producer;Lcom/android/server/pm/PackageManagerServiceInjector$Producer;Lcom/android/server/pm/PackageManagerServiceInjector$Producer;Lcom/android/server/pm/PackageManagerServiceInjector$Producer;Lcom/android/server/pm/PackageManagerServiceInjector$Producer;Lcom/android/server/pm/PackageManagerServiceInjector$Producer;)V
+HSPLcom/android/server/pm/PackageManagerServiceInjector;->bootstrap(Lcom/android/server/pm/PackageManagerService;)V
+HSPLcom/android/server/pm/PackageManagerServiceInjector;->getAbiHelper()Lcom/android/server/pm/PackageAbiHelper;
+HSPLcom/android/server/pm/PackageManagerServiceInjector;->getActivityManagerInternal()Landroid/app/ActivityManagerInternal;
+HSPLcom/android/server/pm/PackageManagerServiceInjector;->getApexManager()Lcom/android/server/pm/ApexManager;
+HSPLcom/android/server/pm/PackageManagerServiceInjector;->getAppsFilter()Lcom/android/server/pm/AppsFilterImpl;
+HSPLcom/android/server/pm/PackageManagerServiceInjector;->getArtManagerService()Lcom/android/server/pm/dex/ArtManagerService;
+HSPLcom/android/server/pm/PackageManagerServiceInjector;->getBackgroundDexOptService()Lcom/android/server/pm/BackgroundDexOptService;
+PLcom/android/server/pm/PackageManagerServiceInjector;->getBackgroundExecutor()Ljava/util/concurrent/Executor;
+HSPLcom/android/server/pm/PackageManagerServiceInjector;->getBackgroundHandler()Landroid/os/Handler;
+HSPLcom/android/server/pm/PackageManagerServiceInjector;->getCompatibility()Lcom/android/server/compat/PlatformCompat;
+HSPLcom/android/server/pm/PackageManagerServiceInjector;->getComponentResolver()Lcom/android/server/pm/resolution/ComponentResolver;
+HSPLcom/android/server/pm/PackageManagerServiceInjector;->getContext()Landroid/content/Context;
+HSPLcom/android/server/pm/PackageManagerServiceInjector;->getDefaultAppProvider()Lcom/android/server/pm/DefaultAppProvider;
+HSPLcom/android/server/pm/PackageManagerServiceInjector;->getDexManager()Lcom/android/server/pm/dex/DexManager;
+HSPLcom/android/server/pm/PackageManagerServiceInjector;->getDisplayMetrics()Landroid/util/DisplayMetrics;
+HSPLcom/android/server/pm/PackageManagerServiceInjector;->getDomainVerificationManagerInternal()Lcom/android/server/pm/verify/domain/DomainVerificationManagerInternal;
+HSPLcom/android/server/pm/PackageManagerServiceInjector;->getDynamicCodeLogger()Lcom/android/server/pm/dex/DynamicCodeLogger;
+HSPLcom/android/server/pm/PackageManagerServiceInjector;->getHandler()Landroid/os/Handler;
+HSPLcom/android/server/pm/PackageManagerServiceInjector;->getIncrementalManager()Landroid/os/incremental/IncrementalManager;
+HSPLcom/android/server/pm/PackageManagerServiceInjector;->getInstallLock()Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerServiceInjector;->getInstaller()Lcom/android/server/pm/Installer;
+PLcom/android/server/pm/PackageManagerServiceInjector;->getInstantAppResolverConnection(Landroid/content/ComponentName;)Lcom/android/server/pm/InstantAppResolverConnection;
+HSPLcom/android/server/pm/PackageManagerServiceInjector;->getLegacyPermissionManagerInternal()Lcom/android/server/pm/permission/LegacyPermissionManagerInternal;
+HSPLcom/android/server/pm/PackageManagerServiceInjector;->getLocalService(Ljava/lang/Class;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerServiceInjector;->getLock()Lcom/android/server/pm/PackageManagerTracedLock;
+PLcom/android/server/pm/PackageManagerServiceInjector;->getModuleInfoProvider()Lcom/android/server/pm/ModuleInfoProvider;
+HSPLcom/android/server/pm/PackageManagerServiceInjector;->getPackageDexOptimizer()Lcom/android/server/pm/PackageDexOptimizer;
+PLcom/android/server/pm/PackageManagerServiceInjector;->getPackageInstallerService()Lcom/android/server/pm/PackageInstallerService;
+HSPLcom/android/server/pm/PackageManagerServiceInjector;->getPackageMonitorCallbackHelper()Lcom/android/server/pm/PackageMonitorCallbackHelper;
+HSPLcom/android/server/pm/PackageManagerServiceInjector;->getPermissionManagerServiceInternal()Lcom/android/server/pm/permission/PermissionManagerServiceInternal;
+PLcom/android/server/pm/PackageManagerServiceInjector;->getScanningCachingPackageParser()Lcom/android/internal/pm/parsing/PackageParser2;
+HSPLcom/android/server/pm/PackageManagerServiceInjector;->getSettings()Lcom/android/server/pm/Settings;
+HSPLcom/android/server/pm/PackageManagerServiceInjector;->getSharedLibrariesImpl()Lcom/android/server/pm/SharedLibrariesImpl;
+HSPLcom/android/server/pm/PackageManagerServiceInjector;->getSystemConfig()Lcom/android/server/SystemConfig;
+PLcom/android/server/pm/PackageManagerServiceInjector;->getSystemPartitions()Ljava/util/List;
+PLcom/android/server/pm/PackageManagerServiceInjector;->getSystemService(Ljava/lang/Class;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerServiceInjector;->getSystemWrapper()Lcom/android/server/pm/PackageManagerServiceInjector$SystemWrapper;
+HSPLcom/android/server/pm/PackageManagerServiceInjector;->getUpdateOwnershipHelper()Lcom/android/server/pm/UpdateOwnershipHelper;
+HSPLcom/android/server/pm/PackageManagerServiceInjector;->getUserManagerInternal()Lcom/android/server/pm/UserManagerInternal;
+HSPLcom/android/server/pm/PackageManagerServiceInjector;->getUserManagerService()Lcom/android/server/pm/UserManagerService;
+HSPLcom/android/server/pm/PackageManagerServiceUtils$$ExternalSyntheticLambda0;-><init>()V
+HSPLcom/android/server/pm/PackageManagerServiceUtils$$ExternalSyntheticLambda1;-><init>()V
+HSPLcom/android/server/pm/PackageManagerServiceUtils$$ExternalSyntheticLambda2;-><init>()V
+PLcom/android/server/pm/PackageManagerServiceUtils$$ExternalSyntheticLambda2;->get()Ljava/lang/Object;
+PLcom/android/server/pm/PackageManagerServiceUtils;->$r8$lambda$mxnDkt23XLV3hc1smQVQ_dWQlso()Ljava/lang/Boolean;
+HSPLcom/android/server/pm/PackageManagerServiceUtils;-><clinit>()V
+HPLcom/android/server/pm/PackageManagerServiceUtils;->applyEnforceIntentFilterMatching(Lcom/android/server/compat/PlatformCompat;Lcom/android/server/pm/resolution/ComponentResolverApi;Ljava/util/List;ZLandroid/content/Intent;Ljava/lang/String;I)V
+PLcom/android/server/pm/PackageManagerServiceUtils;->arrayToString([I)Ljava/lang/String;
+HPLcom/android/server/pm/PackageManagerServiceUtils;->canJoinSharedUserId(Ljava/lang/String;Landroid/content/pm/SigningDetails;Lcom/android/server/pm/SharedUserSetting;I)Z
+PLcom/android/server/pm/PackageManagerServiceUtils;->comparePackageSignatures(Lcom/android/server/pm/PackageSetting;Landroid/content/pm/SigningDetails;)Z
+HPLcom/android/server/pm/PackageManagerServiceUtils;->compareSignatureArrays([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
+HPLcom/android/server/pm/PackageManagerServiceUtils;->compareSignatures(Landroid/content/pm/SigningDetails;Landroid/content/pm/SigningDetails;)I
+HPLcom/android/server/pm/PackageManagerServiceUtils;->compressedFileExists(Ljava/lang/String;)Z
+HPLcom/android/server/pm/PackageManagerServiceUtils;->deriveAbiOverride(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerServiceUtils;->enforceShellRestriction(Lcom/android/server/pm/UserManagerInternal;Ljava/lang/String;II)V
+PLcom/android/server/pm/PackageManagerServiceUtils;->enforceSystemOrPhoneCaller(Ljava/lang/String;I)V
+PLcom/android/server/pm/PackageManagerServiceUtils;->enforceSystemOrRoot(Ljava/lang/String;)V
+HPLcom/android/server/pm/PackageManagerServiceUtils;->getCompressedFiles(Ljava/lang/String;)[Ljava/io/File;
+HPLcom/android/server/pm/PackageManagerServiceUtils;->getLastModifiedTime(Lcom/android/server/pm/pkg/AndroidPackage;)J
+PLcom/android/server/pm/PackageManagerServiceUtils;->getPackageManagerLocal()Lcom/android/server/pm/PackageManagerLocal;
+PLcom/android/server/pm/PackageManagerServiceUtils;->getSettingsProblemFile()Ljava/io/File;
+HPLcom/android/server/pm/PackageManagerServiceUtils;->isSystemOrRoot()Z
+PLcom/android/server/pm/PackageManagerServiceUtils;->isSystemOrRoot(I)Z
+HSPLcom/android/server/pm/PackageManagerServiceUtils;->isSystemOrRootOrShell(I)Z
+PLcom/android/server/pm/PackageManagerServiceUtils;->lambda$static$2()Ljava/lang/Boolean;
+PLcom/android/server/pm/PackageManagerServiceUtils;->logCriticalInfo(ILjava/lang/String;)V
+PLcom/android/server/pm/PackageManagerServiceUtils;->preparePackageParserCache(ZZLjava/lang/String;)Ljava/io/File;
+HPLcom/android/server/pm/PackageManagerServiceUtils;->verifySignatures(Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/SharedUserSetting;Lcom/android/server/pm/PackageSetting;Landroid/content/pm/SigningDetails;ZZZ)Z
+PLcom/android/server/pm/PackageManagerShellCommand$$ExternalSyntheticLambda1;-><init>()V
+HPLcom/android/server/pm/PackageManagerShellCommand$$ExternalSyntheticLambda1;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/pm/PackageManagerShellCommand;->$r8$lambda$SBUnEmlcik68djMk5muLDWebS_E(Ljava/lang/String;)Ljava/util/List;
+PLcom/android/server/pm/PackageManagerShellCommand;-><clinit>()V
+HPLcom/android/server/pm/PackageManagerShellCommand;-><init>(Landroid/content/pm/IPackageManager;Landroid/content/Context;Lcom/android/server/pm/verify/domain/DomainVerificationShell;)V
+PLcom/android/server/pm/PackageManagerShellCommand;->displayPackageFilePath(Ljava/lang/String;I)I
+HPLcom/android/server/pm/PackageManagerShellCommand;->lambda$runListPackages$1(Ljava/lang/String;)Ljava/util/List;
+PLcom/android/server/pm/PackageManagerShellCommand;->onCommand(Ljava/lang/String;)I
+HPLcom/android/server/pm/PackageManagerShellCommand;->runGrantRevokePermission(Z)I
+PLcom/android/server/pm/PackageManagerShellCommand;->runList()I
+PLcom/android/server/pm/PackageManagerShellCommand;->runListPackages(Z)I
+HPLcom/android/server/pm/PackageManagerShellCommand;->runListPackages(ZZ)I
+PLcom/android/server/pm/PackageManagerShellCommand;->runPath()I
+PLcom/android/server/pm/PackageManagerShellCommand;->translateUserId(IILjava/lang/String;)I
+HSPLcom/android/server/pm/PackageManagerTracedLock;-><init>()V
+PLcom/android/server/pm/PackageMonitorCallbackHelper$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/pm/PackageMonitorCallbackHelper;Landroid/os/RemoteCallbackList;I[ILandroid/content/Intent;Ljava/util/function/BiFunction;)V
+PLcom/android/server/pm/PackageMonitorCallbackHelper$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/pm/PackageMonitorCallbackHelper$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/pm/PackageMonitorCallbackHelper;I[ILandroid/content/Intent;Ljava/util/function/BiFunction;)V
+HPLcom/android/server/pm/PackageMonitorCallbackHelper$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+HPLcom/android/server/pm/PackageMonitorCallbackHelper$RegisterUser;-><init>(Lcom/android/server/pm/PackageMonitorCallbackHelper;II)V
+PLcom/android/server/pm/PackageMonitorCallbackHelper$RegisterUser;->getUid()I
+PLcom/android/server/pm/PackageMonitorCallbackHelper$RegisterUser;->getUserId()I
+PLcom/android/server/pm/PackageMonitorCallbackHelper;->$r8$lambda$dmkKmZn9cGbMJXri8hyHR8QP-n4(Lcom/android/server/pm/PackageMonitorCallbackHelper;I[ILandroid/content/Intent;Ljava/util/function/BiFunction;Landroid/os/IRemoteCallback;Ljava/lang/Object;)V
+PLcom/android/server/pm/PackageMonitorCallbackHelper;->$r8$lambda$sc6g1dLrUYtbyMa4_swsXTtzJPE(Lcom/android/server/pm/PackageMonitorCallbackHelper;Landroid/os/RemoteCallbackList;I[ILandroid/content/Intent;Ljava/util/function/BiFunction;)V
+HSPLcom/android/server/pm/PackageMonitorCallbackHelper;-><init>()V
+PLcom/android/server/pm/PackageMonitorCallbackHelper;->doNotifyCallbacks(Landroid/os/RemoteCallbackList;Landroid/content/Intent;I[ILandroid/os/Handler;Ljava/util/function/BiFunction;)V
+PLcom/android/server/pm/PackageMonitorCallbackHelper;->doNotifyCallbacksByAction(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;[ILandroid/util/SparseArray;Landroid/os/Handler;Ljava/util/function/BiFunction;)V
+PLcom/android/server/pm/PackageMonitorCallbackHelper;->invokeCallback(Landroid/os/IRemoteCallback;Landroid/content/Intent;)V
+PLcom/android/server/pm/PackageMonitorCallbackHelper;->isAllowedCallbackAction(Ljava/lang/String;)Z
+PLcom/android/server/pm/PackageMonitorCallbackHelper;->lambda$doNotifyCallbacks$0(I[ILandroid/content/Intent;Ljava/util/function/BiFunction;Landroid/os/IRemoteCallback;Ljava/lang/Object;)V
+PLcom/android/server/pm/PackageMonitorCallbackHelper;->lambda$doNotifyCallbacks$1(Landroid/os/RemoteCallbackList;I[ILandroid/content/Intent;Ljava/util/function/BiFunction;)V
+PLcom/android/server/pm/PackageMonitorCallbackHelper;->notifyPackageMonitor(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;[I[ILandroid/util/SparseArray;Landroid/os/Handler;Ljava/util/function/BiFunction;)V
+HPLcom/android/server/pm/PackageMonitorCallbackHelper;->registerPackageMonitorCallback(Landroid/os/IRemoteCallback;II)V
+HSPLcom/android/server/pm/PackageObserverHelper;-><init>()V
+PLcom/android/server/pm/PackageObserverHelper;->addObserver(Landroid/content/pm/PackageManagerInternal$PackageListObserver;)V
+HSPLcom/android/server/pm/PackageProperty;-><init>()V
+HPLcom/android/server/pm/PackageProperty;->addAllProperties(Lcom/android/server/pm/pkg/AndroidPackage;)V
+HPLcom/android/server/pm/PackageProperty;->addComponentProperties(Ljava/util/List;Landroid/util/ArrayMap;)Landroid/util/ArrayMap;
+HPLcom/android/server/pm/PackageProperty;->addProperties(Ljava/util/Map;Landroid/util/ArrayMap;)Landroid/util/ArrayMap;
+HPLcom/android/server/pm/PackageProperty;->getApplicationProperty(Ljava/lang/String;Ljava/lang/String;)Landroid/content/pm/PackageManager$Property;
+PLcom/android/server/pm/PackageProperty;->getComponentProperty(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/content/pm/PackageManager$Property;
+PLcom/android/server/pm/PackageProperty;->getProperty(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/content/pm/PackageManager$Property;
+PLcom/android/server/pm/PackageProperty;->getProperty(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/util/ArrayMap;)Landroid/content/pm/PackageManager$Property;
+PLcom/android/server/pm/PackageProperty;->queryProperty(Ljava/lang/String;ILjava/util/function/Predicate;)Ljava/util/List;
+PLcom/android/server/pm/PackageSessionVerifier;-><init>(Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/ApexManager;Ljava/util/function/Supplier;Landroid/os/Looper;)V
+HSPLcom/android/server/pm/PackageSetting$1;-><init>(Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Lcom/android/server/utils/Watchable;)V
+HSPLcom/android/server/pm/PackageSetting$1;->createSnapshot()Lcom/android/server/pm/PackageSetting;
+HSPLcom/android/server/pm/PackageSetting$1;->createSnapshot()Ljava/lang/Object;
+HPLcom/android/server/pm/PackageSetting;-><init>(Lcom/android/server/pm/PackageSetting;)V
+HSPLcom/android/server/pm/PackageSetting;-><init>(Lcom/android/server/pm/PackageSetting;Z)V
+HSPLcom/android/server/pm/PackageSetting;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/io/File;IILjava/util/UUID;)V
+HSPLcom/android/server/pm/PackageSetting;->copyMimeGroups(Ljava/util/Map;)V
+HSPLcom/android/server/pm/PackageSetting;->copyPackageSetting(Lcom/android/server/pm/PackageSetting;Z)V
+HPLcom/android/server/pm/PackageSetting;->disableComponentLPw(Ljava/lang/String;I)Z
+HPLcom/android/server/pm/PackageSetting;->enableComponentLPw(Ljava/lang/String;I)Z
+HPLcom/android/server/pm/PackageSetting;->getAndroidPackage()Lcom/android/server/pm/pkg/AndroidPackage;
+HPLcom/android/server/pm/PackageSetting;->getApexModuleName()Ljava/lang/String;
+HSPLcom/android/server/pm/PackageSetting;->getAppId()I
+PLcom/android/server/pm/PackageSetting;->getAppMetadataFilePath()Ljava/lang/String;
+HPLcom/android/server/pm/PackageSetting;->getAppMetadataSource()I
+HPLcom/android/server/pm/PackageSetting;->getBoolean(I)Z
+HPLcom/android/server/pm/PackageSetting;->getCategoryOverride()I
+PLcom/android/server/pm/PackageSetting;->getCpuAbiOverride()Ljava/lang/String;
+HPLcom/android/server/pm/PackageSetting;->getCurrentEnabledStateLPr(Ljava/lang/String;I)I
+PLcom/android/server/pm/PackageSetting;->getDomainSetId()Ljava/util/UUID;
+PLcom/android/server/pm/PackageSetting;->getEnabled(I)I
+PLcom/android/server/pm/PackageSetting;->getInstallSource()Lcom/android/server/pm/InstallSource;
+HPLcom/android/server/pm/PackageSetting;->getInstalled(I)Z
+HPLcom/android/server/pm/PackageSetting;->getInstantApp(I)Z
+HSPLcom/android/server/pm/PackageSetting;->getKeySetData()Lcom/android/server/pm/PackageKeySetData;
+HPLcom/android/server/pm/PackageSetting;->getLastModifiedTime()J
+HPLcom/android/server/pm/PackageSetting;->getLastUpdateTime()J
+PLcom/android/server/pm/PackageSetting;->getLegacyNativeLibraryPath()Ljava/lang/String;
+HSPLcom/android/server/pm/PackageSetting;->getLegacyPermissionState()Lcom/android/server/pm/permission/LegacyPermissionState;
+HPLcom/android/server/pm/PackageSetting;->getLoadingCompletedTime()J
+HPLcom/android/server/pm/PackageSetting;->getLoadingProgress()F
+HPLcom/android/server/pm/PackageSetting;->getMimeGroups()Ljava/util/Map;
+PLcom/android/server/pm/PackageSetting;->getOldPaths()Ljava/util/LinkedHashSet;
+PLcom/android/server/pm/PackageSetting;->getOrCreateUserState(I)Lcom/android/server/pm/pkg/PackageUserStateImpl;
+HSPLcom/android/server/pm/PackageSetting;->getPackageName()Ljava/lang/String;
+PLcom/android/server/pm/PackageSetting;->getPath()Ljava/io/File;
+PLcom/android/server/pm/PackageSetting;->getPathString()Ljava/lang/String;
+HSPLcom/android/server/pm/PackageSetting;->getPkg()Lcom/android/internal/pm/parsing/pkg/AndroidPackageInternal;
+HPLcom/android/server/pm/PackageSetting;->getPkgState()Lcom/android/server/pm/pkg/PackageStateUnserialized;
+HPLcom/android/server/pm/PackageSetting;->getPrimaryCpuAbi()Ljava/lang/String;
+PLcom/android/server/pm/PackageSetting;->getPrimaryCpuAbiLegacy()Ljava/lang/String;
+PLcom/android/server/pm/PackageSetting;->getRealName()Ljava/lang/String;
+PLcom/android/server/pm/PackageSetting;->getRestrictUpdateHash()[B
+HPLcom/android/server/pm/PackageSetting;->getSeInfo()Ljava/lang/String;
+HPLcom/android/server/pm/PackageSetting;->getSecondaryCpuAbi()Ljava/lang/String;
+HPLcom/android/server/pm/PackageSetting;->getSecondaryCpuAbiLegacy()Ljava/lang/String;
+HPLcom/android/server/pm/PackageSetting;->getSharedLibraryDependencies()Ljava/util/List;
+HSPLcom/android/server/pm/PackageSetting;->getSharedUserAppId()I
+HSPLcom/android/server/pm/PackageSetting;->getSignatures()Lcom/android/server/pm/PackageSignatures;
+HPLcom/android/server/pm/PackageSetting;->getSigningDetails()Landroid/content/pm/SigningDetails;
+PLcom/android/server/pm/PackageSetting;->getTargetSdkVersion()I
+HPLcom/android/server/pm/PackageSetting;->getTransientState()Lcom/android/server/pm/pkg/PackageStateUnserialized;
+HSPLcom/android/server/pm/PackageSetting;->getUserStates()Landroid/util/SparseArray;
+HPLcom/android/server/pm/PackageSetting;->getUsesLibraryFiles()Ljava/util/List;
+HPLcom/android/server/pm/PackageSetting;->getUsesSdkLibraries()[Ljava/lang/String;
+HPLcom/android/server/pm/PackageSetting;->getUsesSdkLibrariesOptional()[Z
+HPLcom/android/server/pm/PackageSetting;->getUsesSdkLibrariesVersionsMajor()[J
+HPLcom/android/server/pm/PackageSetting;->getUsesStaticLibraries()[Ljava/lang/String;
+HPLcom/android/server/pm/PackageSetting;->getUsesStaticLibrariesVersions()[J
+HPLcom/android/server/pm/PackageSetting;->getVersionCode()J
+HPLcom/android/server/pm/PackageSetting;->getVirtualPreload(I)Z
+HPLcom/android/server/pm/PackageSetting;->getVolumeUuid()Ljava/lang/String;
+HSPLcom/android/server/pm/PackageSetting;->hasSharedUser()Z
+PLcom/android/server/pm/PackageSetting;->isDefaultToDeviceProtectedStorage()Z
+HPLcom/android/server/pm/PackageSetting;->isForceQueryableOverride()Z
+HPLcom/android/server/pm/PackageSetting;->isHiddenUntilInstalled()Z
+PLcom/android/server/pm/PackageSetting;->isIncremental()Z
+PLcom/android/server/pm/PackageSetting;->isInstallPermissionsFixed()Z
+HPLcom/android/server/pm/PackageSetting;->isLoading()Z
+HPLcom/android/server/pm/PackageSetting;->isOdm()Z
+HPLcom/android/server/pm/PackageSetting;->isOem()Z
+PLcom/android/server/pm/PackageSetting;->isPendingRestore()Z
+HPLcom/android/server/pm/PackageSetting;->isPrivileged()Z
+HPLcom/android/server/pm/PackageSetting;->isProduct()Z
+HPLcom/android/server/pm/PackageSetting;->isScannedAsStoppedSystemApp()Z
+HPLcom/android/server/pm/PackageSetting;->isSystem()Z
+HPLcom/android/server/pm/PackageSetting;->isSystemExt()Z
+HPLcom/android/server/pm/PackageSetting;->isUpdateAvailable()Z
+HPLcom/android/server/pm/PackageSetting;->isUpdatedSystemApp()Z
+HPLcom/android/server/pm/PackageSetting;->isVendor()Z
+HSPLcom/android/server/pm/PackageSetting;->makeCache()Lcom/android/server/utils/SnapshotCache;
+HSPLcom/android/server/pm/PackageSetting;->modifyUserState(I)Lcom/android/server/pm/pkg/PackageUserStateImpl;
+HPLcom/android/server/pm/PackageSetting;->modifyUserStateComponents(IZZ)Lcom/android/server/pm/pkg/PackageUserStateImpl;
+HPLcom/android/server/pm/PackageSetting;->readUserState(I)Lcom/android/server/pm/pkg/PackageUserStateInternal;
+HPLcom/android/server/pm/PackageSetting;->restoreComponentLPw(Ljava/lang/String;I)Z
+HSPLcom/android/server/pm/PackageSetting;->setAppId(I)Lcom/android/server/pm/PackageSetting;
+HSPLcom/android/server/pm/PackageSetting;->setAppMetadataFilePath(Ljava/lang/String;)Lcom/android/server/pm/PackageSetting;
+HSPLcom/android/server/pm/PackageSetting;->setAppMetadataSource(I)Lcom/android/server/pm/PackageSetting;
+HSPLcom/android/server/pm/PackageSetting;->setBoolean(IZ)V
+HSPLcom/android/server/pm/PackageSetting;->setCategoryOverride(I)Lcom/android/server/pm/PackageSetting;
+HPLcom/android/server/pm/PackageSetting;->setCeDataInode(JI)V
+HSPLcom/android/server/pm/PackageSetting;->setCpuAbiOverride(Ljava/lang/String;)Lcom/android/server/pm/PackageSetting;
+HPLcom/android/server/pm/PackageSetting;->setDeDataInode(JI)V
+HPLcom/android/server/pm/PackageSetting;->setDomainSetId(Ljava/util/UUID;)Lcom/android/server/pm/PackageSetting;
+HSPLcom/android/server/pm/PackageSetting;->setEnabled(IILjava/lang/String;)V
+HPLcom/android/server/pm/PackageSetting;->setFirstInstallTime(JI)Lcom/android/server/pm/PackageSetting;
+HSPLcom/android/server/pm/PackageSetting;->setForceQueryableOverride(Z)Lcom/android/server/pm/PackageSetting;
+HSPLcom/android/server/pm/PackageSetting;->setInstallSource(Lcom/android/server/pm/InstallSource;)Lcom/android/server/pm/PackageSetting;
+HPLcom/android/server/pm/PackageSetting;->setIsOrphaned(Z)Lcom/android/server/pm/PackageSetting;
+HSPLcom/android/server/pm/PackageSetting;->setLastModifiedTime(J)Lcom/android/server/pm/PackageSetting;
+HSPLcom/android/server/pm/PackageSetting;->setLastUpdateTime(J)Lcom/android/server/pm/PackageSetting;
+HSPLcom/android/server/pm/PackageSetting;->setLegacyNativeLibraryPath(Ljava/lang/String;)Lcom/android/server/pm/PackageSetting;
+HSPLcom/android/server/pm/PackageSetting;->setLoadingCompletedTime(J)Lcom/android/server/pm/PackageSetting;
+HSPLcom/android/server/pm/PackageSetting;->setLoadingProgress(F)Lcom/android/server/pm/PackageSetting;
+HSPLcom/android/server/pm/PackageSetting;->setLongVersionCode(J)Lcom/android/server/pm/PackageSetting;
+HPLcom/android/server/pm/PackageSetting;->setMimeGroups(Ljava/util/Map;)Lcom/android/server/pm/PackageSetting;
+HPLcom/android/server/pm/PackageSetting;->setPkg(Lcom/android/server/pm/pkg/AndroidPackage;)Lcom/android/server/pm/PackageSetting;
+HPLcom/android/server/pm/PackageSetting;->setPkgStateLibraryFiles(Ljava/util/Collection;)Lcom/android/server/pm/PackageSetting;
+HSPLcom/android/server/pm/PackageSetting;->setPrimaryCpuAbi(Ljava/lang/String;)Lcom/android/server/pm/PackageSetting;
+HSPLcom/android/server/pm/PackageSetting;->setRestrictUpdateHash([B)Lcom/android/server/pm/PackageSetting;
+HSPLcom/android/server/pm/PackageSetting;->setScannedAsStoppedSystemApp(Z)Lcom/android/server/pm/PackageSetting;
+HSPLcom/android/server/pm/PackageSetting;->setSecondaryCpuAbi(Ljava/lang/String;)Lcom/android/server/pm/PackageSetting;
+HSPLcom/android/server/pm/PackageSetting;->setSharedUserAppId(I)Lcom/android/server/pm/PackageSetting;
+HPLcom/android/server/pm/PackageSetting;->setSigningDetails(Landroid/content/pm/SigningDetails;)Lcom/android/server/pm/PackageSetting;
+HSPLcom/android/server/pm/PackageSetting;->setTargetSdkVersion(I)Lcom/android/server/pm/PackageSetting;
+HSPLcom/android/server/pm/PackageSetting;->setUpdateAvailable(Z)Lcom/android/server/pm/PackageSetting;
+HPLcom/android/server/pm/PackageSetting;->setUpdateOwnerPackage(Ljava/lang/String;)Lcom/android/server/pm/PackageSetting;
+HSPLcom/android/server/pm/PackageSetting;->setUserState(IJJIZZZZILandroid/util/ArrayMap;ZZLjava/lang/String;Landroid/util/ArraySet;Landroid/util/ArraySet;IILjava/lang/String;Ljava/lang/String;JILcom/android/server/pm/pkg/ArchiveState;)V
+HPLcom/android/server/pm/PackageSetting;->setUsesSdkLibraries([Ljava/lang/String;)Lcom/android/server/pm/PackageSetting;
+HPLcom/android/server/pm/PackageSetting;->setUsesSdkLibrariesOptional([Z)Lcom/android/server/pm/PackageSetting;
+HPLcom/android/server/pm/PackageSetting;->setUsesSdkLibrariesVersionsMajor([J)Lcom/android/server/pm/PackageSetting;
+HPLcom/android/server/pm/PackageSetting;->setUsesStaticLibraries([Ljava/lang/String;)Lcom/android/server/pm/PackageSetting;
+HPLcom/android/server/pm/PackageSetting;->setUsesStaticLibrariesVersions([J)Lcom/android/server/pm/PackageSetting;
+HSPLcom/android/server/pm/PackageSetting;->setVolumeUuid(Ljava/lang/String;)Lcom/android/server/pm/PackageSetting;
+HSPLcom/android/server/pm/PackageSetting;->snapshot()Lcom/android/server/pm/PackageSetting;
+HSPLcom/android/server/pm/PackageSetting;->snapshot()Ljava/lang/Object;
+HPLcom/android/server/pm/PackageSetting;->toString()Ljava/lang/String;
+HPLcom/android/server/pm/PackageSetting;->updateFrom(Lcom/android/server/pm/PackageSetting;)V
+HPLcom/android/server/pm/PackageSetting;->updateMimeGroups(Ljava/util/Set;)Lcom/android/server/pm/PackageSetting;
+HSPLcom/android/server/pm/PackageSignatures;-><init>()V
+HSPLcom/android/server/pm/PackageSignatures;->readCertsListXml(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/util/ArrayList;Ljava/util/ArrayList;IZLandroid/content/pm/SigningDetails$Builder;)I
+HSPLcom/android/server/pm/PackageSignatures;->readXml(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/util/ArrayList;)V
+HPLcom/android/server/pm/PackageSignatures;->toString()Ljava/lang/String;
+HPLcom/android/server/pm/PackageSignatures;->writeCertsListXml(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/util/ArrayList;[Landroid/content/pm/Signature;Z)V
+HPLcom/android/server/pm/PackageSignatures;->writeXml(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/lang/String;Ljava/util/ArrayList;)V
+HSPLcom/android/server/pm/PackageUsage;-><init>()V
+PLcom/android/server/pm/PackageUsage;->readInternal(Ljava/lang/Object;)V
+PLcom/android/server/pm/PackageUsage;->readInternal(Ljava/util/Map;)V
+HPLcom/android/server/pm/ParallelPackageParser$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/pm/ParallelPackageParser;Ljava/io/File;I)V
+HPLcom/android/server/pm/ParallelPackageParser$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/pm/ParallelPackageParser$ParseResult;-><init>()V
+PLcom/android/server/pm/ParallelPackageParser;->$r8$lambda$uW6lAW1ixaCdJ_8ZINGbyQGIceg(Lcom/android/server/pm/ParallelPackageParser;Ljava/io/File;I)V
+HPLcom/android/server/pm/ParallelPackageParser;-><init>(Lcom/android/internal/pm/parsing/PackageParser2;Ljava/util/concurrent/ExecutorService;)V
+HPLcom/android/server/pm/ParallelPackageParser;->lambda$submit$0(Ljava/io/File;I)V
+PLcom/android/server/pm/ParallelPackageParser;->makeExecutorService()Ljava/util/concurrent/ExecutorService;
+HPLcom/android/server/pm/ParallelPackageParser;->parsePackage(Ljava/io/File;I)Lcom/android/internal/pm/parsing/pkg/ParsedPackage;
+HPLcom/android/server/pm/ParallelPackageParser;->submit(Ljava/io/File;I)V
+HPLcom/android/server/pm/ParallelPackageParser;->take()Lcom/android/server/pm/ParallelPackageParser$ParseResult;
+HSPLcom/android/server/pm/PendingPackageBroadcasts;-><init>()V
+PLcom/android/server/pm/PerPackageReadTimeouts;->parseDigestersList(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
+HSPLcom/android/server/pm/Policy$PolicyBuilder;->-$$Nest$fgetmCerts(Lcom/android/server/pm/Policy$PolicyBuilder;)Ljava/util/Set;
+HSPLcom/android/server/pm/Policy$PolicyBuilder;->-$$Nest$fgetmPkgMap(Lcom/android/server/pm/Policy$PolicyBuilder;)Ljava/util/Map;
+HSPLcom/android/server/pm/Policy$PolicyBuilder;->-$$Nest$fgetmSeinfo(Lcom/android/server/pm/Policy$PolicyBuilder;)Ljava/lang/String;
+HSPLcom/android/server/pm/Policy$PolicyBuilder;-><init>()V
+HSPLcom/android/server/pm/Policy$PolicyBuilder;->addSignature(Ljava/lang/String;)Lcom/android/server/pm/Policy$PolicyBuilder;
+HSPLcom/android/server/pm/Policy$PolicyBuilder;->build()Lcom/android/server/pm/Policy;
+HSPLcom/android/server/pm/Policy$PolicyBuilder;->setGlobalSeinfoOrThrow(Ljava/lang/String;)Lcom/android/server/pm/Policy$PolicyBuilder;
+HSPLcom/android/server/pm/Policy$PolicyBuilder;->validateValue(Ljava/lang/String;)Z
+HSPLcom/android/server/pm/Policy;->-$$Nest$fgetmCerts(Lcom/android/server/pm/Policy;)Ljava/util/Set;
+HSPLcom/android/server/pm/Policy;->-$$Nest$fgetmPkgMap(Lcom/android/server/pm/Policy;)Ljava/util/Map;
+HSPLcom/android/server/pm/Policy;->-$$Nest$fgetmSeinfo(Lcom/android/server/pm/Policy;)Ljava/lang/String;
+HSPLcom/android/server/pm/Policy;-><init>(Lcom/android/server/pm/Policy$PolicyBuilder;)V
+HSPLcom/android/server/pm/Policy;-><init>(Lcom/android/server/pm/Policy$PolicyBuilder;Lcom/android/server/pm/Policy-IA;)V
+HPLcom/android/server/pm/Policy;->getMatchedSeInfo(Lcom/android/server/pm/pkg/AndroidPackage;)Ljava/lang/String;
+HSPLcom/android/server/pm/Policy;->getSignatures()Ljava/util/Set;
+HSPLcom/android/server/pm/Policy;->hasInnerPackages()Z
+HSPLcom/android/server/pm/PolicyComparator;-><init>()V
+HSPLcom/android/server/pm/PolicyComparator;->compare(Lcom/android/server/pm/Policy;Lcom/android/server/pm/Policy;)I
+HSPLcom/android/server/pm/PolicyComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+HSPLcom/android/server/pm/PolicyComparator;->foundDuplicate()Z
+HSPLcom/android/server/pm/PreferredActivity$1;-><init>(Lcom/android/server/pm/PreferredActivity;Lcom/android/server/pm/PreferredActivity;Lcom/android/server/utils/Watchable;)V
+HSPLcom/android/server/pm/PreferredActivity$1;->createSnapshot()Lcom/android/server/pm/PreferredActivity;
+HSPLcom/android/server/pm/PreferredActivity$1;->createSnapshot()Ljava/lang/Object;
+HSPLcom/android/server/pm/PreferredActivity;-><init>(Lcom/android/modules/utils/TypedXmlPullParser;)V
+HSPLcom/android/server/pm/PreferredActivity;-><init>(Lcom/android/server/pm/PreferredActivity;)V
+HSPLcom/android/server/pm/PreferredActivity;-><init>(Lcom/android/server/pm/PreferredActivity;Lcom/android/server/pm/PreferredActivity-IA;)V
+HSPLcom/android/server/pm/PreferredActivity;->makeCache()Lcom/android/server/utils/SnapshotCache;
+HSPLcom/android/server/pm/PreferredActivity;->onReadTag(Ljava/lang/String;Lcom/android/modules/utils/TypedXmlPullParser;)Z
+HSPLcom/android/server/pm/PreferredActivity;->snapshot()Lcom/android/server/pm/PreferredActivity;
+PLcom/android/server/pm/PreferredActivity;->writeToXml(Lcom/android/modules/utils/TypedXmlSerializer;Z)V
+HSPLcom/android/server/pm/PreferredActivityHelper;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/BroadcastHelper;)V
+HSPLcom/android/server/pm/PreferredComponent;-><init>(Lcom/android/server/pm/PreferredComponent$Callbacks;Lcom/android/modules/utils/TypedXmlPullParser;)V
+HSPLcom/android/server/pm/PreferredComponent;->getParseError()Ljava/lang/String;
+HPLcom/android/server/pm/PreferredComponent;->writeToXml(Lcom/android/modules/utils/TypedXmlSerializer;Z)V
+HSPLcom/android/server/pm/PreferredIntentResolver$1;-><init>(Lcom/android/server/pm/PreferredIntentResolver;Lcom/android/server/pm/PreferredIntentResolver;Lcom/android/server/utils/Watchable;)V
+HSPLcom/android/server/pm/PreferredIntentResolver$1;->createSnapshot()Lcom/android/server/pm/PreferredIntentResolver;
+HSPLcom/android/server/pm/PreferredIntentResolver$1;->createSnapshot()Ljava/lang/Object;
+HSPLcom/android/server/pm/PreferredIntentResolver;-><init>()V
+HSPLcom/android/server/pm/PreferredIntentResolver;-><init>(Lcom/android/server/pm/PreferredIntentResolver;)V
+HSPLcom/android/server/pm/PreferredIntentResolver;-><init>(Lcom/android/server/pm/PreferredIntentResolver;Lcom/android/server/pm/PreferredIntentResolver-IA;)V
+HSPLcom/android/server/pm/PreferredIntentResolver;->getIntentFilter(Lcom/android/server/pm/PreferredActivity;)Landroid/content/IntentFilter;
+HSPLcom/android/server/pm/PreferredIntentResolver;->getIntentFilter(Ljava/lang/Object;)Landroid/content/IntentFilter;
+PLcom/android/server/pm/PreferredIntentResolver;->isPackageForFilter(Ljava/lang/String;Lcom/android/server/pm/PreferredActivity;)Z
+PLcom/android/server/pm/PreferredIntentResolver;->isPackageForFilter(Ljava/lang/String;Ljava/lang/Object;)Z
+HSPLcom/android/server/pm/PreferredIntentResolver;->makeCache()Lcom/android/server/utils/SnapshotCache;
+HSPLcom/android/server/pm/PreferredIntentResolver;->newArray(I)[Lcom/android/server/pm/PreferredActivity;
+HSPLcom/android/server/pm/PreferredIntentResolver;->newArray(I)[Ljava/lang/Object;
+HSPLcom/android/server/pm/PreferredIntentResolver;->shouldAddPreferredActivity(Lcom/android/server/pm/PreferredActivity;)Z
+HSPLcom/android/server/pm/PreferredIntentResolver;->snapshot()Lcom/android/server/pm/PreferredIntentResolver;
+HSPLcom/android/server/pm/PreferredIntentResolver;->snapshot()Ljava/lang/Object;
+HSPLcom/android/server/pm/PreferredIntentResolver;->snapshot(Lcom/android/server/pm/PreferredActivity;)Lcom/android/server/pm/PreferredActivity;
+HSPLcom/android/server/pm/PreferredIntentResolver;->snapshot(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/server/pm/ProcessLoggingHandler;-><init>()V
+HSPLcom/android/server/pm/ProtectedPackages;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/pm/ProtectedPackages;->hasDeviceOwnerOrProfileOwner(ILjava/lang/String;)Z
+HPLcom/android/server/pm/ProtectedPackages;->hasProtectedPackages(I)Z
+HPLcom/android/server/pm/ProtectedPackages;->isOwnerProtectedPackage(ILjava/lang/String;)Z
+HPLcom/android/server/pm/ProtectedPackages;->isPackageProtectedForUser(ILjava/lang/String;)Z
+PLcom/android/server/pm/ProtectedPackages;->isPackageStateProtected(ILjava/lang/String;)Z
+HPLcom/android/server/pm/ProtectedPackages;->isProtectedPackage(ILjava/lang/String;)Z
+PLcom/android/server/pm/ProtectedPackages;->setDeviceAndProfileOwnerPackages(ILjava/lang/String;Landroid/util/SparseArray;)V
+HPLcom/android/server/pm/QueryIntentActivitiesResult;-><init>(ZZLjava/util/List;)V
+PLcom/android/server/pm/ReconcilePackageUtils;-><clinit>()V
+HPLcom/android/server/pm/ReconcilePackageUtils;->isCompatSignatureUpdateNeeded(Lcom/android/server/pm/Settings$VersionInfo;)Z
+HPLcom/android/server/pm/ReconcilePackageUtils;->isRecoverSignatureUpdateNeeded(Lcom/android/server/pm/Settings$VersionInfo;)Z
+HPLcom/android/server/pm/ReconcilePackageUtils;->reconcilePackages(Ljava/util/List;Ljava/util/Map;Ljava/util/Map;Lcom/android/server/pm/SharedLibrariesImpl;Lcom/android/server/pm/KeySetManagerService;Lcom/android/server/pm/Settings;)Ljava/util/List;
+HPLcom/android/server/pm/ReconciledPackage;-><init>(Ljava/util/List;Ljava/util/Map;Lcom/android/server/pm/InstallRequest;Lcom/android/server/pm/DeletePackageAction;Ljava/util/List;Landroid/content/pm/SigningDetails;ZZ)V
+HPLcom/android/server/pm/ReconciledPackage;->getCombinedAvailablePackages()Ljava/util/Map;
+HSPLcom/android/server/pm/RemovePackageHelper;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/AppDataHelper;Lcom/android/server/pm/BroadcastHelper;)V
+HSPLcom/android/server/pm/ResilientAtomicFile;-><init>(Ljava/io/File;Ljava/io/File;Ljava/io/File;ILjava/lang/String;Lcom/android/server/pm/ResilientAtomicFile$ReadEventLogger;)V
+HSPLcom/android/server/pm/ResilientAtomicFile;->close()V
+HPLcom/android/server/pm/ResilientAtomicFile;->finalizeOutStream(Ljava/io/FileOutputStream;)V
+HPLcom/android/server/pm/ResilientAtomicFile;->finishWrite(Ljava/io/FileOutputStream;)V
+HSPLcom/android/server/pm/ResilientAtomicFile;->openRead()Ljava/io/FileInputStream;
+HPLcom/android/server/pm/ResilientAtomicFile;->startWrite()Ljava/io/FileOutputStream;
+HSPLcom/android/server/pm/ResolveIntentHelper;-><init>(Landroid/content/Context;Lcom/android/server/pm/PreferredActivityHelper;Lcom/android/server/compat/PlatformCompat;Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/verify/domain/DomainVerificationManagerInternal;Lcom/android/server/pm/UserNeedsBadgingCache;Ljava/util/function/Supplier;Ljava/util/function/Supplier;Landroid/os/Handler;)V
+PLcom/android/server/pm/ResolveIntentHelper;->applyPostContentProviderResolutionFilter(Lcom/android/server/pm/Computer;Ljava/util/List;Ljava/lang/String;II)Ljava/util/List;
+HPLcom/android/server/pm/ResolveIntentHelper;->chooseBestActivity(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JJLjava/util/List;IZ)Landroid/content/pm/ResolveInfo;
+PLcom/android/server/pm/ResolveIntentHelper;->filterNonExportedComponents(Landroid/content/Intent;IILjava/util/List;Lcom/android/server/compat/PlatformCompat;Ljava/lang/String;Lcom/android/server/pm/Computer;Landroid/os/Handler;)V
+PLcom/android/server/pm/ResolveIntentHelper;->queryIntentContentProvidersInternal(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JI)Ljava/util/List;
+PLcom/android/server/pm/ResolveIntentHelper;->queryIntentReceiversInternal(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JII)Ljava/util/List;
+HPLcom/android/server/pm/ResolveIntentHelper;->queryIntentReceiversInternal(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JIIZ)Ljava/util/List;
+PLcom/android/server/pm/ResolveIntentHelper;->resolveIntentInternal(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JJIZI)Landroid/content/pm/ResolveInfo;
+HPLcom/android/server/pm/ResolveIntentHelper;->resolveIntentInternal(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JJIZIZI)Landroid/content/pm/ResolveInfo;
+HPLcom/android/server/pm/ResolveIntentHelper;->resolveServiceInternal(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JII)Landroid/content/pm/ResolveInfo;
+HSPLcom/android/server/pm/RestrictionsSet;-><init>()V
+HPLcom/android/server/pm/RestrictionsSet;->getRestrictions(I)Landroid/os/Bundle;
+PLcom/android/server/pm/RestrictionsSet;->getRestrictionsNonNull(I)Landroid/os/Bundle;
+HSPLcom/android/server/pm/RestrictionsSet;->updateRestrictions(ILandroid/os/Bundle;)Z
+HSPLcom/android/server/pm/SELinuxMMAC;-><clinit>()V
+HPLcom/android/server/pm/SELinuxMMAC;->getPartition(Lcom/android/server/pm/pkg/PackageState;)Ljava/lang/String;
+HPLcom/android/server/pm/SELinuxMMAC;->getSeInfo(Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/pkg/SharedUserApi;Lcom/android/server/compat/PlatformCompat;)Ljava/lang/String;
+HPLcom/android/server/pm/SELinuxMMAC;->getSeInfo(Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/pkg/AndroidPackage;ZI)Ljava/lang/String;
+HPLcom/android/server/pm/SELinuxMMAC;->getTargetSdkVersionForSeInfo(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/pkg/SharedUserApi;Lcom/android/server/compat/PlatformCompat;)I
+HSPLcom/android/server/pm/SELinuxMMAC;->readInstallPolicy()Z
+HSPLcom/android/server/pm/SELinuxMMAC;->readSeinfo(Lorg/xmlpull/v1/XmlPullParser;)V
+HSPLcom/android/server/pm/SELinuxMMAC;->readSignerOrThrow(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/pm/Policy;
+HPLcom/android/server/pm/ScanPackageUtils;->adjustScanFlagsWithPackageSetting(ILcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Landroid/os/UserHandle;)I
+HPLcom/android/server/pm/ScanPackageUtils;->applyAdjustedAbiToSharedUser(Lcom/android/server/pm/SharedUserSetting;Lcom/android/internal/pm/parsing/pkg/ParsedPackage;Ljava/lang/String;)Ljava/util/List;
+HPLcom/android/server/pm/ScanPackageUtils;->applyPolicy(Lcom/android/internal/pm/parsing/pkg/ParsedPackage;ILcom/android/server/pm/pkg/AndroidPackage;Z)V
+HPLcom/android/server/pm/ScanPackageUtils;->assertMinSignatureSchemeIsValid(Lcom/android/server/pm/pkg/AndroidPackage;I)V
+PLcom/android/server/pm/ScanPackageUtils;->assertPackageProcesses(Lcom/android/server/pm/pkg/AndroidPackage;Ljava/util/List;Ljava/util/Map;Ljava/lang/String;)V
+HPLcom/android/server/pm/ScanPackageUtils;->assertProcessesAreValid(Lcom/android/server/pm/pkg/AndroidPackage;)V
+HPLcom/android/server/pm/ScanPackageUtils;->collectCertificatesLI(Lcom/android/server/pm/PackageSetting;Lcom/android/internal/pm/parsing/pkg/ParsedPackage;Lcom/android/server/pm/Settings$VersionInfo;ZZZ)V
+HPLcom/android/server/pm/ScanPackageUtils;->configurePackageComponents(Lcom/android/server/pm/pkg/AndroidPackage;)V
+HPLcom/android/server/pm/ScanPackageUtils;->getAppLib32InstallDir()Ljava/io/File;
+HPLcom/android/server/pm/ScanPackageUtils;->getRealPackageName(Lcom/android/server/pm/pkg/AndroidPackage;Ljava/lang/String;Z)Ljava/lang/String;
+PLcom/android/server/pm/ScanPackageUtils;->getVendorPartitionVersion()I
+HPLcom/android/server/pm/ScanPackageUtils;->isPackageRenamed(Lcom/android/server/pm/pkg/AndroidPackage;Ljava/lang/String;)Z
+HPLcom/android/server/pm/ScanPackageUtils;->scanPackageOnlyLI(Lcom/android/server/pm/ScanRequest;Lcom/android/server/pm/PackageManagerServiceInjector;ZJ)Lcom/android/server/pm/ScanResult;
+PLcom/android/server/pm/ScanPackageUtils;->setInstantAppForUser(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageSetting;IZZ)V
+HSPLcom/android/server/pm/ScanPartition;-><init>(Landroid/content/pm/PackagePartitions$SystemPartition;)V
+HPLcom/android/server/pm/ScanPartition;-><init>(Ljava/io/File;Lcom/android/server/pm/ScanPartition;Lcom/android/server/pm/ApexManager$ActiveApexInfo;)V
+HSPLcom/android/server/pm/ScanPartition;->scanFlagForPartition(Landroid/content/pm/PackagePartitions$SystemPartition;)I
+HPLcom/android/server/pm/ScanPartition;->toString()Ljava/lang/String;
+HPLcom/android/server/pm/ScanRequest;-><init>(Lcom/android/internal/pm/parsing/pkg/ParsedPackage;Lcom/android/server/pm/SharedUserSetting;Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/SharedUserSetting;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Ljava/lang/String;IIZLandroid/os/UserHandle;Ljava/lang/String;)V
+HPLcom/android/server/pm/ScanResult;-><init>(Lcom/android/server/pm/ScanRequest;Lcom/android/server/pm/PackageSetting;Ljava/util/List;ZILandroid/content/pm/SharedLibraryInfo;Landroid/content/pm/SharedLibraryInfo;Ljava/util/List;)V
+HSPLcom/android/server/pm/SettingBase;-><init>(II)V
+HSPLcom/android/server/pm/SettingBase;-><init>(Lcom/android/server/pm/SettingBase;)V
+HSPLcom/android/server/pm/SettingBase;->copySettingBase(Lcom/android/server/pm/SettingBase;)V
+HSPLcom/android/server/pm/SettingBase;->dispatchChange(Lcom/android/server/utils/Watchable;)V
+HSPLcom/android/server/pm/SettingBase;->getFlags()I
+HSPLcom/android/server/pm/SettingBase;->getLegacyPermissionState()Lcom/android/server/pm/permission/LegacyPermissionState;
+HSPLcom/android/server/pm/SettingBase;->getPrivateFlags()I
+HSPLcom/android/server/pm/SettingBase;->onChanged()V
+HSPLcom/android/server/pm/SettingBase;->registerObserver(Lcom/android/server/utils/Watcher;)V
+HSPLcom/android/server/pm/SettingBase;->setFlags(I)Lcom/android/server/pm/SettingBase;
+HSPLcom/android/server/pm/SettingBase;->setPrivateFlags(I)Lcom/android/server/pm/SettingBase;
+HSPLcom/android/server/pm/SettingBase;->unregisterObserver(Lcom/android/server/utils/Watcher;)V
+PLcom/android/server/pm/Settings$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/pm/Settings;IJZ)V
+PLcom/android/server/pm/Settings$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/pm/Settings$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/utils/WatchedArrayMap;)V
+PLcom/android/server/pm/Settings$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/pm/Settings;)V
+PLcom/android/server/pm/Settings$$ExternalSyntheticLambda2;->accept(Ljava/lang/Object;)V
+HSPLcom/android/server/pm/Settings$1;-><init>(Lcom/android/server/pm/Settings;)V
+HSPLcom/android/server/pm/Settings$1;->onChange(Lcom/android/server/utils/Watchable;)V
+HSPLcom/android/server/pm/Settings$2;-><init>(Lcom/android/server/pm/Settings;Lcom/android/server/pm/Settings;Lcom/android/server/utils/Watchable;)V
+HSPLcom/android/server/pm/Settings$2;->createSnapshot()Lcom/android/server/pm/Settings;
+HSPLcom/android/server/pm/Settings$2;->createSnapshot()Ljava/lang/Object;
+HSPLcom/android/server/pm/Settings$3;-><init>(Lcom/android/server/pm/Settings;)V
+PLcom/android/server/pm/Settings$3;->accept(Ljava/lang/Integer;)V
+PLcom/android/server/pm/Settings$3;->accept(Ljava/lang/Object;)V
+PLcom/android/server/pm/Settings$KeySetToValueMap;-><init>(Ljava/util/Set;Ljava/lang/Object;)V
+PLcom/android/server/pm/Settings$KeySetToValueMap;->keySet()Ljava/util/Set;
+HPLcom/android/server/pm/Settings$KeySetToValueMap;->size()I
+PLcom/android/server/pm/Settings$RuntimePermissionPersistence$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/pm/Settings$RuntimePermissionPersistence;Lcom/android/server/pm/PackageManagerTracedLock;ZLcom/android/server/pm/permission/LegacyPermissionDataProvider;ILcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;Landroid/os/Handler;)V
+PLcom/android/server/pm/Settings$RuntimePermissionPersistence$$ExternalSyntheticLambda0;->run()V
+HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence$MyHandler;-><init>(Lcom/android/server/pm/Settings$RuntimePermissionPersistence;)V
+PLcom/android/server/pm/Settings$RuntimePermissionPersistence$MyHandler;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence$PersistenceHandler;-><init>(Lcom/android/server/pm/Settings$RuntimePermissionPersistence;)V
+PLcom/android/server/pm/Settings$RuntimePermissionPersistence$PersistenceHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/pm/Settings$RuntimePermissionPersistence;->$r8$lambda$jSdj7sarDYdqZlpU1yKlMrhFaeI(Lcom/android/server/pm/Settings$RuntimePermissionPersistence;Lcom/android/server/pm/PackageManagerTracedLock;ZLcom/android/server/pm/permission/LegacyPermissionDataProvider;ILcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;Landroid/os/Handler;)V
+PLcom/android/server/pm/Settings$RuntimePermissionPersistence;->-$$Nest$fgetmInvokeWriteUserStateAsyncCallback(Lcom/android/server/pm/Settings$RuntimePermissionPersistence;)Ljava/util/function/Consumer;
+PLcom/android/server/pm/Settings$RuntimePermissionPersistence;->-$$Nest$mwritePendingStates(Lcom/android/server/pm/Settings$RuntimePermissionPersistence;)V
+HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence;-><clinit>()V
+HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence;-><init>(Lcom/android/permission/persistence/RuntimePermissionsPersistence;Ljava/util/function/Consumer;)V
+PLcom/android/server/pm/Settings$RuntimePermissionPersistence;->getExtendedFingerprint(J)Ljava/lang/String;
+PLcom/android/server/pm/Settings$RuntimePermissionPersistence;->getPackagePermissions(ILcom/android/server/utils/WatchedArrayMap;)Ljava/util/Map;
+PLcom/android/server/pm/Settings$RuntimePermissionPersistence;->getPermissionsFromPermissionsState(Lcom/android/server/pm/permission/LegacyPermissionState;I)Ljava/util/List;
+PLcom/android/server/pm/Settings$RuntimePermissionPersistence;->getShareUsersPermissions(ILcom/android/server/utils/WatchedArrayMap;)Ljava/util/Map;
+PLcom/android/server/pm/Settings$RuntimePermissionPersistence;->lambda$writeStateForUser$0(Lcom/android/server/pm/PackageManagerTracedLock;ZLcom/android/server/pm/permission/LegacyPermissionDataProvider;ILcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;Landroid/os/Handler;)V
+PLcom/android/server/pm/Settings$RuntimePermissionPersistence;->nextWritePermissionDelayMillis()J
+HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence;->readPermissionsState(Ljava/util/List;Lcom/android/server/pm/permission/LegacyPermissionState;I)V
+HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence;->readStateForUserSync(ILcom/android/server/pm/Settings$VersionInfo;Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;Ljava/io/File;)V
+PLcom/android/server/pm/Settings$RuntimePermissionPersistence;->setPermissionControllerVersion(J)V
+PLcom/android/server/pm/Settings$RuntimePermissionPersistence;->uniformRandom(DD)J
+PLcom/android/server/pm/Settings$RuntimePermissionPersistence;->writePendingStates()V
+PLcom/android/server/pm/Settings$RuntimePermissionPersistence;->writeStateForUser(ILcom/android/server/pm/permission/LegacyPermissionDataProvider;Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;Landroid/os/Handler;Lcom/android/server/pm/PackageManagerTracedLock;Z)V
+PLcom/android/server/pm/Settings$RuntimePermissionPersistence;->writeStateForUserAsync(I)V
+HSPLcom/android/server/pm/Settings$VersionInfo;-><init>()V
+PLcom/android/server/pm/Settings;->$r8$lambda$53NmgrwLNm2y5xSEATqhfDNuHBU(Lcom/android/server/pm/Settings;Lcom/android/server/pm/SharedUserSetting;)V
+PLcom/android/server/pm/Settings;->$r8$lambda$xF8vBosZYCuleRIdy4wr1C_PPCw(Lcom/android/server/pm/Settings;IJZ)V
+PLcom/android/server/pm/Settings;->-$$Nest$fgetmHandler(Lcom/android/server/pm/Settings;)Landroid/os/Handler;
+PLcom/android/server/pm/Settings;->-$$Nest$fgetmLock(Lcom/android/server/pm/Settings;)Lcom/android/server/pm/PackageManagerTracedLock;
+PLcom/android/server/pm/Settings;->-$$Nest$fgetmPermissionDataProvider(Lcom/android/server/pm/Settings;)Lcom/android/server/pm/permission/LegacyPermissionDataProvider;
+PLcom/android/server/pm/Settings;->-$$Nest$fgetmRuntimePermissionsPersistence(Lcom/android/server/pm/Settings;)Lcom/android/server/pm/Settings$RuntimePermissionPersistence;
+HSPLcom/android/server/pm/Settings;->-$$Nest$fgetmWatchable(Lcom/android/server/pm/Settings;)Lcom/android/server/utils/WatchableImpl;
+HSPLcom/android/server/pm/Settings;-><clinit>()V
+HSPLcom/android/server/pm/Settings;-><init>(Lcom/android/server/pm/Settings;)V
+HSPLcom/android/server/pm/Settings;-><init>(Lcom/android/server/pm/Settings;Lcom/android/server/pm/Settings-IA;)V
+HSPLcom/android/server/pm/Settings;-><init>(Ljava/io/File;Lcom/android/permission/persistence/RuntimePermissionsPersistence;Lcom/android/server/pm/permission/LegacyPermissionDataProvider;Lcom/android/server/pm/verify/domain/DomainVerificationManagerInternal;Landroid/os/Handler;Lcom/android/server/pm/PackageManagerTracedLock;)V
+HSPLcom/android/server/pm/Settings;->addInstallerPackageNames(Lcom/android/server/pm/InstallSource;)V
+HSPLcom/android/server/pm/Settings;->addPackageLPw(Ljava/lang/String;Ljava/lang/String;Ljava/io/File;IIILjava/util/UUID;)Lcom/android/server/pm/PackageSetting;
+HSPLcom/android/server/pm/Settings;->addPackageSettingLPw(Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/SharedUserSetting;)V
+HSPLcom/android/server/pm/Settings;->addSharedUserLPw(Ljava/lang/String;III)Lcom/android/server/pm/SharedUserSetting;
+PLcom/android/server/pm/Settings;->checkAndPruneSharedUserLPw(Lcom/android/server/pm/SharedUserSetting;Z)Z
+HPLcom/android/server/pm/Settings;->createMimeGroups(Ljava/util/Set;)Ljava/util/Map;
+HPLcom/android/server/pm/Settings;->createNewSetting(Ljava/lang/String;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Ljava/lang/String;Lcom/android/server/pm/SharedUserSetting;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JIILandroid/os/UserHandle;ZZZZLcom/android/server/pm/UserManagerService;[Ljava/lang/String;[J[Z[Ljava/lang/String;[JLjava/util/Set;Ljava/util/UUID;I[B)Lcom/android/server/pm/PackageSetting;
+HSPLcom/android/server/pm/Settings;->dispatchChange(Lcom/android/server/utils/Watchable;)V
+PLcom/android/server/pm/Settings;->dumpGidsLPr(Ljava/io/PrintWriter;Ljava/lang/String;[I)V
+HPLcom/android/server/pm/Settings;->dumpInstallPermissionsLPr(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/util/ArraySet;Lcom/android/server/pm/permission/LegacyPermissionState;Ljava/util/List;)V
+PLcom/android/server/pm/Settings;->dumpPackageLPr(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;Landroid/util/ArraySet;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/permission/LegacyPermissionState;Ljava/text/SimpleDateFormat;Ljava/util/Date;Ljava/util/List;ZZ)V
+HPLcom/android/server/pm/Settings;->dumpPackagesLPr(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/util/ArraySet;Lcom/android/server/pm/DumpState;Z)V
+PLcom/android/server/pm/Settings;->dumpPermissions(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/util/ArraySet;Lcom/android/server/pm/DumpState;)V
+HPLcom/android/server/pm/Settings;->dumpPreferred(Ljava/io/PrintWriter;Lcom/android/server/pm/DumpState;Ljava/lang/String;)V
+HPLcom/android/server/pm/Settings;->dumpRuntimePermissionsLPr(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/util/ArraySet;Ljava/util/Collection;Z)V
+HPLcom/android/server/pm/Settings;->dumpSharedUsersLPr(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/util/ArraySet;Lcom/android/server/pm/DumpState;Z)V
+HPLcom/android/server/pm/Settings;->dumpSplitNames(Ljava/io/PrintWriter;Lcom/android/server/pm/pkg/AndroidPackage;)V
+HSPLcom/android/server/pm/Settings;->editPreferredActivitiesLPw(I)Lcom/android/server/pm/PreferredIntentResolver;
+HSPLcom/android/server/pm/Settings;->findOrCreateVersion(Ljava/lang/String;)Lcom/android/server/pm/Settings$VersionInfo;
+PLcom/android/server/pm/Settings;->getActiveUsers(Lcom/android/server/pm/UserManagerService;Z)Ljava/util/List;
+PLcom/android/server/pm/Settings;->getAllSharedUsersLPw()Ljava/util/Collection;
+PLcom/android/server/pm/Settings;->getAllUsers(Lcom/android/server/pm/UserManagerService;)Ljava/util/List;
+PLcom/android/server/pm/Settings;->getApplicationEnabledSettingLPr(Ljava/lang/String;I)I
+HPLcom/android/server/pm/Settings;->getComponentEnabledSettingLPr(Landroid/content/ComponentName;I)I
+HPLcom/android/server/pm/Settings;->getCrossProfileIntentResolver(I)Lcom/android/server/pm/CrossProfileIntentResolver;
+HSPLcom/android/server/pm/Settings;->getDisabledSystemPackagesLocked()Lcom/android/server/utils/WatchedArrayMap;
+HPLcom/android/server/pm/Settings;->getDisabledSystemPkgLPr(Ljava/lang/String;)Lcom/android/server/pm/PackageSetting;
+HSPLcom/android/server/pm/Settings;->getInternalVersion()Lcom/android/server/pm/Settings$VersionInfo;
+PLcom/android/server/pm/Settings;->getKeySetManagerService()Lcom/android/server/pm/KeySetManagerService;
+HSPLcom/android/server/pm/Settings;->getPackageLPr(Ljava/lang/String;)Lcom/android/server/pm/PackageSetting;
+HSPLcom/android/server/pm/Settings;->getPackagesLocked()Lcom/android/server/utils/WatchedArrayMap;
+HSPLcom/android/server/pm/Settings;->getRenamedPackageLPr(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/server/pm/Settings;->getSettingLPr(I)Lcom/android/server/pm/SettingBase;
+HSPLcom/android/server/pm/Settings;->getSettingsFile()Lcom/android/server/pm/ResilientAtomicFile;
+HPLcom/android/server/pm/Settings;->getSharedUserLPw(Ljava/lang/String;IIZ)Lcom/android/server/pm/SharedUserSetting;
+HSPLcom/android/server/pm/Settings;->getSharedUserSettingLPr(Lcom/android/server/pm/PackageSetting;)Lcom/android/server/pm/SharedUserSetting;
+HPLcom/android/server/pm/Settings;->getSharedUserSettingLPr(Ljava/lang/String;)Lcom/android/server/pm/SharedUserSetting;
+HSPLcom/android/server/pm/Settings;->getUserPackagesStateFile(I)Lcom/android/server/pm/ResilientAtomicFile;
+HSPLcom/android/server/pm/Settings;->getUserRuntimePermissionsFile(I)Ljava/io/File;
+HSPLcom/android/server/pm/Settings;->getUserSystemDirectory(I)Ljava/io/File;
+HPLcom/android/server/pm/Settings;->getUsers(Lcom/android/server/pm/UserManagerService;ZZ)Ljava/util/List;
+PLcom/android/server/pm/Settings;->getVolumePackagesLPr(Ljava/lang/String;)Ljava/util/List;
+HPLcom/android/server/pm/Settings;->insertPackageSettingLPw(Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/pkg/AndroidPackage;)V
+PLcom/android/server/pm/Settings;->invalidatePackageCache()V
+PLcom/android/server/pm/Settings;->lambda$pruneSharedUsersLPw$0(Lcom/android/server/pm/SharedUserSetting;)V
+PLcom/android/server/pm/Settings;->lambda$writePackageRestrictionsLPr$1(IJZ)V
+HSPLcom/android/server/pm/Settings;->makeCache()Lcom/android/server/utils/SnapshotCache;
+PLcom/android/server/pm/Settings;->onChanged()V
+HSPLcom/android/server/pm/Settings;->parseAppId(Lcom/android/modules/utils/TypedXmlPullParser;)I
+HSPLcom/android/server/pm/Settings;->parseSharedUserAppId(Lcom/android/modules/utils/TypedXmlPullParser;)I
+HPLcom/android/server/pm/Settings;->permissionFlagsToString(Ljava/lang/String;I)Ljava/lang/String;
+HPLcom/android/server/pm/Settings;->printFlags(Ljava/io/PrintWriter;I[Ljava/lang/Object;)V
+PLcom/android/server/pm/Settings;->pruneRenamedPackagesLPw()V
+PLcom/android/server/pm/Settings;->pruneSharedUsersLPw()V
+HSPLcom/android/server/pm/Settings;->readComponentsLPr(Lcom/android/modules/utils/TypedXmlPullParser;)Landroid/util/ArraySet;
+HSPLcom/android/server/pm/Settings;->readCrossProfileIntentFiltersLPw(Lcom/android/modules/utils/TypedXmlPullParser;I)V
+HSPLcom/android/server/pm/Settings;->readDefaultApps(Lorg/xmlpull/v1/XmlPullParser;)Ljava/lang/String;
+HSPLcom/android/server/pm/Settings;->readDefaultAppsLPw(Lorg/xmlpull/v1/XmlPullParser;I)V
+HSPLcom/android/server/pm/Settings;->readLPw(Lcom/android/server/pm/Computer;Ljava/util/List;)Z
+HSPLcom/android/server/pm/Settings;->readPackageLPw(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/util/ArrayList;Landroid/util/ArrayMap;Ljava/util/List;Landroid/util/ArrayMap;)V
+HSPLcom/android/server/pm/Settings;->readPackageRestrictionsLPr(ILandroid/util/ArrayMap;)V
+HSPLcom/android/server/pm/Settings;->readPersistentPreferredActivitiesLPw(Lcom/android/modules/utils/TypedXmlPullParser;I)V
+HSPLcom/android/server/pm/Settings;->readPreferredActivitiesLPw(Lcom/android/modules/utils/TypedXmlPullParser;I)V
+HSPLcom/android/server/pm/Settings;->readSettingsLPw(Lcom/android/server/pm/Computer;Ljava/util/List;Landroid/util/ArrayMap;)Z
+HSPLcom/android/server/pm/Settings;->readSharedUserLPw(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/util/ArrayList;Ljava/util/List;)V
+HSPLcom/android/server/pm/Settings;->registerObserver(Lcom/android/server/utils/Watcher;)V
+HSPLcom/android/server/pm/Settings;->registerObservers()V
+PLcom/android/server/pm/Settings;->removeAppIdLPw(I)V
+PLcom/android/server/pm/Settings;->removeRenamedPackageLPw(Ljava/lang/String;)V
+PLcom/android/server/pm/Settings;->setPermissionControllerVersion(J)V
+HSPLcom/android/server/pm/Settings;->snapshot()Lcom/android/server/pm/Settings;
+PLcom/android/server/pm/Settings;->systemReady(Lcom/android/server/pm/resolution/ComponentResolver;)Ljava/util/ArrayList;
+HPLcom/android/server/pm/Settings;->updatePackageSetting(Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/SharedUserSetting;Lcom/android/server/pm/SharedUserSetting;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IILcom/android/server/pm/UserManagerService;[Ljava/lang/String;[J[Z[Ljava/lang/String;[JLjava/util/Set;Ljava/util/UUID;I[BZ)V
+PLcom/android/server/pm/Settings;->writeAllRuntimePermissionsLPr()V
+PLcom/android/server/pm/Settings;->writeAllUsersPackageRestrictionsLPr(Z)V
+PLcom/android/server/pm/Settings;->writeArchiveStateLPr(Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/server/pm/pkg/ArchiveState;)V
+PLcom/android/server/pm/Settings;->writeBlockUninstallPackagesLPr(Lcom/android/modules/utils/TypedXmlSerializer;I)V
+PLcom/android/server/pm/Settings;->writeCrossProfileIntentFiltersLPr(Lcom/android/modules/utils/TypedXmlSerializer;I)V
+PLcom/android/server/pm/Settings;->writeDefaultApps(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;)V
+PLcom/android/server/pm/Settings;->writeDefaultAppsLPr(Lorg/xmlpull/v1/XmlSerializer;I)V
+HSPLcom/android/server/pm/Settings;->writeKernelMappingLPr()V
+HPLcom/android/server/pm/Settings;->writeKeySetAliasesLPr(Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/server/pm/PackageKeySetData;)V
+HPLcom/android/server/pm/Settings;->writeLPr(Lcom/android/server/pm/Computer;Z)V
+HPLcom/android/server/pm/Settings;->writeMimeGroupLPr(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/util/Map;)V
+HPLcom/android/server/pm/Settings;->writePackageLPr(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/util/ArrayList;Lcom/android/server/pm/PackageSetting;)V
+PLcom/android/server/pm/Settings;->writePackageListLPr()V
+PLcom/android/server/pm/Settings;->writePackageListLPr(I)V
+HPLcom/android/server/pm/Settings;->writePackageListLPrInternal(I)V
+HPLcom/android/server/pm/Settings;->writePackageRestrictions(IJZ)V
+PLcom/android/server/pm/Settings;->writePackageRestrictions([Ljava/lang/Integer;)V
+PLcom/android/server/pm/Settings;->writePackageRestrictionsLPr(IZ)V
+PLcom/android/server/pm/Settings;->writePersistentPreferredActivitiesLPr(Lcom/android/modules/utils/TypedXmlSerializer;I)V
+HPLcom/android/server/pm/Settings;->writePreferredActivitiesLPr(Lcom/android/modules/utils/TypedXmlSerializer;IZ)V
+HPLcom/android/server/pm/Settings;->writeSigningKeySetLPr(Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/server/pm/PackageKeySetData;)V
+HPLcom/android/server/pm/Settings;->writeUpgradeKeySetsLPr(Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/server/pm/PackageKeySetData;)V
+HPLcom/android/server/pm/Settings;->writeUserRestrictionsLPw(Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;)V
+HPLcom/android/server/pm/Settings;->writeUsesSdkLibLPw(Lcom/android/modules/utils/TypedXmlSerializer;[Ljava/lang/String;[J[Z)V
+HPLcom/android/server/pm/Settings;->writeUsesStaticLibLPw(Lcom/android/modules/utils/TypedXmlSerializer;[Ljava/lang/String;[J)V
+HSPLcom/android/server/pm/SettingsXml$ReadSectionImpl;-><init>(Lcom/android/modules/utils/TypedXmlPullParser;)V
+HSPLcom/android/server/pm/SettingsXml$ReadSectionImpl;->children()Lcom/android/server/pm/SettingsXml$ChildSection;
+HSPLcom/android/server/pm/SettingsXml$ReadSectionImpl;->getBoolean(Ljava/lang/String;)Z
+HSPLcom/android/server/pm/SettingsXml$ReadSectionImpl;->getBoolean(Ljava/lang/String;Z)Z
+HSPLcom/android/server/pm/SettingsXml$ReadSectionImpl;->getInt(Ljava/lang/String;)I
+HSPLcom/android/server/pm/SettingsXml$ReadSectionImpl;->getInt(Ljava/lang/String;I)I
+HSPLcom/android/server/pm/SettingsXml$ReadSectionImpl;->getName()Ljava/lang/String;
+HSPLcom/android/server/pm/SettingsXml$ReadSectionImpl;->getString(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/server/pm/SettingsXml$ReadSectionImpl;->moveToFirstTag()V
+HSPLcom/android/server/pm/SettingsXml$ReadSectionImpl;->moveToNext()Z
+HSPLcom/android/server/pm/SettingsXml$ReadSectionImpl;->moveToNext(Ljava/lang/String;)Z
+HSPLcom/android/server/pm/SettingsXml$ReadSectionImpl;->moveToNextInternal(Ljava/lang/String;)Z
+PLcom/android/server/pm/SettingsXml$Serializer;-><init>(Lcom/android/modules/utils/TypedXmlSerializer;)V
+PLcom/android/server/pm/SettingsXml$Serializer;-><init>(Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/server/pm/SettingsXml$Serializer-IA;)V
+PLcom/android/server/pm/SettingsXml$Serializer;->close()V
+PLcom/android/server/pm/SettingsXml$Serializer;->startSection(Ljava/lang/String;)Lcom/android/server/pm/SettingsXml$WriteSection;
+PLcom/android/server/pm/SettingsXml$WriteSectionImpl;->-$$Nest$mcloseCompletely(Lcom/android/server/pm/SettingsXml$WriteSectionImpl;)V
+PLcom/android/server/pm/SettingsXml$WriteSectionImpl;-><init>(Lcom/android/modules/utils/TypedXmlSerializer;)V
+PLcom/android/server/pm/SettingsXml$WriteSectionImpl;-><init>(Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/server/pm/SettingsXml$WriteSectionImpl-IA;)V
+PLcom/android/server/pm/SettingsXml$WriteSectionImpl;->attribute(Ljava/lang/String;I)Lcom/android/server/pm/SettingsXml$WriteSection;
+PLcom/android/server/pm/SettingsXml$WriteSectionImpl;->attribute(Ljava/lang/String;Ljava/lang/String;)Lcom/android/server/pm/SettingsXml$WriteSection;
+PLcom/android/server/pm/SettingsXml$WriteSectionImpl;->attribute(Ljava/lang/String;Z)Lcom/android/server/pm/SettingsXml$WriteSection;
+HPLcom/android/server/pm/SettingsXml$WriteSectionImpl;->close()V
+PLcom/android/server/pm/SettingsXml$WriteSectionImpl;->closeCompletely()V
+HPLcom/android/server/pm/SettingsXml$WriteSectionImpl;->finish()V
+HPLcom/android/server/pm/SettingsXml$WriteSectionImpl;->startSection(Ljava/lang/String;)Lcom/android/server/pm/SettingsXml$WriteSection;
+HSPLcom/android/server/pm/SettingsXml;->parser(Lcom/android/modules/utils/TypedXmlPullParser;)Lcom/android/server/pm/SettingsXml$ReadSection;
+PLcom/android/server/pm/SettingsXml;->serializer(Lcom/android/modules/utils/TypedXmlSerializer;)Lcom/android/server/pm/SettingsXml$Serializer;
+PLcom/android/server/pm/SharedLibrariesImpl$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/pm/SharedLibrariesImpl$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+HSPLcom/android/server/pm/SharedLibrariesImpl$1;-><init>(Lcom/android/server/pm/SharedLibrariesImpl;)V
+HSPLcom/android/server/pm/SharedLibrariesImpl$1;->onChange(Lcom/android/server/utils/Watchable;)V
+HSPLcom/android/server/pm/SharedLibrariesImpl$2;-><init>(Lcom/android/server/pm/SharedLibrariesImpl;Lcom/android/server/pm/SharedLibrariesImpl;Lcom/android/server/utils/Watchable;)V
+HSPLcom/android/server/pm/SharedLibrariesImpl$2;->createSnapshot()Lcom/android/server/pm/SharedLibrariesImpl;
+HSPLcom/android/server/pm/SharedLibrariesImpl$2;->createSnapshot()Ljava/lang/Object;
+PLcom/android/server/pm/SharedLibrariesImpl;->$r8$lambda$x5pbt1IWAO8LsYjbRIDnwkV8JxE(Landroid/content/pm/SharedLibraryInfo;Landroid/content/pm/SharedLibraryInfo;)V
+HSPLcom/android/server/pm/SharedLibrariesImpl;->-$$Nest$fgetmWatchable(Lcom/android/server/pm/SharedLibrariesImpl;)Lcom/android/server/utils/WatchableImpl;
+HSPLcom/android/server/pm/SharedLibrariesImpl;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerServiceInjector;)V
+HSPLcom/android/server/pm/SharedLibrariesImpl;-><init>(Lcom/android/server/pm/SharedLibrariesImpl;)V
+HSPLcom/android/server/pm/SharedLibrariesImpl;-><init>(Lcom/android/server/pm/SharedLibrariesImpl;Lcom/android/server/pm/SharedLibrariesImpl-IA;)V
+HSPLcom/android/server/pm/SharedLibrariesImpl;->addBuiltInSharedLibraryLPw(Lcom/android/server/SystemConfig$SharedLibraryEntry;)V
+HPLcom/android/server/pm/SharedLibrariesImpl;->addSharedLibraryLPr(Lcom/android/server/pm/pkg/AndroidPackage;Ljava/util/Set;Landroid/content/pm/SharedLibraryInfo;Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/PackageSetting;)V
+PLcom/android/server/pm/SharedLibrariesImpl;->applyDefiningSharedLibraryUpdateLPr(Lcom/android/server/pm/pkg/AndroidPackage;Landroid/content/pm/SharedLibraryInfo;Ljava/util/function/BiConsumer;)V
+HPLcom/android/server/pm/SharedLibrariesImpl;->collectSharedLibraryInfos(Lcom/android/server/pm/pkg/AndroidPackage;Ljava/util/Map;Ljava/util/Map;)Ljava/util/ArrayList;
+HPLcom/android/server/pm/SharedLibrariesImpl;->collectSharedLibraryInfos(Ljava/util/List;[J[[Ljava/lang/String;[ZLjava/lang/String;Ljava/lang/String;ZILjava/util/ArrayList;Ljava/util/Map;Ljava/util/Map;)Ljava/util/ArrayList;
+HPLcom/android/server/pm/SharedLibrariesImpl;->commitSharedLibraryChanges(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/PackageSetting;Ljava/util/List;Ljava/util/Map;I)Ljava/util/ArrayList;
+HSPLcom/android/server/pm/SharedLibrariesImpl;->commitSharedLibraryInfoLPw(Landroid/content/pm/SharedLibraryInfo;)V
+HSPLcom/android/server/pm/SharedLibrariesImpl;->dispatchChange(Lcom/android/server/utils/Watchable;)V
+HPLcom/android/server/pm/SharedLibrariesImpl;->executeSharedLibrariesUpdateLPw(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/PackageSetting;Ljava/util/ArrayList;[I)V
+PLcom/android/server/pm/SharedLibrariesImpl;->getAll()Lcom/android/server/utils/WatchedArrayMap;
+HPLcom/android/server/pm/SharedLibrariesImpl;->getAllowedSharedLibInfos(Lcom/android/server/pm/InstallRequest;)Ljava/util/List;
+PLcom/android/server/pm/SharedLibrariesImpl;->getLibraryPackage(Lcom/android/server/pm/Computer;Landroid/content/pm/SharedLibraryInfo;)Lcom/android/server/pm/pkg/PackageStateInternal;
+HSPLcom/android/server/pm/SharedLibrariesImpl;->getSharedLibraryInfo(Ljava/lang/String;J)Landroid/content/pm/SharedLibraryInfo;
+HSPLcom/android/server/pm/SharedLibrariesImpl;->getStaticLibraryInfos(Ljava/lang/String;)Lcom/android/server/utils/WatchedLongSparseArray;
+PLcom/android/server/pm/SharedLibrariesImpl;->lambda$executeSharedLibrariesUpdateLPw$0(Landroid/content/pm/SharedLibraryInfo;Landroid/content/pm/SharedLibraryInfo;)V
+HSPLcom/android/server/pm/SharedLibrariesImpl;->makeCache()Lcom/android/server/utils/SnapshotCache;
+PLcom/android/server/pm/SharedLibrariesImpl;->pruneUnusedStaticSharedLibraries(Lcom/android/server/pm/Computer;JJ)Z
+HSPLcom/android/server/pm/SharedLibrariesImpl;->registerObserver(Lcom/android/server/utils/Watcher;)V
+HSPLcom/android/server/pm/SharedLibrariesImpl;->registerObservers()V
+HSPLcom/android/server/pm/SharedLibrariesImpl;->setDeletePackageHelper(Lcom/android/server/pm/DeletePackageHelper;)V
+HSPLcom/android/server/pm/SharedLibrariesImpl;->snapshot()Lcom/android/server/pm/SharedLibrariesRead;
+HPLcom/android/server/pm/SharedLibrariesImpl;->updateAllSharedLibrariesLPw(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/PackageSetting;Ljava/util/Map;)Ljava/util/ArrayList;
+HPLcom/android/server/pm/SharedLibrariesImpl;->updateSharedLibraries(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/PackageSetting;Ljava/util/Map;)V
+PLcom/android/server/pm/SharedLibraryUtils;->addSharedLibraryToPackageVersionMap(Ljava/util/Map;Landroid/content/pm/SharedLibraryInfo;)Z
+HPLcom/android/server/pm/SharedLibraryUtils;->getSharedLibraryInfo(Ljava/lang/String;JLjava/util/Map;Ljava/util/Map;)Landroid/content/pm/SharedLibraryInfo;
+HSPLcom/android/server/pm/SharedUserSetting$1;-><init>(Lcom/android/server/pm/SharedUserSetting;)V
+HSPLcom/android/server/pm/SharedUserSetting$1;->onChange(Lcom/android/server/utils/Watchable;)V
+HSPLcom/android/server/pm/SharedUserSetting$2;-><init>(Lcom/android/server/pm/SharedUserSetting;Lcom/android/server/pm/SharedUserSetting;Lcom/android/server/utils/Watchable;)V
+HSPLcom/android/server/pm/SharedUserSetting$2;->createSnapshot()Lcom/android/server/pm/SharedUserSetting;
+HSPLcom/android/server/pm/SharedUserSetting$2;->createSnapshot()Ljava/lang/Object;
+HSPLcom/android/server/pm/SharedUserSetting;-><init>(Lcom/android/server/pm/SharedUserSetting;)V
+HSPLcom/android/server/pm/SharedUserSetting;-><init>(Lcom/android/server/pm/SharedUserSetting;Lcom/android/server/pm/SharedUserSetting-IA;)V
+HSPLcom/android/server/pm/SharedUserSetting;-><init>(Ljava/lang/String;II)V
+HSPLcom/android/server/pm/SharedUserSetting;->addPackage(Lcom/android/server/pm/PackageSetting;)V
+HPLcom/android/server/pm/SharedUserSetting;->addProcesses(Ljava/util/Map;)V
+HPLcom/android/server/pm/SharedUserSetting;->fixSeInfoLocked()V
+PLcom/android/server/pm/SharedUserSetting;->getDisabledPackageSettings()Lcom/android/server/utils/WatchedArraySet;
+PLcom/android/server/pm/SharedUserSetting;->getPackageSettings()Lcom/android/server/utils/WatchedArraySet;
+HPLcom/android/server/pm/SharedUserSetting;->getPackageStates()Landroid/util/ArraySet;
+HPLcom/android/server/pm/SharedUserSetting;->getPackages()Ljava/util/List;
+PLcom/android/server/pm/SharedUserSetting;->getSeInfoTargetSdkVersion()I
+PLcom/android/server/pm/SharedUserSetting;->getSigningDetails()Landroid/content/pm/SigningDetails;
+HPLcom/android/server/pm/SharedUserSetting;->isPrivileged()Z
+HSPLcom/android/server/pm/SharedUserSetting;->makeCache()Lcom/android/server/utils/SnapshotCache;
+HSPLcom/android/server/pm/SharedUserSetting;->registerObservers()V
+HSPLcom/android/server/pm/SharedUserSetting;->snapshot()Lcom/android/server/pm/SharedUserSetting;
+HSPLcom/android/server/pm/SharedUserSetting;->snapshot()Ljava/lang/Object;
+PLcom/android/server/pm/SharedUserSetting;->toString()Ljava/lang/String;
+HPLcom/android/server/pm/SharedUserSetting;->updateProcesses()V
+PLcom/android/server/pm/ShortcutBitmapSaver$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/pm/ShortcutBitmapSaver;)V
+PLcom/android/server/pm/ShortcutBitmapSaver$$ExternalSyntheticLambda1;-><init>(Ljava/util/concurrent/CountDownLatch;)V
+PLcom/android/server/pm/ShortcutBitmapSaver$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/pm/ShortcutBitmapSaver;->$r8$lambda$0cDwbUuQexB0Dry-KJy6ApKQ1Ic(Ljava/util/concurrent/CountDownLatch;)V
+PLcom/android/server/pm/ShortcutBitmapSaver;-><init>(Lcom/android/server/pm/ShortcutService;)V
+PLcom/android/server/pm/ShortcutBitmapSaver;->lambda$waitForAllSavesLocked$0(Ljava/util/concurrent/CountDownLatch;)V
+PLcom/android/server/pm/ShortcutBitmapSaver;->waitForAllSavesLocked()Z
+PLcom/android/server/pm/ShortcutDumpFiles;-><init>(Lcom/android/server/pm/ShortcutService;)V
+PLcom/android/server/pm/ShortcutLauncher;-><init>(Lcom/android/server/pm/ShortcutUser;ILjava/lang/String;I)V
+PLcom/android/server/pm/ShortcutLauncher;-><init>(Lcom/android/server/pm/ShortcutUser;ILjava/lang/String;ILcom/android/server/pm/ShortcutPackageInfo;)V
+PLcom/android/server/pm/ShortcutLauncher;->getPinnedShortcutIds(Ljava/lang/String;I)Landroid/util/ArraySet;
+PLcom/android/server/pm/ShortcutNonPersistentUser;-><init>(I)V
+PLcom/android/server/pm/ShortcutNonPersistentUser;->hasHostPackage(Ljava/lang/String;)Z
+PLcom/android/server/pm/ShortcutNonPersistentUser;->setShortcutHostPackage(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/pm/ShortcutPackage$$ExternalSyntheticLambda17;-><init>(J)V
+PLcom/android/server/pm/ShortcutPackage$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/pm/ShortcutPackage;J)V
+PLcom/android/server/pm/ShortcutPackage$$ExternalSyntheticLambda23;-><init>(Lcom/android/server/pm/ShortcutPackage;Landroid/util/ArrayMap;)V
+PLcom/android/server/pm/ShortcutPackage$$ExternalSyntheticLambda24;-><init>(Landroid/util/ArraySet;)V
+PLcom/android/server/pm/ShortcutPackage$$ExternalSyntheticLambda29;-><init>(Lcom/android/server/pm/ShortcutPackage;Ljava/util/List;Ljava/util/function/Predicate;ILjava/lang/String;Landroid/util/ArraySet;Z)V
+PLcom/android/server/pm/ShortcutPackage$$ExternalSyntheticLambda29;->accept(Ljava/lang/Object;)V
+PLcom/android/server/pm/ShortcutPackage$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/pm/ShortcutPackage;Lcom/android/server/pm/ShortcutService;Landroid/content/res/Resources;)V
+PLcom/android/server/pm/ShortcutPackage$$ExternalSyntheticLambda36;-><init>(Ljava/util/function/Consumer;)V
+PLcom/android/server/pm/ShortcutPackage$$ExternalSyntheticLambda36;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/pm/ShortcutPackage$$ExternalSyntheticLambda38;-><init>()V
+PLcom/android/server/pm/ShortcutPackage$$ExternalSyntheticLambda38;->test(Ljava/lang/Object;)Z
+PLcom/android/server/pm/ShortcutPackage$$ExternalSyntheticLambda7;-><init>()V
+PLcom/android/server/pm/ShortcutPackage$$ExternalSyntheticLambda8;-><init>()V
+PLcom/android/server/pm/ShortcutPackage$$ExternalSyntheticLambda9;-><init>()V
+PLcom/android/server/pm/ShortcutPackage;->$r8$lambda$PHafQNXd3rG88ujYp-2FnsxrvDY(Ljava/util/function/Consumer;Landroid/content/pm/ShortcutInfo;)Ljava/lang/Boolean;
+PLcom/android/server/pm/ShortcutPackage;->$r8$lambda$siuXAQT-OivpKlIZX1n0iIppP6o(Lcom/android/server/pm/ShortcutPackage;Ljava/util/List;Ljava/util/function/Predicate;ILjava/lang/String;Landroid/util/ArraySet;ZLandroid/content/pm/ShortcutInfo;)V
+PLcom/android/server/pm/ShortcutPackage;-><init>(Lcom/android/server/pm/ShortcutUser;ILjava/lang/String;)V
+PLcom/android/server/pm/ShortcutPackage;-><init>(Lcom/android/server/pm/ShortcutUser;ILjava/lang/String;Lcom/android/server/pm/ShortcutPackageInfo;)V
+PLcom/android/server/pm/ShortcutPackage;->adjustRanks()V
+PLcom/android/server/pm/ShortcutPackage;->ensureImmutableShortcutsNotIncludedWithIds(Ljava/util/List;Z)V
+PLcom/android/server/pm/ShortcutPackage;->ensureNotImmutable(Landroid/content/pm/ShortcutInfo;Z)V
+PLcom/android/server/pm/ShortcutPackage;->ensureNotImmutable(Ljava/lang/String;Z)V
+PLcom/android/server/pm/ShortcutPackage;->filter(Ljava/util/List;Ljava/util/function/Predicate;ILjava/lang/String;Landroid/util/ArraySet;ZLandroid/content/pm/ShortcutInfo;)V
+PLcom/android/server/pm/ShortcutPackage;->findAll(Ljava/util/List;Ljava/util/function/Predicate;ILjava/lang/String;IZ)V
+PLcom/android/server/pm/ShortcutPackage;->findShortcutById(Ljava/lang/String;)Landroid/content/pm/ShortcutInfo;
+PLcom/android/server/pm/ShortcutPackage;->forEachShortcut(Ljava/util/function/Consumer;)V
+PLcom/android/server/pm/ShortcutPackage;->forEachShortcutMutate(Ljava/util/function/Consumer;)V
+PLcom/android/server/pm/ShortcutPackage;->forEachShortcutStopWhen(Ljava/util/function/Function;)V
+PLcom/android/server/pm/ShortcutPackage;->getPackageResources()Landroid/content/res/Resources;
+PLcom/android/server/pm/ShortcutPackage;->getShortcutCount()I
+PLcom/android/server/pm/ShortcutPackage;->getShortcutPackageItemFile()Ljava/io/File;
+PLcom/android/server/pm/ShortcutPackage;->hasNoShortcut()Z
+PLcom/android/server/pm/ShortcutPackage;->hasShareTargets()Z
+PLcom/android/server/pm/ShortcutPackage;->isAppSearchEnabled()Z
+PLcom/android/server/pm/ShortcutPackage;->isShortcutExistsAndVisibleToPublisher(Ljava/lang/String;)Z
+PLcom/android/server/pm/ShortcutPackage;->lambda$findAll$13(Ljava/util/List;Ljava/util/function/Predicate;ILjava/lang/String;Landroid/util/ArraySet;ZLandroid/content/pm/ShortcutInfo;)V
+PLcom/android/server/pm/ShortcutPackage;->lambda$forEachShortcut$37(Ljava/util/function/Consumer;Landroid/content/pm/ShortcutInfo;)Ljava/lang/Boolean;
+PLcom/android/server/pm/ShortcutPackage;->loadFromFile(Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutUser;Ljava/io/File;Z)Lcom/android/server/pm/ShortcutPackage;
+PLcom/android/server/pm/ShortcutPackage;->loadFromXml(Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutUser;Lcom/android/modules/utils/TypedXmlPullParser;Z)Lcom/android/server/pm/ShortcutPackage;
+PLcom/android/server/pm/ShortcutPackage;->parseIntent(Lcom/android/modules/utils/TypedXmlPullParser;)Landroid/content/Intent;
+HPLcom/android/server/pm/ShortcutPackage;->parseShortcut(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;IZ)Landroid/content/pm/ShortcutInfo;
+PLcom/android/server/pm/ShortcutPackage;->publishManifestShortcuts(Ljava/util/List;)Z
+PLcom/android/server/pm/ShortcutPackage;->rescanPackageIfNeeded(ZZ)Z
+HPLcom/android/server/pm/ShortcutPackage;->saveShortcut(Lcom/android/modules/utils/TypedXmlSerializer;Landroid/content/pm/ShortcutInfo;ZZ)V
+PLcom/android/server/pm/ShortcutPackage;->saveShortcutsAsync(Ljava/util/Collection;)V
+PLcom/android/server/pm/ShortcutPackage;->saveToXml(Lcom/android/modules/utils/TypedXmlSerializer;Z)V
+PLcom/android/server/pm/ShortcutPackage;->scheduleSaveToAppSearchLocked()V
+PLcom/android/server/pm/ShortcutPackage;->sortShortcutsToActivities()Landroid/util/ArrayMap;
+PLcom/android/server/pm/ShortcutPackageInfo;-><init>(JJLjava/util/ArrayList;Z)V
+PLcom/android/server/pm/ShortcutPackageInfo;->getVersionCode()J
+PLcom/android/server/pm/ShortcutPackageInfo;->isBackupAllowed()Z
+PLcom/android/server/pm/ShortcutPackageInfo;->isShadow()Z
+PLcom/android/server/pm/ShortcutPackageInfo;->loadFromXml(Lcom/android/modules/utils/TypedXmlPullParser;Z)V
+PLcom/android/server/pm/ShortcutPackageInfo;->newEmpty()Lcom/android/server/pm/ShortcutPackageInfo;
+PLcom/android/server/pm/ShortcutPackageInfo;->saveToXml(Lcom/android/server/pm/ShortcutService;Lcom/android/modules/utils/TypedXmlSerializer;Z)V
+PLcom/android/server/pm/ShortcutPackageInfo;->updateFromPackageInfo(Landroid/content/pm/PackageInfo;)V
+PLcom/android/server/pm/ShortcutPackageItem$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/pm/ShortcutPackageItem;)V
+PLcom/android/server/pm/ShortcutPackageItem$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/pm/ShortcutPackageItem;-><init>(Lcom/android/server/pm/ShortcutUser;ILjava/lang/String;Lcom/android/server/pm/ShortcutPackageInfo;)V
+PLcom/android/server/pm/ShortcutPackageItem;->attemptToRestoreIfNeededAndSave()V
+PLcom/android/server/pm/ShortcutPackageItem;->getPackageInfo()Lcom/android/server/pm/ShortcutPackageInfo;
+PLcom/android/server/pm/ShortcutPackageItem;->getPackageName()Ljava/lang/String;
+PLcom/android/server/pm/ShortcutPackageItem;->getPackageUserId()I
+HPLcom/android/server/pm/ShortcutPackageItem;->getResilientFile(Ljava/io/File;)Lcom/android/server/pm/ResilientAtomicFile;
+PLcom/android/server/pm/ShortcutPackageItem;->getUser()Lcom/android/server/pm/ShortcutUser;
+PLcom/android/server/pm/ShortcutPackageItem;->saveShortcutPackageItem()V
+PLcom/android/server/pm/ShortcutPackageItem;->saveToFileLocked(Ljava/io/File;Z)V
+PLcom/android/server/pm/ShortcutPackageItem;->scheduleSave()V
+PLcom/android/server/pm/ShortcutPackageItem;->waitForBitmapSaves()Z
+PLcom/android/server/pm/ShortcutParser;->parseShortcuts(Lcom/android/server/pm/ShortcutService;Ljava/lang/String;ILjava/util/List;)Ljava/util/List;
+PLcom/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;-><init>(Lcom/android/server/pm/ShortcutService;Ljava/lang/Object;)V
+PLcom/android/server/pm/ShortcutService$$ExternalSyntheticLambda13;-><init>(Lcom/android/server/pm/ShortcutService;Ljava/util/ArrayList;)V
+PLcom/android/server/pm/ShortcutService$$ExternalSyntheticLambda13;->accept(Ljava/lang/Object;)V
+PLcom/android/server/pm/ShortcutService$$ExternalSyntheticLambda16;-><init>(Lcom/android/server/pm/ShortcutService;ILjava/util/List;Ljava/lang/String;Landroid/os/UserHandle;Ljava/util/List;)V
+PLcom/android/server/pm/ShortcutService$$ExternalSyntheticLambda16;->run()V
+PLcom/android/server/pm/ShortcutService$$ExternalSyntheticLambda18;-><init>()V
+PLcom/android/server/pm/ShortcutService$$ExternalSyntheticLambda18;->test(Ljava/lang/Object;)Z
+PLcom/android/server/pm/ShortcutService$$ExternalSyntheticLambda22;-><init>(Lcom/android/server/pm/ShortcutService;I)V
+PLcom/android/server/pm/ShortcutService$$ExternalSyntheticLambda22;->test(Ljava/lang/Object;)Z
+PLcom/android/server/pm/ShortcutService$$ExternalSyntheticLambda26;-><init>(Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutUser;I)V
+PLcom/android/server/pm/ShortcutService$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/pm/ShortcutService;JI)V
+PLcom/android/server/pm/ShortcutService$$ExternalSyntheticLambda6;->run()V
+PLcom/android/server/pm/ShortcutService$$ExternalSyntheticLambda8;-><init>(Lcom/android/server/pm/ShortcutService;)V
+PLcom/android/server/pm/ShortcutService$$ExternalSyntheticLambda8;->run()V
+PLcom/android/server/pm/ShortcutService$$ExternalSyntheticLambda9;-><init>(Lcom/android/server/pm/ShortcutService;ILjava/lang/String;)V
+PLcom/android/server/pm/ShortcutService$$ExternalSyntheticLambda9;->run()V
+PLcom/android/server/pm/ShortcutService$1;-><init>()V
+PLcom/android/server/pm/ShortcutService$1;->test(Landroid/content/pm/ResolveInfo;)Z
+PLcom/android/server/pm/ShortcutService$1;->test(Ljava/lang/Object;)Z
+PLcom/android/server/pm/ShortcutService$2;-><init>()V
+PLcom/android/server/pm/ShortcutService$2;->test(Landroid/content/pm/PackageInfo;)Z
+PLcom/android/server/pm/ShortcutService$2;->test(Ljava/lang/Object;)Z
+PLcom/android/server/pm/ShortcutService$3;-><init>(Lcom/android/server/pm/ShortcutService;)V
+HPLcom/android/server/pm/ShortcutService$4$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/pm/ShortcutService$4;II)V
+PLcom/android/server/pm/ShortcutService$4$$ExternalSyntheticLambda0;->run()V
+HPLcom/android/server/pm/ShortcutService$4$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/pm/ShortcutService$4;I)V
+PLcom/android/server/pm/ShortcutService$4$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/pm/ShortcutService$4;->$r8$lambda$T38dA-CIlJpPfJ4NeUI0t9KKVrc(Lcom/android/server/pm/ShortcutService$4;I)V
+PLcom/android/server/pm/ShortcutService$4;->$r8$lambda$hFVl7KreRTWPjzcQMzQwU2JU-Sg(Lcom/android/server/pm/ShortcutService$4;II)V
+PLcom/android/server/pm/ShortcutService$4;-><init>(Lcom/android/server/pm/ShortcutService;)V
+PLcom/android/server/pm/ShortcutService$4;->lambda$onUidGone$1(I)V
+PLcom/android/server/pm/ShortcutService$4;->lambda$onUidStateChanged$0(II)V
+HPLcom/android/server/pm/ShortcutService$4;->onUidGone(IZ)V
+HPLcom/android/server/pm/ShortcutService$4;->onUidStateChanged(IIJI)V
+PLcom/android/server/pm/ShortcutService$5;-><init>(Lcom/android/server/pm/ShortcutService;)V
+PLcom/android/server/pm/ShortcutService$6;-><init>(Lcom/android/server/pm/ShortcutService;)V
+PLcom/android/server/pm/ShortcutService$7;-><init>(Lcom/android/server/pm/ShortcutService;)V
+PLcom/android/server/pm/ShortcutService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/pm/ShortcutService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/pm/ShortcutService$Lifecycle;->onStart()V
+PLcom/android/server/pm/ShortcutService$Lifecycle;->onUserUnlocking(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/pm/ShortcutService$LocalService$$ExternalSyntheticLambda11;-><init>(JLandroid/util/ArraySet;Landroid/util/ArraySet;Landroid/content/ComponentName;ZZZZZ)V
+PLcom/android/server/pm/ShortcutService$LocalService$$ExternalSyntheticLambda11;->test(Ljava/lang/Object;)Z
+PLcom/android/server/pm/ShortcutService$LocalService$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/pm/ShortcutService$LocalService;ILjava/lang/String;Ljava/util/List;Ljava/util/List;JLandroid/content/ComponentName;IILjava/util/ArrayList;III)V
+PLcom/android/server/pm/ShortcutService$LocalService$$ExternalSyntheticLambda6;->accept(Ljava/lang/Object;)V
+PLcom/android/server/pm/ShortcutService$LocalService;->$r8$lambda$3lWA6IdBBMst2VF_gQSz1s4aYQs(Lcom/android/server/pm/ShortcutService$LocalService;ILjava/lang/String;Ljava/util/List;Ljava/util/List;JLandroid/content/ComponentName;IILjava/util/ArrayList;IIILcom/android/server/pm/ShortcutPackage;)V
+PLcom/android/server/pm/ShortcutService$LocalService;->$r8$lambda$4oN-teeezN_bMPNKBELK1aAUWLM(JLandroid/util/ArraySet;Landroid/util/ArraySet;Landroid/content/ComponentName;ZZZZZLandroid/content/pm/ShortcutInfo;)Z
+PLcom/android/server/pm/ShortcutService$LocalService;-><init>(Lcom/android/server/pm/ShortcutService;)V
+PLcom/android/server/pm/ShortcutService$LocalService;-><init>(Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutService$LocalService-IA;)V
+PLcom/android/server/pm/ShortcutService$LocalService;->addListener(Landroid/content/pm/ShortcutServiceInternal$ShortcutChangeListener;)V
+PLcom/android/server/pm/ShortcutService$LocalService;->addShortcutChangeCallback(Landroid/content/pm/LauncherApps$ShortcutChangeCallback;)V
+PLcom/android/server/pm/ShortcutService$LocalService;->getFilterFromQuery(Landroid/util/ArraySet;Ljava/util/List;JLandroid/content/ComponentName;IZ)Ljava/util/function/Predicate;
+PLcom/android/server/pm/ShortcutService$LocalService;->getShortcuts(ILjava/lang/String;JLjava/lang/String;Ljava/util/List;Ljava/util/List;Landroid/content/ComponentName;IIII)Ljava/util/List;
+PLcom/android/server/pm/ShortcutService$LocalService;->getShortcutsInnerLocked(ILjava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;JLandroid/content/ComponentName;IILjava/util/ArrayList;III)V
+PLcom/android/server/pm/ShortcutService$LocalService;->hasShortcutHostPermission(ILjava/lang/String;II)Z
+PLcom/android/server/pm/ShortcutService$LocalService;->lambda$getFilterFromQuery$1(JLandroid/util/ArraySet;Landroid/util/ArraySet;Landroid/content/ComponentName;ZZZZZLandroid/content/pm/ShortcutInfo;)Z
+PLcom/android/server/pm/ShortcutService$LocalService;->lambda$getShortcuts$0(ILjava/lang/String;Ljava/util/List;Ljava/util/List;JLandroid/content/ComponentName;IILjava/util/ArrayList;IIILcom/android/server/pm/ShortcutPackage;)V
+PLcom/android/server/pm/ShortcutService$LocalService;->setShortcutHostPackage(Ljava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/pm/ShortcutService;->$r8$lambda$7rv-mE0g49gCi8ScAXXEokztNMo(Lcom/android/server/pm/ShortcutService;JI)V
+PLcom/android/server/pm/ShortcutService;->$r8$lambda$BDhOaAE5veHHQ_RtN3GY5v87JoE(Lcom/android/server/pm/ShortcutService;ILandroid/content/pm/ResolveInfo;)Z
+PLcom/android/server/pm/ShortcutService;->$r8$lambda$J6T1wdAzRJXSyM3Fjbs4z0aR2q4(Lcom/android/server/pm/ShortcutService;Ljava/util/ArrayList;Lcom/android/server/pm/ShortcutPackageItem;)V
+PLcom/android/server/pm/ShortcutService;->$r8$lambda$PNh5C8HPIJGGYj6-U9dEpCWj8E4(Landroid/content/pm/ResolveInfo;)Z
+PLcom/android/server/pm/ShortcutService;->$r8$lambda$qmXsSrkG1sY5mQZKbh8vonwJC94(Lcom/android/server/pm/ShortcutService;ILjava/util/List;Ljava/lang/String;Landroid/os/UserHandle;Ljava/util/List;)V
+PLcom/android/server/pm/ShortcutService;->$r8$lambda$yKU4jgBsUzyszwnIVxSwO_MEiaM(Lcom/android/server/pm/ShortcutService;ILjava/lang/String;)V
+PLcom/android/server/pm/ShortcutService;->-$$Nest$fgetmListeners(Lcom/android/server/pm/ShortcutService;)Ljava/util/ArrayList;
+PLcom/android/server/pm/ShortcutService;->-$$Nest$fgetmLock(Lcom/android/server/pm/ShortcutService;)Ljava/lang/Object;
+PLcom/android/server/pm/ShortcutService;->-$$Nest$fgetmShortcutChangeCallbacks(Lcom/android/server/pm/ShortcutService;)Ljava/util/ArrayList;
+PLcom/android/server/pm/ShortcutService;->-$$Nest$msetReturnedByServer(Lcom/android/server/pm/ShortcutService;Ljava/util/List;)Ljava/util/List;
+PLcom/android/server/pm/ShortcutService;->-$$Nest$smisInstalled(Landroid/content/pm/PackageInfo;)Z
+PLcom/android/server/pm/ShortcutService;-><clinit>()V
+PLcom/android/server/pm/ShortcutService;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/pm/ShortcutService;-><init>(Landroid/content/Context;Landroid/os/Looper;Z)V
+PLcom/android/server/pm/ShortcutService;->canSeeAnyPinnedShortcut(Ljava/lang/String;III)Z
+PLcom/android/server/pm/ShortcutService;->checkPackageChanges(I)V
+PLcom/android/server/pm/ShortcutService;->cleanupDanglingBitmapDirectoriesLocked(I)V
+PLcom/android/server/pm/ShortcutService;->forUpdatedPackages(IJZLjava/util/function/Consumer;)V
+PLcom/android/server/pm/ShortcutService;->getActivityInfoWithMetadata(Landroid/content/ComponentName;I)Landroid/content/pm/ActivityInfo;
+PLcom/android/server/pm/ShortcutService;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
+PLcom/android/server/pm/ShortcutService;->getBaseStateFile()Lcom/android/server/pm/ResilientAtomicFile;
+PLcom/android/server/pm/ShortcutService;->getBgLooper()Landroid/os/Looper;
+PLcom/android/server/pm/ShortcutService;->getDefaultLauncher(I)Ljava/lang/String;
+PLcom/android/server/pm/ShortcutService;->getInstalledPackages(I)Ljava/util/List;
+PLcom/android/server/pm/ShortcutService;->getLastResetTimeLocked()J
+PLcom/android/server/pm/ShortcutService;->getLauncherShortcutsLocked(Ljava/lang/String;II)Lcom/android/server/pm/ShortcutLauncher;
+PLcom/android/server/pm/ShortcutService;->getMainActivityIntent()Landroid/content/Intent;
+PLcom/android/server/pm/ShortcutService;->getNonPersistentUserLocked(I)Lcom/android/server/pm/ShortcutNonPersistentUser;
+PLcom/android/server/pm/ShortcutService;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
+PLcom/android/server/pm/ShortcutService;->getPackageInfo(Ljava/lang/String;IZ)Landroid/content/pm/PackageInfo;
+PLcom/android/server/pm/ShortcutService;->getPackageShortcutsForPublisherLocked(Ljava/lang/String;I)Lcom/android/server/pm/ShortcutPackage;
+PLcom/android/server/pm/ShortcutService;->getParentOrSelfUserId(I)I
+PLcom/android/server/pm/ShortcutService;->getStatStartTime()J
+PLcom/android/server/pm/ShortcutService;->getUserBitmapFilePath(I)Ljava/io/File;
+PLcom/android/server/pm/ShortcutService;->getUserFile(I)Lcom/android/server/pm/ResilientAtomicFile;
+PLcom/android/server/pm/ShortcutService;->getUserShortcutsLocked(I)Lcom/android/server/pm/ShortcutUser;
+HPLcom/android/server/pm/ShortcutService;->handleOnUidStateChanged(II)V
+PLcom/android/server/pm/ShortcutService;->handleUnlockUser(I)V
+PLcom/android/server/pm/ShortcutService;->hasShortcutHostPermission(Ljava/lang/String;III)Z
+PLcom/android/server/pm/ShortcutService;->hasShortcutHostPermissionInner(Ljava/lang/String;I)Z
+PLcom/android/server/pm/ShortcutService;->initialize()V
+PLcom/android/server/pm/ShortcutService;->injectApplicationInfoWithUninstalled(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
+PLcom/android/server/pm/ShortcutService;->injectBinderCallingUid()I
+PLcom/android/server/pm/ShortcutService;->injectBuildFingerprint()Ljava/lang/String;
+PLcom/android/server/pm/ShortcutService;->injectClearCallingIdentity()J
+PLcom/android/server/pm/ShortcutService;->injectCurrentTimeMillis()J
+PLcom/android/server/pm/ShortcutService;->injectDipToPixel(I)I
+PLcom/android/server/pm/ShortcutService;->injectElapsedRealtime()J
+PLcom/android/server/pm/ShortcutService;->injectGetActivityInfoWithMetadataWithUninstalled(Landroid/content/ComponentName;I)Landroid/content/pm/ActivityInfo;
+PLcom/android/server/pm/ShortcutService;->injectGetHomeRoleHolderAsUser(I)Ljava/lang/String;
+PLcom/android/server/pm/ShortcutService;->injectGetLocaleTagsForUser(I)Ljava/lang/String;
+PLcom/android/server/pm/ShortcutService;->injectGetMainActivities(Ljava/lang/String;I)Ljava/util/List;
+PLcom/android/server/pm/ShortcutService;->injectGetPackageUid(Ljava/lang/String;I)I
+PLcom/android/server/pm/ShortcutService;->injectGetPackagesWithUninstalled(I)Ljava/util/List;
+PLcom/android/server/pm/ShortcutService;->injectGetResourcesForApplicationAsUser(Ljava/lang/String;I)Landroid/content/res/Resources;
+PLcom/android/server/pm/ShortcutService;->injectHasAccessShortcutsPermission(II)Z
+PLcom/android/server/pm/ShortcutService;->injectIsLowRamDevice()Z
+PLcom/android/server/pm/ShortcutService;->injectIsSafeModeEnabled()Z
+PLcom/android/server/pm/ShortcutService;->injectPackageInfoWithUninstalled(Ljava/lang/String;IZ)Landroid/content/pm/PackageInfo;
+HPLcom/android/server/pm/ShortcutService;->injectPostToHandler(Ljava/lang/Runnable;)V
+PLcom/android/server/pm/ShortcutService;->injectPostToHandlerDebounced(Ljava/lang/Object;Ljava/lang/Runnable;)V
+PLcom/android/server/pm/ShortcutService;->injectRegisterRoleHoldersListener(Landroid/app/role/OnRoleHoldersChangedListener;)V
+PLcom/android/server/pm/ShortcutService;->injectRegisterUidObserver(Landroid/app/IUidObserver;I)V
+PLcom/android/server/pm/ShortcutService;->injectRestoreCallingIdentity(J)V
+PLcom/android/server/pm/ShortcutService;->injectRunOnNewThread(Ljava/lang/Runnable;)V
+PLcom/android/server/pm/ShortcutService;->injectShortcutManagerConstants()Ljava/lang/String;
+PLcom/android/server/pm/ShortcutService;->injectShouldPerformVerification()Z
+PLcom/android/server/pm/ShortcutService;->injectSystemDataPath()Ljava/io/File;
+PLcom/android/server/pm/ShortcutService;->injectUserDataPath(I)Ljava/io/File;
+PLcom/android/server/pm/ShortcutService;->injectXmlMetaData(Landroid/content/pm/ActivityInfo;Ljava/lang/String;)Landroid/content/res/XmlResourceParser;
+PLcom/android/server/pm/ShortcutService;->isAppSearchEnabled()Z
+PLcom/android/server/pm/ShortcutService;->isCallerSystem()Z
+PLcom/android/server/pm/ShortcutService;->isEphemeralApp(Landroid/content/pm/ApplicationInfo;)Z
+PLcom/android/server/pm/ShortcutService;->isEphemeralApp(Ljava/lang/String;I)Z
+PLcom/android/server/pm/ShortcutService;->isInstalled(Landroid/content/pm/ActivityInfo;)Z
+PLcom/android/server/pm/ShortcutService;->isInstalled(Landroid/content/pm/ApplicationInfo;)Z
+PLcom/android/server/pm/ShortcutService;->isInstalled(Landroid/content/pm/PackageInfo;)Z
+PLcom/android/server/pm/ShortcutService;->isInstalledOrNull(Landroid/content/pm/ActivityInfo;)Landroid/content/pm/ActivityInfo;
+PLcom/android/server/pm/ShortcutService;->isInstalledOrNull(Landroid/content/pm/ApplicationInfo;)Landroid/content/pm/ApplicationInfo;
+PLcom/android/server/pm/ShortcutService;->isInstalledOrNull(Landroid/content/pm/PackageInfo;)Landroid/content/pm/PackageInfo;
+PLcom/android/server/pm/ShortcutService;->isPackageInstalled(Ljava/lang/String;I)Z
+PLcom/android/server/pm/ShortcutService;->isProcessStateForeground(I)Z
+PLcom/android/server/pm/ShortcutService;->isSystem(Landroid/content/pm/ActivityInfo;)Z
+PLcom/android/server/pm/ShortcutService;->isSystem(Landroid/content/pm/ApplicationInfo;)Z
+PLcom/android/server/pm/ShortcutService;->isUserUnlockedL(I)Z
+PLcom/android/server/pm/ShortcutService;->lambda$checkPackageChanges$14(Ljava/util/ArrayList;Lcom/android/server/pm/ShortcutPackageItem;)V
+PLcom/android/server/pm/ShortcutService;->lambda$handleUnlockUser$1(JI)V
+PLcom/android/server/pm/ShortcutService;->lambda$notifyListenerRunnable$2(ILjava/lang/String;)V
+PLcom/android/server/pm/ShortcutService;->lambda$notifyShortcutChangeCallbacks$3(ILjava/util/List;Ljava/lang/String;Landroid/os/UserHandle;Ljava/util/List;)V
+PLcom/android/server/pm/ShortcutService;->lambda$queryActivities$16(ILandroid/content/pm/ResolveInfo;)Z
+PLcom/android/server/pm/ShortcutService;->lambda$static$0(Landroid/content/pm/ResolveInfo;)Z
+PLcom/android/server/pm/ShortcutService;->loadBaseStateLocked()V
+PLcom/android/server/pm/ShortcutService;->loadConfigurationLocked()V
+PLcom/android/server/pm/ShortcutService;->loadUserInternal(ILjava/io/InputStream;Z)Lcom/android/server/pm/ShortcutUser;
+PLcom/android/server/pm/ShortcutService;->loadUserLocked(I)Lcom/android/server/pm/ShortcutUser;
+PLcom/android/server/pm/ShortcutService;->logDurationStat(IJ)V
+PLcom/android/server/pm/ShortcutService;->notifyListenerRunnable(Ljava/lang/String;I)Ljava/lang/Runnable;
+PLcom/android/server/pm/ShortcutService;->notifyShortcutChangeCallbacks(Ljava/lang/String;ILjava/util/List;Ljava/util/List;)V
+PLcom/android/server/pm/ShortcutService;->onBootPhase(I)V
+PLcom/android/server/pm/ShortcutService;->packageShortcutsChanged(Lcom/android/server/pm/ShortcutPackage;Ljava/util/List;Ljava/util/List;)V
+PLcom/android/server/pm/ShortcutService;->parseBooleanAttribute(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;)Z
+PLcom/android/server/pm/ShortcutService;->parseBooleanAttribute(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;Z)Z
+PLcom/android/server/pm/ShortcutService;->parseComponentNameAttribute(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;)Landroid/content/ComponentName;
+PLcom/android/server/pm/ShortcutService;->parseIntAttribute(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;)I
+PLcom/android/server/pm/ShortcutService;->parseIntAttribute(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;I)I
+PLcom/android/server/pm/ShortcutService;->parseIntentAttribute(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;)Landroid/content/Intent;
+PLcom/android/server/pm/ShortcutService;->parseIntentAttributeNoDefault(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;)Landroid/content/Intent;
+PLcom/android/server/pm/ShortcutService;->parseLongAttribute(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;)J
+PLcom/android/server/pm/ShortcutService;->parseLongAttribute(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;J)J
+PLcom/android/server/pm/ShortcutService;->parseStringAttribute(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/pm/ShortcutService;->queryActivities(Landroid/content/Intent;IZ)Ljava/util/List;
+PLcom/android/server/pm/ShortcutService;->queryActivities(Landroid/content/Intent;Ljava/lang/String;Landroid/content/ComponentName;I)Ljava/util/List;
+PLcom/android/server/pm/ShortcutService;->removeDynamicShortcuts(Ljava/lang/String;Ljava/util/List;I)V
+PLcom/android/server/pm/ShortcutService;->removeNonKeyFields(Ljava/util/List;)Ljava/util/List;
+PLcom/android/server/pm/ShortcutService;->rescanUpdatedPackagesLocked(IJ)V
+PLcom/android/server/pm/ShortcutService;->saveDirtyInfo()V
+PLcom/android/server/pm/ShortcutService;->saveUser(I)V
+PLcom/android/server/pm/ShortcutService;->saveUserInternalLocked(ILjava/io/OutputStream;Z)V
+PLcom/android/server/pm/ShortcutService;->scheduleSaveInner(I)V
+PLcom/android/server/pm/ShortcutService;->scheduleSaveUser(I)V
+PLcom/android/server/pm/ShortcutService;->setReturnedByServer(Ljava/util/List;)Ljava/util/List;
+PLcom/android/server/pm/ShortcutService;->setShortcutHostPackage(Ljava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/pm/ShortcutService;->shouldBackupApp(Landroid/content/pm/PackageInfo;)Z
+PLcom/android/server/pm/ShortcutService;->throwIfUserLockedL(I)V
+PLcom/android/server/pm/ShortcutService;->updateConfigurationLocked(Ljava/lang/String;)Z
+PLcom/android/server/pm/ShortcutService;->updateTimesLocked()V
+PLcom/android/server/pm/ShortcutService;->verifyCaller(Ljava/lang/String;I)V
+PLcom/android/server/pm/ShortcutService;->verifyStates()V
+PLcom/android/server/pm/ShortcutService;->writeAttr(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/lang/String;J)V
+PLcom/android/server/pm/ShortcutService;->writeAttr(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/lang/String;Landroid/content/ComponentName;)V
+PLcom/android/server/pm/ShortcutService;->writeAttr(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/lang/String;Landroid/content/Intent;)V
+HPLcom/android/server/pm/ShortcutService;->writeAttr(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/lang/String;Ljava/lang/CharSequence;)V
+PLcom/android/server/pm/ShortcutService;->writeAttr(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/lang/String;Z)V
+PLcom/android/server/pm/ShortcutService;->writeTagExtra(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/lang/String;Landroid/os/PersistableBundle;)V
+PLcom/android/server/pm/ShortcutUser$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutUser;Z)V
+PLcom/android/server/pm/ShortcutUser$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;)V
+PLcom/android/server/pm/ShortcutUser$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/pm/ShortcutUser;IZ)V
+PLcom/android/server/pm/ShortcutUser;->$r8$lambda$BeZCg8-9BP9faEuabdbH0SUoZS0(Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutUser;ZLjava/io/File;)V
+PLcom/android/server/pm/ShortcutUser;-><init>(Lcom/android/server/pm/ShortcutService;I)V
+PLcom/android/server/pm/ShortcutUser;->detectLocaleChange()V
+PLcom/android/server/pm/ShortcutUser;->forAllLaunchers(Ljava/util/function/Consumer;)V
+PLcom/android/server/pm/ShortcutUser;->forAllPackageItems(Ljava/util/function/Consumer;)V
+PLcom/android/server/pm/ShortcutUser;->forAllPackages(Ljava/util/function/Consumer;)V
+PLcom/android/server/pm/ShortcutUser;->forMainFilesIn(Ljava/io/File;Ljava/util/function/Consumer;)V
+PLcom/android/server/pm/ShortcutUser;->getCachedLauncher()Ljava/lang/String;
+PLcom/android/server/pm/ShortcutUser;->getLastAppScanOsFingerprint()Ljava/lang/String;
+PLcom/android/server/pm/ShortcutUser;->getLastAppScanTime()J
+PLcom/android/server/pm/ShortcutUser;->getLauncherShortcuts(Ljava/lang/String;I)Lcom/android/server/pm/ShortcutLauncher;
+PLcom/android/server/pm/ShortcutUser;->getPackageShortcuts(Ljava/lang/String;)Lcom/android/server/pm/ShortcutPackage;
+PLcom/android/server/pm/ShortcutUser;->getPackageShortcutsIfExists(Ljava/lang/String;)Lcom/android/server/pm/ShortcutPackage;
+PLcom/android/server/pm/ShortcutUser;->getUserId()I
+PLcom/android/server/pm/ShortcutUser;->lambda$loadFromXml$3(Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutUser;ZLjava/io/File;)V
+PLcom/android/server/pm/ShortcutUser;->loadFromXml(Lcom/android/server/pm/ShortcutService;Lcom/android/modules/utils/TypedXmlPullParser;IZ)Lcom/android/server/pm/ShortcutUser;
+PLcom/android/server/pm/ShortcutUser;->logSharingShortcutStats(Lcom/android/internal/logging/MetricsLogger;)V
+PLcom/android/server/pm/ShortcutUser;->onCalledByPublisher(Ljava/lang/String;)V
+PLcom/android/server/pm/ShortcutUser;->rescanPackageIfNeeded(Ljava/lang/String;Z)V
+PLcom/android/server/pm/ShortcutUser;->saveShortcutPackageItem(Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/server/pm/ShortcutPackageItem;Z)V
+PLcom/android/server/pm/ShortcutUser;->saveToXml(Lcom/android/modules/utils/TypedXmlSerializer;Z)V
+PLcom/android/server/pm/ShortcutUser;->setCachedLauncher(Ljava/lang/String;)V
+PLcom/android/server/pm/ShortcutUser;->setLastAppScanOsFingerprint(Ljava/lang/String;)V
+PLcom/android/server/pm/ShortcutUser;->setLastAppScanTime(J)V
+PLcom/android/server/pm/SilentUpdatePolicy;-><clinit>()V
+PLcom/android/server/pm/SilentUpdatePolicy;-><init>()V
+HSPLcom/android/server/pm/SnapshotStatistics$1;-><init>(Lcom/android/server/pm/SnapshotStatistics;Landroid/os/Looper;)V
+PLcom/android/server/pm/SnapshotStatistics$1;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/server/pm/SnapshotStatistics$BinMap;-><init>([I)V
+HSPLcom/android/server/pm/SnapshotStatistics$BinMap;->count()I
+HSPLcom/android/server/pm/SnapshotStatistics$BinMap;->getBin(I)I
+PLcom/android/server/pm/SnapshotStatistics$Stats;->-$$Nest$mcomplete(Lcom/android/server/pm/SnapshotStatistics$Stats;J)V
+HSPLcom/android/server/pm/SnapshotStatistics$Stats;->-$$Nest$mrebuild(Lcom/android/server/pm/SnapshotStatistics$Stats;IIIIZZ)V
+HSPLcom/android/server/pm/SnapshotStatistics$Stats;-><init>(Lcom/android/server/pm/SnapshotStatistics;J)V
+HSPLcom/android/server/pm/SnapshotStatistics$Stats;-><init>(Lcom/android/server/pm/SnapshotStatistics;JLcom/android/server/pm/SnapshotStatistics$Stats-IA;)V
+PLcom/android/server/pm/SnapshotStatistics$Stats;->complete(J)V
+HSPLcom/android/server/pm/SnapshotStatistics$Stats;->rebuild(IIIIZZ)V
+HSPLcom/android/server/pm/SnapshotStatistics;->-$$Nest$fgetmTimeBins(Lcom/android/server/pm/SnapshotStatistics;)Lcom/android/server/pm/SnapshotStatistics$BinMap;
+HSPLcom/android/server/pm/SnapshotStatistics;->-$$Nest$fgetmUseBins(Lcom/android/server/pm/SnapshotStatistics;)Lcom/android/server/pm/SnapshotStatistics$BinMap;
+PLcom/android/server/pm/SnapshotStatistics;->-$$Nest$mhandleMessage(Lcom/android/server/pm/SnapshotStatistics;Landroid/os/Message;)V
+HSPLcom/android/server/pm/SnapshotStatistics;-><clinit>()V
+HSPLcom/android/server/pm/SnapshotStatistics;-><init>()V
+PLcom/android/server/pm/SnapshotStatistics;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/server/pm/SnapshotStatistics;->rebuild(JJII)V
+HSPLcom/android/server/pm/SnapshotStatistics;->scheduleTick()V
+PLcom/android/server/pm/SnapshotStatistics;->shift([Lcom/android/server/pm/SnapshotStatistics$Stats;J)V
+HPLcom/android/server/pm/SnapshotStatistics;->tick()V
+PLcom/android/server/pm/StagingManager$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/pm/StagingManager;)V
+PLcom/android/server/pm/StagingManager$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/pm/StagingManager$1;-><init>(Lcom/android/server/pm/StagingManager;Landroid/content/pm/IStagedApexObserver;)V
+PLcom/android/server/pm/StagingManager$2;-><init>(Lcom/android/server/pm/StagingManager;)V
+PLcom/android/server/pm/StagingManager$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/pm/StagingManager$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/pm/StagingManager$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/pm/StagingManager$Lifecycle;->onStart()V
+PLcom/android/server/pm/StagingManager$Lifecycle;->startService(Lcom/android/server/pm/StagingManager;)V
+PLcom/android/server/pm/StagingManager;->$r8$lambda$Tc-8JeWCdIuusiZU02QNaF3RrX8(Lcom/android/server/pm/StagingManager;)V
+PLcom/android/server/pm/StagingManager;->-$$Nest$mmarkBootCompleted(Lcom/android/server/pm/StagingManager;)V
+PLcom/android/server/pm/StagingManager;->-$$Nest$mmarkStagedSessionsAsSuccessful(Lcom/android/server/pm/StagingManager;)V
+PLcom/android/server/pm/StagingManager;-><init>(Landroid/content/Context;)V
+PLcom/android/server/pm/StagingManager;-><init>(Landroid/content/Context;Lcom/android/server/pm/ApexManager;)V
+PLcom/android/server/pm/StagingManager;->handleNonReadyAndDestroyedSessions(Ljava/util/List;)V
+PLcom/android/server/pm/StagingManager;->lambda$onBootCompletedBroadcastReceived$1()V
+PLcom/android/server/pm/StagingManager;->logFailedApexSessionsIfNecessary()V
+PLcom/android/server/pm/StagingManager;->markBootCompleted()V
+PLcom/android/server/pm/StagingManager;->markStagedSessionsAsSuccessful()V
+PLcom/android/server/pm/StagingManager;->onBootCompletedBroadcastReceived()V
+PLcom/android/server/pm/StagingManager;->registerStagedApexObserver(Landroid/content/pm/IStagedApexObserver;)V
+PLcom/android/server/pm/StagingManager;->restoreSessions(Ljava/util/List;Z)V
+PLcom/android/server/pm/StagingManager;->systemReady()V
+HSPLcom/android/server/pm/StorageEventHelper;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/DeletePackageHelper;Lcom/android/server/pm/RemovePackageHelper;)V
+PLcom/android/server/pm/StorageEventHelper;->collectAbsoluteCodePaths(Lcom/android/server/pm/Computer;)Ljava/util/List;
+PLcom/android/server/pm/StorageEventHelper;->onVolumeStateChanged(Landroid/os/storage/VolumeInfo;II)V
+PLcom/android/server/pm/StorageEventHelper;->reconcileApps(Lcom/android/server/pm/Computer;Ljava/lang/String;)V
+HSPLcom/android/server/pm/SuspendPackageHelper;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/BroadcastHelper;Lcom/android/server/pm/ProtectedPackages;)V
+HPLcom/android/server/pm/SuspendPackageHelper;->isPackageSuspended(Lcom/android/server/pm/Computer;Ljava/lang/String;II)Z
+HSPLcom/android/server/pm/UpdateOwnershipHelper;-><init>()V
+HPLcom/android/server/pm/UpdateOwnershipHelper;->hasValidOwnershipDenyList(Lcom/android/server/pm/PackageSetting;)Z
+HPLcom/android/server/pm/UpdateOwnershipHelper;->isUpdateOwnershipDenylisted(Ljava/lang/String;)Z
+HSPLcom/android/server/pm/UserDataPreparer;-><init>(Lcom/android/server/pm/Installer;Ljava/lang/Object;Landroid/content/Context;)V
+PLcom/android/server/pm/UserDataPreparer;->enforceSerialNumber(Ljava/io/File;I)V
+PLcom/android/server/pm/UserDataPreparer;->getDataSystemCeDirectory(I)Ljava/io/File;
+PLcom/android/server/pm/UserDataPreparer;->getDataUserCeDirectory(Ljava/lang/String;I)Ljava/io/File;
+PLcom/android/server/pm/UserDataPreparer;->getSerialNumber(Ljava/io/File;)I
+PLcom/android/server/pm/UserDataPreparer;->prepareUserData(Landroid/content/pm/UserInfo;I)V
+PLcom/android/server/pm/UserDataPreparer;->prepareUserDataLI(Ljava/lang/String;Landroid/content/pm/UserInfo;IZ)V
+PLcom/android/server/pm/UserDataPreparer;->reconcileUsers(Ljava/lang/String;Ljava/util/List;)V
+PLcom/android/server/pm/UserDataPreparer;->reconcileUsers(Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
+HSPLcom/android/server/pm/UserJourneyLogger;-><init>()V
+PLcom/android/server/pm/UserJourneyLogger;->findUserJourneySession(I)Lcom/android/server/pm/UserJourneyLogger$UserJourneySession;
+PLcom/android/server/pm/UserJourneyLogger;->getUserTypeForStatsd(Ljava/lang/String;)I
+PLcom/android/server/pm/UserJourneyLogger;->logUserLifecycleEvent(III)V
+PLcom/android/server/pm/UserJourneyLogger;->logUserLifecycleEventOccurred(Lcom/android/server/pm/UserJourneyLogger$UserJourneySession;IIII)V
+PLcom/android/server/pm/UserJourneyLogger;->writeUserLifecycleEventOccurred(JIIII)V
+HSPLcom/android/server/pm/UserManagerInternal;-><init>()V
+PLcom/android/server/pm/UserManagerService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/pm/UserManagerService;Landroid/os/Bundle;I)V
+PLcom/android/server/pm/UserManagerService$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/pm/UserManagerService$$ExternalSyntheticLambda10;-><init>(Lcom/android/server/pm/UserManagerService;)V
+HSPLcom/android/server/pm/UserManagerService$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/pm/UserManagerService;)V
+HSPLcom/android/server/pm/UserManagerService$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/pm/UserManagerService;I)V
+PLcom/android/server/pm/UserManagerService$$ExternalSyntheticLambda9;-><init>(Landroid/os/IUserRestrictionsListener;)V
+PLcom/android/server/pm/UserManagerService$$ExternalSyntheticLambda9;->onUserRestrictionsChanged(ILandroid/os/Bundle;Landroid/os/Bundle;)V
+HSPLcom/android/server/pm/UserManagerService$1;-><init>(Lcom/android/server/pm/UserManagerService;)V
+HSPLcom/android/server/pm/UserManagerService$2;-><init>(Lcom/android/server/pm/UserManagerService;)V
+HSPLcom/android/server/pm/UserManagerService$3;-><init>(Lcom/android/server/pm/UserManagerService;)V
+PLcom/android/server/pm/UserManagerService$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/pm/UserManagerService$4;-><init>(Lcom/android/server/pm/UserManagerService;ILandroid/os/Bundle;Landroid/os/Bundle;)V
+PLcom/android/server/pm/UserManagerService$4;->run()V
+PLcom/android/server/pm/UserManagerService$LifeCycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/pm/UserManagerService$LifeCycle;->onBootPhase(I)V
+PLcom/android/server/pm/UserManagerService$LifeCycle;->onStart()V
+PLcom/android/server/pm/UserManagerService$LifeCycle;->onUserStarting(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/pm/UserManagerService$LifeCycle;->onUserUnlocking(Lcom/android/server/SystemService$TargetUser;)V
+HSPLcom/android/server/pm/UserManagerService$LocalService;-><init>(Lcom/android/server/pm/UserManagerService;)V
+HSPLcom/android/server/pm/UserManagerService$LocalService;-><init>(Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService$LocalService-IA;)V
+PLcom/android/server/pm/UserManagerService$LocalService;->addUserLifecycleListener(Lcom/android/server/pm/UserManagerInternal$UserLifecycleListener;)V
+PLcom/android/server/pm/UserManagerService$LocalService;->addUserRestrictionsListener(Lcom/android/server/pm/UserManagerInternal$UserRestrictionsListener;)V
+PLcom/android/server/pm/UserManagerService$LocalService;->addUserVisibilityListener(Lcom/android/server/pm/UserManagerInternal$UserVisibilityListener;)V
+HSPLcom/android/server/pm/UserManagerService$LocalService;->exists(I)Z
+PLcom/android/server/pm/UserManagerService$LocalService;->getCommunalProfileId()I
+PLcom/android/server/pm/UserManagerService$LocalService;->getMainUserId()I
+PLcom/android/server/pm/UserManagerService$LocalService;->getProfileIds(IZ)[I
+PLcom/android/server/pm/UserManagerService$LocalService;->getProfileParentId(I)I
+PLcom/android/server/pm/UserManagerService$LocalService;->getUserIds()[I
+HPLcom/android/server/pm/UserManagerService$LocalService;->getUserInfo(I)Landroid/content/pm/UserInfo;
+HPLcom/android/server/pm/UserManagerService$LocalService;->getUserInfos()[Landroid/content/pm/UserInfo;
+HPLcom/android/server/pm/UserManagerService$LocalService;->getUserProperties(I)Landroid/content/pm/UserProperties;
+PLcom/android/server/pm/UserManagerService$LocalService;->getUserRestriction(ILjava/lang/String;)Z
+PLcom/android/server/pm/UserManagerService$LocalService;->getUsers(Z)Ljava/util/List;
+HSPLcom/android/server/pm/UserManagerService$LocalService;->getUsers(ZZZ)Ljava/util/List;
+HPLcom/android/server/pm/UserManagerService$LocalService;->hasUserRestriction(Ljava/lang/String;I)Z
+PLcom/android/server/pm/UserManagerService$LocalService;->isProfileAccessible(IILjava/lang/String;Z)Z
+HPLcom/android/server/pm/UserManagerService$LocalService;->isUserRunning(I)Z
+HPLcom/android/server/pm/UserManagerService$LocalService;->isUserUnlocked(I)Z
+HPLcom/android/server/pm/UserManagerService$LocalService;->isUserUnlockingOrUnlocked(I)Z
+HPLcom/android/server/pm/UserManagerService$LocalService;->isUserVisible(I)Z
+PLcom/android/server/pm/UserManagerService$LocalService;->onSystemUserVisibilityChanged(Z)V
+PLcom/android/server/pm/UserManagerService$LocalService;->setUserState(II)V
+HSPLcom/android/server/pm/UserManagerService$MainHandler;-><init>(Lcom/android/server/pm/UserManagerService;)V
+PLcom/android/server/pm/UserManagerService$MainHandler;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/server/pm/UserManagerService$SettingsObserver;-><init>(Lcom/android/server/pm/UserManagerService;Landroid/os/Handler;)V
+HSPLcom/android/server/pm/UserManagerService$UserData;-><init>()V
+PLcom/android/server/pm/UserManagerService$UserData;->getIgnorePrepareStorageErrors()Z
+PLcom/android/server/pm/UserManagerService$UserData;->getLastRequestQuietModeEnabledMillis()J
+HSPLcom/android/server/pm/UserManagerService$UserData;->setLastRequestQuietModeEnabledMillis(J)V
+HSPLcom/android/server/pm/UserManagerService$WatchedUserStates;-><init>(Lcom/android/server/pm/UserManagerService;)V
+HPLcom/android/server/pm/UserManagerService$WatchedUserStates;->get(II)I
+HSPLcom/android/server/pm/UserManagerService$WatchedUserStates;->invalidateIsUserUnlockedCache()V
+HSPLcom/android/server/pm/UserManagerService$WatchedUserStates;->put(II)V
+PLcom/android/server/pm/UserManagerService;->$r8$lambda$GUi0BCW04izr6742i0VPIXzrq1o(Lcom/android/server/pm/UserManagerService;Landroid/os/Bundle;I)V
+PLcom/android/server/pm/UserManagerService;->$r8$lambda$LvInK5qZJcI6bZ0Fs5Aic8iLG5s(Landroid/os/IUserRestrictionsListener;ILandroid/os/Bundle;Landroid/os/Bundle;)V
+PLcom/android/server/pm/UserManagerService;->-$$Nest$fgetmContext(Lcom/android/server/pm/UserManagerService;)Landroid/content/Context;
+PLcom/android/server/pm/UserManagerService;->-$$Nest$fgetmPackagesLock(Lcom/android/server/pm/UserManagerService;)Ljava/lang/Object;
+PLcom/android/server/pm/UserManagerService;->-$$Nest$fgetmPm(Lcom/android/server/pm/UserManagerService;)Lcom/android/server/pm/PackageManagerService;
+PLcom/android/server/pm/UserManagerService;->-$$Nest$fgetmUserLifecycleListeners(Lcom/android/server/pm/UserManagerService;)Ljava/util/ArrayList;
+PLcom/android/server/pm/UserManagerService;->-$$Nest$fgetmUserRestrictionsListeners(Lcom/android/server/pm/UserManagerService;)Ljava/util/ArrayList;
+HPLcom/android/server/pm/UserManagerService;->-$$Nest$fgetmUserStates(Lcom/android/server/pm/UserManagerService;)Lcom/android/server/pm/UserManagerService$WatchedUserStates;
+HPLcom/android/server/pm/UserManagerService;->-$$Nest$fgetmUserVisibilityMediator(Lcom/android/server/pm/UserManagerService;)Lcom/android/server/pm/UserVisibilityMediator;
+HPLcom/android/server/pm/UserManagerService;->-$$Nest$fgetmUsers(Lcom/android/server/pm/UserManagerService;)Landroid/util/SparseArray;
+HPLcom/android/server/pm/UserManagerService;->-$$Nest$fgetmUsersLock(Lcom/android/server/pm/UserManagerService;)Ljava/lang/Object;
+PLcom/android/server/pm/UserManagerService;->-$$Nest$mcleanupPartialUsers(Lcom/android/server/pm/UserManagerService;)V
+PLcom/android/server/pm/UserManagerService;->-$$Nest$mgetCommunalProfileIdUnchecked(Lcom/android/server/pm/UserManagerService;)I
+HPLcom/android/server/pm/UserManagerService;->-$$Nest$mgetEffectiveUserRestrictions(Lcom/android/server/pm/UserManagerService;I)Landroid/os/Bundle;
+PLcom/android/server/pm/UserManagerService;->-$$Nest$mgetMainUserIdUnchecked(Lcom/android/server/pm/UserManagerService;)I
+PLcom/android/server/pm/UserManagerService;->-$$Nest$mgetProfileIdsLU(Lcom/android/server/pm/UserManagerService;ILjava/lang/String;ZZ)Landroid/util/IntArray;
+PLcom/android/server/pm/UserManagerService;->-$$Nest$mgetProfileParentIdUnchecked(Lcom/android/server/pm/UserManagerService;I)I
+PLcom/android/server/pm/UserManagerService;->-$$Nest$mgetUserDataLU(Lcom/android/server/pm/UserManagerService;I)Lcom/android/server/pm/UserManagerService$UserData;
+PLcom/android/server/pm/UserManagerService;->-$$Nest$mgetUserDataNoChecks(Lcom/android/server/pm/UserManagerService;I)Lcom/android/server/pm/UserManagerService$UserData;
+HSPLcom/android/server/pm/UserManagerService;->-$$Nest$mgetUserInfoNoChecks(Lcom/android/server/pm/UserManagerService;I)Landroid/content/pm/UserInfo;
+HPLcom/android/server/pm/UserManagerService;->-$$Nest$mgetUserPropertiesInternal(Lcom/android/server/pm/UserManagerService;I)Landroid/content/pm/UserProperties;
+HSPLcom/android/server/pm/UserManagerService;->-$$Nest$mgetUsersInternal(Lcom/android/server/pm/UserManagerService;ZZZ)Ljava/util/List;
+PLcom/android/server/pm/UserManagerService;->-$$Nest$minvalidateOwnerNameIfNecessary(Lcom/android/server/pm/UserManagerService;Landroid/content/res/Resources;Z)V
+PLcom/android/server/pm/UserManagerService;->-$$Nest$mregisterStatsCallbacks(Lcom/android/server/pm/UserManagerService;)V
+PLcom/android/server/pm/UserManagerService;->-$$Nest$msetLastEnteredForegroundTimeToNow(Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService$UserData;)V
+PLcom/android/server/pm/UserManagerService;->-$$Nest$mwriteUserLP(Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService$UserData;)V
+HSPLcom/android/server/pm/UserManagerService;-><clinit>()V
+HSPLcom/android/server/pm/UserManagerService;-><init>(Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/UserDataPreparer;Ljava/lang/Object;)V
+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;Landroid/util/SparseArray;)V
+PLcom/android/server/pm/UserManagerService;->addUserRestrictionsListener(Landroid/os/IUserRestrictionsListener;)V
+PLcom/android/server/pm/UserManagerService;->applyUserRestrictionsLR(I)V
+PLcom/android/server/pm/UserManagerService;->autoLockPrivateSpace()V
+HPLcom/android/server/pm/UserManagerService;->checkCreateUsersPermission(Ljava/lang/String;)V
+HPLcom/android/server/pm/UserManagerService;->checkManageOrInteractPermissionIfCallerInOtherProfileGroup(ILjava/lang/String;)V
+PLcom/android/server/pm/UserManagerService;->checkManageUsersPermission(Ljava/lang/String;)V
+HPLcom/android/server/pm/UserManagerService;->checkQueryOrCreateUsersPermission(Ljava/lang/String;)V
+PLcom/android/server/pm/UserManagerService;->checkQueryOrInteractPermissionIfCallerInOtherProfileGroup(ILjava/lang/String;)V
+PLcom/android/server/pm/UserManagerService;->cleanupPartialUsers()V
+HPLcom/android/server/pm/UserManagerService;->computeEffectiveUserRestrictionsLR(I)Landroid/os/Bundle;
+HSPLcom/android/server/pm/UserManagerService;->emulateSystemUserModeIfNeeded()V
+HPLcom/android/server/pm/UserManagerService;->exists(I)Z
+PLcom/android/server/pm/UserManagerService;->getApplicationRestrictions(Ljava/lang/String;)Landroid/os/Bundle;
+HPLcom/android/server/pm/UserManagerService;->getApplicationRestrictionsForUser(Ljava/lang/String;I)Landroid/os/Bundle;
+PLcom/android/server/pm/UserManagerService;->getCommunalProfileIdUnchecked()I
+HPLcom/android/server/pm/UserManagerService;->getEffectiveUserRestrictions(I)Landroid/os/Bundle;
+HSPLcom/android/server/pm/UserManagerService;->getInstance()Lcom/android/server/pm/UserManagerService;
+HSPLcom/android/server/pm/UserManagerService;->getInternalForInjectorOnly()Lcom/android/server/pm/UserManagerInternal;
+PLcom/android/server/pm/UserManagerService;->getMainUserId()I
+HPLcom/android/server/pm/UserManagerService;->getMainUserIdUnchecked()I
+HSPLcom/android/server/pm/UserManagerService;->getOwnerName()Ljava/lang/String;
+PLcom/android/server/pm/UserManagerService;->getPackageManagerInternal()Landroid/content/pm/PackageManagerInternal;
+PLcom/android/server/pm/UserManagerService;->getPrimaryUser()Landroid/content/pm/UserInfo;
+PLcom/android/server/pm/UserManagerService;->getPrivateProfileUserId()I
+HPLcom/android/server/pm/UserManagerService;->getProfileIds(ILjava/lang/String;ZZ)[I
+PLcom/android/server/pm/UserManagerService;->getProfileIds(IZ)[I
+PLcom/android/server/pm/UserManagerService;->getProfileIdsExcludingHidden(IZ)[I
+HPLcom/android/server/pm/UserManagerService;->getProfileIdsLU(ILjava/lang/String;ZZ)Landroid/util/IntArray;
+HPLcom/android/server/pm/UserManagerService;->getProfileParent(I)Landroid/content/pm/UserInfo;
+PLcom/android/server/pm/UserManagerService;->getProfileParentIdUnchecked(I)I
+HPLcom/android/server/pm/UserManagerService;->getProfileParentLU(I)Landroid/content/pm/UserInfo;
+HPLcom/android/server/pm/UserManagerService;->getProfileType(I)Ljava/lang/String;
+HPLcom/android/server/pm/UserManagerService;->getProfiles(IZ)Ljava/util/List;
+HPLcom/android/server/pm/UserManagerService;->getProfilesLU(ILjava/lang/String;ZZ)Ljava/util/List;
+HPLcom/android/server/pm/UserManagerService;->getUidForPackage(Ljava/lang/String;)I
+HPLcom/android/server/pm/UserManagerService;->getUserDataLU(I)Lcom/android/server/pm/UserManagerService$UserData;
+PLcom/android/server/pm/UserManagerService;->getUserDataNoChecks(I)Lcom/android/server/pm/UserManagerService$UserData;
+HSPLcom/android/server/pm/UserManagerService;->getUserFile(I)Lcom/android/server/pm/ResilientAtomicFile;
+PLcom/android/server/pm/UserManagerService;->getUserHandle(I)I
+HPLcom/android/server/pm/UserManagerService;->getUserIds()[I
+HSPLcom/android/server/pm/UserManagerService;->getUserIdsIncludingPreCreated()[I
+HPLcom/android/server/pm/UserManagerService;->getUserInfo(I)Landroid/content/pm/UserInfo;
+HPLcom/android/server/pm/UserManagerService;->getUserInfoLU(I)Landroid/content/pm/UserInfo;
+HSPLcom/android/server/pm/UserManagerService;->getUserInfoNoChecks(I)Landroid/content/pm/UserInfo;
+PLcom/android/server/pm/UserManagerService;->getUserJourneyLogger()Lcom/android/server/pm/UserJourneyLogger;
+HSPLcom/android/server/pm/UserManagerService;->getUserListFile()Lcom/android/server/pm/ResilientAtomicFile;
+HPLcom/android/server/pm/UserManagerService;->getUserPropertiesCopy(I)Landroid/content/pm/UserProperties;
+HPLcom/android/server/pm/UserManagerService;->getUserPropertiesInternal(I)Landroid/content/pm/UserProperties;
+PLcom/android/server/pm/UserManagerService;->getUserRestrictions(I)Landroid/os/Bundle;
+HPLcom/android/server/pm/UserManagerService;->getUserSerialNumber(I)I
+PLcom/android/server/pm/UserManagerService;->getUserStartRealtime()J
+PLcom/android/server/pm/UserManagerService;->getUserUnlockRealtime()J
+PLcom/android/server/pm/UserManagerService;->getUsers(Z)Ljava/util/List;
+HPLcom/android/server/pm/UserManagerService;->getUsers(ZZZ)Ljava/util/List;
+HSPLcom/android/server/pm/UserManagerService;->getUsersInternal(ZZZ)Ljava/util/List;
+PLcom/android/server/pm/UserManagerService;->getVisibleUsers()[I
+HPLcom/android/server/pm/UserManagerService;->hasCreateUsersPermission()Z
+HPLcom/android/server/pm/UserManagerService;->hasManageUsersOrPermission(Ljava/lang/String;)Z
+HPLcom/android/server/pm/UserManagerService;->hasManageUsersPermission()Z
+HPLcom/android/server/pm/UserManagerService;->hasManageUsersPermission(I)Z
+HPLcom/android/server/pm/UserManagerService;->hasPermissionGranted(Ljava/lang/String;I)Z
+HPLcom/android/server/pm/UserManagerService;->hasProfile(I)Z
+PLcom/android/server/pm/UserManagerService;->hasQueryOrCreateUsersPermission()Z
+HPLcom/android/server/pm/UserManagerService;->hasQueryUsersPermission()Z
+HPLcom/android/server/pm/UserManagerService;->hasUserRestriction(Ljava/lang/String;I)Z
+HSPLcom/android/server/pm/UserManagerService;->initDefaultGuestRestrictions()V
+PLcom/android/server/pm/UserManagerService;->installWhitelistedSystemPackages(ZZLandroid/util/ArraySet;)Z
+HSPLcom/android/server/pm/UserManagerService;->invalidateOwnerNameIfNecessary(Landroid/content/res/Resources;Z)V
+PLcom/android/server/pm/UserManagerService;->isAutoLockForPrivateSpaceEnabled()Z
+PLcom/android/server/pm/UserManagerService;->isAutoLockingPrivateSpaceOnRestartsEnabled()Z
+PLcom/android/server/pm/UserManagerService;->isDemoUser(I)Z
+PLcom/android/server/pm/UserManagerService;->isHeadlessSystemUserMode()Z
+PLcom/android/server/pm/UserManagerService;->isPreCreated(I)Z
+PLcom/android/server/pm/UserManagerService;->isProfileHidden(I)Z
+HPLcom/android/server/pm/UserManagerService;->isProfileOf(Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo;)Z
+PLcom/android/server/pm/UserManagerService;->isQuietModeEnabled(I)Z
+PLcom/android/server/pm/UserManagerService;->isRestricted(I)Z
+PLcom/android/server/pm/UserManagerService;->isSameProfileGroup(II)Z
+HPLcom/android/server/pm/UserManagerService;->isSettingRestrictedForUser(Ljava/lang/String;ILjava/lang/String;I)Z
+HPLcom/android/server/pm/UserManagerService;->isUserRunning(I)Z
+HSPLcom/android/server/pm/UserManagerService;->isUserTypeSubtypeOfFull(Ljava/lang/String;)Z
+HSPLcom/android/server/pm/UserManagerService;->isUserTypeSubtypeOfProfile(Ljava/lang/String;)Z
+HSPLcom/android/server/pm/UserManagerService;->isUserTypeSubtypeOfSystem(Ljava/lang/String;)Z
+HPLcom/android/server/pm/UserManagerService;->isUserUnlocked(I)Z
+HPLcom/android/server/pm/UserManagerService;->isUserUnlockingOrUnlocked(I)Z
+PLcom/android/server/pm/UserManagerService;->lambda$addUserRestrictionsListener$3(Landroid/os/IUserRestrictionsListener;ILandroid/os/Bundle;Landroid/os/Bundle;)V
+PLcom/android/server/pm/UserManagerService;->lambda$updateUserRestrictionsInternalLR$4(Landroid/os/Bundle;I)V
+PLcom/android/server/pm/UserManagerService;->markEphemeralUsersForRemoval()V
+PLcom/android/server/pm/UserManagerService;->onBeforeUnlockUser(I)V
+PLcom/android/server/pm/UserManagerService;->onUserLoggedIn(I)V
+HPLcom/android/server/pm/UserManagerService;->packageToRestrictionsFileName(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/pm/UserManagerService;->propagateUserRestrictionsLR(ILandroid/os/Bundle;Landroid/os/Bundle;)V
+HPLcom/android/server/pm/UserManagerService;->readApplicationRestrictionsLAr(Landroid/util/AtomicFile;)Landroid/os/Bundle;
+HPLcom/android/server/pm/UserManagerService;->readApplicationRestrictionsLAr(Ljava/lang/String;I)Landroid/os/Bundle;
+HSPLcom/android/server/pm/UserManagerService;->readUserLP(II)Lcom/android/server/pm/UserManagerService$UserData;
+HPLcom/android/server/pm/UserManagerService;->readUserLP(ILjava/io/InputStream;I)Lcom/android/server/pm/UserManagerService$UserData;
+HSPLcom/android/server/pm/UserManagerService;->readUserListLP()V
+PLcom/android/server/pm/UserManagerService;->reconcileUsers(Ljava/lang/String;)V
+PLcom/android/server/pm/UserManagerService;->registerStatsCallbacks()V
+PLcom/android/server/pm/UserManagerService;->scheduleWriteUser(I)V
+PLcom/android/server/pm/UserManagerService;->setLastEnteredForegroundTimeToNow(Lcom/android/server/pm/UserManagerService$UserData;)V
+PLcom/android/server/pm/UserManagerService;->setOrUpdateAutoLockPreferenceForPrivateProfile(I)V
+PLcom/android/server/pm/UserManagerService;->setUserRestriction(Ljava/lang/String;ZI)V
+PLcom/android/server/pm/UserManagerService;->systemReady()V
+HSPLcom/android/server/pm/UserManagerService;->updateUserIds()V
+PLcom/android/server/pm/UserManagerService;->updateUserRestrictionsInternalLR(Landroid/os/Bundle;I)V
+HSPLcom/android/server/pm/UserManagerService;->updateUsersWithFeatureFlags(Z)V
+HSPLcom/android/server/pm/UserManagerService;->upgradeIfNecessaryLP()V
+HSPLcom/android/server/pm/UserManagerService;->upgradeIfNecessaryLP(II)V
+PLcom/android/server/pm/UserManagerService;->userExists(I)Z
+HSPLcom/android/server/pm/UserManagerService;->userWithName(Landroid/content/pm/UserInfo;)Landroid/content/pm/UserInfo;
+PLcom/android/server/pm/UserManagerService;->writeUserLP(Lcom/android/server/pm/UserManagerService$UserData;)V
+HPLcom/android/server/pm/UserManagerService;->writeUserLP(Lcom/android/server/pm/UserManagerService$UserData;Ljava/io/OutputStream;)V
+HSPLcom/android/server/pm/UserNeedsBadgingCache;-><init>(Lcom/android/server/pm/UserManagerService;)V
+HPLcom/android/server/pm/UserNeedsBadgingCache;->get(I)Z
+HSPLcom/android/server/pm/UserRestrictionsUtils;-><clinit>()V
+PLcom/android/server/pm/UserRestrictionsUtils;->applyUserRestrictions(Landroid/content/Context;ILandroid/os/Bundle;Landroid/os/Bundle;)V
+HSPLcom/android/server/pm/UserRestrictionsUtils;->areEqual(Landroid/os/Bundle;Landroid/os/Bundle;)Z
+HPLcom/android/server/pm/UserRestrictionsUtils;->isSettingRestrictedForUser(Landroid/content/Context;Ljava/lang/String;ILjava/lang/String;I)Z
+HPLcom/android/server/pm/UserRestrictionsUtils;->isValidRestriction(Ljava/lang/String;)Z
+HSPLcom/android/server/pm/UserRestrictionsUtils;->merge(Landroid/os/Bundle;Landroid/os/Bundle;)V
+HSPLcom/android/server/pm/UserRestrictionsUtils;->newSetWithUniqueCheck([Ljava/lang/String;)Ljava/util/Set;
+PLcom/android/server/pm/UserRestrictionsUtils;->nonNull(Landroid/os/Bundle;)Landroid/os/Bundle;
+HSPLcom/android/server/pm/UserRestrictionsUtils;->readRestrictions(Lcom/android/modules/utils/TypedXmlPullParser;)Landroid/os/Bundle;
+HSPLcom/android/server/pm/UserRestrictionsUtils;->readRestrictions(Lcom/android/modules/utils/TypedXmlPullParser;Landroid/os/Bundle;)V
+PLcom/android/server/pm/UserRestrictionsUtils;->restrictionsChanged(Landroid/os/Bundle;Landroid/os/Bundle;[Ljava/lang/String;)Z
+PLcom/android/server/pm/UserRestrictionsUtils;->writeRestrictions(Lcom/android/modules/utils/TypedXmlSerializer;Landroid/os/Bundle;Ljava/lang/String;)V
+HSPLcom/android/server/pm/UserSystemPackageInstaller;-><clinit>()V
+HSPLcom/android/server/pm/UserSystemPackageInstaller;-><init>(Lcom/android/server/pm/UserManagerService;Landroid/util/ArrayMap;)V
+PLcom/android/server/pm/UserSystemPackageInstaller;->checkWhitelistedSystemPackages(I)V
+HSPLcom/android/server/pm/UserSystemPackageInstaller;->determineWhitelistedPackagesForUserTypes(Lcom/android/server/SystemConfig;)Landroid/util/ArrayMap;
+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;->getDeviceDefaultWhitelistMode()I
+PLcom/android/server/pm/UserSystemPackageInstaller;->getPackagesWhitelistWarnings()Ljava/util/List;
+HSPLcom/android/server/pm/UserSystemPackageInstaller;->getTypesBitSet(Ljava/lang/Iterable;Ljava/util/Map;)J
+HSPLcom/android/server/pm/UserSystemPackageInstaller;->getUserTypeMask(Ljava/lang/String;)J
+PLcom/android/server/pm/UserSystemPackageInstaller;->getWhitelistMode()I
+PLcom/android/server/pm/UserSystemPackageInstaller;->getWhitelistedSystemPackages()Ljava/util/Set;
+PLcom/android/server/pm/UserSystemPackageInstaller;->installWhitelistedSystemPackages(ZZLandroid/util/ArraySet;)Z
+PLcom/android/server/pm/UserSystemPackageInstaller;->isEnforceMode(I)Z
+PLcom/android/server/pm/UserSystemPackageInstaller;->isImplicitWhitelistMode(I)Z
+PLcom/android/server/pm/UserSystemPackageInstaller;->isLogMode(I)Z
+PLcom/android/server/pm/UserSystemPackageInstaller;->modeToString(I)Ljava/lang/String;
+PLcom/android/server/pm/UserSystemPackageInstaller;->shouldUseOverlayTargetName(Lcom/android/server/pm/pkg/AndroidPackage;)Z
+HSPLcom/android/server/pm/UserTypeDetails$Builder;-><init>()V
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->checkSystemAndMainUserPreconditions()V
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->createUserTypeDetails()Lcom/android/server/pm/UserTypeDetails;
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->getDefaultUserProperties()Landroid/content/pm/UserProperties;
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->hasBadge()Z
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->hasValidBaseType()Z
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->hasValidPropertyFlags()Z
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->isProfile()Z
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->setBadgeColors([I)Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->setBadgeLabels([I)Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->setBadgeNoBackground(I)Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->setBadgePlain(I)Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->setBaseType(I)Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->setDarkThemeBadgeColors([I)Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->setDefaultCrossProfileIntentFilters(Ljava/util/List;)Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->setDefaultRestrictions(Landroid/os/Bundle;)Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->setDefaultSecureSettings(Landroid/os/Bundle;)Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->setDefaultUserInfoPropertyFlags(I)Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->setDefaultUserProperties(Landroid/content/pm/UserProperties$Builder;)Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->setEnabled(I)Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->setIconBadge(I)Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->setLabels([I)Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->setMaxAllowed(I)Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->setMaxAllowedPerParent(I)Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->setName(Ljava/lang/String;)Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->setStatusBarIcon(I)Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeDetails;-><init>(Ljava/lang/String;ZIII[IIIIII[I[I[ILandroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;Ljava/util/List;Landroid/content/pm/UserProperties;)V
+HSPLcom/android/server/pm/UserTypeDetails;-><init>(Ljava/lang/String;ZIII[IIIIII[I[I[ILandroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;Ljava/util/List;Landroid/content/pm/UserProperties;Lcom/android/server/pm/UserTypeDetails-IA;)V
+HSPLcom/android/server/pm/UserTypeDetails;->addDefaultRestrictionsTo(Landroid/os/Bundle;)V
+HSPLcom/android/server/pm/UserTypeDetails;->getDefaultUserPropertiesReference()Landroid/content/pm/UserProperties;
+HSPLcom/android/server/pm/UserTypeDetails;->isFull()Z
+HSPLcom/android/server/pm/UserTypeDetails;->isProfile()Z
+HSPLcom/android/server/pm/UserTypeDetails;->isSystem()Z
+HSPLcom/android/server/pm/UserTypeFactory;->customizeBuilders(Landroid/util/ArrayMap;Landroid/content/res/XmlResourceParser;)V
+HSPLcom/android/server/pm/UserTypeFactory;->getDefaultBuilders()Landroid/util/ArrayMap;
+HSPLcom/android/server/pm/UserTypeFactory;->getDefaultCloneCrossProfileIntentFilter()Ljava/util/List;
+HSPLcom/android/server/pm/UserTypeFactory;->getDefaultGuestUserRestrictions()Landroid/os/Bundle;
+HSPLcom/android/server/pm/UserTypeFactory;->getDefaultManagedCrossProfileIntentFilter()Ljava/util/List;
+HSPLcom/android/server/pm/UserTypeFactory;->getDefaultManagedProfileSecureSettings()Landroid/os/Bundle;
+HSPLcom/android/server/pm/UserTypeFactory;->getDefaultNonManagedProfileSecureSettings()Landroid/os/Bundle;
+HSPLcom/android/server/pm/UserTypeFactory;->getDefaultProfileRestrictions()Landroid/os/Bundle;
+HSPLcom/android/server/pm/UserTypeFactory;->getDefaultSecondaryUserRestrictions()Landroid/os/Bundle;
+HSPLcom/android/server/pm/UserTypeFactory;->getDefaultTypeFullDemo()Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeFactory;->getDefaultTypeFullGuest()Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeFactory;->getDefaultTypeFullRestricted()Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeFactory;->getDefaultTypeFullSecondary()Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeFactory;->getDefaultTypeFullSystem()Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeFactory;->getDefaultTypeProfileClone()Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeFactory;->getDefaultTypeProfileCommunal()Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeFactory;->getDefaultTypeProfileManaged()Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeFactory;->getDefaultTypeProfilePrivate()Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeFactory;->getDefaultTypeProfileTest()Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeFactory;->getDefaultTypeSystemHeadless()Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeFactory;->getUserTypeVersion()I
+HSPLcom/android/server/pm/UserTypeFactory;->getUserTypeVersion(Landroid/content/res/XmlResourceParser;)I
+HSPLcom/android/server/pm/UserTypeFactory;->getUserTypes()Landroid/util/ArrayMap;
+PLcom/android/server/pm/UserVisibilityMediator$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/pm/UserManagerInternal$UserVisibilityListener;IZ)V
+PLcom/android/server/pm/UserVisibilityMediator$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/pm/UserVisibilityMediator;->$r8$lambda$RwzqKlQYDyxdAxTJhHVafFhaCRE(Lcom/android/server/pm/UserManagerInternal$UserVisibilityListener;IZ)V
+HSPLcom/android/server/pm/UserVisibilityMediator;-><clinit>()V
+HSPLcom/android/server/pm/UserVisibilityMediator;-><init>(Landroid/os/Handler;)V
+HSPLcom/android/server/pm/UserVisibilityMediator;-><init>(ZZLandroid/os/Handler;)V
+PLcom/android/server/pm/UserVisibilityMediator;->addListener(Lcom/android/server/pm/UserManagerInternal$UserVisibilityListener;)V
+PLcom/android/server/pm/UserVisibilityMediator;->dispatchVisibilityChanged(Ljava/util/concurrent/CopyOnWriteArrayList;IZ)V
+PLcom/android/server/pm/UserVisibilityMediator;->getVisibleUsers()Landroid/util/IntArray;
+HPLcom/android/server/pm/UserVisibilityMediator;->isCurrentUserOrRunningProfileOfCurrentUser(I)Z
+HPLcom/android/server/pm/UserVisibilityMediator;->isUserVisible(I)Z
+PLcom/android/server/pm/UserVisibilityMediator;->lambda$dispatchVisibilityChanged$0(Lcom/android/server/pm/UserManagerInternal$UserVisibilityListener;IZ)V
+PLcom/android/server/pm/UserVisibilityMediator;->onSystemUserVisibilityChanged(Z)V
+HSPLcom/android/server/pm/WatchedIntentFilter;-><init>()V
+HSPLcom/android/server/pm/WatchedIntentFilter;-><init>(Landroid/content/IntentFilter;)V
+HSPLcom/android/server/pm/WatchedIntentFilter;-><init>(Lcom/android/server/pm/WatchedIntentFilter;)V
+HSPLcom/android/server/pm/WatchedIntentFilter;->addAction(Ljava/lang/String;)V
+HSPLcom/android/server/pm/WatchedIntentFilter;->addCategory(Ljava/lang/String;)V
+HSPLcom/android/server/pm/WatchedIntentFilter;->addDataScheme(Ljava/lang/String;)V
+HSPLcom/android/server/pm/WatchedIntentFilter;->addDataType(Ljava/lang/String;)V
+HSPLcom/android/server/pm/WatchedIntentFilter;->getIntentFilter()Landroid/content/IntentFilter;
+HSPLcom/android/server/pm/WatchedIntentFilter;->onChanged()V
+HSPLcom/android/server/pm/WatchedIntentResolver$1;-><init>(Lcom/android/server/pm/WatchedIntentResolver;)V
+HSPLcom/android/server/pm/WatchedIntentResolver$2;-><init>()V
+HSPLcom/android/server/pm/WatchedIntentResolver;-><clinit>()V
+HSPLcom/android/server/pm/WatchedIntentResolver;-><init>()V
+HSPLcom/android/server/pm/WatchedIntentResolver;->addFilter(Lcom/android/server/pm/snapshot/PackageDataSnapshot;Lcom/android/server/pm/WatchedIntentFilter;)V
+HSPLcom/android/server/pm/WatchedIntentResolver;->copyFrom(Lcom/android/server/pm/WatchedIntentResolver;)V
+HSPLcom/android/server/pm/WatchedIntentResolver;->dispatchChange(Lcom/android/server/utils/Watchable;)V
+HSPLcom/android/server/pm/WatchedIntentResolver;->findFilters(Lcom/android/server/pm/WatchedIntentFilter;)Ljava/util/ArrayList;
+HSPLcom/android/server/pm/WatchedIntentResolver;->onChanged()V
+HSPLcom/android/server/pm/WatchedIntentResolver;->registerObserver(Lcom/android/server/utils/Watcher;)V
+HSPLcom/android/server/pm/dex/ArtManagerService$ArtManagerInternalImpl;-><init>(Lcom/android/server/pm/dex/ArtManagerService;)V
+HSPLcom/android/server/pm/dex/ArtManagerService$ArtManagerInternalImpl;-><init>(Lcom/android/server/pm/dex/ArtManagerService;Lcom/android/server/pm/dex/ArtManagerService$ArtManagerInternalImpl-IA;)V
+PLcom/android/server/pm/dex/ArtManagerService$ArtManagerInternalImpl;->checkIorapCompiledTrace(Ljava/lang/String;Ljava/lang/String;J)Z
+PLcom/android/server/pm/dex/ArtManagerService$ArtManagerInternalImpl;->getPackageOptimizationInfo(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;Ljava/lang/String;)Landroid/content/pm/dex/PackageOptimizationInfo;
+PLcom/android/server/pm/dex/ArtManagerService;->-$$Nest$sfgetDEBUG()Z
+PLcom/android/server/pm/dex/ArtManagerService;->-$$Nest$smgetCompilationFilterTronValue(Ljava/lang/String;)I
+PLcom/android/server/pm/dex/ArtManagerService;->-$$Nest$smgetCompilationReasonTronValue(Ljava/lang/String;)I
+HSPLcom/android/server/pm/dex/ArtManagerService;-><clinit>()V
+HSPLcom/android/server/pm/dex/ArtManagerService;-><init>(Landroid/content/Context;Lcom/android/server/pm/Installer;Ljava/lang/Object;)V
+PLcom/android/server/pm/dex/ArtManagerService;->getCompilationFilterTronValue(Ljava/lang/String;)I
+HSPLcom/android/server/pm/dex/ArtManagerService;->getCompilationReasonTronValue(Ljava/lang/String;)I
+HSPLcom/android/server/pm/dex/ArtManagerService;->verifyTronLoggingConstants()V
+HSPLcom/android/server/pm/dex/ArtStatsLogUtils$ArtStatsLogger;-><init>()V
+HPLcom/android/server/pm/dex/DexManager$PackageCodeLocations;-><init>(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
+PLcom/android/server/pm/dex/DexManager$PackageCodeLocations;->mergeAppDataDirs(Ljava/lang/String;I)V
+PLcom/android/server/pm/dex/DexManager$PackageCodeLocations;->updateCodeLocation(Ljava/lang/String;[Ljava/lang/String;)V
+PLcom/android/server/pm/dex/DexManager;->-$$Nest$smputIfAbsent(Ljava/util/Map;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/server/pm/dex/DexManager;-><clinit>()V
+HSPLcom/android/server/pm/dex/DexManager;-><init>(Landroid/content/Context;Lcom/android/server/pm/PackageDexOptimizer;Lcom/android/server/pm/Installer;Ljava/lang/Object;Lcom/android/server/pm/dex/DynamicCodeLogger;)V
+HSPLcom/android/server/pm/dex/DexManager;-><init>(Landroid/content/Context;Lcom/android/server/pm/PackageDexOptimizer;Lcom/android/server/pm/Installer;Ljava/lang/Object;Lcom/android/server/pm/dex/DynamicCodeLogger;Landroid/content/pm/IPackageManager;)V
+HPLcom/android/server/pm/dex/DexManager;->cachePackageCodeLocation(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;I)V
+PLcom/android/server/pm/dex/DexManager;->cachePackageInfo(Landroid/content/pm/PackageInfo;I)V
+PLcom/android/server/pm/dex/DexManager;->load(Ljava/util/Map;)V
+HPLcom/android/server/pm/dex/DexManager;->loadInternal(Ljava/util/Map;)V
+HPLcom/android/server/pm/dex/DexManager;->putIfAbsent(Ljava/util/Map;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/pm/dex/DynamicCodeLogger$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/pm/dex/DynamicCodeLogger$$ExternalSyntheticLambda0;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/pm/dex/DynamicCodeLogger;->$r8$lambda$11aZGEwigi4eqhfsE87EXQLEOD8(Ljava/lang/String;)Ljava/util/Set;
+HSPLcom/android/server/pm/dex/DynamicCodeLogger;-><init>(Lcom/android/server/pm/Installer;)V
+PLcom/android/server/pm/dex/DynamicCodeLogger;->lambda$load$0(Ljava/lang/String;)Ljava/util/Set;
+HPLcom/android/server/pm/dex/DynamicCodeLogger;->load(Ljava/util/Map;)V
+PLcom/android/server/pm/dex/DynamicCodeLogger;->readAndSync(Ljava/util/Map;)V
+PLcom/android/server/pm/dex/OdsignStatsLogger$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/pm/dex/OdsignStatsLogger$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/pm/dex/OdsignStatsLogger;->$r8$lambda$5UQTBxO3KU1lWEi5-bo1kDq6QXM()V
+PLcom/android/server/pm/dex/OdsignStatsLogger;->triggerStatsWrite()V
+PLcom/android/server/pm/dex/OdsignStatsLogger;->writeStats()V
+HSPLcom/android/server/pm/dex/PackageDexUsage;-><init>()V
+PLcom/android/server/pm/dex/PackageDexUsage;->read()V
+PLcom/android/server/pm/dex/PackageDexUsage;->readInternal(Ljava/lang/Object;)V
+PLcom/android/server/pm/dex/PackageDexUsage;->readInternal(Ljava/lang/Void;)V
+PLcom/android/server/pm/dex/PackageDexUsage;->syncData(Ljava/util/Map;Ljava/util/Map;Ljava/util/List;)V
+HSPLcom/android/server/pm/dex/PackageDynamicCodeLoading;-><clinit>()V
+HSPLcom/android/server/pm/dex/PackageDynamicCodeLoading;-><init>()V
+PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->read()V
+PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->readInternal(Ljava/lang/Object;)V
+PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->readInternal(Ljava/lang/Void;)V
+PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->syncData(Ljava/util/Map;)V
+HSPLcom/android/server/pm/local/PackageManagerLocalImpl$BaseSnapshotImpl;-><init>(Lcom/android/server/pm/snapshot/PackageDataSnapshot;)V
+HSPLcom/android/server/pm/local/PackageManagerLocalImpl$BaseSnapshotImpl;-><init>(Lcom/android/server/pm/snapshot/PackageDataSnapshot;Lcom/android/server/pm/local/PackageManagerLocalImpl$BaseSnapshotImpl-IA;)V
+HSPLcom/android/server/pm/local/PackageManagerLocalImpl$BaseSnapshotImpl;->checkClosed()V
+HSPLcom/android/server/pm/local/PackageManagerLocalImpl$BaseSnapshotImpl;->close()V
+HPLcom/android/server/pm/local/PackageManagerLocalImpl$FilteredSnapshotImpl;-><init>(ILandroid/os/UserHandle;Lcom/android/server/pm/snapshot/PackageDataSnapshot;Lcom/android/server/pm/local/PackageManagerLocalImpl$UnfilteredSnapshotImpl;)V
+HPLcom/android/server/pm/local/PackageManagerLocalImpl$FilteredSnapshotImpl;-><init>(ILandroid/os/UserHandle;Lcom/android/server/pm/snapshot/PackageDataSnapshot;Lcom/android/server/pm/local/PackageManagerLocalImpl$UnfilteredSnapshotImpl;Lcom/android/server/pm/local/PackageManagerLocalImpl$FilteredSnapshotImpl-IA;)V
+HPLcom/android/server/pm/local/PackageManagerLocalImpl$FilteredSnapshotImpl;->checkClosed()V
+HPLcom/android/server/pm/local/PackageManagerLocalImpl$FilteredSnapshotImpl;->close()V
+HPLcom/android/server/pm/local/PackageManagerLocalImpl$FilteredSnapshotImpl;->getPackageState(Ljava/lang/String;)Lcom/android/server/pm/pkg/PackageState;
+HPLcom/android/server/pm/local/PackageManagerLocalImpl$FilteredSnapshotImpl;->getPackageStates()Ljava/util/Map;
+HSPLcom/android/server/pm/local/PackageManagerLocalImpl$UnfilteredSnapshotImpl;-><init>(Lcom/android/server/pm/snapshot/PackageDataSnapshot;)V
+HSPLcom/android/server/pm/local/PackageManagerLocalImpl$UnfilteredSnapshotImpl;-><init>(Lcom/android/server/pm/snapshot/PackageDataSnapshot;Lcom/android/server/pm/local/PackageManagerLocalImpl$UnfilteredSnapshotImpl-IA;)V
+HSPLcom/android/server/pm/local/PackageManagerLocalImpl$UnfilteredSnapshotImpl;->close()V
+HPLcom/android/server/pm/local/PackageManagerLocalImpl$UnfilteredSnapshotImpl;->filtered(ILandroid/os/UserHandle;)Lcom/android/server/pm/PackageManagerLocal$FilteredSnapshot;
+HSPLcom/android/server/pm/local/PackageManagerLocalImpl$UnfilteredSnapshotImpl;->getDisabledSystemPackageStates()Ljava/util/Map;
+HSPLcom/android/server/pm/local/PackageManagerLocalImpl$UnfilteredSnapshotImpl;->getPackageStates()Ljava/util/Map;
+HSPLcom/android/server/pm/local/PackageManagerLocalImpl;-><init>(Lcom/android/server/pm/PackageManagerService;)V
+HPLcom/android/server/pm/local/PackageManagerLocalImpl;->withFilteredSnapshot()Lcom/android/server/pm/PackageManagerLocal$FilteredSnapshot;
+HPLcom/android/server/pm/local/PackageManagerLocalImpl;->withFilteredSnapshot()Lcom/android/server/pm/local/PackageManagerLocalImpl$FilteredSnapshotImpl;
+HPLcom/android/server/pm/local/PackageManagerLocalImpl;->withFilteredSnapshot(ILandroid/os/UserHandle;)Lcom/android/server/pm/PackageManagerLocal$FilteredSnapshot;
+HPLcom/android/server/pm/local/PackageManagerLocalImpl;->withFilteredSnapshot(ILandroid/os/UserHandle;)Lcom/android/server/pm/local/PackageManagerLocalImpl$FilteredSnapshotImpl;
+HSPLcom/android/server/pm/local/PackageManagerLocalImpl;->withUnfilteredSnapshot()Lcom/android/server/pm/PackageManagerLocal$UnfilteredSnapshot;
+HSPLcom/android/server/pm/local/PackageManagerLocalImpl;->withUnfilteredSnapshot()Lcom/android/server/pm/local/PackageManagerLocalImpl$UnfilteredSnapshotImpl;
+PLcom/android/server/pm/parsing/PackageCacher;-><clinit>()V
+PLcom/android/server/pm/parsing/PackageCacher;-><init>(Ljava/io/File;)V
+HPLcom/android/server/pm/parsing/PackageCacher;->fromCacheEntry([B)Lcom/android/internal/pm/parsing/pkg/ParsedPackage;
+HPLcom/android/server/pm/parsing/PackageCacher;->fromCacheEntryStatic([B)Lcom/android/internal/pm/parsing/pkg/ParsedPackage;
+HPLcom/android/server/pm/parsing/PackageCacher;->getCacheKey(Ljava/io/File;I)Ljava/lang/String;
+HPLcom/android/server/pm/parsing/PackageCacher;->getCachedResult(Ljava/io/File;I)Lcom/android/internal/pm/parsing/pkg/ParsedPackage;
+HPLcom/android/server/pm/parsing/PackageCacher;->isCacheUpToDate(Ljava/io/File;Ljava/io/File;)Z
+HPLcom/android/server/pm/parsing/PackageInfoUtils$CachedApplicationInfoGenerator;-><init>()V
+HPLcom/android/server/pm/parsing/PackageInfoUtils$CachedApplicationInfoGenerator;->generate(Lcom/android/server/pm/pkg/AndroidPackage;JLcom/android/server/pm/pkg/PackageUserStateInternal;ILcom/android/server/pm/pkg/PackageStateInternal;)Landroid/content/pm/ApplicationInfo;
+PLcom/android/server/pm/parsing/PackageInfoUtils;-><clinit>()V
+HPLcom/android/server/pm/parsing/PackageInfoUtils;->appInfoFlags(ILcom/android/server/pm/pkg/PackageStateInternal;)I
+HPLcom/android/server/pm/parsing/PackageInfoUtils;->appInfoFlags(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/pkg/PackageStateInternal;)I
+PLcom/android/server/pm/parsing/PackageInfoUtils;->appInfoPrivateFlags(ILcom/android/server/pm/pkg/PackageStateInternal;)I
+HPLcom/android/server/pm/parsing/PackageInfoUtils;->appInfoPrivateFlags(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/pkg/PackageStateInternal;)I
+HPLcom/android/server/pm/parsing/PackageInfoUtils;->appInfoPrivateFlagsExt(ILcom/android/server/pm/pkg/PackageStateInternal;)I
+HPLcom/android/server/pm/parsing/PackageInfoUtils;->assignFieldsComponentInfoParsedMainComponent(Landroid/content/pm/ComponentInfo;Lcom/android/internal/pm/pkg/component/ParsedMainComponent;)V
+HPLcom/android/server/pm/parsing/PackageInfoUtils;->assignFieldsComponentInfoParsedMainComponent(Landroid/content/pm/ComponentInfo;Lcom/android/internal/pm/pkg/component/ParsedMainComponent;Lcom/android/server/pm/pkg/PackageStateInternal;I)V
+HPLcom/android/server/pm/parsing/PackageInfoUtils;->assignFieldsPackageItemInfoParsedComponent(Landroid/content/pm/PackageItemInfo;Lcom/android/internal/pm/pkg/component/ParsedComponent;)V
+PLcom/android/server/pm/parsing/PackageInfoUtils;->assignFieldsPackageItemInfoParsedComponent(Landroid/content/pm/PackageItemInfo;Lcom/android/internal/pm/pkg/component/ParsedComponent;Lcom/android/server/pm/pkg/PackageStateInternal;I)V
+HPLcom/android/server/pm/parsing/PackageInfoUtils;->checkUseInstalledOrHidden(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/pkg/PackageUserStateInternal;J)Z
+PLcom/android/server/pm/parsing/PackageInfoUtils;->flag(ZI)I
+PLcom/android/server/pm/parsing/PackageInfoUtils;->generate(Lcom/android/server/pm/pkg/AndroidPackage;[IJJJLjava/util/Set;Ljava/util/Set;Lcom/android/server/pm/pkg/PackageUserStateInternal;ILcom/android/server/pm/pkg/PackageStateInternal;)Landroid/content/pm/PackageInfo;
+HPLcom/android/server/pm/parsing/PackageInfoUtils;->generateActivityInfo(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/pkg/component/ParsedActivity;JLcom/android/server/pm/pkg/PackageUserStateInternal;ILcom/android/server/pm/pkg/PackageStateInternal;)Landroid/content/pm/ActivityInfo;
+HPLcom/android/server/pm/parsing/PackageInfoUtils;->generateActivityInfo(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/pkg/component/ParsedActivity;JLcom/android/server/pm/pkg/PackageUserStateInternal;Landroid/content/pm/ApplicationInfo;ILcom/android/server/pm/pkg/PackageStateInternal;)Landroid/content/pm/ActivityInfo;
+HPLcom/android/server/pm/parsing/PackageInfoUtils;->generateApplicationInfo(Lcom/android/server/pm/pkg/AndroidPackage;JLcom/android/server/pm/pkg/PackageUserStateInternal;ILcom/android/server/pm/pkg/PackageStateInternal;)Landroid/content/pm/ApplicationInfo;
+HPLcom/android/server/pm/parsing/PackageInfoUtils;->generateInstrumentationInfo(Lcom/android/internal/pm/pkg/component/ParsedInstrumentation;Lcom/android/server/pm/pkg/AndroidPackage;JLcom/android/server/pm/pkg/PackageUserStateInternal;ILcom/android/server/pm/pkg/PackageStateInternal;)Landroid/content/pm/InstrumentationInfo;
+HPLcom/android/server/pm/parsing/PackageInfoUtils;->generatePermissionGroupInfo(Lcom/android/internal/pm/pkg/component/ParsedPermissionGroup;J)Landroid/content/pm/PermissionGroupInfo;
+HPLcom/android/server/pm/parsing/PackageInfoUtils;->generatePermissionInfo(Lcom/android/internal/pm/pkg/component/ParsedPermission;J)Landroid/content/pm/PermissionInfo;
+HPLcom/android/server/pm/parsing/PackageInfoUtils;->generateProcessInfo(Ljava/util/Map;J)Landroid/util/ArrayMap;
+HPLcom/android/server/pm/parsing/PackageInfoUtils;->generateProviderInfo(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/pkg/component/ParsedProvider;JLcom/android/server/pm/pkg/PackageUserStateInternal;Landroid/content/pm/ApplicationInfo;ILcom/android/server/pm/pkg/PackageStateInternal;)Landroid/content/pm/ProviderInfo;
+HPLcom/android/server/pm/parsing/PackageInfoUtils;->generateServiceInfo(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/pkg/component/ParsedService;JLcom/android/server/pm/pkg/PackageUserStateInternal;ILcom/android/server/pm/pkg/PackageStateInternal;)Landroid/content/pm/ServiceInfo;
+HPLcom/android/server/pm/parsing/PackageInfoUtils;->generateServiceInfo(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/pkg/component/ParsedService;JLcom/android/server/pm/pkg/PackageUserStateInternal;Landroid/content/pm/ApplicationInfo;ILcom/android/server/pm/pkg/PackageStateInternal;)Landroid/content/pm/ServiceInfo;
+HPLcom/android/server/pm/parsing/PackageInfoUtils;->generateWithComponents(Lcom/android/server/pm/pkg/AndroidPackage;[IJJJLjava/util/Set;Ljava/util/Set;Lcom/android/server/pm/pkg/PackageUserStateInternal;ILcom/android/server/pm/pkg/PackageStateInternal;)Landroid/content/pm/PackageInfo;
+HPLcom/android/server/pm/parsing/PackageInfoUtils;->getDataDir(Lcom/android/server/pm/pkg/PackageStateInternal;I)Ljava/io/File;
+HPLcom/android/server/pm/parsing/PackageInfoUtils;->getDeprecatedSignatures(Landroid/content/pm/SigningDetails;J)[Landroid/content/pm/Signature;
+HPLcom/android/server/pm/parsing/PackageInfoUtils;->initForUser(Landroid/content/pm/ApplicationInfo;Lcom/android/server/pm/pkg/AndroidPackage;ILcom/android/server/pm/pkg/PackageUserStateInternal;)V
+PLcom/android/server/pm/parsing/PackageInfoUtils;->initForUser(Landroid/content/pm/InstrumentationInfo;Lcom/android/server/pm/pkg/AndroidPackage;ILcom/android/server/pm/pkg/PackageUserStateInternal;)V
+HPLcom/android/server/pm/parsing/PackageInfoUtils;->updateApplicationInfo(Landroid/content/pm/ApplicationInfo;JLcom/android/server/pm/pkg/PackageUserState;)V
+HPLcom/android/server/pm/parsing/ParsedComponentStateUtils;->getNonLocalizedLabelAndIcon(Lcom/android/internal/pm/pkg/component/ParsedComponent;Lcom/android/server/pm/pkg/PackageStateInternal;I)Landroid/util/Pair;
+PLcom/android/server/pm/parsing/library/AndroidHidlUpdater;-><init>()V
+HPLcom/android/server/pm/parsing/library/AndroidHidlUpdater;->updatePackage(Lcom/android/internal/pm/parsing/pkg/ParsedPackage;ZZ)V
+PLcom/android/server/pm/parsing/library/AndroidNetIpSecIkeUpdater;-><init>()V
+HPLcom/android/server/pm/parsing/library/AndroidNetIpSecIkeUpdater;->updatePackage(Lcom/android/internal/pm/parsing/pkg/ParsedPackage;ZZ)V
+PLcom/android/server/pm/parsing/library/AndroidTestBaseUpdater;-><init>()V
+HPLcom/android/server/pm/parsing/library/AndroidTestBaseUpdater;->isChangeEnabled(Lcom/android/server/pm/pkg/AndroidPackage;Z)Z
+HPLcom/android/server/pm/parsing/library/AndroidTestBaseUpdater;->updatePackage(Lcom/android/internal/pm/parsing/pkg/ParsedPackage;ZZ)V
+PLcom/android/server/pm/parsing/library/ApexSharedLibraryUpdater;-><init>(Landroid/util/ArrayMap;)V
+HPLcom/android/server/pm/parsing/library/ApexSharedLibraryUpdater;->updatePackage(Lcom/android/internal/pm/parsing/pkg/ParsedPackage;ZZ)V
+HPLcom/android/server/pm/parsing/library/ApexSharedLibraryUpdater;->updateSharedLibraryForPackage(Lcom/android/server/SystemConfig$SharedLibraryEntry;Lcom/android/internal/pm/parsing/pkg/ParsedPackage;)V
+PLcom/android/server/pm/parsing/library/ComGoogleAndroidMapsUpdater;-><init>()V
+HPLcom/android/server/pm/parsing/library/ComGoogleAndroidMapsUpdater;->updatePackage(Lcom/android/internal/pm/parsing/pkg/ParsedPackage;ZZ)V
+PLcom/android/server/pm/parsing/library/OrgApacheHttpLegacyUpdater;-><init>()V
+HPLcom/android/server/pm/parsing/library/OrgApacheHttpLegacyUpdater;->apkTargetsApiLevelLessThanOrEqualToOMR1(Lcom/android/server/pm/pkg/AndroidPackage;)Z
+HPLcom/android/server/pm/parsing/library/OrgApacheHttpLegacyUpdater;->updatePackage(Lcom/android/internal/pm/parsing/pkg/ParsedPackage;ZZ)V
+PLcom/android/server/pm/parsing/library/PackageBackwardCompatibility$AndroidTestRunnerSplitUpdater;-><init>()V
+HPLcom/android/server/pm/parsing/library/PackageBackwardCompatibility$AndroidTestRunnerSplitUpdater;->updatePackage(Lcom/android/internal/pm/parsing/pkg/ParsedPackage;ZZ)V
+PLcom/android/server/pm/parsing/library/PackageBackwardCompatibility;-><clinit>()V
+PLcom/android/server/pm/parsing/library/PackageBackwardCompatibility;-><init>(Z[Lcom/android/server/pm/parsing/library/PackageSharedLibraryUpdater;)V
+PLcom/android/server/pm/parsing/library/PackageBackwardCompatibility;->addUpdaterForAndroidTestBase(Ljava/util/List;)Z
+PLcom/android/server/pm/parsing/library/PackageBackwardCompatibility;->modifySharedLibraries(Lcom/android/internal/pm/parsing/pkg/ParsedPackage;ZZ)V
+HPLcom/android/server/pm/parsing/library/PackageBackwardCompatibility;->updatePackage(Lcom/android/internal/pm/parsing/pkg/ParsedPackage;ZZ)V
+PLcom/android/server/pm/parsing/library/PackageSharedLibraryUpdater;-><init>()V
+HPLcom/android/server/pm/parsing/library/PackageSharedLibraryUpdater;->isLibraryPresent(Ljava/util/List;Ljava/util/List;Ljava/lang/String;)Z
+HPLcom/android/server/pm/parsing/library/PackageSharedLibraryUpdater;->prefixImplicitDependency(Lcom/android/internal/pm/parsing/pkg/ParsedPackage;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/pm/parsing/library/PackageSharedLibraryUpdater;->prefixRequiredLibrary(Lcom/android/internal/pm/parsing/pkg/ParsedPackage;Ljava/lang/String;)V
+HPLcom/android/server/pm/parsing/library/PackageSharedLibraryUpdater;->removeLibrary(Lcom/android/internal/pm/parsing/pkg/ParsedPackage;Ljava/lang/String;)V
+PLcom/android/server/pm/parsing/pkg/AndroidPackageUtils;->createNativeLibraryHandle(Lcom/android/server/pm/pkg/AndroidPackage;)Lcom/android/internal/content/NativeLibraryHelper$Handle;
+PLcom/android/server/pm/parsing/pkg/AndroidPackageUtils;->createSharedLibraryForDynamic(Lcom/android/server/pm/pkg/AndroidPackage;Ljava/lang/String;)Landroid/content/pm/SharedLibraryInfo;
+HPLcom/android/server/pm/parsing/pkg/AndroidPackageUtils;->fillVersionCodes(Lcom/android/server/pm/pkg/AndroidPackage;Landroid/content/pm/PackageInfo;)V
+PLcom/android/server/pm/parsing/pkg/AndroidPackageUtils;->generateAppInfoWithoutState(Lcom/android/server/pm/pkg/AndroidPackage;)Landroid/content/pm/ApplicationInfo;
+PLcom/android/server/pm/parsing/pkg/AndroidPackageUtils;->getAllCodePaths(Lcom/android/server/pm/pkg/AndroidPackage;)Ljava/util/List;
+HPLcom/android/server/pm/parsing/pkg/AndroidPackageUtils;->getRawPrimaryCpuAbi(Lcom/android/server/pm/pkg/AndroidPackage;)Ljava/lang/String;
+HPLcom/android/server/pm/parsing/pkg/AndroidPackageUtils;->getRawSecondaryCpuAbi(Lcom/android/server/pm/pkg/AndroidPackage;)Ljava/lang/String;
+HPLcom/android/server/pm/parsing/pkg/AndroidPackageUtils;->getRealPackageOrNull(Lcom/android/server/pm/pkg/AndroidPackage;Z)Ljava/lang/String;
+HPLcom/android/server/pm/parsing/pkg/AndroidPackageUtils;->hasComponentClassName(Lcom/android/server/pm/pkg/AndroidPackage;Ljava/lang/String;)Z
+HPLcom/android/server/pm/parsing/pkg/AndroidPackageUtils;->isEncryptionAware(Lcom/android/server/pm/pkg/AndroidPackage;)Z
+HPLcom/android/server/pm/parsing/pkg/AndroidPackageUtils;->isLibrary(Lcom/android/server/pm/pkg/AndroidPackage;)Z
+HPLcom/android/server/pm/parsing/pkg/AndroidPackageUtils;->isMatchForSystemOnly(Lcom/android/server/pm/pkg/PackageState;J)Z
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$$ExternalSyntheticLambda0;-><init>()V
+HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$1;-><init>(Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;)V
+HPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$1;->getPackageInfo(Ljava/lang/String;)Landroid/content/pm/PackageInfo;
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$1;->getPermissionFlags(Ljava/lang/String;Landroid/content/pm/PackageInfo;Landroid/os/UserHandle;)I
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$1;->getPermissionInfo(Ljava/lang/String;)Landroid/content/pm/PermissionInfo;
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$1;->isGranted(Ljava/lang/String;Landroid/content/pm/PackageInfo;Landroid/os/UserHandle;)Z
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$1;->updatePermissionFlags(Ljava/lang/String;Landroid/content/pm/PackageInfo;IILandroid/os/UserHandle;)V
+HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$2;-><init>(Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;Landroid/os/Looper;)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$2;->handleMessage(Landroid/os/Message;)V
+HPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$DefaultPermissionGrant;-><init>(Ljava/lang/String;ZZ)V
+HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$PackageManagerWrapper;-><init>(Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;)V
+HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$PackageManagerWrapper;-><init>(Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$PackageManagerWrapper-IA;)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$PackageManagerWrapper;->getBackgroundPermission(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$PackageManagerWrapper;->getSystemPackageInfo(Ljava/lang/String;)Landroid/content/pm/PackageInfo;
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$PackageManagerWrapper;->isPermissionRestricted(Ljava/lang/String;)Z
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$PackageManagerWrapper;->isSysComponentOrPersistentPlatformSignedPrivApp(Landroid/content/pm/PackageInfo;)Z
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$PackageManagerWrapper;->isSystemPackage(Landroid/content/pm/PackageInfo;)Z
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$PackageManagerWrapper;->isSystemPackage(Ljava/lang/String;)Z
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->-$$Nest$fgetNO_PM_CACHE(Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;)Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$PackageManagerWrapper;
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->-$$Nest$fgetmContext(Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;)Landroid/content/Context;
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->-$$Nest$fgetmGrantExceptions(Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;)Landroid/util/ArrayMap;
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->-$$Nest$fgetmLock(Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;)Ljava/lang/Object;
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->-$$Nest$fgetmServiceInternal(Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;)Landroid/content/pm/PackageManagerInternal;
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->-$$Nest$fputmGrantExceptions(Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;Landroid/util/ArrayMap;)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->-$$Nest$mreadDefaultPermissionExceptionsLocked(Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$PackageManagerWrapper;)Landroid/util/ArrayMap;
+HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;-><clinit>()V
+HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->doesPackageSupportRuntimePermissions(Landroid/content/pm/PackageInfo;)Z
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getDefaultPermissionFiles()[Ljava/io/File;
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantDefaultPermissionsToEnabledImsServices([Ljava/lang/String;I)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantDefaultPermissionsToEnabledTelephonyDataServices([Ljava/lang/String;I)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantPermissionsToPackage(Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$PackageManagerWrapper;Landroid/content/pm/PackageInfo;IZZZ[Ljava/util/Set;)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantPermissionsToSystemPackage(Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$PackageManagerWrapper;Ljava/lang/String;IZ[Ljava/util/Set;)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantPermissionsToSystemPackage(Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$PackageManagerWrapper;Ljava/lang/String;I[Ljava/util/Set;)V
+HPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantRuntimePermissions(Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$PackageManagerWrapper;Landroid/content/pm/PackageInfo;Ljava/util/Set;ZZZI)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantSystemFixedPermissionsToSystemPackage(Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$PackageManagerWrapper;Ljava/lang/String;I[Ljava/util/Set;)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->isFixedOrUserSet(I)Z
+HPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->isSystemOrCertificateMatchingPackage(Landroid/content/pm/PackageInfo;Ljava/lang/String;)Z
+HPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->parse(Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$PackageManagerWrapper;Lcom/android/modules/utils/TypedXmlPullParser;Ljava/util/Map;)V
+HPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->parseExceptions(Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$PackageManagerWrapper;Lcom/android/modules/utils/TypedXmlPullParser;Ljava/util/Map;)V
+HPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->parsePermission(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/util/List;)V
+HPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->readDefaultPermissionExceptionsLocked(Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$PackageManagerWrapper;)Landroid/util/ArrayMap;
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->revokeDefaultPermissionsFromDisabledTelephonyDataServices([Ljava/lang/String;I)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->scheduleReadDefaultPermissionExceptions()V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setDialerAppPackagesProvider(Lcom/android/server/pm/permission/LegacyPermissionManagerInternal$PackagesProvider;)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setLocationExtraPackagesProvider(Lcom/android/server/pm/permission/LegacyPermissionManagerInternal$PackagesProvider;)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setLocationPackagesProvider(Lcom/android/server/pm/permission/LegacyPermissionManagerInternal$PackagesProvider;)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setSimCallManagerPackagesProvider(Lcom/android/server/pm/permission/LegacyPermissionManagerInternal$PackagesProvider;)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setSmsAppPackagesProvider(Lcom/android/server/pm/permission/LegacyPermissionManagerInternal$PackagesProvider;)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setSyncAdapterPackagesProvider(Lcom/android/server/pm/permission/LegacyPermissionManagerInternal$SyncAdapterPackagesProvider;)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setUseOpenWifiAppPackagesProvider(Lcom/android/server/pm/permission/LegacyPermissionManagerInternal$PackagesProvider;)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setVoiceInteractionPackagesProvider(Lcom/android/server/pm/permission/LegacyPermissionManagerInternal$PackagesProvider;)V
+HPLcom/android/server/pm/permission/LegacyPermission;-><init>(Landroid/content/pm/PermissionInfo;II[I)V
+HSPLcom/android/server/pm/permission/LegacyPermission;-><init>(Ljava/lang/String;Ljava/lang/String;I)V
+HPLcom/android/server/pm/permission/LegacyPermission;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/util/Set;ZZLcom/android/server/pm/DumpState;)Z
+PLcom/android/server/pm/permission/LegacyPermission;->getPermissionInfo()Landroid/content/pm/PermissionInfo;
+HSPLcom/android/server/pm/permission/LegacyPermission;->read(Ljava/util/Map;Lcom/android/modules/utils/TypedXmlPullParser;)Z
+HSPLcom/android/server/pm/permission/LegacyPermission;->readInt(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;Ljava/lang/String;I)I
+HPLcom/android/server/pm/permission/LegacyPermission;->write(Lcom/android/modules/utils/TypedXmlSerializer;)V
+PLcom/android/server/pm/permission/LegacyPermissionManagerService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/pm/permission/LegacyPermissionManagerService;[Ljava/lang/String;I)V
+PLcom/android/server/pm/permission/LegacyPermissionManagerService$$ExternalSyntheticLambda0;->runOrThrow()V
+PLcom/android/server/pm/permission/LegacyPermissionManagerService$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/pm/permission/LegacyPermissionManagerService;[Ljava/lang/String;I)V
+PLcom/android/server/pm/permission/LegacyPermissionManagerService$$ExternalSyntheticLambda3;->runOrThrow()V
+PLcom/android/server/pm/permission/LegacyPermissionManagerService$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/pm/permission/LegacyPermissionManagerService;[Ljava/lang/String;I)V
+PLcom/android/server/pm/permission/LegacyPermissionManagerService$$ExternalSyntheticLambda6;->runOrThrow()V
+HSPLcom/android/server/pm/permission/LegacyPermissionManagerService$Injector;-><init>(Landroid/content/Context;)V
+PLcom/android/server/pm/permission/LegacyPermissionManagerService$Injector;->checkPermission(Ljava/lang/String;II)I
+PLcom/android/server/pm/permission/LegacyPermissionManagerService$Injector;->getCallingPid()I
+PLcom/android/server/pm/permission/LegacyPermissionManagerService$Injector;->getCallingUid()I
+PLcom/android/server/pm/permission/LegacyPermissionManagerService$Injector;->getPackageUidForUser(Ljava/lang/String;I)I
+HSPLcom/android/server/pm/permission/LegacyPermissionManagerService$Internal;-><init>(Lcom/android/server/pm/permission/LegacyPermissionManagerService;)V
+HSPLcom/android/server/pm/permission/LegacyPermissionManagerService$Internal;-><init>(Lcom/android/server/pm/permission/LegacyPermissionManagerService;Lcom/android/server/pm/permission/LegacyPermissionManagerService$Internal-IA;)V
+PLcom/android/server/pm/permission/LegacyPermissionManagerService$Internal;->scheduleReadDefaultPermissionExceptions()V
+PLcom/android/server/pm/permission/LegacyPermissionManagerService$Internal;->setDialerAppPackagesProvider(Lcom/android/server/pm/permission/LegacyPermissionManagerInternal$PackagesProvider;)V
+PLcom/android/server/pm/permission/LegacyPermissionManagerService$Internal;->setLocationExtraPackagesProvider(Lcom/android/server/pm/permission/LegacyPermissionManagerInternal$PackagesProvider;)V
+PLcom/android/server/pm/permission/LegacyPermissionManagerService$Internal;->setLocationPackagesProvider(Lcom/android/server/pm/permission/LegacyPermissionManagerInternal$PackagesProvider;)V
+PLcom/android/server/pm/permission/LegacyPermissionManagerService$Internal;->setSimCallManagerPackagesProvider(Lcom/android/server/pm/permission/LegacyPermissionManagerInternal$PackagesProvider;)V
+PLcom/android/server/pm/permission/LegacyPermissionManagerService$Internal;->setSmsAppPackagesProvider(Lcom/android/server/pm/permission/LegacyPermissionManagerInternal$PackagesProvider;)V
+PLcom/android/server/pm/permission/LegacyPermissionManagerService$Internal;->setSyncAdapterPackagesProvider(Lcom/android/server/pm/permission/LegacyPermissionManagerInternal$SyncAdapterPackagesProvider;)V
+PLcom/android/server/pm/permission/LegacyPermissionManagerService$Internal;->setUseOpenWifiAppPackagesProvider(Lcom/android/server/pm/permission/LegacyPermissionManagerInternal$PackagesProvider;)V
+PLcom/android/server/pm/permission/LegacyPermissionManagerService$Internal;->setVoiceInteractionPackagesProvider(Lcom/android/server/pm/permission/LegacyPermissionManagerInternal$PackagesProvider;)V
+PLcom/android/server/pm/permission/LegacyPermissionManagerService;->$r8$lambda$XJRM--KlcwdVcvJ6T-8uozQ32tE(Lcom/android/server/pm/permission/LegacyPermissionManagerService;[Ljava/lang/String;I)V
+PLcom/android/server/pm/permission/LegacyPermissionManagerService;->$r8$lambda$lv-8Ha9p9dV0QQzCs6vFH7LiTB8(Lcom/android/server/pm/permission/LegacyPermissionManagerService;[Ljava/lang/String;I)V
+PLcom/android/server/pm/permission/LegacyPermissionManagerService;->$r8$lambda$u77Y4zP2_UA0sARUr92T0pFuRWw(Lcom/android/server/pm/permission/LegacyPermissionManagerService;[Ljava/lang/String;I)V
+PLcom/android/server/pm/permission/LegacyPermissionManagerService;->-$$Nest$fgetmDefaultPermissionGrantPolicy(Lcom/android/server/pm/permission/LegacyPermissionManagerService;)Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;
+HSPLcom/android/server/pm/permission/LegacyPermissionManagerService;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/pm/permission/LegacyPermissionManagerService;-><init>(Landroid/content/Context;Lcom/android/server/pm/permission/LegacyPermissionManagerService$Injector;)V
+PLcom/android/server/pm/permission/LegacyPermissionManagerService;->checkDeviceIdentifierAccess(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)I
+PLcom/android/server/pm/permission/LegacyPermissionManagerService;->checkPhoneNumberAccess(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)I
+HSPLcom/android/server/pm/permission/LegacyPermissionManagerService;->create(Landroid/content/Context;)Lcom/android/server/pm/permission/LegacyPermissionManagerInternal;
+PLcom/android/server/pm/permission/LegacyPermissionManagerService;->grantDefaultPermissionsToEnabledImsServices([Ljava/lang/String;I)V
+PLcom/android/server/pm/permission/LegacyPermissionManagerService;->grantDefaultPermissionsToEnabledTelephonyDataServices([Ljava/lang/String;I)V
+PLcom/android/server/pm/permission/LegacyPermissionManagerService;->lambda$grantDefaultPermissionsToEnabledImsServices$3([Ljava/lang/String;I)V
+PLcom/android/server/pm/permission/LegacyPermissionManagerService;->lambda$grantDefaultPermissionsToEnabledTelephonyDataServices$4([Ljava/lang/String;I)V
+PLcom/android/server/pm/permission/LegacyPermissionManagerService;->lambda$revokeDefaultPermissionsFromDisabledTelephonyDataServices$5([Ljava/lang/String;I)V
+PLcom/android/server/pm/permission/LegacyPermissionManagerService;->revokeDefaultPermissionsFromDisabledTelephonyDataServices([Ljava/lang/String;I)V
+HPLcom/android/server/pm/permission/LegacyPermissionManagerService;->verifyCallerCanCheckAccess(Ljava/lang/String;Ljava/lang/String;II)V
+HSPLcom/android/server/pm/permission/LegacyPermissionSettings;-><init>()V
+HPLcom/android/server/pm/permission/LegacyPermissionSettings;->dumpPermissions(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/util/ArraySet;Ljava/util/List;Ljava/util/Map;ZLcom/android/server/pm/DumpState;)V
+HSPLcom/android/server/pm/permission/LegacyPermissionSettings;->readPermissionTrees(Lcom/android/modules/utils/TypedXmlPullParser;)V
+HSPLcom/android/server/pm/permission/LegacyPermissionSettings;->readPermissions(Landroid/util/ArrayMap;Lcom/android/modules/utils/TypedXmlPullParser;)V
+HSPLcom/android/server/pm/permission/LegacyPermissionSettings;->readPermissions(Lcom/android/modules/utils/TypedXmlPullParser;)V
+PLcom/android/server/pm/permission/LegacyPermissionSettings;->replacePermissionTrees(Ljava/util/List;)V
+PLcom/android/server/pm/permission/LegacyPermissionSettings;->replacePermissions(Ljava/util/List;)V
+PLcom/android/server/pm/permission/LegacyPermissionSettings;->writePermissionTrees(Lcom/android/modules/utils/TypedXmlSerializer;)V
+PLcom/android/server/pm/permission/LegacyPermissionSettings;->writePermissions(Lcom/android/modules/utils/TypedXmlSerializer;)V
+HPLcom/android/server/pm/permission/LegacyPermissionState$PermissionState;-><init>(Ljava/lang/String;ZZI)V
+PLcom/android/server/pm/permission/LegacyPermissionState$PermissionState;->getFlags()I
+PLcom/android/server/pm/permission/LegacyPermissionState$PermissionState;->getName()Ljava/lang/String;
+PLcom/android/server/pm/permission/LegacyPermissionState$PermissionState;->isGranted()Z
+PLcom/android/server/pm/permission/LegacyPermissionState$PermissionState;->isRuntime()Z
+PLcom/android/server/pm/permission/LegacyPermissionState$UserState;-><init>()V
+PLcom/android/server/pm/permission/LegacyPermissionState$UserState;->getPermissionState(Ljava/lang/String;)Lcom/android/server/pm/permission/LegacyPermissionState$PermissionState;
+PLcom/android/server/pm/permission/LegacyPermissionState$UserState;->getPermissionStates()Ljava/util/Collection;
+PLcom/android/server/pm/permission/LegacyPermissionState$UserState;->putPermissionState(Lcom/android/server/pm/permission/LegacyPermissionState$PermissionState;)V
+HSPLcom/android/server/pm/permission/LegacyPermissionState;-><init>()V
+HSPLcom/android/server/pm/permission/LegacyPermissionState;->checkUserId(I)V
+HSPLcom/android/server/pm/permission/LegacyPermissionState;->copyFrom(Lcom/android/server/pm/permission/LegacyPermissionState;)V
+HPLcom/android/server/pm/permission/LegacyPermissionState;->getPermissionState(Ljava/lang/String;I)Lcom/android/server/pm/permission/LegacyPermissionState$PermissionState;
+HPLcom/android/server/pm/permission/LegacyPermissionState;->getPermissionStates(I)Ljava/util/Collection;
+HPLcom/android/server/pm/permission/LegacyPermissionState;->putPermissionState(Lcom/android/server/pm/permission/LegacyPermissionState$PermissionState;I)V
+HSPLcom/android/server/pm/permission/LegacyPermissionState;->setMissing(ZI)V
+HSPLcom/android/server/pm/permission/PermissionAllowlist;-><init>()V
+PLcom/android/server/pm/permission/PermissionAllowlist;->getApexPrivilegedAppAllowlistState(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Boolean;
+HSPLcom/android/server/pm/permission/PermissionAllowlist;->getApexPrivilegedAppAllowlists()Landroid/util/ArrayMap;
+HSPLcom/android/server/pm/permission/PermissionAllowlist;->getPrivilegedAppAllowlist()Landroid/util/ArrayMap;
+HPLcom/android/server/pm/permission/PermissionAllowlist;->getPrivilegedAppAllowlistState(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Boolean;
+HSPLcom/android/server/pm/permission/PermissionAllowlist;->getProductPrivilegedAppAllowlist()Landroid/util/ArrayMap;
+HPLcom/android/server/pm/permission/PermissionAllowlist;->getProductPrivilegedAppAllowlistState(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Boolean;
+HPLcom/android/server/pm/permission/PermissionAllowlist;->getSystemExtPrivilegedAppAllowlistState(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Boolean;
+HSPLcom/android/server/pm/permission/PermissionManagerService$AttributionSourceRegistry;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/pm/permission/PermissionManagerService$AttributionSourceRegistry;->isRegisteredAttributionSource(Landroid/content/AttributionSource;)Z
+HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionCheckerService;-><clinit>()V
+HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionCheckerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionCheckerService;->checkAppOpPermission(Landroid/content/Context;Lcom/android/server/pm/permission/PermissionManagerServiceInternal;Ljava/lang/String;Landroid/content/AttributionSource;Ljava/lang/String;ZZ)I
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionCheckerService;->checkOp(ILandroid/content/AttributionSourceState;Ljava/lang/String;ZZ)I
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionCheckerService;->checkOp(Landroid/content/Context;ILcom/android/server/pm/permission/PermissionManagerServiceInternal;Landroid/content/AttributionSource;Ljava/lang/String;ZZ)I
+HPLcom/android/server/pm/permission/PermissionManagerService$PermissionCheckerService;->checkPermission(Landroid/content/Context;Lcom/android/server/pm/permission/PermissionManagerServiceInternal;Ljava/lang/String;Landroid/content/AttributionSource;)Z
+HPLcom/android/server/pm/permission/PermissionManagerService$PermissionCheckerService;->checkPermission(Landroid/content/Context;Lcom/android/server/pm/permission/PermissionManagerServiceInternal;Ljava/lang/String;Landroid/content/AttributionSource;Ljava/lang/String;ZZZI)I
+HPLcom/android/server/pm/permission/PermissionManagerService$PermissionCheckerService;->checkPermission(Ljava/lang/String;Landroid/content/AttributionSourceState;Ljava/lang/String;ZZZI)I
+HPLcom/android/server/pm/permission/PermissionManagerService$PermissionCheckerService;->checkRuntimePermission(Landroid/content/Context;Lcom/android/server/pm/permission/PermissionManagerServiceInternal;Ljava/lang/String;Landroid/content/AttributionSource;Ljava/lang/String;ZZZI)I
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionCheckerService;->getAttributionChainId(ZLandroid/content/AttributionSource;)I
+HPLcom/android/server/pm/permission/PermissionManagerService$PermissionCheckerService;->performOpTransaction(Landroid/content/Context;Landroid/os/IBinder;ILandroid/content/AttributionSource;Ljava/lang/String;ZZZZZIIII)I
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionCheckerService;->resolveAttributionSource(Landroid/content/Context;Landroid/content/AttributionSource;)Landroid/content/AttributionSource;
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionCheckerService;->resolvePackageName(Landroid/content/Context;Landroid/content/AttributionSource;)Ljava/lang/String;
+HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;-><init>(Lcom/android/server/pm/permission/PermissionManagerService;)V
+HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;-><init>(Lcom/android/server/pm/permission/PermissionManagerService;Lcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl-IA;)V
+HPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->checkPermission(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)I
+HPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->checkUidPermission(ILjava/lang/String;I)I
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getAllAppOpPermissionPackages()Ljava/util/Map;
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getAllPermissionsWithProtection(I)Ljava/util/List;
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getAllPermissionsWithProtectionFlags(I)Ljava/util/List;
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getAppOpPermissionPackages(Ljava/lang/String;)[Ljava/lang/String;
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getDefaultPermissionGrantFingerprint(I)Ljava/lang/String;
+HPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getGidsForUid(I)[I
+HPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getGrantedPermissions(Ljava/lang/String;I)Ljava/util/Set;
+HPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getInstalledPermissions(Ljava/lang/String;)Ljava/util/Set;
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getLegacyPermissionState(I)Lcom/android/server/pm/permission/LegacyPermissionState;
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getLegacyPermissions()Ljava/util/List;
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getPermissionGids(Ljava/lang/String;I)[I
+HPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->isPermissionsReviewRequired(Ljava/lang/String;I)Z
+HPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->onPackageAdded(Lcom/android/server/pm/pkg/PackageState;ZLcom/android/server/pm/pkg/AndroidPackage;)V
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->onStorageVolumeMounted(Ljava/lang/String;Z)V
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->onSystemReady()V
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->readLegacyPermissionStateTEMP()V
+HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->readLegacyPermissionsTEMP(Lcom/android/server/pm/permission/LegacyPermissionSettings;)V
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->writeLegacyPermissionStateTEMP()V
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->writeLegacyPermissionsTEMP(Lcom/android/server/pm/permission/LegacyPermissionSettings;)V
+HSPLcom/android/server/pm/permission/PermissionManagerService;->-$$Nest$fgetmPermissionManagerServiceImpl(Lcom/android/server/pm/permission/PermissionManagerService;)Lcom/android/server/pm/permission/PermissionManagerServiceInterface;
+HSPLcom/android/server/pm/permission/PermissionManagerService;-><clinit>()V
+HSPLcom/android/server/pm/permission/PermissionManagerService;-><init>(Landroid/content/Context;Landroid/util/ArrayMap;)V
+PLcom/android/server/pm/permission/PermissionManagerService;->addOnPermissionsChangeListener(Landroid/permission/IOnPermissionsChangeListener;)V
+HPLcom/android/server/pm/permission/PermissionManagerService;->checkPermission(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)I
+HPLcom/android/server/pm/permission/PermissionManagerService;->checkUidPermission(ILjava/lang/String;I)I
+HSPLcom/android/server/pm/permission/PermissionManagerService;->create(Landroid/content/Context;Landroid/util/ArrayMap;)Lcom/android/server/pm/permission/PermissionManagerServiceInternal;
+HPLcom/android/server/pm/permission/PermissionManagerService;->getPermissionFlags(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)I
+PLcom/android/server/pm/permission/PermissionManagerService;->getPermissionGroupInfo(Ljava/lang/String;I)Landroid/content/pm/PermissionGroupInfo;
+HPLcom/android/server/pm/permission/PermissionManagerService;->getPermissionInfo(Ljava/lang/String;Ljava/lang/String;I)Landroid/content/pm/PermissionInfo;
+PLcom/android/server/pm/permission/PermissionManagerService;->getSplitPermissions()Ljava/util/List;
+PLcom/android/server/pm/permission/PermissionManagerService;->grantRuntimePermission(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
+HPLcom/android/server/pm/permission/PermissionManagerService;->isRegisteredAttributionSource(Landroid/content/AttributionSourceState;)Z
+PLcom/android/server/pm/permission/PermissionManagerService;->removeOnPermissionsChangeListener(Landroid/permission/IOnPermissionsChangeListener;)V
+PLcom/android/server/pm/permission/PermissionManagerService;->updatePermissionFlags(Ljava/lang/String;Ljava/lang/String;IIZLjava/lang/String;I)V
+HSPLcom/android/server/pm/permission/PermissionMigrationHelperImpl;-><clinit>()V
+HSPLcom/android/server/pm/permission/PermissionMigrationHelperImpl;-><init>()V
+HPLcom/android/server/pm/pkg/PackageStateInternal;->getUserStateOrDefault(I)Lcom/android/server/pm/pkg/PackageUserState;
+HSPLcom/android/server/pm/pkg/PackageStateInternal;->getUserStateOrDefault(I)Lcom/android/server/pm/pkg/PackageUserStateInternal;
+HSPLcom/android/server/pm/pkg/PackageStateUnserialized;-><init>(Lcom/android/server/pm/PackageSetting;)V
+PLcom/android/server/pm/pkg/PackageStateUnserialized;->getApexModuleName()Ljava/lang/String;
+HPLcom/android/server/pm/pkg/PackageStateUnserialized;->getLastPackageUsageTimeInMills()[J
+PLcom/android/server/pm/pkg/PackageStateUnserialized;->getOverrideSeInfo()Ljava/lang/String;
+PLcom/android/server/pm/pkg/PackageStateUnserialized;->getSeInfo()Ljava/lang/String;
+PLcom/android/server/pm/pkg/PackageStateUnserialized;->getUsesLibraryFiles()Ljava/util/List;
+PLcom/android/server/pm/pkg/PackageStateUnserialized;->getUsesLibraryInfos()Ljava/util/List;
+HPLcom/android/server/pm/pkg/PackageStateUnserialized;->isHiddenUntilInstalled()Z
+HPLcom/android/server/pm/pkg/PackageStateUnserialized;->isUpdatedSystemApp()Z
+HPLcom/android/server/pm/pkg/PackageStateUnserialized;->lazyInitLastPackageUsageTimeInMills()[J
+HPLcom/android/server/pm/pkg/PackageStateUnserialized;->setApexModuleName(Ljava/lang/String;)Lcom/android/server/pm/pkg/PackageStateUnserialized;
+HPLcom/android/server/pm/pkg/PackageStateUnserialized;->setApkInUpdatedApex(Z)Lcom/android/server/pm/pkg/PackageStateUnserialized;
+HPLcom/android/server/pm/pkg/PackageStateUnserialized;->setLastPackageUsageTimeInMills(IJ)Lcom/android/server/pm/pkg/PackageStateUnserialized;
+HPLcom/android/server/pm/pkg/PackageStateUnserialized;->setOverrideSeInfo(Ljava/lang/String;)Lcom/android/server/pm/pkg/PackageStateUnserialized;
+HPLcom/android/server/pm/pkg/PackageStateUnserialized;->setSeInfo(Ljava/lang/String;)Lcom/android/server/pm/pkg/PackageStateUnserialized;
+PLcom/android/server/pm/pkg/PackageStateUnserialized;->setUsesLibraryFiles(Ljava/util/List;)Lcom/android/server/pm/pkg/PackageStateUnserialized;
+HPLcom/android/server/pm/pkg/PackageStateUnserialized;->setUsesLibraryInfos(Ljava/util/List;)Lcom/android/server/pm/pkg/PackageStateUnserialized;
+HSPLcom/android/server/pm/pkg/PackageStateUnserialized;->updateFrom(Lcom/android/server/pm/pkg/PackageStateUnserialized;)V
+HPLcom/android/server/pm/pkg/PackageStateUtils;->isEnabledAndMatches(Lcom/android/server/pm/pkg/PackageStateInternal;Landroid/content/pm/ComponentInfo;JI)Z
+HPLcom/android/server/pm/pkg/PackageStateUtils;->isEnabledAndMatches(Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/internal/pm/pkg/component/ParsedMainComponent;JI)Z
+PLcom/android/server/pm/pkg/PackageUserStateDefault;-><init>()V
+PLcom/android/server/pm/pkg/PackageUserStateDefault;->getAllOverlayPaths()Landroid/content/pm/overlay/OverlayPaths;
+PLcom/android/server/pm/pkg/PackageUserStateDefault;->getArchiveState()Lcom/android/server/pm/pkg/ArchiveState;
+PLcom/android/server/pm/pkg/PackageUserStateDefault;->getEnabledState()I
+PLcom/android/server/pm/pkg/PackageUserStateDefault;->getFirstInstallTimeMillis()J
+PLcom/android/server/pm/pkg/PackageUserStateDefault;->isHidden()Z
+PLcom/android/server/pm/pkg/PackageUserStateDefault;->isInstalled()Z
+PLcom/android/server/pm/pkg/PackageUserStateDefault;->isInstantApp()Z
+PLcom/android/server/pm/pkg/PackageUserStateDefault;->isQuarantined()Z
+PLcom/android/server/pm/pkg/PackageUserStateDefault;->isStopped()Z
+PLcom/android/server/pm/pkg/PackageUserStateDefault;->isSuspended()Z
+PLcom/android/server/pm/pkg/PackageUserStateDefault;->isVirtualPreload()Z
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl$1;-><init>(Lcom/android/server/pm/pkg/PackageUserStateImpl;Lcom/android/server/pm/pkg/PackageUserStateImpl;Lcom/android/server/utils/Watchable;)V
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl$1;->createSnapshot()Lcom/android/server/pm/pkg/PackageUserStateImpl;
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl$1;->createSnapshot()Ljava/lang/Object;
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->-$$Nest$fgetmWatchable(Lcom/android/server/pm/pkg/PackageUserStateImpl;)Lcom/android/server/utils/Watchable;
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl;-><init>(Lcom/android/server/utils/Watchable;)V
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl;-><init>(Lcom/android/server/utils/Watchable;Lcom/android/server/pm/pkg/PackageUserStateImpl;)V
+PLcom/android/server/pm/pkg/PackageUserStateImpl;->equals(Ljava/lang/Object;)Z
+HPLcom/android/server/pm/pkg/PackageUserStateImpl;->getAllOverlayPaths()Landroid/content/pm/overlay/OverlayPaths;
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->getArchiveState()Lcom/android/server/pm/pkg/ArchiveState;
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->getBoolean(I)Z
+PLcom/android/server/pm/pkg/PackageUserStateImpl;->getCeDataInode()J
+PLcom/android/server/pm/pkg/PackageUserStateImpl;->getDeDataInode()J
+HPLcom/android/server/pm/pkg/PackageUserStateImpl;->getDisabledComponents()Landroid/util/ArraySet;
+PLcom/android/server/pm/pkg/PackageUserStateImpl;->getDisabledComponentsNoCopy()Lcom/android/server/utils/WatchedArraySet;
+PLcom/android/server/pm/pkg/PackageUserStateImpl;->getDistractionFlags()I
+HPLcom/android/server/pm/pkg/PackageUserStateImpl;->getEnabledComponents()Landroid/util/ArraySet;
+PLcom/android/server/pm/pkg/PackageUserStateImpl;->getEnabledComponentsNoCopy()Lcom/android/server/utils/WatchedArraySet;
+HPLcom/android/server/pm/pkg/PackageUserStateImpl;->getEnabledState()I
+HPLcom/android/server/pm/pkg/PackageUserStateImpl;->getFirstInstallTimeMillis()J
+PLcom/android/server/pm/pkg/PackageUserStateImpl;->getHarmfulAppWarning()Ljava/lang/String;
+HPLcom/android/server/pm/pkg/PackageUserStateImpl;->getInstallReason()I
+PLcom/android/server/pm/pkg/PackageUserStateImpl;->getLastDisableAppCaller()Ljava/lang/String;
+HPLcom/android/server/pm/pkg/PackageUserStateImpl;->getMinAspectRatio()I
+PLcom/android/server/pm/pkg/PackageUserStateImpl;->getOverlayPaths()Landroid/content/pm/overlay/OverlayPaths;
+HPLcom/android/server/pm/pkg/PackageUserStateImpl;->getOverrideLabelIconForComponent(Landroid/content/ComponentName;)Landroid/util/Pair;
+PLcom/android/server/pm/pkg/PackageUserStateImpl;->getSharedLibraryOverlayPaths()Ljava/util/Map;
+PLcom/android/server/pm/pkg/PackageUserStateImpl;->getSplashScreenTheme()Ljava/lang/String;
+PLcom/android/server/pm/pkg/PackageUserStateImpl;->getUninstallReason()I
+HPLcom/android/server/pm/pkg/PackageUserStateImpl;->isComponentDisabled(Ljava/lang/String;)Z
+HPLcom/android/server/pm/pkg/PackageUserStateImpl;->isComponentEnabled(Ljava/lang/String;)Z
+HPLcom/android/server/pm/pkg/PackageUserStateImpl;->isHidden()Z
+HPLcom/android/server/pm/pkg/PackageUserStateImpl;->isInstalled()Z
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->isInstantApp()Z
+PLcom/android/server/pm/pkg/PackageUserStateImpl;->isNotLaunched()Z
+HPLcom/android/server/pm/pkg/PackageUserStateImpl;->isQuarantined()Z
+HPLcom/android/server/pm/pkg/PackageUserStateImpl;->isStopped()Z
+HPLcom/android/server/pm/pkg/PackageUserStateImpl;->isSuspended()Z
+HPLcom/android/server/pm/pkg/PackageUserStateImpl;->isVirtualPreload()Z
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->makeCache()Lcom/android/server/utils/SnapshotCache;
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->onChanged()V
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->setArchiveState(Lcom/android/server/pm/pkg/ArchiveState;)Lcom/android/server/pm/pkg/PackageUserStateImpl;
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->setBoolean(IZ)V
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->setCeDataInode(J)Lcom/android/server/pm/pkg/PackageUserStateImpl;
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->setDeDataInode(J)Lcom/android/server/pm/pkg/PackageUserStateImpl;
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->setDisabledComponents(Landroid/util/ArraySet;)Lcom/android/server/pm/pkg/PackageUserStateImpl;
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->setDistractionFlags(I)Lcom/android/server/pm/pkg/PackageUserStateImpl;
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->setEnabledComponents(Landroid/util/ArraySet;)Lcom/android/server/pm/pkg/PackageUserStateImpl;
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->setEnabledState(I)Lcom/android/server/pm/pkg/PackageUserStateImpl;
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->setFirstInstallTimeMillis(J)Lcom/android/server/pm/pkg/PackageUserStateImpl;
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->setHarmfulAppWarning(Ljava/lang/String;)Lcom/android/server/pm/pkg/PackageUserStateImpl;
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->setHidden(Z)Lcom/android/server/pm/pkg/PackageUserStateImpl;
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->setInstallReason(I)Lcom/android/server/pm/pkg/PackageUserStateImpl;
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->setInstalled(Z)Lcom/android/server/pm/pkg/PackageUserStateImpl;
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->setInstantApp(Z)Lcom/android/server/pm/pkg/PackageUserStateImpl;
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->setLastDisableAppCaller(Ljava/lang/String;)Lcom/android/server/pm/pkg/PackageUserStateImpl;
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->setMinAspectRatio(I)Lcom/android/server/pm/pkg/PackageUserStateImpl;
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->setNotLaunched(Z)Lcom/android/server/pm/pkg/PackageUserStateImpl;
+PLcom/android/server/pm/pkg/PackageUserStateImpl;->setOverlayPaths(Landroid/content/pm/overlay/OverlayPaths;)Z
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->setSplashScreenTheme(Ljava/lang/String;)Lcom/android/server/pm/pkg/PackageUserStateImpl;
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->setStopped(Z)Lcom/android/server/pm/pkg/PackageUserStateImpl;
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->setSuspendParams(Landroid/util/ArrayMap;)Lcom/android/server/pm/pkg/PackageUserStateImpl;
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->setUninstallReason(I)Lcom/android/server/pm/pkg/PackageUserStateImpl;
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->setVirtualPreload(Z)Lcom/android/server/pm/pkg/PackageUserStateImpl;
+HPLcom/android/server/pm/pkg/PackageUserStateImpl;->setWatchable(Lcom/android/server/utils/Watchable;)Lcom/android/server/pm/pkg/PackageUserStateImpl;
+HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->snapshot()Lcom/android/server/pm/pkg/PackageUserStateImpl;
+PLcom/android/server/pm/pkg/PackageUserStateInternal;-><clinit>()V
+HPLcom/android/server/pm/pkg/PackageUserStateUtils;->isAvailable(Lcom/android/server/pm/pkg/PackageUserState;J)Z
+HPLcom/android/server/pm/pkg/PackageUserStateUtils;->isEnabled(Lcom/android/server/pm/pkg/PackageUserState;ZZLjava/lang/String;J)Z
+HPLcom/android/server/pm/pkg/PackageUserStateUtils;->isMatch(Lcom/android/server/pm/pkg/PackageUserState;Landroid/content/pm/ComponentInfo;J)Z
+HPLcom/android/server/pm/pkg/PackageUserStateUtils;->isMatch(Lcom/android/server/pm/pkg/PackageUserState;ZZLcom/android/internal/pm/pkg/component/ParsedMainComponent;J)Z
+HPLcom/android/server/pm/pkg/PackageUserStateUtils;->isMatch(Lcom/android/server/pm/pkg/PackageUserState;ZZZZLjava/lang/String;J)Z
+PLcom/android/server/pm/pkg/PackageUserStateUtils;->reportIfDebug(ZJ)Z
+HPLcom/android/server/pm/pkg/SELinuxUtil;->getSeinfoUser(Lcom/android/server/pm/pkg/PackageUserState;)Ljava/lang/String;
+PLcom/android/server/pm/pkg/SharedLibraryWrapper;-><init>(Landroid/content/pm/SharedLibraryInfo;)V
+PLcom/android/server/pm/pkg/SharedLibraryWrapper;->getAllCodePaths()Ljava/util/List;
+PLcom/android/server/pm/pkg/SharedLibraryWrapper;->getDependencies()Ljava/util/List;
+PLcom/android/server/pm/pkg/SharedLibraryWrapper;->getInfo()Landroid/content/pm/SharedLibraryInfo;
+PLcom/android/server/pm/pkg/SharedLibraryWrapper;->isNative()Z
+PLcom/android/server/pm/pkg/mutate/PackageStateMutator$Result;-><clinit>()V
+PLcom/android/server/pm/pkg/mutate/PackageStateMutator$Result;-><init>(ZZZZ)V
+HSPLcom/android/server/pm/pkg/mutate/PackageStateMutator$StateWriteWrapper$UserStateWriteWrapper;-><init>()V
+HSPLcom/android/server/pm/pkg/mutate/PackageStateMutator$StateWriteWrapper$UserStateWriteWrapper;-><init>(Lcom/android/server/pm/pkg/mutate/PackageStateMutator$StateWriteWrapper$UserStateWriteWrapper-IA;)V
+PLcom/android/server/pm/pkg/mutate/PackageStateMutator$StateWriteWrapper$UserStateWriteWrapper;->setOverlayPaths(Landroid/content/pm/overlay/OverlayPaths;)Lcom/android/server/pm/pkg/mutate/PackageUserStateWrite;
+PLcom/android/server/pm/pkg/mutate/PackageStateMutator$StateWriteWrapper$UserStateWriteWrapper;->setStates(Lcom/android/server/pm/pkg/PackageUserStateImpl;)Lcom/android/server/pm/pkg/mutate/PackageStateMutator$StateWriteWrapper$UserStateWriteWrapper;
+PLcom/android/server/pm/pkg/mutate/PackageStateMutator$StateWriteWrapper$UserStateWriteWrapper;->setStopped(Z)Lcom/android/server/pm/pkg/mutate/PackageUserStateWrite;
+HSPLcom/android/server/pm/pkg/mutate/PackageStateMutator$StateWriteWrapper;-><init>()V
+HSPLcom/android/server/pm/pkg/mutate/PackageStateMutator$StateWriteWrapper;-><init>(Lcom/android/server/pm/pkg/mutate/PackageStateMutator$StateWriteWrapper-IA;)V
+PLcom/android/server/pm/pkg/mutate/PackageStateMutator$StateWriteWrapper;->onChanged()V
+PLcom/android/server/pm/pkg/mutate/PackageStateMutator$StateWriteWrapper;->setState(Lcom/android/server/pm/PackageSetting;)Lcom/android/server/pm/pkg/mutate/PackageStateMutator$StateWriteWrapper;
+PLcom/android/server/pm/pkg/mutate/PackageStateMutator$StateWriteWrapper;->userState(I)Lcom/android/server/pm/pkg/mutate/PackageUserStateWrite;
+HSPLcom/android/server/pm/pkg/mutate/PackageStateMutator;-><clinit>()V
+HSPLcom/android/server/pm/pkg/mutate/PackageStateMutator;-><init>(Ljava/util/function/Function;Ljava/util/function/Function;)V
+PLcom/android/server/pm/pkg/mutate/PackageStateMutator;->forPackage(Ljava/lang/String;)Lcom/android/server/pm/pkg/mutate/PackageStateWrite;
+PLcom/android/server/pm/pkg/mutate/PackageStateMutator;->generateResult(Lcom/android/server/pm/pkg/mutate/PackageStateMutator$InitialState;I)Lcom/android/server/pm/pkg/mutate/PackageStateMutator$Result;
+PLcom/android/server/pm/pkg/mutate/PackageStateMutator;->onFinished()V
+HSPLcom/android/server/pm/pkg/mutate/PackageStateMutator;->onPackageStateChanged()V
+PLcom/android/server/pm/pkg/mutate/PackageStateMutator;->setState(Lcom/android/server/pm/PackageSetting;)Lcom/android/server/pm/pkg/mutate/PackageStateMutator$StateWriteWrapper;
+HSPLcom/android/server/pm/resolution/ComponentResolver$$ExternalSyntheticLambda0;-><init>()V
+HPLcom/android/server/pm/resolution/ComponentResolver$$ExternalSyntheticLambda0;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+HSPLcom/android/server/pm/resolution/ComponentResolver$1;-><init>(Lcom/android/server/pm/resolution/ComponentResolver;Lcom/android/server/pm/resolution/ComponentResolverApi;Lcom/android/server/utils/Watchable;Lcom/android/server/pm/UserNeedsBadgingCache;)V
+HSPLcom/android/server/pm/resolution/ComponentResolver$1;->createSnapshot()Lcom/android/server/pm/resolution/ComponentResolverApi;
+HSPLcom/android/server/pm/resolution/ComponentResolver$1;->createSnapshot()Ljava/lang/Object;
+HSPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;-><init>(Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserNeedsBadgingCache;)V
+HSPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;-><init>(Lcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserNeedsBadgingCache;)V
+HPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->addActivity(Lcom/android/server/pm/Computer;Lcom/android/internal/pm/pkg/component/ParsedActivity;Ljava/lang/String;Ljava/util/List;)V
+HPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->addFilter(Lcom/android/server/pm/snapshot/PackageDataSnapshot;Landroid/util/Pair;)V
+HPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->allowFilterResult(Landroid/util/Pair;Ljava/util/List;)Z
+HPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->allowFilterResult(Ljava/lang/Object;Ljava/util/List;)Z
+HPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->dumpFilter(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/util/Pair;)V
+HPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->dumpFilter(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/Object;)V
+HPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->getIntentFilter(Landroid/util/Pair;)Landroid/content/IntentFilter;
+HPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->getIntentFilter(Ljava/lang/Object;)Landroid/content/IntentFilter;
+HPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->isPackageForFilter(Ljava/lang/String;Landroid/util/Pair;)Z
+HPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->isPackageForFilter(Ljava/lang/String;Ljava/lang/Object;)Z
+HPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->newArray(I)[Landroid/util/Pair;
+HPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->newArray(I)[Ljava/lang/Object;
+HPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->newResult(Lcom/android/server/pm/Computer;Landroid/util/Pair;IIJ)Landroid/content/pm/ResolveInfo;
+HPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->newResult(Lcom/android/server/pm/Computer;Ljava/lang/Object;IIJ)Ljava/lang/Object;
+HPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->queryIntent(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JI)Ljava/util/List;
+HPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->queryIntentForPackage(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JLjava/util/List;I)Ljava/util/List;
+HPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->sortResults(Ljava/util/List;)V
+HSPLcom/android/server/pm/resolution/ComponentResolver$MimeGroupsAwareIntentResolver;-><init>(Lcom/android/server/pm/UserManagerService;)V
+HSPLcom/android/server/pm/resolution/ComponentResolver$MimeGroupsAwareIntentResolver;-><init>(Lcom/android/server/pm/resolution/ComponentResolver$MimeGroupsAwareIntentResolver;Lcom/android/server/pm/UserManagerService;)V
+HPLcom/android/server/pm/resolution/ComponentResolver$MimeGroupsAwareIntentResolver;->addFilter(Lcom/android/server/pm/snapshot/PackageDataSnapshot;Landroid/util/Pair;)V
+HPLcom/android/server/pm/resolution/ComponentResolver$MimeGroupsAwareIntentResolver;->applyMimeGroups(Lcom/android/server/pm/Computer;Landroid/util/Pair;)V
+HPLcom/android/server/pm/resolution/ComponentResolver$MimeGroupsAwareIntentResolver;->isFilterStopped(Lcom/android/server/pm/Computer;Landroid/util/Pair;I)Z
+HPLcom/android/server/pm/resolution/ComponentResolver$MimeGroupsAwareIntentResolver;->isFilterStopped(Lcom/android/server/pm/Computer;Ljava/lang/Object;I)Z
+HSPLcom/android/server/pm/resolution/ComponentResolver$ProviderIntentResolver;-><init>(Lcom/android/server/pm/UserManagerService;)V
+HSPLcom/android/server/pm/resolution/ComponentResolver$ProviderIntentResolver;-><init>(Lcom/android/server/pm/resolution/ComponentResolver$ProviderIntentResolver;Lcom/android/server/pm/UserManagerService;)V
+HPLcom/android/server/pm/resolution/ComponentResolver$ProviderIntentResolver;->addProvider(Lcom/android/server/pm/Computer;Lcom/android/internal/pm/pkg/component/ParsedProvider;)V
+PLcom/android/server/pm/resolution/ComponentResolver$ProviderIntentResolver;->dumpFilter(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/util/Pair;)V
+PLcom/android/server/pm/resolution/ComponentResolver$ProviderIntentResolver;->dumpFilter(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/Object;)V
+PLcom/android/server/pm/resolution/ComponentResolver$ProviderIntentResolver;->getIntentFilter(Landroid/util/Pair;)Landroid/content/IntentFilter;
+PLcom/android/server/pm/resolution/ComponentResolver$ProviderIntentResolver;->getIntentFilter(Ljava/lang/Object;)Landroid/content/IntentFilter;
+PLcom/android/server/pm/resolution/ComponentResolver$ProviderIntentResolver;->isPackageForFilter(Ljava/lang/String;Landroid/util/Pair;)Z
+PLcom/android/server/pm/resolution/ComponentResolver$ProviderIntentResolver;->isPackageForFilter(Ljava/lang/String;Ljava/lang/Object;)Z
+PLcom/android/server/pm/resolution/ComponentResolver$ProviderIntentResolver;->newArray(I)[Landroid/util/Pair;
+PLcom/android/server/pm/resolution/ComponentResolver$ProviderIntentResolver;->newArray(I)[Ljava/lang/Object;
+PLcom/android/server/pm/resolution/ComponentResolver$ProviderIntentResolver;->queryIntent(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JI)Ljava/util/List;
+PLcom/android/server/pm/resolution/ComponentResolver$ProviderIntentResolver;->sortResults(Ljava/util/List;)V
+HSPLcom/android/server/pm/resolution/ComponentResolver$ReceiverIntentResolver;-><init>(Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserNeedsBadgingCache;)V
+HSPLcom/android/server/pm/resolution/ComponentResolver$ReceiverIntentResolver;-><init>(Lcom/android/server/pm/resolution/ComponentResolver$ReceiverIntentResolver;Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserNeedsBadgingCache;)V
+HSPLcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;-><init>(Lcom/android/server/pm/UserManagerService;)V
+HSPLcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;-><init>(Lcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;Lcom/android/server/pm/UserManagerService;)V
+PLcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;->addFilter(Lcom/android/server/pm/snapshot/PackageDataSnapshot;Landroid/util/Pair;)V
+HPLcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;->addService(Lcom/android/server/pm/Computer;Lcom/android/internal/pm/pkg/component/ParsedService;)V
+HPLcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;->allowFilterResult(Landroid/util/Pair;Ljava/util/List;)Z
+HPLcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;->allowFilterResult(Ljava/lang/Object;Ljava/util/List;)Z
+HPLcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;->dumpFilter(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/util/Pair;)V
+HPLcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;->dumpFilter(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/Object;)V
+HPLcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;->getIntentFilter(Landroid/util/Pair;)Landroid/content/IntentFilter;
+HPLcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;->getIntentFilter(Ljava/lang/Object;)Landroid/content/IntentFilter;
+HPLcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;->isPackageForFilter(Ljava/lang/String;Landroid/util/Pair;)Z
+HPLcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;->isPackageForFilter(Ljava/lang/String;Ljava/lang/Object;)Z
+HPLcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;->newArray(I)[Landroid/util/Pair;
+HPLcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;->newArray(I)[Ljava/lang/Object;
+HPLcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;->newResult(Lcom/android/server/pm/Computer;Landroid/util/Pair;IIJ)Landroid/content/pm/ResolveInfo;
+HPLcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;->newResult(Lcom/android/server/pm/Computer;Ljava/lang/Object;IIJ)Ljava/lang/Object;
+HPLcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;->queryIntent(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JI)Ljava/util/List;
+HPLcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;->queryIntentForPackage(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JLjava/util/List;I)Ljava/util/List;
+HPLcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;->sortResults(Ljava/util/List;)V
+HPLcom/android/server/pm/resolution/ComponentResolver;->$r8$lambda$UVMyfxjaimXrgxK-y9k5NRVVfkI(Landroid/content/pm/ResolveInfo;Landroid/content/pm/ResolveInfo;)I
+HSPLcom/android/server/pm/resolution/ComponentResolver;-><clinit>()V
+HSPLcom/android/server/pm/resolution/ComponentResolver;-><init>(Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserNeedsBadgingCache;)V
+HPLcom/android/server/pm/resolution/ComponentResolver;->addActivitiesLocked(Lcom/android/server/pm/Computer;Lcom/android/server/pm/pkg/AndroidPackage;Ljava/util/List;Z)V
+HPLcom/android/server/pm/resolution/ComponentResolver;->addAllComponents(Lcom/android/server/pm/pkg/AndroidPackage;ZLjava/lang/String;Lcom/android/server/pm/Computer;)V
+HPLcom/android/server/pm/resolution/ComponentResolver;->addProvidersLocked(Lcom/android/server/pm/Computer;Lcom/android/server/pm/pkg/AndroidPackage;Z)V
+HPLcom/android/server/pm/resolution/ComponentResolver;->addReceiversLocked(Lcom/android/server/pm/Computer;Lcom/android/server/pm/pkg/AndroidPackage;Z)V
+HPLcom/android/server/pm/resolution/ComponentResolver;->addServicesLocked(Lcom/android/server/pm/Computer;Lcom/android/server/pm/pkg/AndroidPackage;Z)V
+HPLcom/android/server/pm/resolution/ComponentResolver;->adjustPriority(Lcom/android/server/pm/Computer;Ljava/util/List;Lcom/android/internal/pm/pkg/component/ParsedActivity;Lcom/android/internal/pm/pkg/component/ParsedIntentInfo;Ljava/lang/String;)V
+PLcom/android/server/pm/resolution/ComponentResolver;->fixProtectedFilterPriorities(Ljava/lang/String;)V
+HPLcom/android/server/pm/resolution/ComponentResolver;->isProtectedAction(Landroid/content/IntentFilter;)Z
+HPLcom/android/server/pm/resolution/ComponentResolver;->lambda$static$0(Landroid/content/pm/ResolveInfo;Landroid/content/pm/ResolveInfo;)I
+PLcom/android/server/pm/resolution/ComponentResolver;->onChanged()V
+HSPLcom/android/server/pm/resolution/ComponentResolver;->snapshot()Lcom/android/server/pm/resolution/ComponentResolverApi;
+HSPLcom/android/server/pm/resolution/ComponentResolverBase;-><init>(Lcom/android/server/pm/UserManagerService;)V
+PLcom/android/server/pm/resolution/ComponentResolverBase;->dumpActivityResolvers(Ljava/io/PrintWriter;Lcom/android/server/pm/DumpState;Ljava/lang/String;)V
+HPLcom/android/server/pm/resolution/ComponentResolverBase;->dumpContentProviders(Lcom/android/server/pm/Computer;Ljava/io/PrintWriter;Lcom/android/server/pm/DumpState;Ljava/lang/String;)V
+PLcom/android/server/pm/resolution/ComponentResolverBase;->dumpProviderResolvers(Ljava/io/PrintWriter;Lcom/android/server/pm/DumpState;Ljava/lang/String;)V
+PLcom/android/server/pm/resolution/ComponentResolverBase;->dumpReceiverResolvers(Ljava/io/PrintWriter;Lcom/android/server/pm/DumpState;Ljava/lang/String;)V
+PLcom/android/server/pm/resolution/ComponentResolverBase;->dumpServiceResolvers(Ljava/io/PrintWriter;Lcom/android/server/pm/DumpState;Ljava/lang/String;)V
+HPLcom/android/server/pm/resolution/ComponentResolverBase;->getActivity(Landroid/content/ComponentName;)Lcom/android/internal/pm/pkg/component/ParsedActivity;
+HPLcom/android/server/pm/resolution/ComponentResolverBase;->getProvider(Landroid/content/ComponentName;)Lcom/android/internal/pm/pkg/component/ParsedProvider;
+HPLcom/android/server/pm/resolution/ComponentResolverBase;->getReceiver(Landroid/content/ComponentName;)Lcom/android/internal/pm/pkg/component/ParsedActivity;
+HPLcom/android/server/pm/resolution/ComponentResolverBase;->getService(Landroid/content/ComponentName;)Lcom/android/internal/pm/pkg/component/ParsedService;
+PLcom/android/server/pm/resolution/ComponentResolverBase;->isActivityDefined(Landroid/content/ComponentName;)Z
+HPLcom/android/server/pm/resolution/ComponentResolverBase;->queryActivities(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JI)Ljava/util/List;
+HPLcom/android/server/pm/resolution/ComponentResolverBase;->queryActivities(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JLjava/util/List;I)Ljava/util/List;
+HPLcom/android/server/pm/resolution/ComponentResolverBase;->queryProvider(Lcom/android/server/pm/Computer;Ljava/lang/String;JI)Landroid/content/pm/ProviderInfo;
+PLcom/android/server/pm/resolution/ComponentResolverBase;->queryProviders(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JI)Ljava/util/List;
+HPLcom/android/server/pm/resolution/ComponentResolverBase;->queryProviders(Lcom/android/server/pm/Computer;Ljava/lang/String;Ljava/lang/String;IJI)Ljava/util/List;
+HPLcom/android/server/pm/resolution/ComponentResolverBase;->queryReceivers(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JI)Ljava/util/List;
+HPLcom/android/server/pm/resolution/ComponentResolverBase;->queryReceivers(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JLjava/util/List;I)Ljava/util/List;
+HPLcom/android/server/pm/resolution/ComponentResolverBase;->queryServices(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JI)Ljava/util/List;
+HPLcom/android/server/pm/resolution/ComponentResolverBase;->queryServices(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JLjava/util/List;I)Ljava/util/List;
+HSPLcom/android/server/pm/resolution/ComponentResolverLocked;-><init>(Lcom/android/server/pm/UserManagerService;)V
+PLcom/android/server/pm/resolution/ComponentResolverLocked;->isActivityDefined(Landroid/content/ComponentName;)Z
+PLcom/android/server/pm/resolution/ComponentResolverLocked;->queryActivities(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JI)Ljava/util/List;
+PLcom/android/server/pm/resolution/ComponentResolverLocked;->queryActivities(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JLjava/util/List;I)Ljava/util/List;
+PLcom/android/server/pm/resolution/ComponentResolverLocked;->queryReceivers(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JI)Ljava/util/List;
+PLcom/android/server/pm/resolution/ComponentResolverLocked;->queryServices(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JI)Ljava/util/List;
+HSPLcom/android/server/pm/resolution/ComponentResolverSnapshot;-><init>(Lcom/android/server/pm/resolution/ComponentResolver;Lcom/android/server/pm/UserNeedsBadgingCache;)V
+PLcom/android/server/pm/utils/RequestThrottle$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/pm/utils/RequestThrottle;)V
+PLcom/android/server/pm/utils/RequestThrottle;-><init>(Landroid/os/Handler;IIILjava/util/function/Supplier;)V
+PLcom/android/server/pm/utils/RequestThrottle;-><init>(Landroid/os/Handler;Ljava/util/function/Supplier;)V
+PLcom/android/server/pm/utils/RequestThrottle;->runInternal()Z
+PLcom/android/server/pm/utils/RequestThrottle;->runNow()Z
+HSPLcom/android/server/pm/verify/domain/DomainVerificationCollector$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/pm/verify/domain/DomainVerificationCollector$$ExternalSyntheticLambda0;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/pm/verify/domain/DomainVerificationCollector;->$r8$lambda$batCCh6Ga6j4xiWi4NlYNy9upmc(Landroid/util/ArraySet;Ljava/lang/String;)Ljava/lang/Boolean;
+HSPLcom/android/server/pm/verify/domain/DomainVerificationCollector;-><clinit>()V
+HSPLcom/android/server/pm/verify/domain/DomainVerificationCollector;-><init>(Lcom/android/server/compat/PlatformCompat;Lcom/android/server/SystemConfig;)V
+HPLcom/android/server/pm/verify/domain/DomainVerificationCollector;->collectAllWebDomains(Lcom/android/server/pm/pkg/AndroidPackage;)Landroid/util/ArraySet;
+HPLcom/android/server/pm/verify/domain/DomainVerificationCollector;->collectDomains(Lcom/android/server/pm/pkg/AndroidPackage;ZZ)Landroid/util/ArraySet;
+HPLcom/android/server/pm/verify/domain/DomainVerificationCollector;->collectDomains(Lcom/android/server/pm/pkg/AndroidPackage;ZZLjava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
+HPLcom/android/server/pm/verify/domain/DomainVerificationCollector;->collectDomainsInternal(Lcom/android/server/pm/pkg/AndroidPackage;ZZLjava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
+HPLcom/android/server/pm/verify/domain/DomainVerificationCollector;->collectDomainsLegacy(Lcom/android/server/pm/pkg/AndroidPackage;ZZLjava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
+PLcom/android/server/pm/verify/domain/DomainVerificationCollector;->collectInvalidAutoVerifyDomains(Lcom/android/server/pm/pkg/AndroidPackage;)Landroid/util/ArraySet;
+HPLcom/android/server/pm/verify/domain/DomainVerificationCollector;->collectValidAutoVerifyDomains(Lcom/android/server/pm/pkg/AndroidPackage;)Landroid/util/ArraySet;
+HPLcom/android/server/pm/verify/domain/DomainVerificationCollector;->isValidHost(Ljava/lang/String;)Z
+PLcom/android/server/pm/verify/domain/DomainVerificationCollector;->lambda$static$0(Landroid/util/ArraySet;Ljava/lang/String;)Ljava/lang/Boolean;
+HSPLcom/android/server/pm/verify/domain/DomainVerificationDebug;-><init>(Lcom/android/server/pm/verify/domain/DomainVerificationCollector;)V
+HPLcom/android/server/pm/verify/domain/DomainVerificationDebug;->printState(Landroid/util/IndentingPrintWriter;Lcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;ILcom/android/server/pm/verify/domain/models/DomainVerificationInternalUserState;Landroid/util/ArraySet;Landroid/util/ArraySet;Z)Z
+HPLcom/android/server/pm/verify/domain/DomainVerificationDebug;->printState(Landroid/util/IndentingPrintWriter;Lcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;Lcom/android/server/pm/pkg/AndroidPackage;Landroid/util/ArrayMap;Z)Z
+PLcom/android/server/pm/verify/domain/DomainVerificationDebug;->printState(Landroid/util/IndentingPrintWriter;Lcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;Lcom/android/server/pm/pkg/AndroidPackage;Ljava/lang/Integer;Landroid/util/ArraySet;Z)V
+HPLcom/android/server/pm/verify/domain/DomainVerificationDebug;->printState(Landroid/util/IndentingPrintWriter;Ljava/lang/String;Ljava/lang/Integer;Lcom/android/server/pm/Computer;Lcom/android/server/pm/verify/domain/models/DomainVerificationStateMap;)V
+HSPLcom/android/server/pm/verify/domain/DomainVerificationEnforcer;-><init>(Landroid/content/Context;)V
+PLcom/android/server/pm/verify/domain/DomainVerificationEnforcer;->assertApprovedQuerent(ILcom/android/server/pm/verify/domain/proxy/DomainVerificationProxy;)V
+PLcom/android/server/pm/verify/domain/DomainVerificationEnforcer;->assertInternal(I)V
+HSPLcom/android/server/pm/verify/domain/DomainVerificationEnforcer;->callerIsLegacyUserSelector(IILjava/lang/String;I)Z
+HSPLcom/android/server/pm/verify/domain/DomainVerificationEnforcer;->setCallback(Lcom/android/server/pm/verify/domain/DomainVerificationEnforcer$Callback;)V
+HSPLcom/android/server/pm/verify/domain/DomainVerificationLegacySettings$LegacyState;-><init>()V
+HSPLcom/android/server/pm/verify/domain/DomainVerificationLegacySettings$LegacyState;->addUserState(II)V
+PLcom/android/server/pm/verify/domain/DomainVerificationLegacySettings$LegacyState;->getUserStates()Landroid/util/SparseIntArray;
+HSPLcom/android/server/pm/verify/domain/DomainVerificationLegacySettings;-><init>()V
+HSPLcom/android/server/pm/verify/domain/DomainVerificationLegacySettings;->add(Ljava/lang/String;II)V
+HSPLcom/android/server/pm/verify/domain/DomainVerificationLegacySettings;->getOrCreateStateLocked(Ljava/lang/String;)Lcom/android/server/pm/verify/domain/DomainVerificationLegacySettings$LegacyState;
+HSPLcom/android/server/pm/verify/domain/DomainVerificationLegacySettings;->readSettings(Lcom/android/modules/utils/TypedXmlPullParser;)V
+HSPLcom/android/server/pm/verify/domain/DomainVerificationLegacySettings;->readUserState(Lcom/android/server/pm/SettingsXml$ReadSection;Lcom/android/server/pm/verify/domain/DomainVerificationLegacySettings$LegacyState;)V
+HSPLcom/android/server/pm/verify/domain/DomainVerificationLegacySettings;->readUserStates(Lcom/android/server/pm/SettingsXml$ReadSection;)V
+HPLcom/android/server/pm/verify/domain/DomainVerificationLegacySettings;->writeSettings(Lcom/android/modules/utils/TypedXmlSerializer;)V
+HSPLcom/android/server/pm/verify/domain/DomainVerificationManagerStub;-><init>(Lcom/android/server/pm/verify/domain/DomainVerificationService;)V
+HSPLcom/android/server/pm/verify/domain/DomainVerificationPersistence$ReadResult;-><init>(Landroid/util/ArrayMap;Landroid/util/ArrayMap;)V
+HSPLcom/android/server/pm/verify/domain/DomainVerificationPersistence;->createPkgStateFromXml(Lcom/android/server/pm/SettingsXml$ReadSection;)Lcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;
+HSPLcom/android/server/pm/verify/domain/DomainVerificationPersistence;->readDomainStates(Lcom/android/server/pm/SettingsXml$ReadSection;Landroid/util/ArrayMap;)V
+HSPLcom/android/server/pm/verify/domain/DomainVerificationPersistence;->readFromXml(Lcom/android/modules/utils/TypedXmlPullParser;)Lcom/android/server/pm/verify/domain/DomainVerificationPersistence$ReadResult;
+HSPLcom/android/server/pm/verify/domain/DomainVerificationPersistence;->readPackageStates(Lcom/android/server/pm/SettingsXml$ReadSection;Landroid/util/ArrayMap;)V
+PLcom/android/server/pm/verify/domain/DomainVerificationPersistence;->writePackageStates(Lcom/android/server/pm/SettingsXml$WriteSection;Ljava/util/Collection;ILjava/util/function/Function;)V
+HPLcom/android/server/pm/verify/domain/DomainVerificationPersistence;->writePkgStateToXml(Lcom/android/server/pm/SettingsXml$WriteSection;Lcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;ILjava/util/function/Function;)V
+HPLcom/android/server/pm/verify/domain/DomainVerificationPersistence;->writeStateMap(Lcom/android/server/pm/SettingsXml$WriteSection;Landroid/util/ArrayMap;)V
+PLcom/android/server/pm/verify/domain/DomainVerificationPersistence;->writeToXml(Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/server/pm/verify/domain/models/DomainVerificationStateMap;Landroid/util/ArrayMap;Landroid/util/ArrayMap;ILjava/util/function/Function;)V
+HPLcom/android/server/pm/verify/domain/DomainVerificationPersistence;->writeUriRelativeFilterGroupMap(Lcom/android/server/pm/SettingsXml$WriteSection;Landroid/util/ArrayMap;)V
+PLcom/android/server/pm/verify/domain/DomainVerificationPersistence;->writeUserStates(Lcom/android/server/pm/SettingsXml$WriteSection;ILandroid/util/SparseArray;)V
+HSPLcom/android/server/pm/verify/domain/DomainVerificationService;-><init>(Landroid/content/Context;Lcom/android/server/SystemConfig;Lcom/android/server/compat/PlatformCompat;)V
+PLcom/android/server/pm/verify/domain/DomainVerificationService;->addIfShouldBroadcastLocked(Ljava/util/Collection;Lcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;Z)V
+HPLcom/android/server/pm/verify/domain/DomainVerificationService;->addPackage(Lcom/android/server/pm/pkg/PackageStateInternal;Landroid/content/pm/verify/domain/DomainSet;)V
+HPLcom/android/server/pm/verify/domain/DomainVerificationService;->applyImmutableState(Lcom/android/server/pm/pkg/PackageStateInternal;Landroid/util/ArrayMap;Landroid/util/ArraySet;)Z
+HPLcom/android/server/pm/verify/domain/DomainVerificationService;->generateNewId()Ljava/util/UUID;
+PLcom/android/server/pm/verify/domain/DomainVerificationService;->getCollector()Lcom/android/server/pm/verify/domain/DomainVerificationCollector;
+PLcom/android/server/pm/verify/domain/DomainVerificationService;->getShell()Lcom/android/server/pm/verify/domain/DomainVerificationShell;
+PLcom/android/server/pm/verify/domain/DomainVerificationService;->hasRealVerifier()Z
+PLcom/android/server/pm/verify/domain/DomainVerificationService;->onBootPhase(I)V
+HSPLcom/android/server/pm/verify/domain/DomainVerificationService;->onStart()V
+PLcom/android/server/pm/verify/domain/DomainVerificationService;->onUserUnlocked(Lcom/android/server/SystemService$TargetUser;)V
+HPLcom/android/server/pm/verify/domain/DomainVerificationService;->printState(Lcom/android/server/pm/Computer;Landroid/util/IndentingPrintWriter;Ljava/lang/String;Ljava/lang/Integer;)V
+HSPLcom/android/server/pm/verify/domain/DomainVerificationService;->readLegacySettings(Lcom/android/modules/utils/TypedXmlPullParser;)V
+HSPLcom/android/server/pm/verify/domain/DomainVerificationService;->readSettings(Lcom/android/server/pm/Computer;Lcom/android/modules/utils/TypedXmlPullParser;)V
+HSPLcom/android/server/pm/verify/domain/DomainVerificationService;->setConnection(Lcom/android/server/pm/verify/domain/DomainVerificationManagerInternal$Connection;)V
+HSPLcom/android/server/pm/verify/domain/DomainVerificationService;->setLegacyUserState(Ljava/lang/String;II)Z
+PLcom/android/server/pm/verify/domain/DomainVerificationService;->setProxy(Lcom/android/server/pm/verify/domain/proxy/DomainVerificationProxy;)V
+PLcom/android/server/pm/verify/domain/DomainVerificationService;->shouldReBroadcastPackage(Lcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;)Z
+PLcom/android/server/pm/verify/domain/DomainVerificationService;->verifyPackages(Ljava/util/List;Z)V
+PLcom/android/server/pm/verify/domain/DomainVerificationService;->writeSettings(Lcom/android/server/pm/Computer;Lcom/android/modules/utils/TypedXmlSerializer;ZI)V
+HSPLcom/android/server/pm/verify/domain/DomainVerificationSettings;-><init>(Lcom/android/server/pm/verify/domain/DomainVerificationCollector;)V
+HSPLcom/android/server/pm/verify/domain/DomainVerificationSettings;->readSettings(Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/server/pm/verify/domain/models/DomainVerificationStateMap;Lcom/android/server/pm/Computer;)V
+HPLcom/android/server/pm/verify/domain/DomainVerificationSettings;->removePendingState(Ljava/lang/String;)Lcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;
+PLcom/android/server/pm/verify/domain/DomainVerificationSettings;->writeSettings(Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/server/pm/verify/domain/models/DomainVerificationStateMap;ILjava/util/function/Function;)V
+HSPLcom/android/server/pm/verify/domain/DomainVerificationShell;-><init>(Lcom/android/server/pm/verify/domain/DomainVerificationShell$Callback;)V
+PLcom/android/server/pm/verify/domain/DomainVerificationUtils$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/pm/verify/domain/DomainVerificationUtils;-><clinit>()V
+HPLcom/android/server/pm/verify/domain/DomainVerificationUtils;->buildMockAppInfo(Lcom/android/server/pm/pkg/AndroidPackage;)Landroid/content/pm/ApplicationInfo;
+HPLcom/android/server/pm/verify/domain/DomainVerificationUtils;->isChangeEnabled(Lcom/android/server/compat/PlatformCompat;Lcom/android/server/pm/pkg/AndroidPackage;J)Z
+HPLcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;-><init>(Lcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;Ljava/util/UUID;Z)V
+HSPLcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;-><init>(Ljava/lang/String;Ljava/util/UUID;ZLandroid/util/ArrayMap;Landroid/util/SparseArray;Ljava/lang/String;Landroid/util/ArrayMap;)V
+PLcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;->getBackupSignatureHash()Ljava/lang/String;
+PLcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;->getId()Ljava/util/UUID;
+HSPLcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;->getPackageName()Ljava/lang/String;
+PLcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;->getStateMap()Landroid/util/ArrayMap;
+PLcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;->getUriRelativeFilterGroupMap()Landroid/util/ArrayMap;
+PLcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;->getUserStates()Landroid/util/SparseArray;
+PLcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;->hashCode()I
+PLcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;->isHasAutoVerifyDomains()Z
+PLcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;->userStatesHashCode()I
+HSPLcom/android/server/pm/verify/domain/models/DomainVerificationStateMap;-><init>()V
+HSPLcom/android/server/pm/verify/domain/models/DomainVerificationStateMap;->get(Ljava/lang/String;)Ljava/lang/Object;
+HPLcom/android/server/pm/verify/domain/models/DomainVerificationStateMap;->put(Ljava/lang/String;Ljava/util/UUID;Ljava/lang/Object;)V
+PLcom/android/server/pm/verify/domain/models/DomainVerificationStateMap;->size()I
+PLcom/android/server/pm/verify/domain/models/DomainVerificationStateMap;->valueAt(I)Ljava/lang/Object;
+PLcom/android/server/pm/verify/domain/proxy/DomainVerificationProxy;->makeProxy(Landroid/content/ComponentName;Landroid/content/ComponentName;Landroid/content/Context;Lcom/android/server/pm/verify/domain/DomainVerificationManagerInternal;Lcom/android/server/pm/verify/domain/DomainVerificationCollector;Lcom/android/server/pm/verify/domain/proxy/DomainVerificationProxyV1$Connection;)Lcom/android/server/pm/verify/domain/proxy/DomainVerificationProxy;
+PLcom/android/server/pm/verify/domain/proxy/DomainVerificationProxyCombined;-><init>(Lcom/android/server/pm/verify/domain/proxy/DomainVerificationProxy;Lcom/android/server/pm/verify/domain/proxy/DomainVerificationProxy;)V
+HSPLcom/android/server/pm/verify/domain/proxy/DomainVerificationProxyUnavailable;-><init>()V
+PLcom/android/server/pm/verify/domain/proxy/DomainVerificationProxyV1;-><init>(Landroid/content/Context;Lcom/android/server/pm/verify/domain/DomainVerificationManagerInternal;Lcom/android/server/pm/verify/domain/DomainVerificationCollector;Lcom/android/server/pm/verify/domain/proxy/DomainVerificationProxyV1$Connection;Landroid/content/ComponentName;)V
+PLcom/android/server/pm/verify/domain/proxy/DomainVerificationProxyV2;-><init>(Landroid/content/Context;Lcom/android/server/pm/verify/domain/proxy/DomainVerificationProxyV2$Connection;Landroid/content/ComponentName;)V
+PLcom/android/server/policy/AppOpsPolicy$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/policy/AppOpsPolicy;)V
+PLcom/android/server/policy/AppOpsPolicy$$ExternalSyntheticLambda0;->onLocationPackageTagsChanged(ILandroid/os/PackageTagsList;)V
+PLcom/android/server/policy/AppOpsPolicy$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/policy/AppOpsPolicy;)V
+PLcom/android/server/policy/AppOpsPolicy$1;-><init>(Lcom/android/server/policy/AppOpsPolicy;)V
+PLcom/android/server/policy/AppOpsPolicy;->$r8$lambda$laOMxe-XDRkQA64xS88xc0B7in4(Lcom/android/server/policy/AppOpsPolicy;ILandroid/os/PackageTagsList;)V
+PLcom/android/server/policy/AppOpsPolicy;-><clinit>()V
+PLcom/android/server/policy/AppOpsPolicy;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/policy/AppOpsPolicy;->checkAudioOperation(IIILjava/lang/String;Lcom/android/internal/util/function/QuadFunction;)I
+HPLcom/android/server/policy/AppOpsPolicy;->checkOperation(IILjava/lang/String;Ljava/lang/String;IZLcom/android/internal/util/function/HexFunction;)I
+PLcom/android/server/policy/AppOpsPolicy;->clearActivityRecognitionTags()V
+HPLcom/android/server/policy/AppOpsPolicy;->finishOperation(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;ILcom/android/internal/util/function/HexConsumer;)V
+PLcom/android/server/policy/AppOpsPolicy;->initializeActivityRecognizersTags()V
+PLcom/android/server/policy/AppOpsPolicy;->isDatasourceAttributionTag(ILjava/lang/String;Ljava/lang/String;Ljava/util/Map;)Z
+PLcom/android/server/policy/AppOpsPolicy;->isHotwordDetectionServiceRequired(Landroid/content/pm/PackageManager;)Z
+HPLcom/android/server/policy/AppOpsPolicy;->lambda$new$0(ILandroid/os/PackageTagsList;)V
+HPLcom/android/server/policy/AppOpsPolicy;->noteOperation(IILjava/lang/String;Ljava/lang/String;IZLjava/lang/String;ZLcom/android/internal/util/function/OctFunction;)Landroid/app/SyncNotedAppOp;
+HPLcom/android/server/policy/AppOpsPolicy;->noteProxyOperation(ILandroid/content/AttributionSource;ZLjava/lang/String;ZZLcom/android/internal/util/function/HexFunction;)Landroid/app/SyncNotedAppOp;
+PLcom/android/server/policy/AppOpsPolicy;->resolveArOp(I)I
+HPLcom/android/server/policy/AppOpsPolicy;->resolveDatasourceOp(IILjava/lang/String;Ljava/lang/String;)I
+PLcom/android/server/policy/AppOpsPolicy;->resolveLocationOp(I)I
+PLcom/android/server/policy/AppOpsPolicy;->resolveRecordAudioOp(II)I
+HPLcom/android/server/policy/AppOpsPolicy;->resolveSandboxedServiceOp(II)I
+HPLcom/android/server/policy/AppOpsPolicy;->resolveUid(II)I
+HPLcom/android/server/policy/AppOpsPolicy;->startOperation(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;IZZLjava/lang/String;ZIILcom/android/internal/util/function/DodecFunction;)Landroid/app/SyncNotedAppOp;
+PLcom/android/server/policy/AppOpsPolicy;->updateAllowListedTagsForPackageLocked(ILandroid/os/PackageTagsList;Ljava/util/concurrent/ConcurrentHashMap;)V
+PLcom/android/server/policy/DeferredKeyActionExecutor;-><init>()V
+PLcom/android/server/policy/DeviceStatePolicyImpl;-><init>(Landroid/content/Context;)V
+PLcom/android/server/policy/DeviceStatePolicyImpl;->configureDeviceForState(ILjava/lang/Runnable;)V
+PLcom/android/server/policy/DeviceStatePolicyImpl;->getDeviceStateProvider()Lcom/android/server/devicestate/DeviceStateProvider;
+PLcom/android/server/policy/DeviceStateProviderImpl$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/policy/DeviceStateProviderImpl$$ExternalSyntheticLambda0;->getAsBoolean()Z
+PLcom/android/server/policy/DeviceStateProviderImpl$$ExternalSyntheticLambda1;-><init>()V
+PLcom/android/server/policy/DeviceStateProviderImpl$$ExternalSyntheticLambda2;-><init>()V
+PLcom/android/server/policy/DeviceStateProviderImpl;->$r8$lambda$t8JSrrBv0J146lhB0w0iIONBa0A()Z
+PLcom/android/server/policy/DeviceStateProviderImpl;-><clinit>()V
+PLcom/android/server/policy/DeviceStateProviderImpl;-><init>(Landroid/content/Context;Ljava/util/List;Ljava/util/List;)V
+PLcom/android/server/policy/DeviceStateProviderImpl;->create(Landroid/content/Context;)Lcom/android/server/policy/DeviceStateProviderImpl;
+PLcom/android/server/policy/DeviceStateProviderImpl;->createFromConfig(Landroid/content/Context;Lcom/android/server/policy/DeviceStateProviderImpl$ReadableConfig;)Lcom/android/server/policy/DeviceStateProviderImpl;
+PLcom/android/server/policy/DeviceStateProviderImpl;->getConfigurationFile()Ljava/io/File;
+PLcom/android/server/policy/DeviceStateProviderImpl;->hasPowerSaveSensitiveState(Ljava/util/List;)Z
+PLcom/android/server/policy/DeviceStateProviderImpl;->hasThermalSensitiveState(Ljava/util/List;)Z
+PLcom/android/server/policy/DeviceStateProviderImpl;->isThermalStatusCriticalOrAbove(I)Z
+PLcom/android/server/policy/DeviceStateProviderImpl;->lambda$static$0()Z
+PLcom/android/server/policy/DeviceStateProviderImpl;->notifyDeviceStateChangedIfNeeded()V
+PLcom/android/server/policy/DeviceStateProviderImpl;->notifySupportedStatesChanged(I)V
+PLcom/android/server/policy/DeviceStateProviderImpl;->setListener(Lcom/android/server/devicestate/DeviceStateProvider$Listener;)V
+PLcom/android/server/policy/DeviceStateProviderImpl;->setStateConditions(Ljava/util/List;Ljava/util/List;)V
+PLcom/android/server/policy/DisplayFoldController$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/policy/DisplayFoldController;)V
+PLcom/android/server/policy/DisplayFoldController$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
+PLcom/android/server/policy/DisplayFoldController;->$r8$lambda$UP61ySHIdmxonM9JQcOhYZ_jOG0(Lcom/android/server/policy/DisplayFoldController;Ljava/lang/Boolean;)V
+PLcom/android/server/policy/DisplayFoldController;-><init>(Landroid/content/Context;Lcom/android/server/wm/WindowManagerInternal;Landroid/hardware/display/DisplayManagerInternal;ILandroid/graphics/Rect;Landroid/os/Handler;)V
+PLcom/android/server/policy/DisplayFoldController;->create(Landroid/content/Context;I)Lcom/android/server/policy/DisplayFoldController;
+PLcom/android/server/policy/DisplayFoldController;->finishedWakingUp()V
+PLcom/android/server/policy/DisplayFoldController;->lambda$new$0(Ljava/lang/Boolean;)V
+PLcom/android/server/policy/DisplayFoldController;->onDefaultDisplayFocusChanged(Ljava/lang/String;)V
+PLcom/android/server/policy/DisplayFoldController;->setDeviceFolded(Z)V
+PLcom/android/server/policy/DisplayFoldDurationLogger;-><init>()V
+PLcom/android/server/policy/DisplayFoldDurationLogger;->isOn()Z
+PLcom/android/server/policy/DisplayFoldDurationLogger;->logFocusedAppWithFoldState(ZLjava/lang/String;)V
+PLcom/android/server/policy/DisplayFoldDurationLogger;->onFinishedWakingUp(Ljava/lang/Boolean;)V
+PLcom/android/server/policy/DisplayFoldDurationLogger;->setDeviceFolded(Z)V
+PLcom/android/server/policy/EventLogTags;->writeScreenToggled(I)V
+PLcom/android/server/policy/FeatureFlagsImpl;-><clinit>()V
+PLcom/android/server/policy/FeatureFlagsImpl;-><init>()V
+PLcom/android/server/policy/FeatureFlagsImpl;->load_overrides_wear_frameworks()V
+PLcom/android/server/policy/FeatureFlagsImpl;->supportInputWakeupDelegate()Z
+PLcom/android/server/policy/Flags;-><clinit>()V
+PLcom/android/server/policy/Flags;->supportInputWakeupDelegate()Z
+PLcom/android/server/policy/GlobalKeyManager$GlobalKeyAction;-><init>(Lcom/android/server/policy/GlobalKeyManager;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/policy/GlobalKeyManager;-><init>(Landroid/content/Context;)V
+PLcom/android/server/policy/GlobalKeyManager;->loadGlobalKeys(Landroid/content/Context;)V
+PLcom/android/server/policy/KeyCombinationManager$TwoKeysCombinationRule;-><init>(II)V
+PLcom/android/server/policy/KeyCombinationManager$TwoKeysCombinationRule;->equals(Ljava/lang/Object;)Z
+PLcom/android/server/policy/KeyCombinationManager;-><init>(Landroid/os/Handler;)V
+PLcom/android/server/policy/KeyCombinationManager;->addRule(Lcom/android/server/policy/KeyCombinationManager$TwoKeysCombinationRule;)V
+PLcom/android/server/policy/ModifierShortcutManager;-><clinit>()V
+PLcom/android/server/policy/ModifierShortcutManager;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/policy/ModifierShortcutManager;->loadShortcuts()V
+PLcom/android/server/policy/PermissionPolicyInternal;-><init>()V
+PLcom/android/server/policy/PermissionPolicyService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/policy/PermissionPolicyService;)V
+PLcom/android/server/policy/PermissionPolicyService$$ExternalSyntheticLambda1;-><init>(Landroid/permission/PermissionControllerManager;)V
+PLcom/android/server/policy/PermissionPolicyService$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/policy/PermissionPolicyService$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;)V
+HPLcom/android/server/policy/PermissionPolicyService$$ExternalSyntheticLambda3;->accept(Ljava/lang/Object;)V
+PLcom/android/server/policy/PermissionPolicyService$1;-><init>(Lcom/android/server/policy/PermissionPolicyService;)V
+PLcom/android/server/policy/PermissionPolicyService$2;-><init>(Lcom/android/server/policy/PermissionPolicyService;)V
+PLcom/android/server/policy/PermissionPolicyService$3;-><init>(Lcom/android/server/policy/PermissionPolicyService;)V
+PLcom/android/server/policy/PermissionPolicyService$4;-><init>(Lcom/android/server/policy/PermissionPolicyService;)V
+PLcom/android/server/policy/PermissionPolicyService$Internal$1;-><init>(Lcom/android/server/policy/PermissionPolicyService$Internal;)V
+PLcom/android/server/policy/PermissionPolicyService$Internal$1;->onActivityLaunched(Landroid/app/TaskInfo;Landroid/content/pm/ActivityInfo;Lcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo;)V
+PLcom/android/server/policy/PermissionPolicyService$Internal$1;->onInterceptActivityLaunch(Lcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo;)Lcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptResult;
+PLcom/android/server/policy/PermissionPolicyService$Internal;->-$$Nest$monActivityManagerReady(Lcom/android/server/policy/PermissionPolicyService$Internal;)V
+PLcom/android/server/policy/PermissionPolicyService$Internal;->-$$Nest$mshouldShowNotificationDialogOrClearFlags(Lcom/android/server/policy/PermissionPolicyService$Internal;Landroid/app/TaskInfo;Ljava/lang/String;Ljava/lang/String;Landroid/content/Intent;Landroid/app/ActivityOptions;Ljava/lang/String;Z)Z
+PLcom/android/server/policy/PermissionPolicyService$Internal;-><init>(Lcom/android/server/policy/PermissionPolicyService;)V
+PLcom/android/server/policy/PermissionPolicyService$Internal;-><init>(Lcom/android/server/policy/PermissionPolicyService;Lcom/android/server/policy/PermissionPolicyService$Internal-IA;)V
+PLcom/android/server/policy/PermissionPolicyService$Internal;->checkStartActivity(Landroid/content/Intent;ILjava/lang/String;)Z
+PLcom/android/server/policy/PermissionPolicyService$Internal;->isActionRemovedForCallingPackage(Landroid/content/Intent;ILjava/lang/String;)Z
+HPLcom/android/server/policy/PermissionPolicyService$Internal;->isIntentToPermissionDialog(Landroid/content/Intent;)Z
+PLcom/android/server/policy/PermissionPolicyService$Internal;->isLauncherIntent(Landroid/content/Intent;)Z
+PLcom/android/server/policy/PermissionPolicyService$Internal;->isTaskPotentialTrampoline(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/TaskInfo;Landroid/content/Intent;)Z
+PLcom/android/server/policy/PermissionPolicyService$Internal;->isTaskStartedFromLauncher(Ljava/lang/String;Landroid/app/TaskInfo;)Z
+PLcom/android/server/policy/PermissionPolicyService$Internal;->onActivityManagerReady()V
+PLcom/android/server/policy/PermissionPolicyService$Internal;->shouldShowNotificationDialogForTask(Landroid/app/TaskInfo;Ljava/lang/String;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;)Z
+PLcom/android/server/policy/PermissionPolicyService$Internal;->shouldShowNotificationDialogOrClearFlags(Landroid/app/TaskInfo;Ljava/lang/String;Ljava/lang/String;Landroid/content/Intent;Landroid/app/ActivityOptions;Ljava/lang/String;Z)Z
+HPLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser$OpToChange;-><init>(Lcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;ILjava/lang/String;I)V
+PLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;->-$$Nest$msyncPackages(Lcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;)V
+HPLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;-><init>(Lcom/android/server/policy/PermissionPolicyService;Landroid/content/Context;)V
+HPLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;->addAppOps(Landroid/content/pm/PackageInfo;Lcom/android/server/pm/pkg/AndroidPackage;Ljava/lang/String;)V
+HPLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;->addExtraAppOp(Landroid/content/pm/PackageInfo;Lcom/android/server/pm/pkg/AndroidPackage;Landroid/content/pm/PermissionInfo;)V
+HPLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;->addPackage(Ljava/lang/String;)V
+HPLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;->addPermissionAppOp(Landroid/content/pm/PackageInfo;Lcom/android/server/pm/pkg/AndroidPackage;Landroid/content/pm/PermissionInfo;)V
+PLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;->setUidMode(IIILjava/lang/String;)V
+PLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;->setUidModeAllowed(IILjava/lang/String;)V
+PLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;->setUidModeForeground(IILjava/lang/String;)V
+HPLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;->setUidModeIgnored(IILjava/lang/String;)V
+HPLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;->shouldGrantAppOp(Landroid/content/pm/PackageInfo;Lcom/android/server/pm/pkg/AndroidPackage;Landroid/content/pm/PermissionInfo;)Z
+HPLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;->syncPackages()V
+PLcom/android/server/policy/PermissionPolicyService$PhoneCarrierPrivilegesCallback;-><init>(Lcom/android/server/policy/PermissionPolicyService;I)V
+PLcom/android/server/policy/PermissionPolicyService$PhoneCarrierPrivilegesCallback;->onCarrierPrivilegesChanged(Ljava/util/Set;Ljava/util/Set;)V
+PLcom/android/server/policy/PermissionPolicyService;->$r8$lambda$rznrndUGsirjpBcjHOGDjKWoSAo(Lcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;Lcom/android/server/pm/pkg/AndroidPackage;)V
+PLcom/android/server/policy/PermissionPolicyService;->-$$Nest$fgetmPackageManager(Lcom/android/server/policy/PermissionPolicyService;)Landroid/content/pm/PackageManager;
+PLcom/android/server/policy/PermissionPolicyService;->-$$Nest$fgetmTelephonyManager(Lcom/android/server/policy/PermissionPolicyService;)Landroid/telephony/TelephonyManager;
+PLcom/android/server/policy/PermissionPolicyService;->-$$Nest$minitTelephonyManagerIfNeeded(Lcom/android/server/policy/PermissionPolicyService;)V
+HPLcom/android/server/policy/PermissionPolicyService;->-$$Nest$smgetSwitchOp(Ljava/lang/String;)I
+PLcom/android/server/policy/PermissionPolicyService;-><clinit>()V
+PLcom/android/server/policy/PermissionPolicyService;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/policy/PermissionPolicyService;->getSwitchOp(Ljava/lang/String;)I
+PLcom/android/server/policy/PermissionPolicyService;->getUserContext(Landroid/content/Context;Landroid/os/UserHandle;)Landroid/content/Context;
+PLcom/android/server/policy/PermissionPolicyService;->grantOrUpgradeDefaultRuntimePermissionsIfNeeded(I)V
+PLcom/android/server/policy/PermissionPolicyService;->initTelephonyManagerIfNeeded()V
+PLcom/android/server/policy/PermissionPolicyService;->isStarted(I)Z
+HPLcom/android/server/policy/PermissionPolicyService;->lambda$synchronizePermissionsAndAppOpsForUser$1(Lcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;Lcom/android/server/pm/pkg/AndroidPackage;)V
+PLcom/android/server/policy/PermissionPolicyService;->onBootPhase(I)V
+HPLcom/android/server/policy/PermissionPolicyService;->onStart()V
+PLcom/android/server/policy/PermissionPolicyService;->onStartUser(I)V
+PLcom/android/server/policy/PermissionPolicyService;->onUserStarting(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/policy/PermissionPolicyService;->registerCarrierPrivilegesCallbacks()V
+PLcom/android/server/policy/PermissionPolicyService;->synchronizePermissionsAndAppOpsForUser(I)V
+PLcom/android/server/policy/PhoneWindowManager$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
+PLcom/android/server/policy/PhoneWindowManager$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/policy/PhoneWindowManager$13;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
+PLcom/android/server/policy/PhoneWindowManager$14;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
+PLcom/android/server/policy/PhoneWindowManager$14;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/policy/PhoneWindowManager$1;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
+PLcom/android/server/policy/PhoneWindowManager$1;->onDrawn()V
+PLcom/android/server/policy/PhoneWindowManager$2;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
+PLcom/android/server/policy/PhoneWindowManager$3;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
+PLcom/android/server/policy/PhoneWindowManager$4;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
+PLcom/android/server/policy/PhoneWindowManager$5;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
+PLcom/android/server/policy/PhoneWindowManager$5;->onAppTransitionFinishedLocked(Landroid/os/IBinder;)V
+PLcom/android/server/policy/PhoneWindowManager$5;->onAppTransitionStartingLocked(JJ)I
+PLcom/android/server/policy/PhoneWindowManager$6;-><init>(Lcom/android/server/policy/PhoneWindowManager;II)V
+PLcom/android/server/policy/PhoneWindowManager$7;-><init>(Lcom/android/server/policy/PhoneWindowManager;II)V
+PLcom/android/server/policy/PhoneWindowManager$8;-><init>(Lcom/android/server/policy/PhoneWindowManager;II)V
+PLcom/android/server/policy/PhoneWindowManager$9;-><init>(Lcom/android/server/policy/PhoneWindowManager;II)V
+PLcom/android/server/policy/PhoneWindowManager$ButtonOverridePermissionChecker;-><init>()V
+PLcom/android/server/policy/PhoneWindowManager$Injector$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/policy/PhoneWindowManager$Injector;)V
+PLcom/android/server/policy/PhoneWindowManager$Injector$1;-><init>(Lcom/android/server/policy/PhoneWindowManager$Injector;)V
+PLcom/android/server/policy/PhoneWindowManager$Injector$1;->onShowingChanged()V
+PLcom/android/server/policy/PhoneWindowManager$Injector;->-$$Nest$fgetmWindowManagerFuncs(Lcom/android/server/policy/PhoneWindowManager$Injector;)Lcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;
+PLcom/android/server/policy/PhoneWindowManager$Injector;-><init>(Landroid/content/Context;Lcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;)V
+PLcom/android/server/policy/PhoneWindowManager$Injector;->getAccessibilityShortcutController(Landroid/content/Context;Landroid/os/Handler;I)Lcom/android/internal/accessibility/AccessibilityShortcutController;
+PLcom/android/server/policy/PhoneWindowManager$Injector;->getActivityManagerService()Landroid/app/IActivityManager;
+PLcom/android/server/policy/PhoneWindowManager$Injector;->getButtonOverridePermissionChecker()Lcom/android/server/policy/PhoneWindowManager$ButtonOverridePermissionChecker;
+PLcom/android/server/policy/PhoneWindowManager$Injector;->getContext()Landroid/content/Context;
+PLcom/android/server/policy/PhoneWindowManager$Injector;->getGlobalActionsFactory()Ljava/util/function/Supplier;
+PLcom/android/server/policy/PhoneWindowManager$Injector;->getKeyguardServiceDelegate()Lcom/android/server/policy/keyguard/KeyguardServiceDelegate;
+PLcom/android/server/policy/PhoneWindowManager$Injector;->getLooper()Landroid/os/Looper;
+PLcom/android/server/policy/PhoneWindowManager$Injector;->getTalkbackShortcutController()Lcom/android/server/policy/TalkbackShortcutController;
+PLcom/android/server/policy/PhoneWindowManager$Injector;->getWindowManagerFuncs()Lcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;
+PLcom/android/server/policy/PhoneWindowManager$Injector;->getWindowWakeUpPolicy()Lcom/android/server/policy/WindowWakeUpPolicy;
+PLcom/android/server/policy/PhoneWindowManager$MyWakeGestureListener;-><init>(Lcom/android/server/policy/PhoneWindowManager;Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/policy/PhoneWindowManager$PolicyHandler;-><init>(Lcom/android/server/policy/PhoneWindowManager;Landroid/os/Looper;)V
+PLcom/android/server/policy/PhoneWindowManager$PolicyHandler;-><init>(Lcom/android/server/policy/PhoneWindowManager;Landroid/os/Looper;Lcom/android/server/policy/PhoneWindowManager$PolicyHandler-IA;)V
+PLcom/android/server/policy/PhoneWindowManager$PolicyHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/policy/PhoneWindowManager$PowerKeyRule;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
+PLcom/android/server/policy/PhoneWindowManager$ScreenLockTimeout;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
+PLcom/android/server/policy/PhoneWindowManager$SettingsObserver;-><init>(Lcom/android/server/policy/PhoneWindowManager;Landroid/os/Handler;)V
+HPLcom/android/server/policy/PhoneWindowManager$SettingsObserver;->observe()V
+PLcom/android/server/policy/PhoneWindowManager$SettingsObserver;->onChange(Z)V
+PLcom/android/server/policy/PhoneWindowManager$StemPrimaryKeyRule;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
+PLcom/android/server/policy/PhoneWindowManager;->$r8$lambda$bJVVU3mazaPNgbIaoQkxeoMODLQ(Lcom/android/server/policy/PhoneWindowManager;)V
+PLcom/android/server/policy/PhoneWindowManager;->-$$Nest$fgetmHandler(Lcom/android/server/policy/PhoneWindowManager;)Landroid/os/Handler;
+PLcom/android/server/policy/PhoneWindowManager;->-$$Nest$fgetmLock(Lcom/android/server/policy/PhoneWindowManager;)Ljava/lang/Object;
+PLcom/android/server/policy/PhoneWindowManager;->-$$Nest$fputmLockAfterDreamingTransitionFinished(Lcom/android/server/policy/PhoneWindowManager;Z)V
+PLcom/android/server/policy/PhoneWindowManager;->-$$Nest$mfinishKeyguardDrawn(Lcom/android/server/policy/PhoneWindowManager;)V
+PLcom/android/server/policy/PhoneWindowManager;->-$$Nest$mfinishWindowsDrawn(Lcom/android/server/policy/PhoneWindowManager;I)V
+PLcom/android/server/policy/PhoneWindowManager;->-$$Nest$mgetDreamManagerInternal(Lcom/android/server/policy/PhoneWindowManager;)Landroid/service/dreams/DreamManagerInternal;
+PLcom/android/server/policy/PhoneWindowManager;->-$$Nest$mhandleTransitionForKeyguardLw(Lcom/android/server/policy/PhoneWindowManager;ZZ)I
+PLcom/android/server/policy/PhoneWindowManager;->-$$Nest$mupdateSettings(Lcom/android/server/policy/PhoneWindowManager;)V
+PLcom/android/server/policy/PhoneWindowManager;-><clinit>()V
+PLcom/android/server/policy/PhoneWindowManager;-><init>()V
+PLcom/android/server/policy/PhoneWindowManager;->adjustConfigurationLw(Landroid/content/res/Configuration;II)V
+PLcom/android/server/policy/PhoneWindowManager;->applyLidSwitchState()V
+PLcom/android/server/policy/PhoneWindowManager;->bindKeyguard()V
+PLcom/android/server/policy/PhoneWindowManager;->canDismissBootAnimation()Z
+PLcom/android/server/policy/PhoneWindowManager;->checkAddPermission(IZLjava/lang/String;[I)I
+PLcom/android/server/policy/PhoneWindowManager;->enableScreen(Lcom/android/server/policy/WindowManagerPolicy$ScreenOnListener;Z)V
+PLcom/android/server/policy/PhoneWindowManager;->enableScreenAfterBoot()V
+PLcom/android/server/policy/PhoneWindowManager;->finishKeyguardDrawn()V
+PLcom/android/server/policy/PhoneWindowManager;->finishScreenTurningOn()V
+PLcom/android/server/policy/PhoneWindowManager;->finishWindowsDrawn(I)V
+PLcom/android/server/policy/PhoneWindowManager;->finishedWakingUp(II)V
+PLcom/android/server/policy/PhoneWindowManager;->getDreamManagerInternal()Landroid/service/dreams/DreamManagerInternal;
+PLcom/android/server/policy/PhoneWindowManager;->getKeyguardDrawnTimeout()J
+PLcom/android/server/policy/PhoneWindowManager;->getLidBehavior()I
+PLcom/android/server/policy/PhoneWindowManager;->getMaxMultiPressStemPrimaryCount()I
+PLcom/android/server/policy/PhoneWindowManager;->getWallpaperManagerInternal()Lcom/android/server/wallpaper/WallpaperManagerInternal;
+PLcom/android/server/policy/PhoneWindowManager;->handleTransitionForKeyguardLw(ZZ)I
+PLcom/android/server/policy/PhoneWindowManager;->hasLongPressOnBackBehavior()Z
+PLcom/android/server/policy/PhoneWindowManager;->hasStemPrimaryBehavior()Z
+PLcom/android/server/policy/PhoneWindowManager;->inKeyguardRestrictedKeyInputMode()Z
+PLcom/android/server/policy/PhoneWindowManager;->init(Landroid/content/Context;Lcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;)V
+HPLcom/android/server/policy/PhoneWindowManager;->init(Lcom/android/server/policy/PhoneWindowManager$Injector;)V
+PLcom/android/server/policy/PhoneWindowManager;->initKeyCombinationRules()V
+PLcom/android/server/policy/PhoneWindowManager;->initSingleKeyGestureRules(Landroid/os/Looper;)V
+PLcom/android/server/policy/PhoneWindowManager;->initializeHdmiState()V
+PLcom/android/server/policy/PhoneWindowManager;->initializeHdmiStateInternal()V
+PLcom/android/server/policy/PhoneWindowManager;->isKeyguardHostWindow(Landroid/view/WindowManager$LayoutParams;)Z
+PLcom/android/server/policy/PhoneWindowManager;->isKeyguardLocked()Z
+PLcom/android/server/policy/PhoneWindowManager;->isKeyguardOccluded()Z
+HPLcom/android/server/policy/PhoneWindowManager;->isKeyguardSecure(I)Z
+HPLcom/android/server/policy/PhoneWindowManager;->isKeyguardShowing()Z
+HPLcom/android/server/policy/PhoneWindowManager;->isKeyguardShowingAndNotOccluded()Z
+PLcom/android/server/policy/PhoneWindowManager;->isScreenOn()Z
+PLcom/android/server/policy/PhoneWindowManager;->keyguardOn()Z
+PLcom/android/server/policy/PhoneWindowManager;->lambda$updateSettings$1()V
+PLcom/android/server/policy/PhoneWindowManager;->notifyLidSwitchChanged(JZ)V
+PLcom/android/server/policy/PhoneWindowManager;->okToAnimate(Z)Z
+PLcom/android/server/policy/PhoneWindowManager;->onDefaultDisplayFocusChangedLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)V
+PLcom/android/server/policy/PhoneWindowManager;->onSystemUiStarted()V
+PLcom/android/server/policy/PhoneWindowManager;->readCameraLensCoverState()V
+HPLcom/android/server/policy/PhoneWindowManager;->readConfigurationDependentBehaviors()V
+PLcom/android/server/policy/PhoneWindowManager;->readLidState()V
+PLcom/android/server/policy/PhoneWindowManager;->reportScreenStateToVrManager(Z)V
+PLcom/android/server/policy/PhoneWindowManager;->reportScreenTurnedOnToWallpaper(I)V
+PLcom/android/server/policy/PhoneWindowManager;->reportScreenTurningOnToWallpaper(I)V
+PLcom/android/server/policy/PhoneWindowManager;->screenTurnedOn(I)V
+PLcom/android/server/policy/PhoneWindowManager;->screenTurningOn(ILcom/android/server/policy/WindowManagerPolicy$ScreenOnListener;)V
+HPLcom/android/server/policy/PhoneWindowManager;->setAllowLockscreenWhenOn(IZ)V
+PLcom/android/server/policy/PhoneWindowManager;->setDefaultDisplay(Lcom/android/server/policy/WindowManagerPolicy$DisplayContentInfo;)V
+PLcom/android/server/policy/PhoneWindowManager;->setDismissImeOnBackKeyPressed(Z)V
+PLcom/android/server/policy/PhoneWindowManager;->setSafeMode(Z)V
+PLcom/android/server/policy/PhoneWindowManager;->setTopFocusedDisplay(I)V
+PLcom/android/server/policy/PhoneWindowManager;->shouldEnableWakeGestureLp()Z
+PLcom/android/server/policy/PhoneWindowManager;->startedWakingUp(II)V
+PLcom/android/server/policy/PhoneWindowManager;->systemBooted()V
+PLcom/android/server/policy/PhoneWindowManager;->systemReady()V
+HPLcom/android/server/policy/PhoneWindowManager;->updateLockScreenTimeout()V
+PLcom/android/server/policy/PhoneWindowManager;->updateRotation(Z)V
+PLcom/android/server/policy/PhoneWindowManager;->updateScreenOffSleepToken(ZZ)V
+PLcom/android/server/policy/PhoneWindowManager;->updateSettings()V
+HPLcom/android/server/policy/PhoneWindowManager;->updateSettings(Landroid/os/Handler;)V
+PLcom/android/server/policy/PhoneWindowManager;->updateUiMode()V
+PLcom/android/server/policy/PhoneWindowManager;->updateWakeGestureListenerLp()V
+PLcom/android/server/policy/PhoneWindowManager;->userActivity(II)V
+PLcom/android/server/policy/SideFpsEventHandler$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/policy/SideFpsEventHandler;)V
+PLcom/android/server/policy/SideFpsEventHandler$$ExternalSyntheticLambda1;-><init>()V
+PLcom/android/server/policy/SideFpsEventHandler$1;-><init>(Lcom/android/server/policy/SideFpsEventHandler;)V
+PLcom/android/server/policy/SideFpsEventHandler;-><init>(Landroid/content/Context;Landroid/os/Handler;Landroid/os/PowerManager;)V
+PLcom/android/server/policy/SideFpsEventHandler;-><init>(Landroid/content/Context;Landroid/os/Handler;Landroid/os/PowerManager;Lcom/android/server/policy/SideFpsEventHandler$DialogProvider;)V
+PLcom/android/server/policy/SideFpsEventHandler;->onFingerprintSensorReady()V
+PLcom/android/server/policy/SingleKeyGestureDetector$KeyHandler;-><init>(Lcom/android/server/policy/SingleKeyGestureDetector;Landroid/os/Looper;)V
+PLcom/android/server/policy/SingleKeyGestureDetector$SingleKeyRule;-><init>(I)V
+PLcom/android/server/policy/SingleKeyGestureDetector$SingleKeyRule;->equals(Ljava/lang/Object;)Z
+PLcom/android/server/policy/SingleKeyGestureDetector;-><clinit>()V
+PLcom/android/server/policy/SingleKeyGestureDetector;-><init>(Landroid/os/Looper;)V
+PLcom/android/server/policy/SingleKeyGestureDetector;->addRule(Lcom/android/server/policy/SingleKeyGestureDetector$SingleKeyRule;)V
+PLcom/android/server/policy/SingleKeyGestureDetector;->get(Landroid/content/Context;Landroid/os/Looper;)Lcom/android/server/policy/SingleKeyGestureDetector;
+PLcom/android/server/policy/SoftRestrictedPermissionPolicy$1;-><init>()V
+HPLcom/android/server/policy/SoftRestrictedPermissionPolicy$2;-><init>(ZIZZZZZZ)V
+PLcom/android/server/policy/SoftRestrictedPermissionPolicy$2;->getExtraAppOpCode()I
+HPLcom/android/server/policy/SoftRestrictedPermissionPolicy$2;->mayAllowExtraAppOp()Z
+PLcom/android/server/policy/SoftRestrictedPermissionPolicy$2;->mayDenyExtraAppOpIfGranted()Z
+PLcom/android/server/policy/SoftRestrictedPermissionPolicy$2;->mayGrantPermission()Z
+HPLcom/android/server/policy/SoftRestrictedPermissionPolicy$3;-><init>(ZI)V
+PLcom/android/server/policy/SoftRestrictedPermissionPolicy$3;->mayGrantPermission()Z
+PLcom/android/server/policy/SoftRestrictedPermissionPolicy;-><clinit>()V
+PLcom/android/server/policy/SoftRestrictedPermissionPolicy;-><init>()V
+HPLcom/android/server/policy/SoftRestrictedPermissionPolicy;->forPermission(Landroid/content/Context;Landroid/content/pm/ApplicationInfo;Lcom/android/server/pm/pkg/AndroidPackage;Landroid/os/UserHandle;Ljava/lang/String;)Lcom/android/server/policy/SoftRestrictedPermissionPolicy;
+PLcom/android/server/policy/SoftRestrictedPermissionPolicy;->getExtraAppOpCode()I
+PLcom/android/server/policy/SoftRestrictedPermissionPolicy;->getForcedScopedStorageAppWhitelist()[Ljava/lang/String;
+HPLcom/android/server/policy/SoftRestrictedPermissionPolicy;->getMinimumTargetSDK(Landroid/content/Context;Landroid/content/pm/ApplicationInfo;Landroid/os/UserHandle;)I
+HPLcom/android/server/policy/SoftRestrictedPermissionPolicy;->hasUidRequestedLegacyExternalStorage(ILandroid/content/Context;)Z
+HPLcom/android/server/policy/SoftRestrictedPermissionPolicy;->hasWriteMediaStorageGrantedForUid(ILandroid/content/Context;)Z
+PLcom/android/server/policy/TalkbackShortcutController;-><init>(Landroid/content/Context;)V
+PLcom/android/server/policy/TalkbackShortcutController;->isTalkBackShortcutGestureEnabled()Z
+PLcom/android/server/policy/WakeGestureListener$1;-><init>(Lcom/android/server/policy/WakeGestureListener;)V
+PLcom/android/server/policy/WakeGestureListener$2;-><init>(Lcom/android/server/policy/WakeGestureListener;)V
+PLcom/android/server/policy/WakeGestureListener;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/policy/WakeGestureListener;->cancelWakeUpTrigger()V
+PLcom/android/server/policy/WakeGestureListener;->isSupported()Z
+PLcom/android/server/policy/WindowManagerPolicy;->getMaxWindowLayer()I
+HPLcom/android/server/policy/WindowManagerPolicy;->getWindowLayerFromTypeLw(I)I
+HPLcom/android/server/policy/WindowManagerPolicy;->getWindowLayerFromTypeLw(IZ)I
+PLcom/android/server/policy/WindowManagerPolicy;->getWindowLayerFromTypeLw(IZZ)I
+HPLcom/android/server/policy/WindowManagerPolicy;->getWindowLayerLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)I
+PLcom/android/server/policy/WindowWakeUpPolicy$LocalService;-><init>(Lcom/android/server/policy/WindowWakeUpPolicy;)V
+PLcom/android/server/policy/WindowWakeUpPolicy$LocalService;-><init>(Lcom/android/server/policy/WindowWakeUpPolicy;Lcom/android/server/policy/WindowWakeUpPolicy$LocalService-IA;)V
+PLcom/android/server/policy/WindowWakeUpPolicy$LocalService;->setInputWakeUpDelegate(Lcom/android/server/policy/WindowWakeUpPolicyInternal$InputWakeUpDelegate;)V
+PLcom/android/server/policy/WindowWakeUpPolicy;->-$$Nest$fputmInputWakeUpDelegate(Lcom/android/server/policy/WindowWakeUpPolicy;Lcom/android/server/policy/WindowWakeUpPolicyInternal$InputWakeUpDelegate;)V
+PLcom/android/server/policy/WindowWakeUpPolicy;-><init>(Landroid/content/Context;)V
+PLcom/android/server/policy/WindowWakeUpPolicy;-><init>(Landroid/content/Context;Lcom/android/internal/os/Clock;)V
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate$1;-><init>(Lcom/android/server/policy/keyguard/KeyguardServiceDelegate;)V
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate$2;-><init>(Lcom/android/server/policy/keyguard/KeyguardServiceDelegate;)V
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate$2;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate$KeyguardShowDelegate;-><init>(Lcom/android/server/policy/keyguard/KeyguardServiceDelegate;Lcom/android/server/policy/keyguard/KeyguardServiceDelegate$DrawnListener;)V
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate$KeyguardShowDelegate;->onDrawn()V
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate$KeyguardState;-><init>()V
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate$KeyguardState;->reset()V
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->-$$Nest$fgetmCallback(Lcom/android/server/policy/keyguard/KeyguardServiceDelegate;)Lcom/android/server/policy/keyguard/KeyguardStateMonitor$StateCallback;
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->-$$Nest$fgetmContext(Lcom/android/server/policy/keyguard/KeyguardServiceDelegate;)Landroid/content/Context;
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->-$$Nest$fgetmDrawnListenerWhenConnect(Lcom/android/server/policy/keyguard/KeyguardServiceDelegate;)Lcom/android/server/policy/keyguard/KeyguardServiceDelegate$DrawnListener;
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->-$$Nest$fgetmKeyguardState(Lcom/android/server/policy/keyguard/KeyguardServiceDelegate;)Lcom/android/server/policy/keyguard/KeyguardServiceDelegate$KeyguardState;
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->-$$Nest$fputmDrawnListenerWhenConnect(Lcom/android/server/policy/keyguard/KeyguardServiceDelegate;Lcom/android/server/policy/keyguard/KeyguardServiceDelegate$DrawnListener;)V
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;-><init>(Landroid/content/Context;Lcom/android/server/policy/keyguard/KeyguardStateMonitor$StateCallback;)V
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->bindService(Landroid/content/Context;)V
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->hasKeyguard()Z
+HPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->isInputRestricted()Z
+HPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->isOccluded()Z
+HPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->isSecure(I)Z
+HPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->isShowing()Z
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onBootCompleted()V
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onFinishedWakingUp()V
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onScreenTurnedOn()V
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onScreenTurningOn(Lcom/android/server/policy/keyguard/KeyguardServiceDelegate$DrawnListener;)V
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onStartedWakingUp(IZ)V
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onSystemReady()V
+PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;-><init>(Landroid/content/Context;Lcom/android/internal/policy/IKeyguardService;Lcom/android/server/policy/keyguard/KeyguardStateMonitor$StateCallback;)V
+PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->isInputRestricted()Z
+HPLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->isSecure(I)Z
+HPLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->isShowing()Z
+PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onBootCompleted()V
+PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onFinishedWakingUp()V
+PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onScreenTurnedOn()V
+PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onScreenTurningOn(Lcom/android/internal/policy/IKeyguardDrawnCallback;)V
+PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onStartedWakingUp(IZ)V
+PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onSystemReady()V
+PLcom/android/server/policy/keyguard/KeyguardStateMonitor;-><init>(Landroid/content/Context;Lcom/android/internal/policy/IKeyguardService;Lcom/android/server/policy/keyguard/KeyguardStateMonitor$StateCallback;)V
+PLcom/android/server/policy/keyguard/KeyguardStateMonitor;->isInputRestricted()Z
+HPLcom/android/server/policy/keyguard/KeyguardStateMonitor;->isSecure(I)Z
+HPLcom/android/server/policy/keyguard/KeyguardStateMonitor;->isShowing()Z
+PLcom/android/server/policy/keyguard/KeyguardStateMonitor;->onInputRestrictedStateChanged(Z)V
+PLcom/android/server/policy/keyguard/KeyguardStateMonitor;->onShowingStateChanged(ZI)V
+PLcom/android/server/policy/keyguard/KeyguardStateMonitor;->onSimSecureStateChanged(Z)V
+PLcom/android/server/policy/role/RoleServicePlatformHelperImpl$$ExternalSyntheticLambda0;-><init>(Ljava/io/DataOutputStream;Landroid/content/pm/PackageManagerInternal;I)V
+HPLcom/android/server/policy/role/RoleServicePlatformHelperImpl$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
+PLcom/android/server/policy/role/RoleServicePlatformHelperImpl$MessageDigestOutputStream;-><init>()V
+PLcom/android/server/policy/role/RoleServicePlatformHelperImpl$MessageDigestOutputStream;->getDigestAsString()Ljava/lang/String;
+PLcom/android/server/policy/role/RoleServicePlatformHelperImpl$MessageDigestOutputStream;->write([BII)V
+PLcom/android/server/policy/role/RoleServicePlatformHelperImpl;->$r8$lambda$iHIoFGt-sugSqlklSHHOwdIQL9Y(Ljava/io/DataOutputStream;Landroid/content/pm/PackageManagerInternal;ILcom/android/server/pm/pkg/AndroidPackage;)V
+PLcom/android/server/policy/role/RoleServicePlatformHelperImpl;-><clinit>()V
+PLcom/android/server/policy/role/RoleServicePlatformHelperImpl;-><init>(Landroid/content/Context;)V
+PLcom/android/server/policy/role/RoleServicePlatformHelperImpl;->computePackageStateHash(I)Ljava/lang/String;
+HPLcom/android/server/policy/role/RoleServicePlatformHelperImpl;->lambda$computePackageStateHash$0(Ljava/io/DataOutputStream;Landroid/content/pm/PackageManagerInternal;ILcom/android/server/pm/pkg/AndroidPackage;)V
+HSPLcom/android/server/power/AmbientDisplaySuppressionController;-><init>(Lcom/android/server/power/AmbientDisplaySuppressionController$AmbientDisplaySuppressionChangedCallback;)V
+PLcom/android/server/power/AttentionDetector$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/power/AttentionDetector;)V
+PLcom/android/server/power/AttentionDetector$1;-><init>(Lcom/android/server/power/AttentionDetector;Landroid/os/Handler;Landroid/content/Context;)V
+PLcom/android/server/power/AttentionDetector$UserSwitchObserver;-><init>(Lcom/android/server/power/AttentionDetector;)V
+PLcom/android/server/power/AttentionDetector$UserSwitchObserver;-><init>(Lcom/android/server/power/AttentionDetector;Lcom/android/server/power/AttentionDetector$UserSwitchObserver-IA;)V
+HSPLcom/android/server/power/AttentionDetector;-><init>(Ljava/lang/Runnable;Ljava/lang/Object;)V
+PLcom/android/server/power/AttentionDetector;->cancelCurrentRequestIfAny()V
+PLcom/android/server/power/AttentionDetector;->getMaxExtensionMillis()J
+PLcom/android/server/power/AttentionDetector;->getPostDimCheckDurationMillis()J
+PLcom/android/server/power/AttentionDetector;->getPreDimCheckDurationMillis()J
+PLcom/android/server/power/AttentionDetector;->onUserActivity(JI)I
+PLcom/android/server/power/AttentionDetector;->readValuesFromDeviceConfig()V
+PLcom/android/server/power/AttentionDetector;->resetConsecutiveExtensionCount()V
+PLcom/android/server/power/AttentionDetector;->systemReady(Landroid/content/Context;)V
+PLcom/android/server/power/AttentionDetector;->updateEnabledFromSettings(Landroid/content/Context;)V
+HPLcom/android/server/power/AttentionDetector;->updateUserActivity(JJ)J
+PLcom/android/server/power/FaceDownDetector$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/power/FaceDownDetector;)V
+HSPLcom/android/server/power/FaceDownDetector$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/power/FaceDownDetector;)V
+PLcom/android/server/power/FaceDownDetector$$ExternalSyntheticLambda1;->run()V
+HSPLcom/android/server/power/FaceDownDetector$ExponentialMovingAverage;-><init>(Lcom/android/server/power/FaceDownDetector;F)V
+HSPLcom/android/server/power/FaceDownDetector$ExponentialMovingAverage;-><init>(Lcom/android/server/power/FaceDownDetector;FF)V
+HSPLcom/android/server/power/FaceDownDetector$ScreenStateReceiver;-><init>(Lcom/android/server/power/FaceDownDetector;)V
+HSPLcom/android/server/power/FaceDownDetector$ScreenStateReceiver;-><init>(Lcom/android/server/power/FaceDownDetector;Lcom/android/server/power/FaceDownDetector$ScreenStateReceiver-IA;)V
+PLcom/android/server/power/FaceDownDetector;->$r8$lambda$caCdnIB7OSGcXiz4jSr9FVtZVGw(Lcom/android/server/power/FaceDownDetector;)V
+HSPLcom/android/server/power/FaceDownDetector;-><init>(Ljava/util/function/Consumer;)V
+PLcom/android/server/power/FaceDownDetector;->getAccelerationThreshold()F
+PLcom/android/server/power/FaceDownDetector;->getFloatFlagValue(Ljava/lang/String;FFF)F
+PLcom/android/server/power/FaceDownDetector;->getLongFlagValue(Ljava/lang/String;JJJ)J
+PLcom/android/server/power/FaceDownDetector;->getSensorMaxLatencyMicros()I
+PLcom/android/server/power/FaceDownDetector;->getTimeThreshold()Ljava/time/Duration;
+PLcom/android/server/power/FaceDownDetector;->getUserInteractionBackoffMillis()J
+PLcom/android/server/power/FaceDownDetector;->getZAccelerationThreshold()F
+PLcom/android/server/power/FaceDownDetector;->isEnabled()Z
+PLcom/android/server/power/FaceDownDetector;->lambda$new$0()V
+PLcom/android/server/power/FaceDownDetector;->readValuesFromDeviceConfig()V
+PLcom/android/server/power/FaceDownDetector;->systemReady(Landroid/content/Context;)V
+PLcom/android/server/power/FaceDownDetector;->updateActiveState()V
+PLcom/android/server/power/FaceDownDetector;->userActivity(I)V
+HSPLcom/android/server/power/InattentiveSleepWarningController;-><init>()V
+PLcom/android/server/power/InattentiveSleepWarningController;->isShown()Z
+HSPLcom/android/server/power/LowPowerStandbyController$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/power/LowPowerStandbyController;)V
+HSPLcom/android/server/power/LowPowerStandbyController$$ExternalSyntheticLambda2;-><init>()V
+HSPLcom/android/server/power/LowPowerStandbyController$1;-><init>(Lcom/android/server/power/LowPowerStandbyController;)V
+HSPLcom/android/server/power/LowPowerStandbyController$2;-><init>(Lcom/android/server/power/LowPowerStandbyController;)V
+HSPLcom/android/server/power/LowPowerStandbyController$3;-><init>(Lcom/android/server/power/LowPowerStandbyController;)V
+HSPLcom/android/server/power/LowPowerStandbyController$DeviceConfigWrapper;-><init>()V
+HSPLcom/android/server/power/LowPowerStandbyController$LocalService;-><init>(Lcom/android/server/power/LowPowerStandbyController;)V
+HSPLcom/android/server/power/LowPowerStandbyController$LocalService;-><init>(Lcom/android/server/power/LowPowerStandbyController;Lcom/android/server/power/LowPowerStandbyController$LocalService-IA;)V
+HSPLcom/android/server/power/LowPowerStandbyController$LowPowerStandbyHandler;-><init>(Lcom/android/server/power/LowPowerStandbyController;Landroid/os/Looper;)V
+HSPLcom/android/server/power/LowPowerStandbyController$PhoneCallServiceTracker;-><init>(Lcom/android/server/power/LowPowerStandbyController;)V
+HSPLcom/android/server/power/LowPowerStandbyController$RealClock;-><init>()V
+HSPLcom/android/server/power/LowPowerStandbyController$RealClock;-><init>(Lcom/android/server/power/LowPowerStandbyController$RealClock-IA;)V
+HSPLcom/android/server/power/LowPowerStandbyController$SettingsObserver;-><init>(Lcom/android/server/power/LowPowerStandbyController;Landroid/os/Handler;)V
+HSPLcom/android/server/power/LowPowerStandbyController$TempAllowlistChangeListener;-><init>(Lcom/android/server/power/LowPowerStandbyController;)V
+HSPLcom/android/server/power/LowPowerStandbyController;-><clinit>()V
+HSPLcom/android/server/power/LowPowerStandbyController;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
+HSPLcom/android/server/power/LowPowerStandbyController;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/power/LowPowerStandbyController$Clock;Lcom/android/server/power/LowPowerStandbyController$DeviceConfigWrapper;Ljava/util/function/Supplier;Ljava/io/File;)V
+PLcom/android/server/power/LowPowerStandbyController;->systemReady()V
+HSPLcom/android/server/power/LowPowerStandbyControllerInternal;-><init>()V
+PLcom/android/server/power/Notifier$2;-><init>(Lcom/android/server/power/Notifier;)V
+PLcom/android/server/power/Notifier$3;-><init>(Lcom/android/server/power/Notifier;)V
+PLcom/android/server/power/Notifier$Interactivity;-><init>()V
+PLcom/android/server/power/Notifier$Interactivity;-><init>(Lcom/android/server/power/Notifier$Interactivity-IA;)V
+PLcom/android/server/power/Notifier$NotifierHandler;-><init>(Lcom/android/server/power/Notifier;Landroid/os/Looper;)V
+HPLcom/android/server/power/Notifier$NotifierHandler;->handleMessage(Landroid/os/Message;)V
+HPLcom/android/server/power/Notifier;->-$$Nest$mscreenPolicyChanging(Lcom/android/server/power/Notifier;II)V
+PLcom/android/server/power/Notifier;->-$$Nest$msendUserActivity(Lcom/android/server/power/Notifier;II)V
+PLcom/android/server/power/Notifier;-><clinit>()V
+HPLcom/android/server/power/Notifier;-><init>(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/FaceDownDetector;Lcom/android/server/power/ScreenUndimDetector;Ljava/util/concurrent/Executor;)V
+PLcom/android/server/power/Notifier;->createScreenOnOffBroadcastOptions()Landroid/os/Bundle;
+PLcom/android/server/power/Notifier;->getBatteryStatsWakeLockMonitorType(I)I
+PLcom/android/server/power/Notifier;->notifyWakeLockListener(Landroid/os/IWakeLockCallback;Ljava/lang/String;Z)V
+HPLcom/android/server/power/Notifier;->onScreenPolicyUpdate(II)V
+PLcom/android/server/power/Notifier;->onUserActivity(III)V
+HPLcom/android/server/power/Notifier;->onWakeLockAcquired(ILjava/lang/String;Ljava/lang/String;IILandroid/os/WorkSource;Ljava/lang/String;Landroid/os/IWakeLockCallback;)V
+HPLcom/android/server/power/Notifier;->onWakeLockChanging(ILjava/lang/String;Ljava/lang/String;IILandroid/os/WorkSource;Ljava/lang/String;Landroid/os/IWakeLockCallback;ILjava/lang/String;Ljava/lang/String;IILandroid/os/WorkSource;Ljava/lang/String;Landroid/os/IWakeLockCallback;)V
+HPLcom/android/server/power/Notifier;->onWakeLockReleased(ILjava/lang/String;Ljava/lang/String;IILandroid/os/WorkSource;Ljava/lang/String;Landroid/os/IWakeLockCallback;)V
+HPLcom/android/server/power/Notifier;->screenPolicyChanging(II)V
+PLcom/android/server/power/Notifier;->sendUserActivity(II)V
+PLcom/android/server/power/PowerGroup;-><clinit>()V
+PLcom/android/server/power/PowerGroup;-><init>(ILcom/android/server/power/PowerGroup$PowerGroupListener;Lcom/android/server/power/Notifier;Landroid/hardware/display/DisplayManagerInternal;J)V
+HPLcom/android/server/power/PowerGroup;->getDesiredScreenPolicyLocked(ZZZZZ)I
+PLcom/android/server/power/PowerGroup;->getGroupId()I
+PLcom/android/server/power/PowerGroup;->getLastSleepTimeLocked()J
+PLcom/android/server/power/PowerGroup;->getLastUserActivityTimeLocked()J
+PLcom/android/server/power/PowerGroup;->getLastUserActivityTimeNoChangeLightsLocked()J
+PLcom/android/server/power/PowerGroup;->getLastWakeTimeLocked()J
+PLcom/android/server/power/PowerGroup;->getUserActivitySummaryLocked()I
+HPLcom/android/server/power/PowerGroup;->getWakeLockSummaryLocked()I
+HPLcom/android/server/power/PowerGroup;->getWakefulnessLocked()I
+HPLcom/android/server/power/PowerGroup;->isBrightOrDimLocked()Z
+PLcom/android/server/power/PowerGroup;->isPolicyBrightLocked()Z
+HPLcom/android/server/power/PowerGroup;->isPoweringOnLocked()Z
+HPLcom/android/server/power/PowerGroup;->isReadyLocked()Z
+PLcom/android/server/power/PowerGroup;->isSandmanSummonedLocked()Z
+HPLcom/android/server/power/PowerGroup;->needSuspendBlockerLocked(ZZ)Z
+PLcom/android/server/power/PowerGroup;->setLastUserActivityTimeLocked(JI)V
+PLcom/android/server/power/PowerGroup;->setLastUserActivityTimeNoChangeLightsLocked(JI)V
+HPLcom/android/server/power/PowerGroup;->setReadyLocked(Z)Z
+PLcom/android/server/power/PowerGroup;->setUserActivitySummaryLocked(I)V
+HPLcom/android/server/power/PowerGroup;->setWakeLockSummaryLocked(I)V
+HPLcom/android/server/power/PowerGroup;->supportsSandmanLocked()Z
+HPLcom/android/server/power/PowerGroup;->updateLocked(FZZIFZLandroid/os/PowerSaveState;ZZZZZZ)Z
+PLcom/android/server/power/PowerGroup;->wakeUpLocked(JILjava/lang/String;ILjava/lang/String;ILcom/android/internal/util/LatencyTracker;)V
+HSPLcom/android/server/power/PowerManagerService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/power/PowerManagerService;)V
+HSPLcom/android/server/power/PowerManagerService$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/power/PowerManagerService;)V
+HSPLcom/android/server/power/PowerManagerService$1;-><init>(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService$1;->acquireSuspendBlocker(Ljava/lang/String;)V
+PLcom/android/server/power/PowerManagerService$1;->onDisplayStateChange(ZZ)V
+PLcom/android/server/power/PowerManagerService$1;->onStateChanged()V
+PLcom/android/server/power/PowerManagerService$1;->releaseSuspendBlocker(Ljava/lang/String;)V
+HSPLcom/android/server/power/PowerManagerService$4;-><init>(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService$BatteryReceiver;-><init>(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService$BatteryReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+HSPLcom/android/server/power/PowerManagerService$BinderService;-><init>(Lcom/android/server/power/PowerManagerService;Landroid/content/Context;)V
+HPLcom/android/server/power/PowerManagerService$BinderService;->acquireWakeLock(Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;Ljava/lang/String;ILandroid/os/IWakeLockCallback;)V
+PLcom/android/server/power/PowerManagerService$BinderService;->acquireWakeLockAsync(Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;Ljava/lang/String;)V
+PLcom/android/server/power/PowerManagerService$BinderService;->getBrightnessConstraint(I)F
+PLcom/android/server/power/PowerManagerService$BinderService;->getLastShutdownReason()I
+PLcom/android/server/power/PowerManagerService$BinderService;->getPowerSaveState(I)Landroid/os/PowerSaveState;
+PLcom/android/server/power/PowerManagerService$BinderService;->isDeviceIdleMode()Z
+HSPLcom/android/server/power/PowerManagerService$BinderService;->isInteractive()Z
+PLcom/android/server/power/PowerManagerService$BinderService;->isLightDeviceIdleMode()Z
+HPLcom/android/server/power/PowerManagerService$BinderService;->isPowerSaveMode()Z
+PLcom/android/server/power/PowerManagerService$BinderService;->isWakeLockLevelSupported(I)Z
+HPLcom/android/server/power/PowerManagerService$BinderService;->releaseWakeLock(Landroid/os/IBinder;I)V
+PLcom/android/server/power/PowerManagerService$BinderService;->releaseWakeLockAsync(Landroid/os/IBinder;I)V
+PLcom/android/server/power/PowerManagerService$BinderService;->setDozeAfterScreenOff(Z)V
+PLcom/android/server/power/PowerManagerService$BinderService;->updateWakeLockUids(Landroid/os/IBinder;[I)V
+PLcom/android/server/power/PowerManagerService$BinderService;->updateWakeLockUidsAsync(Landroid/os/IBinder;[I)V
+HPLcom/android/server/power/PowerManagerService$BinderService;->updateWakeLockWorkSource(Landroid/os/IBinder;Landroid/os/WorkSource;Ljava/lang/String;)V
+PLcom/android/server/power/PowerManagerService$BinderService;->userActivity(IJII)V
+PLcom/android/server/power/PowerManagerService$BinderService;->wakeUp(JILjava/lang/String;Ljava/lang/String;)V
+HSPLcom/android/server/power/PowerManagerService$Constants;-><init>(Lcom/android/server/power/PowerManagerService;Landroid/os/Handler;)V
+PLcom/android/server/power/PowerManagerService$Constants;->start(Landroid/content/ContentResolver;)V
+PLcom/android/server/power/PowerManagerService$Constants;->updateConstants()V
+PLcom/android/server/power/PowerManagerService$DeviceStateListener;-><init>(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService$DeviceStateListener;->onStateChanged(I)V
+PLcom/android/server/power/PowerManagerService$DisplayGroupPowerChangeListener;-><init>(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService$DisplayGroupPowerChangeListener;-><init>(Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService$DisplayGroupPowerChangeListener-IA;)V
+PLcom/android/server/power/PowerManagerService$DockReceiver;-><init>(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService$DockReceiver;-><init>(Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService$DockReceiver-IA;)V
+PLcom/android/server/power/PowerManagerService$DreamManagerStateListener;-><init>(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService$DreamManagerStateListener;-><init>(Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService$DreamManagerStateListener-IA;)V
+PLcom/android/server/power/PowerManagerService$DreamManagerStateListener;->onKeepDreamingWhenUnpluggingChanged(Z)V
+PLcom/android/server/power/PowerManagerService$DreamReceiver;-><init>(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService$DreamReceiver;-><init>(Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService$DreamReceiver-IA;)V
+PLcom/android/server/power/PowerManagerService$ForegroundProfileObserver;-><init>(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService$ForegroundProfileObserver;-><init>(Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService$ForegroundProfileObserver-IA;)V
+HSPLcom/android/server/power/PowerManagerService$Injector$$ExternalSyntheticLambda0;-><init>()V
+HSPLcom/android/server/power/PowerManagerService$Injector$1;-><init>(Lcom/android/server/power/PowerManagerService$Injector;)V
+HSPLcom/android/server/power/PowerManagerService$Injector$1;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/power/PowerManagerService$Injector$1;->set(Ljava/lang/String;Ljava/lang/String;)V
+HSPLcom/android/server/power/PowerManagerService$Injector$2;-><init>(Lcom/android/server/power/PowerManagerService$Injector;)V
+HPLcom/android/server/power/PowerManagerService$Injector$2;->uptimeMillis()J
+HSPLcom/android/server/power/PowerManagerService$Injector$3;-><init>(Lcom/android/server/power/PowerManagerService$Injector;)V
+HSPLcom/android/server/power/PowerManagerService$Injector;-><init>()V
+HSPLcom/android/server/power/PowerManagerService$Injector;->createAmbientDisplayConfiguration(Landroid/content/Context;)Landroid/hardware/display/AmbientDisplayConfiguration;
+HSPLcom/android/server/power/PowerManagerService$Injector;->createAmbientDisplaySuppressionController(Lcom/android/server/power/AmbientDisplaySuppressionController$AmbientDisplaySuppressionChangedCallback;)Lcom/android/server/power/AmbientDisplaySuppressionController;
+HSPLcom/android/server/power/PowerManagerService$Injector;->createClock()Lcom/android/server/power/PowerManagerService$Clock;
+HSPLcom/android/server/power/PowerManagerService$Injector;->createDeviceConfigParameterProvider()Lcom/android/server/display/feature/DeviceConfigParameterProvider;
+HSPLcom/android/server/power/PowerManagerService$Injector;->createFoldGracePeriodProvider()Lcom/android/internal/foldables/FoldGracePeriodProvider;
+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;->createLowPowerStandbyController(Landroid/content/Context;Landroid/os/Looper;)Lcom/android/server/power/LowPowerStandbyController;
+HSPLcom/android/server/power/PowerManagerService$Injector;->createNativeWrapper()Lcom/android/server/power/PowerManagerService$NativeWrapper;
+PLcom/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/FaceDownDetector;Lcom/android/server/power/ScreenUndimDetector;Ljava/util/concurrent/Executor;)Lcom/android/server/power/Notifier;
+HSPLcom/android/server/power/PowerManagerService$Injector;->createPermissionCheckerWrapper()Lcom/android/server/power/PowerManagerService$PermissionCheckerWrapper;
+HSPLcom/android/server/power/PowerManagerService$Injector;->createPowerPropertiesWrapper()Lcom/android/server/power/PowerManagerService$PowerPropertiesWrapper;
+HSPLcom/android/server/power/PowerManagerService$Injector;->createSuspendBlocker(Lcom/android/server/power/PowerManagerService;Ljava/lang/String;)Lcom/android/server/power/SuspendBlocker;
+HSPLcom/android/server/power/PowerManagerService$Injector;->createSystemPropertiesWrapper()Lcom/android/server/power/SystemPropertiesWrapper;
+PLcom/android/server/power/PowerManagerService$Injector;->createWirelessChargerDetector(Landroid/hardware/SensorManager;Lcom/android/server/power/SuspendBlocker;Landroid/os/Handler;)Lcom/android/server/power/WirelessChargerDetector;
+HSPLcom/android/server/power/PowerManagerService$Injector;->getFlags()Lcom/android/server/power/feature/PowerManagerFlags;
+HSPLcom/android/server/power/PowerManagerService$Injector;->invalidateIsInteractiveCaches()V
+HSPLcom/android/server/power/PowerManagerService$LocalService;-><init>(Lcom/android/server/power/PowerManagerService;)V
+HPLcom/android/server/power/PowerManagerService$LocalService;->finishUidChanges()V
+HSPLcom/android/server/power/PowerManagerService$LocalService;->getLowPowerState(I)Landroid/os/PowerSaveState;
+HSPLcom/android/server/power/PowerManagerService$LocalService;->registerLowPowerModeObserver(Landroid/os/PowerManagerInternal$LowPowerModeListener;)V
+HPLcom/android/server/power/PowerManagerService$LocalService;->setDeviceIdleTempWhitelist([I)V
+PLcom/android/server/power/PowerManagerService$LocalService;->setDeviceIdleWhitelist([I)V
+PLcom/android/server/power/PowerManagerService$LocalService;->setMaximumScreenOffTimeoutFromDeviceAdmin(IJ)V
+PLcom/android/server/power/PowerManagerService$LocalService;->setPowerBoost(II)V
+PLcom/android/server/power/PowerManagerService$LocalService;->setPowerMode(IZ)V
+PLcom/android/server/power/PowerManagerService$LocalService;->setScreenBrightnessOverrideFromWindowManager(F)V
+PLcom/android/server/power/PowerManagerService$LocalService;->setUserActivityTimeoutOverrideFromWindowManager(J)V
+HPLcom/android/server/power/PowerManagerService$LocalService;->startUidChanges()V
+HPLcom/android/server/power/PowerManagerService$LocalService;->uidActive(I)V
+PLcom/android/server/power/PowerManagerService$LocalService;->uidGone(I)V
+HPLcom/android/server/power/PowerManagerService$LocalService;->uidIdle(I)V
+HPLcom/android/server/power/PowerManagerService$LocalService;->updateUidProcState(II)V
+HSPLcom/android/server/power/PowerManagerService$NativeWrapper;-><init>()V
+HSPLcom/android/server/power/PowerManagerService$NativeWrapper;->nativeAcquireSuspendBlocker(Ljava/lang/String;)V
+HSPLcom/android/server/power/PowerManagerService$NativeWrapper;->nativeInit(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService$NativeWrapper;->nativeReleaseSuspendBlocker(Ljava/lang/String;)V
+HSPLcom/android/server/power/PowerManagerService$NativeWrapper;->nativeSetAutoSuspend(Z)V
+PLcom/android/server/power/PowerManagerService$NativeWrapper;->nativeSetPowerBoost(II)V
+HSPLcom/android/server/power/PowerManagerService$NativeWrapper;->nativeSetPowerMode(IZ)Z
+HSPLcom/android/server/power/PowerManagerService$PowerGroupWakefulnessChangeListener;-><init>(Lcom/android/server/power/PowerManagerService;)V
+HSPLcom/android/server/power/PowerManagerService$PowerGroupWakefulnessChangeListener;-><init>(Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService$PowerGroupWakefulnessChangeListener-IA;)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$PowerManagerHandlerCallback-IA;)V
+PLcom/android/server/power/PowerManagerService$PowerManagerHandlerCallback;->handleMessage(Landroid/os/Message;)Z
+PLcom/android/server/power/PowerManagerService$SettingsObserver;-><init>(Lcom/android/server/power/PowerManagerService;Landroid/os/Handler;)V
+HSPLcom/android/server/power/PowerManagerService$SuspendBlockerImpl;-><init>(Lcom/android/server/power/PowerManagerService;Ljava/lang/String;)V
+HSPLcom/android/server/power/PowerManagerService$SuspendBlockerImpl;->acquire()V
+HSPLcom/android/server/power/PowerManagerService$SuspendBlockerImpl;->acquire(Ljava/lang/String;)V
+HSPLcom/android/server/power/PowerManagerService$SuspendBlockerImpl;->recordReferenceLocked(Ljava/lang/String;)V
+PLcom/android/server/power/PowerManagerService$SuspendBlockerImpl;->release()V
+HPLcom/android/server/power/PowerManagerService$SuspendBlockerImpl;->release(Ljava/lang/String;)V
+HPLcom/android/server/power/PowerManagerService$SuspendBlockerImpl;->removeReferenceLocked(Ljava/lang/String;)V
+PLcom/android/server/power/PowerManagerService$UidState;-><init>(I)V
+PLcom/android/server/power/PowerManagerService$UserSwitchedReceiver;-><init>(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService$UserSwitchedReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+HPLcom/android/server/power/PowerManagerService$WakeLock;-><init>(Lcom/android/server/power/PowerManagerService;Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;Ljava/lang/String;IILcom/android/server/power/PowerManagerService$UidState;Landroid/os/IWakeLockCallback;)V
+HPLcom/android/server/power/PowerManagerService$WakeLock;->getPowerGroupId()Ljava/lang/Integer;
+HPLcom/android/server/power/PowerManagerService$WakeLock;->hasSameProperties(ILjava/lang/String;Landroid/os/WorkSource;IILandroid/os/IWakeLockCallback;)Z
+HPLcom/android/server/power/PowerManagerService$WakeLock;->hasSameWorkSource(Landroid/os/WorkSource;)Z
+HPLcom/android/server/power/PowerManagerService$WakeLock;->linkToDeath()V
+HPLcom/android/server/power/PowerManagerService$WakeLock;->setDisabled(Z)Z
+HPLcom/android/server/power/PowerManagerService$WakeLock;->unlinkToDeath()V
+HPLcom/android/server/power/PowerManagerService$WakeLock;->updateWorkSource(Landroid/os/WorkSource;)V
+HSPLcom/android/server/power/PowerManagerService;->-$$Nest$fgetmBatterySaverSupported(Lcom/android/server/power/PowerManagerService;)Z
+PLcom/android/server/power/PowerManagerService;->-$$Nest$fgetmBootCompleted(Lcom/android/server/power/PowerManagerService;)Z
+PLcom/android/server/power/PowerManagerService;->-$$Nest$fgetmClock(Lcom/android/server/power/PowerManagerService;)Lcom/android/server/power/PowerManagerService$Clock;
+HPLcom/android/server/power/PowerManagerService;->-$$Nest$fgetmContext(Lcom/android/server/power/PowerManagerService;)Landroid/content/Context;
+PLcom/android/server/power/PowerManagerService;->-$$Nest$fgetmDecoupleHalAutoSuspendModeFromDisplayConfig(Lcom/android/server/power/PowerManagerService;)Z
+PLcom/android/server/power/PowerManagerService;->-$$Nest$fgetmDecoupleHalInteractiveModeFromDisplayConfig(Lcom/android/server/power/PowerManagerService;)Z
+PLcom/android/server/power/PowerManagerService;->-$$Nest$fgetmDirty(Lcom/android/server/power/PowerManagerService;)I
+HPLcom/android/server/power/PowerManagerService;->-$$Nest$fgetmDisplayManagerInternal(Lcom/android/server/power/PowerManagerService;)Landroid/hardware/display/DisplayManagerInternal;
+PLcom/android/server/power/PowerManagerService;->-$$Nest$fgetmDisplaySuspendBlocker(Lcom/android/server/power/PowerManagerService;)Lcom/android/server/power/SuspendBlocker;
+PLcom/android/server/power/PowerManagerService;->-$$Nest$fgetmLock(Lcom/android/server/power/PowerManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/power/PowerManagerService;->-$$Nest$fgetmNativeWrapper(Lcom/android/server/power/PowerManagerService;)Lcom/android/server/power/PowerManagerService$NativeWrapper;
+PLcom/android/server/power/PowerManagerService;->-$$Nest$fgetmPowerGroups(Lcom/android/server/power/PowerManagerService;)Landroid/util/SparseArray;
+HSPLcom/android/server/power/PowerManagerService;->-$$Nest$fgetmSuspendBlockers(Lcom/android/server/power/PowerManagerService;)Ljava/util/ArrayList;
+HPLcom/android/server/power/PowerManagerService;->-$$Nest$fgetmSystemReady(Lcom/android/server/power/PowerManagerService;)Z
+PLcom/android/server/power/PowerManagerService;->-$$Nest$fputmDirty(Lcom/android/server/power/PowerManagerService;I)V
+PLcom/android/server/power/PowerManagerService;->-$$Nest$fputmKeepDreamingWhenUnplugging(Lcom/android/server/power/PowerManagerService;Z)V
+HPLcom/android/server/power/PowerManagerService;->-$$Nest$macquireWakeLockInternal(Lcom/android/server/power/PowerManagerService;Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;Ljava/lang/String;IILandroid/os/IWakeLockCallback;)V
+PLcom/android/server/power/PowerManagerService;->-$$Nest$mhandleBatteryStateChangedLocked(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService;->-$$Nest$mhandleSandman(Lcom/android/server/power/PowerManagerService;I)V
+PLcom/android/server/power/PowerManagerService;->-$$Nest$mhandleUserActivityTimeout(Lcom/android/server/power/PowerManagerService;)V
+HSPLcom/android/server/power/PowerManagerService;->-$$Nest$misGloballyInteractiveInternal(Lcom/android/server/power/PowerManagerService;)Z
+PLcom/android/server/power/PowerManagerService;->-$$Nest$misWakeLockLevelSupportedInternal(Lcom/android/server/power/PowerManagerService;I)Z
+HSPLcom/android/server/power/PowerManagerService;->-$$Nest$mnativeInit(Lcom/android/server/power/PowerManagerService;)V
+HPLcom/android/server/power/PowerManagerService;->-$$Nest$mreleaseWakeLockInternal(Lcom/android/server/power/PowerManagerService;Landroid/os/IBinder;I)V
+PLcom/android/server/power/PowerManagerService;->-$$Nest$msetDozeAfterScreenOffInternal(Lcom/android/server/power/PowerManagerService;Z)V
+PLcom/android/server/power/PowerManagerService;->-$$Nest$msetPowerBoostInternal(Lcom/android/server/power/PowerManagerService;II)V
+PLcom/android/server/power/PowerManagerService;->-$$Nest$msetPowerModeInternal(Lcom/android/server/power/PowerManagerService;IZ)Z
+PLcom/android/server/power/PowerManagerService;->-$$Nest$msetScreenBrightnessOverrideFromWindowManagerInternal(Lcom/android/server/power/PowerManagerService;F)V
+PLcom/android/server/power/PowerManagerService;->-$$Nest$msetUserActivityTimeoutOverrideFromWindowManagerInternal(Lcom/android/server/power/PowerManagerService;J)V
+PLcom/android/server/power/PowerManagerService;->-$$Nest$mupdatePowerStateLocked(Lcom/android/server/power/PowerManagerService;)V
+HPLcom/android/server/power/PowerManagerService;->-$$Nest$mupdateWakeLockWorkSourceInternal(Lcom/android/server/power/PowerManagerService;Landroid/os/IBinder;Landroid/os/WorkSource;Ljava/lang/String;I)V
+PLcom/android/server/power/PowerManagerService;->-$$Nest$muserActivityInternal(Lcom/android/server/power/PowerManagerService;IJIII)V
+PLcom/android/server/power/PowerManagerService;->-$$Nest$mwakePowerGroupLocked(Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerGroup;JILjava/lang/String;ILjava/lang/String;I)V
+HPLcom/android/server/power/PowerManagerService;->-$$Nest$smcopyWorkSource(Landroid/os/WorkSource;)Landroid/os/WorkSource;
+HSPLcom/android/server/power/PowerManagerService;->-$$Nest$smnativeAcquireSuspendBlocker(Ljava/lang/String;)V
+PLcom/android/server/power/PowerManagerService;->-$$Nest$smnativeReleaseSuspendBlocker(Ljava/lang/String;)V
+HSPLcom/android/server/power/PowerManagerService;->-$$Nest$smnativeSetAutoSuspend(Z)V
+PLcom/android/server/power/PowerManagerService;->-$$Nest$smnativeSetPowerBoost(II)V
+HSPLcom/android/server/power/PowerManagerService;->-$$Nest$smnativeSetPowerMode(IZ)Z
+HSPLcom/android/server/power/PowerManagerService;-><clinit>()V
+HSPLcom/android/server/power/PowerManagerService;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/power/PowerManagerService;-><init>(Landroid/content/Context;Lcom/android/server/power/PowerManagerService$Injector;)V
+HPLcom/android/server/power/PowerManagerService;->acquireWakeLockInternal(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;Ljava/lang/String;IILandroid/os/IWakeLockCallback;)V
+PLcom/android/server/power/PowerManagerService;->addPowerGroupsForNonDefaultDisplayGroupLocked()V
+PLcom/android/server/power/PowerManagerService;->adjustWakeLockSummary(II)I
+HPLcom/android/server/power/PowerManagerService;->applyWakeLockFlagsOnAcquireLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)V
+HPLcom/android/server/power/PowerManagerService;->applyWakeLockFlagsOnReleaseLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)V
+HPLcom/android/server/power/PowerManagerService;->areAllPowerGroupsReadyLocked()Z
+HPLcom/android/server/power/PowerManagerService;->checkForLongWakeLocks()V
+HPLcom/android/server/power/PowerManagerService;->copyWorkSource(Landroid/os/WorkSource;)Landroid/os/WorkSource;
+HPLcom/android/server/power/PowerManagerService;->doesIdleStateBlockWakeLocksLocked()Z
+PLcom/android/server/power/PowerManagerService;->enqueueNotifyLongMsgLocked(J)V
+HPLcom/android/server/power/PowerManagerService;->findWakeLockIndexLocked(Landroid/os/IBinder;)I
+HPLcom/android/server/power/PowerManagerService;->finishUidChangesInternal()V
+HPLcom/android/server/power/PowerManagerService;->finishWakefulnessChangeIfNeededLocked()V
+HPLcom/android/server/power/PowerManagerService;->getAttentiveTimeoutLocked()J
+HSPLcom/android/server/power/PowerManagerService;->getGlobalWakefulnessLocked()I
+PLcom/android/server/power/PowerManagerService;->getLastShutdownReasonInternal()I
+HPLcom/android/server/power/PowerManagerService;->getNextProfileTimeoutLocked(J)J
+HPLcom/android/server/power/PowerManagerService;->getScreenDimDurationLocked(J)J
+HPLcom/android/server/power/PowerManagerService;->getScreenOffTimeoutLocked(JJ)J
+HPLcom/android/server/power/PowerManagerService;->getScreenOffTimeoutWithFaceDownLocked(JJ)J
+HPLcom/android/server/power/PowerManagerService;->getSleepTimeoutLocked(J)J
+HPLcom/android/server/power/PowerManagerService;->getWakeLockSummaryFlags(Lcom/android/server/power/PowerManagerService$WakeLock;)I
+PLcom/android/server/power/PowerManagerService;->handleBatteryStateChangedLocked()V
+HPLcom/android/server/power/PowerManagerService;->handleSandman(I)V
+PLcom/android/server/power/PowerManagerService;->handleSettingsChangedLocked()V
+PLcom/android/server/power/PowerManagerService;->handleUidStateChangeLocked()V
+PLcom/android/server/power/PowerManagerService;->handleUserActivityTimeout()V
+PLcom/android/server/power/PowerManagerService;->incrementBootCount()V
+HPLcom/android/server/power/PowerManagerService;->isAttentiveTimeoutExpired(Lcom/android/server/power/PowerGroup;J)Z
+HPLcom/android/server/power/PowerManagerService;->isBeingKeptAwakeLocked(Lcom/android/server/power/PowerGroup;)Z
+PLcom/android/server/power/PowerManagerService;->isDeviceIdleModeInternal()Z
+HSPLcom/android/server/power/PowerManagerService;->isGloballyInteractiveInternal()Z
+HPLcom/android/server/power/PowerManagerService;->isItBedTimeYetLocked(Lcom/android/server/power/PowerGroup;)Z
+PLcom/android/server/power/PowerManagerService;->isLightDeviceIdleModeInternal()Z
+HPLcom/android/server/power/PowerManagerService;->isMaximumScreenOffTimeoutFromDeviceAdminEnforcedLocked()Z
+PLcom/android/server/power/PowerManagerService;->isSameCallback(Landroid/os/IWakeLockCallback;Landroid/os/IWakeLockCallback;)Z
+PLcom/android/server/power/PowerManagerService;->isScreenLock(Lcom/android/server/power/PowerManagerService$WakeLock;)Z
+PLcom/android/server/power/PowerManagerService;->isValidBrightness(F)Z
+PLcom/android/server/power/PowerManagerService;->isWakeLockLevelSupportedInternal(I)Z
+HPLcom/android/server/power/PowerManagerService;->maybeHideInattentiveSleepWarningLocked(JJ)Z
+PLcom/android/server/power/PowerManagerService;->maybeUpdateForegroundProfileLastActivityLocked(J)V
+PLcom/android/server/power/PowerManagerService;->monitor()V
+HPLcom/android/server/power/PowerManagerService;->needSuspendBlockerLocked()Z
+HPLcom/android/server/power/PowerManagerService;->notifyWakeLockAcquiredLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)V
+HPLcom/android/server/power/PowerManagerService;->notifyWakeLockChangingLocked(Lcom/android/server/power/PowerManagerService$WakeLock;ILjava/lang/String;Ljava/lang/String;IILandroid/os/WorkSource;Ljava/lang/String;Landroid/os/IWakeLockCallback;)V
+HPLcom/android/server/power/PowerManagerService;->notifyWakeLockLongFinishedLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)V
+HPLcom/android/server/power/PowerManagerService;->notifyWakeLockReleasedLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)V
+HSPLcom/android/server/power/PowerManagerService;->onBootPhase(I)V
+HSPLcom/android/server/power/PowerManagerService;->onStart()V
+PLcom/android/server/power/PowerManagerService;->readConfigurationLocked()V
+HPLcom/android/server/power/PowerManagerService;->releaseWakeLockInternal(Landroid/os/IBinder;I)V
+HPLcom/android/server/power/PowerManagerService;->removeWakeLockLocked(Lcom/android/server/power/PowerManagerService$WakeLock;I)V
+HPLcom/android/server/power/PowerManagerService;->restartNofifyLongTimerLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)V
+HPLcom/android/server/power/PowerManagerService;->scheduleSandmanLocked()V
+HPLcom/android/server/power/PowerManagerService;->scheduleUserInactivityTimeout(J)V
+HPLcom/android/server/power/PowerManagerService;->setDeviceIdleTempWhitelistInternal([I)V
+PLcom/android/server/power/PowerManagerService;->setDeviceIdleWhitelistInternal([I)V
+PLcom/android/server/power/PowerManagerService;->setDozeAfterScreenOffInternal(Z)V
+HPLcom/android/server/power/PowerManagerService;->setHalAutoSuspendModeLocked(Z)V
+HPLcom/android/server/power/PowerManagerService;->setHalInteractiveModeLocked(Z)V
+PLcom/android/server/power/PowerManagerService;->setMaximumScreenOffTimeoutFromDeviceAdminInternal(IJ)V
+PLcom/android/server/power/PowerManagerService;->setPowerBoostInternal(II)V
+PLcom/android/server/power/PowerManagerService;->setPowerModeInternal(IZ)Z
+HPLcom/android/server/power/PowerManagerService;->setScreenBrightnessOverrideFromWindowManagerInternal(F)V
+PLcom/android/server/power/PowerManagerService;->setUserActivityTimeoutOverrideFromWindowManagerInternal(J)V
+HPLcom/android/server/power/PowerManagerService;->setWakeLockDisabledStateLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)Z
+PLcom/android/server/power/PowerManagerService;->shouldBoostScreenBrightness()Z
+HPLcom/android/server/power/PowerManagerService;->shouldUseProximitySensorLocked()Z
+PLcom/android/server/power/PowerManagerService;->shouldWakeUpWhenPluggedOrUnpluggedLocked(ZIZ)Z
+HPLcom/android/server/power/PowerManagerService;->startUidChangesInternal()V
+HPLcom/android/server/power/PowerManagerService;->systemReady()V
+HPLcom/android/server/power/PowerManagerService;->uidActiveInternal(I)V
+HPLcom/android/server/power/PowerManagerService;->uidGoneInternal(I)V
+HPLcom/android/server/power/PowerManagerService;->uidIdleInternal(I)V
+HPLcom/android/server/power/PowerManagerService;->updateAttentiveStateLocked(JI)V
+PLcom/android/server/power/PowerManagerService;->updateDeviceConfigLocked()V
+HPLcom/android/server/power/PowerManagerService;->updateDreamLocked(IZ)V
+HPLcom/android/server/power/PowerManagerService;->updateIsPoweredLocked(I)V
+HPLcom/android/server/power/PowerManagerService;->updatePowerGroupsLocked(I)Z
+HPLcom/android/server/power/PowerManagerService;->updatePowerStateLocked()V
+HPLcom/android/server/power/PowerManagerService;->updateProfilesLocked(J)V
+PLcom/android/server/power/PowerManagerService;->updateScreenBrightnessBoostLocked(I)V
+HPLcom/android/server/power/PowerManagerService;->updateSettingsLocked()V
+HPLcom/android/server/power/PowerManagerService;->updateStayOnLocked(I)V
+HPLcom/android/server/power/PowerManagerService;->updateSuspendBlockerLocked()V
+HPLcom/android/server/power/PowerManagerService;->updateUidProcStateInternal(II)V
+HPLcom/android/server/power/PowerManagerService;->updateUserActivitySummaryLocked(JI)V
+PLcom/android/server/power/PowerManagerService;->updateWakeLockDisabledStatesLocked()V
+HPLcom/android/server/power/PowerManagerService;->updateWakeLockSummaryLocked(I)V
+HPLcom/android/server/power/PowerManagerService;->updateWakeLockWorkSourceInternal(Landroid/os/IBinder;Landroid/os/WorkSource;Ljava/lang/String;I)V
+HPLcom/android/server/power/PowerManagerService;->updateWakefulnessLocked(I)Z
+PLcom/android/server/power/PowerManagerService;->userActivityInternal(IJIII)V
+PLcom/android/server/power/PowerManagerService;->userActivityNoUpdateLocked(JIII)Z
+HPLcom/android/server/power/PowerManagerService;->userActivityNoUpdateLocked(Lcom/android/server/power/PowerGroup;JIII)Z
+PLcom/android/server/power/PowerManagerService;->wakePowerGroupLocked(Lcom/android/server/power/PowerGroup;JILjava/lang/String;ILjava/lang/String;I)V
+HSPLcom/android/server/power/PowerManagerShellCommand;-><init>(Landroid/content/Context;Lcom/android/server/power/PowerManagerService$BinderService;)V
+PLcom/android/server/power/ScreenUndimDetector$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/power/ScreenUndimDetector;)V
+HSPLcom/android/server/power/ScreenUndimDetector$InternalClock;-><init>()V
+PLcom/android/server/power/ScreenUndimDetector$InternalClock;->getCurrentTime()J
+HSPLcom/android/server/power/ScreenUndimDetector;-><clinit>()V
+HSPLcom/android/server/power/ScreenUndimDetector;-><init>()V
+PLcom/android/server/power/ScreenUndimDetector;->readKeepScreenOnForMillis()J
+PLcom/android/server/power/ScreenUndimDetector;->readKeepScreenOnNotificationEnabled()Z
+PLcom/android/server/power/ScreenUndimDetector;->readMaxDurationBetweenUndimsMillis()J
+PLcom/android/server/power/ScreenUndimDetector;->readUndimsRequired()I
+PLcom/android/server/power/ScreenUndimDetector;->readValuesFromDeviceConfig()V
+HPLcom/android/server/power/ScreenUndimDetector;->recordScreenPolicy(II)V
+PLcom/android/server/power/ScreenUndimDetector;->systemReady(Landroid/content/Context;)V
+PLcom/android/server/power/ScreenUndimDetector;->userActivity(I)V
+PLcom/android/server/power/ThermalManagerService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/power/ThermalManagerService;)V
+PLcom/android/server/power/ThermalManagerService$$ExternalSyntheticLambda0;->onValues(Landroid/os/Temperature;)V
+PLcom/android/server/power/ThermalManagerService$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/power/ThermalManagerService;)V
+PLcom/android/server/power/ThermalManagerService$$ExternalSyntheticLambda2;-><init>(Landroid/os/IThermalEventListener;Landroid/os/Temperature;)V
+PLcom/android/server/power/ThermalManagerService$$ExternalSyntheticLambda2;->run()V
+PLcom/android/server/power/ThermalManagerService$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/power/ThermalManagerService;Landroid/os/IThermalStatusListener;)V
+PLcom/android/server/power/ThermalManagerService$$ExternalSyntheticLambda3;->run()V
+HSPLcom/android/server/power/ThermalManagerService$1;-><init>(Lcom/android/server/power/ThermalManagerService;)V
+PLcom/android/server/power/ThermalManagerService$1;->getCurrentTemperatures()[Landroid/os/Temperature;
+PLcom/android/server/power/ThermalManagerService$1;->getCurrentThermalStatus()I
+PLcom/android/server/power/ThermalManagerService$1;->registerThermalEventListener(Landroid/os/IThermalEventListener;)Z
+HPLcom/android/server/power/ThermalManagerService$1;->registerThermalEventListenerWithType(Landroid/os/IThermalEventListener;I)Z
+PLcom/android/server/power/ThermalManagerService$1;->registerThermalStatusListener(Landroid/os/IThermalStatusListener;)Z
+HSPLcom/android/server/power/ThermalManagerService$TemperatureWatcher;-><init>(Lcom/android/server/power/ThermalManagerService;)V
+PLcom/android/server/power/ThermalManagerService$TemperatureWatcher;->normalizeTemperature(FF)F
+PLcom/android/server/power/ThermalManagerService$TemperatureWatcher;->updateHeadroomThreshold(IFF)V
+PLcom/android/server/power/ThermalManagerService$TemperatureWatcher;->updateThresholds()V
+PLcom/android/server/power/ThermalManagerService$ThermalHalAidlWrapper$$ExternalSyntheticLambda0;-><init>(I)V
+PLcom/android/server/power/ThermalManagerService$ThermalHalAidlWrapper$$ExternalSyntheticLambda0;->test(Ljava/lang/Object;)Z
+PLcom/android/server/power/ThermalManagerService$ThermalHalAidlWrapper$1;-><init>(Lcom/android/server/power/ThermalManagerService$ThermalHalAidlWrapper;)V
+PLcom/android/server/power/ThermalManagerService$ThermalHalAidlWrapper$1;->notifyThrottling(Landroid/hardware/thermal/Temperature;)V
+PLcom/android/server/power/ThermalManagerService$ThermalHalAidlWrapper;->$r8$lambda$eU14JIDh7_eSiFFdcxpGZaa7E5A(ILandroid/hardware/thermal/TemperatureThreshold;)Z
+PLcom/android/server/power/ThermalManagerService$ThermalHalAidlWrapper;-><init>(Lcom/android/server/power/ThermalManagerService$ThermalHalWrapper$TemperatureChangedCallback;)V
+PLcom/android/server/power/ThermalManagerService$ThermalHalAidlWrapper;->connectToHal()Z
+PLcom/android/server/power/ThermalManagerService$ThermalHalAidlWrapper;->getCurrentTemperatures(ZI)Ljava/util/List;
+PLcom/android/server/power/ThermalManagerService$ThermalHalAidlWrapper;->getTemperatureThresholds(ZI)Ljava/util/List;
+PLcom/android/server/power/ThermalManagerService$ThermalHalAidlWrapper;->initProxyAndRegisterCallback(Landroid/os/IBinder;)V
+PLcom/android/server/power/ThermalManagerService$ThermalHalAidlWrapper;->lambda$getTemperatureThresholds$0(ILandroid/hardware/thermal/TemperatureThreshold;)Z
+PLcom/android/server/power/ThermalManagerService$ThermalHalAidlWrapper;->registerThermalChangedCallback()V
+PLcom/android/server/power/ThermalManagerService$ThermalHalWrapper;-><clinit>()V
+PLcom/android/server/power/ThermalManagerService$ThermalHalWrapper;-><init>()V
+PLcom/android/server/power/ThermalManagerService;->$r8$lambda$CphJwWjbL-B4w7BxLr49x93aXVc(Lcom/android/server/power/ThermalManagerService;Landroid/os/Temperature;)V
+PLcom/android/server/power/ThermalManagerService;->$r8$lambda$_4zrfyVY81QkL3mSI38hIUpwup8(Lcom/android/server/power/ThermalManagerService;Landroid/os/IThermalStatusListener;)V
+PLcom/android/server/power/ThermalManagerService;->$r8$lambda$_wu3L1d49Z7doBi6Ga_7WZSQLrk(Landroid/os/IThermalEventListener;Landroid/os/Temperature;)V
+PLcom/android/server/power/ThermalManagerService;->-$$Nest$fgetmHalReady(Lcom/android/server/power/ThermalManagerService;)Ljava/util/concurrent/atomic/AtomicBoolean;
+PLcom/android/server/power/ThermalManagerService;->-$$Nest$fgetmHalWrapper(Lcom/android/server/power/ThermalManagerService;)Lcom/android/server/power/ThermalManagerService$ThermalHalWrapper;
+PLcom/android/server/power/ThermalManagerService;->-$$Nest$fgetmLock(Lcom/android/server/power/ThermalManagerService;)Ljava/lang/Object;
+PLcom/android/server/power/ThermalManagerService;->-$$Nest$fgetmStatus(Lcom/android/server/power/ThermalManagerService;)I
+PLcom/android/server/power/ThermalManagerService;->-$$Nest$fgetmThermalEventListeners(Lcom/android/server/power/ThermalManagerService;)Landroid/os/RemoteCallbackList;
+PLcom/android/server/power/ThermalManagerService;->-$$Nest$fgetmThermalStatusListeners(Lcom/android/server/power/ThermalManagerService;)Landroid/os/RemoteCallbackList;
+PLcom/android/server/power/ThermalManagerService;->-$$Nest$mpostEventListenerCurrentTemperatures(Lcom/android/server/power/ThermalManagerService;Landroid/os/IThermalEventListener;Ljava/lang/Integer;)V
+PLcom/android/server/power/ThermalManagerService;->-$$Nest$mpostStatusListener(Lcom/android/server/power/ThermalManagerService;Landroid/os/IThermalStatusListener;)V
+PLcom/android/server/power/ThermalManagerService;->-$$Nest$smthermalSeverityToStatsdStatus(I)I
+HSPLcom/android/server/power/ThermalManagerService;-><clinit>()V
+HSPLcom/android/server/power/ThermalManagerService;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/power/ThermalManagerService;-><init>(Landroid/content/Context;Lcom/android/server/power/ThermalManagerService$ThermalHalWrapper;)V
+PLcom/android/server/power/ThermalManagerService;->lambda$postEventListener$1(Landroid/os/IThermalEventListener;Landroid/os/Temperature;)V
+PLcom/android/server/power/ThermalManagerService;->lambda$postStatusListener$0(Landroid/os/IThermalStatusListener;)V
+PLcom/android/server/power/ThermalManagerService;->notifyEventListenersLocked(Landroid/os/Temperature;)V
+PLcom/android/server/power/ThermalManagerService;->onActivityManagerReady()V
+HSPLcom/android/server/power/ThermalManagerService;->onBootPhase(I)V
+HSPLcom/android/server/power/ThermalManagerService;->onStart()V
+PLcom/android/server/power/ThermalManagerService;->onTemperatureChanged(Landroid/os/Temperature;Z)V
+PLcom/android/server/power/ThermalManagerService;->onTemperatureChangedCallback(Landroid/os/Temperature;)V
+PLcom/android/server/power/ThermalManagerService;->onTemperatureMapChangedLocked()V
+PLcom/android/server/power/ThermalManagerService;->postEventListener(Landroid/os/Temperature;Landroid/os/IThermalEventListener;Ljava/lang/Integer;)V
+PLcom/android/server/power/ThermalManagerService;->postEventListenerCurrentTemperatures(Landroid/os/IThermalEventListener;Ljava/lang/Integer;)V
+PLcom/android/server/power/ThermalManagerService;->postStatusListener(Landroid/os/IThermalStatusListener;)V
+PLcom/android/server/power/ThermalManagerService;->registerStatsCallbacks()V
+PLcom/android/server/power/ThermalManagerService;->setStatusLocked(I)V
+PLcom/android/server/power/ThermalManagerService;->shutdownIfNeeded(Landroid/os/Temperature;)V
+PLcom/android/server/power/ThermalManagerService;->thermalSeverityToStatsdStatus(I)I
+PLcom/android/server/power/WakeLockLog$EntryByteTranslator;-><init>(Lcom/android/server/power/WakeLockLog$TagDatabase;)V
+PLcom/android/server/power/WakeLockLog$EntryByteTranslator;->getRelativeTime(JJ)I
+HPLcom/android/server/power/WakeLockLog$EntryByteTranslator;->toBytes(Lcom/android/server/power/WakeLockLog$LogEntry;[BJ)I
+PLcom/android/server/power/WakeLockLog$Injector;-><init>()V
+HPLcom/android/server/power/WakeLockLog$Injector;->currentTimeMillis()J
+PLcom/android/server/power/WakeLockLog$Injector;->getDateFormat()Ljava/text/SimpleDateFormat;
+PLcom/android/server/power/WakeLockLog$Injector;->getLogSize()I
+PLcom/android/server/power/WakeLockLog$Injector;->getTagDatabaseSize()I
+HPLcom/android/server/power/WakeLockLog$LogEntry;-><init>(JILcom/android/server/power/WakeLockLog$TagData;I)V
+HPLcom/android/server/power/WakeLockLog$LogEntry;->set(JILcom/android/server/power/WakeLockLog$TagData;I)V
+HPLcom/android/server/power/WakeLockLog$TagData;-><init>(Ljava/lang/String;I)V
+HPLcom/android/server/power/WakeLockLog$TagData;->equals(Ljava/lang/Object;)Z
+PLcom/android/server/power/WakeLockLog$TagDatabase;-><init>(Lcom/android/server/power/WakeLockLog$Injector;)V
+HPLcom/android/server/power/WakeLockLog$TagDatabase;->findOrCreateTag(Ljava/lang/String;IZ)Lcom/android/server/power/WakeLockLog$TagData;
+HPLcom/android/server/power/WakeLockLog$TagDatabase;->getTagIndex(Lcom/android/server/power/WakeLockLog$TagData;)I
+PLcom/android/server/power/WakeLockLog$TagDatabase;->setCallback(Lcom/android/server/power/WakeLockLog$TagDatabase$Callback;)V
+HPLcom/android/server/power/WakeLockLog$TagDatabase;->setToIndex(Lcom/android/server/power/WakeLockLog$TagData;I)V
+HPLcom/android/server/power/WakeLockLog$TagDatabase;->updateTagTime(Lcom/android/server/power/WakeLockLog$TagData;J)V
+PLcom/android/server/power/WakeLockLog$TheLog$1;-><init>(Lcom/android/server/power/WakeLockLog$TheLog;)V
+PLcom/android/server/power/WakeLockLog$TheLog;-><init>(Lcom/android/server/power/WakeLockLog$Injector;Lcom/android/server/power/WakeLockLog$EntryByteTranslator;Lcom/android/server/power/WakeLockLog$TagDatabase;)V
+HPLcom/android/server/power/WakeLockLog$TheLog;->addEntry(Lcom/android/server/power/WakeLockLog$LogEntry;)V
+HPLcom/android/server/power/WakeLockLog$TheLog;->getAvailableSpace()I
+HPLcom/android/server/power/WakeLockLog$TheLog;->isBufferEmpty()Z
+HPLcom/android/server/power/WakeLockLog$TheLog;->makeSpace(I)Z
+HPLcom/android/server/power/WakeLockLog$TheLog;->writeBytesAt(I[BI)V
+PLcom/android/server/power/WakeLockLog;->-$$Nest$sfgetDATE_FORMAT()Ljava/text/SimpleDateFormat;
+PLcom/android/server/power/WakeLockLog;-><clinit>()V
+PLcom/android/server/power/WakeLockLog;-><init>(Landroid/content/Context;)V
+PLcom/android/server/power/WakeLockLog;-><init>(Lcom/android/server/power/WakeLockLog$Injector;Landroid/content/Context;)V
+HPLcom/android/server/power/WakeLockLog;->handleWakeLockEventInternal(ILjava/lang/String;IIJ)V
+HPLcom/android/server/power/WakeLockLog;->onWakeLockAcquired(Ljava/lang/String;II)V
+HPLcom/android/server/power/WakeLockLog;->onWakeLockEvent(ILjava/lang/String;II)V
+HPLcom/android/server/power/WakeLockLog;->onWakeLockReleased(Ljava/lang/String;I)V
+HPLcom/android/server/power/WakeLockLog;->tagNameReducer(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/power/WakeLockLog;->translateFlagsFromPowerManager(I)I
+PLcom/android/server/power/WirelessChargerDetector$1;-><init>(Lcom/android/server/power/WirelessChargerDetector;)V
+PLcom/android/server/power/WirelessChargerDetector$2;-><init>(Lcom/android/server/power/WirelessChargerDetector;)V
+PLcom/android/server/power/WirelessChargerDetector;-><clinit>()V
+PLcom/android/server/power/WirelessChargerDetector;-><init>(Landroid/hardware/SensorManager;Lcom/android/server/power/SuspendBlocker;Landroid/os/Handler;)V
+PLcom/android/server/power/WirelessChargerDetector;->update(ZI)Z
+HSPLcom/android/server/power/feature/PowerManagerFlags$$ExternalSyntheticLambda0;-><init>()V
+HSPLcom/android/server/power/feature/PowerManagerFlags$FlagState;-><init>(Ljava/lang/String;Ljava/util/function/Supplier;)V
+HSPLcom/android/server/power/feature/PowerManagerFlags$FlagState;-><init>(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/android/server/power/feature/PowerManagerFlags$FlagState-IA;)V
+HSPLcom/android/server/power/feature/PowerManagerFlags;-><init>()V
+PLcom/android/server/power/hint/HintManagerService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/power/hint/HintManagerService;)V
+HSPLcom/android/server/power/hint/HintManagerService$BinderService;-><init>(Lcom/android/server/power/hint/HintManagerService;)V
+PLcom/android/server/power/hint/HintManagerService$BinderService;->createHintSession(Landroid/os/IBinder;[IJ)Landroid/os/IHintSession;
+PLcom/android/server/power/hint/HintManagerService$BinderService;->getHintSessionPreferredRate()J
+HSPLcom/android/server/power/hint/HintManagerService$Injector;-><init>()V
+HSPLcom/android/server/power/hint/HintManagerService$Injector;->createNativeWrapper()Lcom/android/server/power/hint/HintManagerService$NativeWrapper;
+HPLcom/android/server/power/hint/HintManagerService$MyUidObserver$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/power/hint/HintManagerService$MyUidObserver;II)V
+HPLcom/android/server/power/hint/HintManagerService$MyUidObserver$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/power/hint/HintManagerService$MyUidObserver$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/power/hint/HintManagerService$MyUidObserver;I)V
+PLcom/android/server/power/hint/HintManagerService$MyUidObserver$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/power/hint/HintManagerService$MyUidObserver;->$r8$lambda$8-3q2FSoHxKJS5M75tlJXQ5W92M(Lcom/android/server/power/hint/HintManagerService$MyUidObserver;I)V
+PLcom/android/server/power/hint/HintManagerService$MyUidObserver;->$r8$lambda$G5ujTcrPvq25wCnbVcETC3ZVxqA(Lcom/android/server/power/hint/HintManagerService$MyUidObserver;II)V
+HSPLcom/android/server/power/hint/HintManagerService$MyUidObserver;-><init>(Lcom/android/server/power/hint/HintManagerService;)V
+HPLcom/android/server/power/hint/HintManagerService$MyUidObserver;->isUidForeground(I)Z
+HPLcom/android/server/power/hint/HintManagerService$MyUidObserver;->lambda$onUidGone$0(I)V
+HPLcom/android/server/power/hint/HintManagerService$MyUidObserver;->lambda$onUidStateChanged$1(II)V
+HPLcom/android/server/power/hint/HintManagerService$MyUidObserver;->onUidGone(IZ)V
+HPLcom/android/server/power/hint/HintManagerService$MyUidObserver;->onUidStateChanged(IIJI)V
+HSPLcom/android/server/power/hint/HintManagerService$NativeWrapper;-><init>()V
+HSPLcom/android/server/power/hint/HintManagerService$NativeWrapper;->halGetHintSessionPreferredRate()J
+HSPLcom/android/server/power/hint/HintManagerService$NativeWrapper;->halInit()V
+HPLcom/android/server/power/hint/HintManagerService;->-$$Nest$fgetmActiveSessions(Lcom/android/server/power/hint/HintManagerService;)Landroid/util/ArrayMap;
+PLcom/android/server/power/hint/HintManagerService;->-$$Nest$fgetmLock(Lcom/android/server/power/hint/HintManagerService;)Ljava/lang/Object;
+PLcom/android/server/power/hint/HintManagerService;->-$$Nest$misHalSupported(Lcom/android/server/power/hint/HintManagerService;)Z
+HSPLcom/android/server/power/hint/HintManagerService;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/power/hint/HintManagerService;-><init>(Landroid/content/Context;Lcom/android/server/power/hint/HintManagerService$Injector;)V
+PLcom/android/server/power/hint/HintManagerService;->isHalSupported()Z
+HSPLcom/android/server/power/hint/HintManagerService;->onBootPhase(I)V
+HSPLcom/android/server/power/hint/HintManagerService;->onStart()V
+PLcom/android/server/power/hint/HintManagerService;->registerStatsCallbacks()V
+PLcom/android/server/power/hint/HintManagerService;->systemReady()V
+HSPLcom/android/server/power/optimization/FeatureFlagsImpl;-><clinit>()V
+HSPLcom/android/server/power/optimization/FeatureFlagsImpl;-><init>()V
+HSPLcom/android/server/power/optimization/FeatureFlagsImpl;->disableSystemServicePowerAttr()Z
+PLcom/android/server/power/optimization/FeatureFlagsImpl;->load_overrides_backstage_power()V
+PLcom/android/server/power/optimization/FeatureFlagsImpl;->streamlinedBatteryStats()Z
+HSPLcom/android/server/power/optimization/Flags;-><clinit>()V
+HSPLcom/android/server/power/optimization/Flags;->disableSystemServicePowerAttr()Z
+PLcom/android/server/power/optimization/Flags;->streamlinedBatteryStats()Z
+HSPLcom/android/server/power/stats/AggregatedPowerStatsConfig$1;-><init>()V
+HSPLcom/android/server/power/stats/AggregatedPowerStatsConfig$PowerComponent;-><init>(I)V
+HSPLcom/android/server/power/stats/AggregatedPowerStatsConfig$PowerComponent;->getPowerComponentId()I
+HSPLcom/android/server/power/stats/AggregatedPowerStatsConfig$PowerComponent;->getProcessor()Lcom/android/server/power/stats/AggregatedPowerStatsProcessor;
+HSPLcom/android/server/power/stats/AggregatedPowerStatsConfig$PowerComponent;->setProcessor(Lcom/android/server/power/stats/AggregatedPowerStatsProcessor;)Lcom/android/server/power/stats/AggregatedPowerStatsConfig$PowerComponent;
+HSPLcom/android/server/power/stats/AggregatedPowerStatsConfig$PowerComponent;->trackDeviceStates([I)Lcom/android/server/power/stats/AggregatedPowerStatsConfig$PowerComponent;
+HSPLcom/android/server/power/stats/AggregatedPowerStatsConfig$PowerComponent;->trackUidStates([I)Lcom/android/server/power/stats/AggregatedPowerStatsConfig$PowerComponent;
+HSPLcom/android/server/power/stats/AggregatedPowerStatsConfig;->-$$Nest$sfgetNO_OP_PROCESSOR()Lcom/android/server/power/stats/AggregatedPowerStatsProcessor;
+HSPLcom/android/server/power/stats/AggregatedPowerStatsConfig;-><clinit>()V
+HSPLcom/android/server/power/stats/AggregatedPowerStatsConfig;-><init>()V
+HSPLcom/android/server/power/stats/AggregatedPowerStatsConfig;->getPowerComponentsAggregatedStatsConfigs()Ljava/util/List;
+HSPLcom/android/server/power/stats/AggregatedPowerStatsConfig;->trackPowerComponent(I)Lcom/android/server/power/stats/AggregatedPowerStatsConfig$PowerComponent;
+HSPLcom/android/server/power/stats/AggregatedPowerStatsProcessor;-><init>()V
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker$$ExternalSyntheticLambda0;-><init>()V
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker$$ExternalSyntheticLambda0;->newThread(Ljava/lang/Runnable;)Ljava/lang/Thread;
+PLcom/android/server/power/stats/BatteryExternalStatsWorker$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/power/stats/BatteryExternalStatsWorker;)V
+PLcom/android/server/power/stats/BatteryExternalStatsWorker$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/power/stats/BatteryExternalStatsWorker$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/power/stats/BatteryExternalStatsWorker;)V
+PLcom/android/server/power/stats/BatteryExternalStatsWorker$$ExternalSyntheticLambda2;->run()V
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker$$ExternalSyntheticLambda5;-><init>(Ljava/lang/Runnable;)V
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker$$ExternalSyntheticLambda5;->run()V
+PLcom/android/server/power/stats/BatteryExternalStatsWorker$$ExternalSyntheticLambda6;-><init>(Landroid/os/SynchronousResultReceiver;)V
+PLcom/android/server/power/stats/BatteryExternalStatsWorker$$ExternalSyntheticLambda6;->onWifiActivityEnergyInfo(Landroid/os/connectivity/WifiActivityEnergyInfo;)V
+PLcom/android/server/power/stats/BatteryExternalStatsWorker$$ExternalSyntheticLambda7;-><init>(Lcom/android/server/power/stats/BatteryExternalStatsWorker;)V
+PLcom/android/server/power/stats/BatteryExternalStatsWorker$$ExternalSyntheticLambda7;->run()V
+HPLcom/android/server/power/stats/BatteryExternalStatsWorker$$ExternalSyntheticLambda8;-><init>(Lcom/android/server/power/stats/BatteryExternalStatsWorker;I)V
+PLcom/android/server/power/stats/BatteryExternalStatsWorker$$ExternalSyntheticLambda8;->run()V
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker$1;-><init>(Lcom/android/server/power/stats/BatteryExternalStatsWorker;)V
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker$1;->run()V
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker$2;-><init>(Lcom/android/server/power/stats/BatteryExternalStatsWorker;)V
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker$2;->run()V
+PLcom/android/server/power/stats/BatteryExternalStatsWorker$3;-><init>(Lcom/android/server/power/stats/BatteryExternalStatsWorker;)V
+PLcom/android/server/power/stats/BatteryExternalStatsWorker$3;->execute(Ljava/lang/Runnable;)V
+PLcom/android/server/power/stats/BatteryExternalStatsWorker$4;-><init>(Lcom/android/server/power/stats/BatteryExternalStatsWorker;Landroid/os/SynchronousResultReceiver;)V
+PLcom/android/server/power/stats/BatteryExternalStatsWorker$4;->onBluetoothActivityEnergyInfoAvailable(Landroid/bluetooth/BluetoothActivityEnergyInfo;)V
+PLcom/android/server/power/stats/BatteryExternalStatsWorker$5;-><init>(Lcom/android/server/power/stats/BatteryExternalStatsWorker;Ljava/util/concurrent/CompletableFuture;)V
+PLcom/android/server/power/stats/BatteryExternalStatsWorker$5;->onError(Landroid/telephony/TelephonyManager$ModemActivityInfoException;)V
+PLcom/android/server/power/stats/BatteryExternalStatsWorker$5;->onError(Ljava/lang/Throwable;)V
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker$Injector;-><init>(Landroid/content/Context;)V
+PLcom/android/server/power/stats/BatteryExternalStatsWorker$Injector;->getLocalService(Ljava/lang/Class;)Ljava/lang/Object;
+PLcom/android/server/power/stats/BatteryExternalStatsWorker$Injector;->getSystemService(Ljava/lang/Class;)Ljava/lang/Object;
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->$r8$lambda$TgNX_p2V0O5r6X5mUinj9SCyWf4(Ljava/lang/Runnable;)V
+PLcom/android/server/power/stats/BatteryExternalStatsWorker;->$r8$lambda$Wx33MmwbjqfDxlQQrg9moONX6GA(Landroid/os/SynchronousResultReceiver;Landroid/os/connectivity/WifiActivityEnergyInfo;)V
+PLcom/android/server/power/stats/BatteryExternalStatsWorker;->$r8$lambda$fzONXx64Mcwd9mw55thi-ZcrYmg(Lcom/android/server/power/stats/BatteryExternalStatsWorker;)V
+PLcom/android/server/power/stats/BatteryExternalStatsWorker;->$r8$lambda$gqMSfdpdVW3FAyYkJhAyC8ggBas(Lcom/android/server/power/stats/BatteryExternalStatsWorker;)V
+PLcom/android/server/power/stats/BatteryExternalStatsWorker;->$r8$lambda$j2OKKiCfbZA6ci9IVMhM3dJE-Hk(Lcom/android/server/power/stats/BatteryExternalStatsWorker;I)V
+PLcom/android/server/power/stats/BatteryExternalStatsWorker;->$r8$lambda$teZaibf_MXjhvvOUBkWARv-cTiA(Lcom/android/server/power/stats/BatteryExternalStatsWorker;)V
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->$r8$lambda$xuE6vcYTQgXCEAaRtlmzQWy8b9c(Ljava/lang/Runnable;)Ljava/lang/Thread;
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->-$$Nest$fgetmCurrentReason(Lcom/android/server/power/stats/BatteryExternalStatsWorker;)Ljava/lang/String;
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->-$$Nest$fgetmOnBattery(Lcom/android/server/power/stats/BatteryExternalStatsWorker;)Z
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->-$$Nest$fgetmOnBatteryScreenOff(Lcom/android/server/power/stats/BatteryExternalStatsWorker;)Z
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->-$$Nest$fgetmPerDisplayScreenStates(Lcom/android/server/power/stats/BatteryExternalStatsWorker;)[I
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->-$$Nest$fgetmScreenState(Lcom/android/server/power/stats/BatteryExternalStatsWorker;)I
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->-$$Nest$fgetmStats(Lcom/android/server/power/stats/BatteryExternalStatsWorker;)Lcom/android/server/power/stats/BatteryStatsImpl;
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->-$$Nest$fgetmUpdateFlags(Lcom/android/server/power/stats/BatteryExternalStatsWorker;)I
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->-$$Nest$fgetmUseLatestStates(Lcom/android/server/power/stats/BatteryExternalStatsWorker;)Z
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->-$$Nest$fgetmWorkerLock(Lcom/android/server/power/stats/BatteryExternalStatsWorker;)Ljava/lang/Object;
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->-$$Nest$fputmCurrentFuture(Lcom/android/server/power/stats/BatteryExternalStatsWorker;Ljava/util/concurrent/Future;)V
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->-$$Nest$fputmCurrentReason(Lcom/android/server/power/stats/BatteryExternalStatsWorker;Ljava/lang/String;)V
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->-$$Nest$fputmLastCollectionTimeStamp(Lcom/android/server/power/stats/BatteryExternalStatsWorker;J)V
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->-$$Nest$fputmUpdateFlags(Lcom/android/server/power/stats/BatteryExternalStatsWorker;I)V
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->-$$Nest$fputmUseLatestStates(Lcom/android/server/power/stats/BatteryExternalStatsWorker;Z)V
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->-$$Nest$mcancelSyncDueToBatteryLevelChangeLocked(Lcom/android/server/power/stats/BatteryExternalStatsWorker;)V
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->-$$Nest$mupdateExternalStatsLocked(Lcom/android/server/power/stats/BatteryExternalStatsWorker;Ljava/lang/String;IZZI[IZ)V
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;-><init>(Landroid/content/Context;Lcom/android/server/power/stats/BatteryStatsImpl;)V
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;-><init>(Lcom/android/server/power/stats/BatteryExternalStatsWorker$Injector;Lcom/android/server/power/stats/BatteryStatsImpl;)V
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->awaitControllerInfo(Landroid/os/SynchronousResultReceiver;)Landroid/os/Parcelable;
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->cancelCpuSyncDueToWakelockChange()V
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->cancelSyncDueToBatteryLevelChangeLocked()V
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->cancelSyncDueToProcessStateChange()V
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->getEnergyConsumersLocked(I)Ljava/util/concurrent/CompletableFuture;
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->lambda$new$0(Ljava/lang/Runnable;)V
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->lambda$new$1(Ljava/lang/Runnable;)Ljava/lang/Thread;
+PLcom/android/server/power/stats/BatteryExternalStatsWorker;->lambda$scheduleCpuSyncDueToWakelockChange$2()V
+PLcom/android/server/power/stats/BatteryExternalStatsWorker;->lambda$scheduleCpuSyncDueToWakelockChange$3()V
+PLcom/android/server/power/stats/BatteryExternalStatsWorker;->lambda$scheduleSyncDueToBatteryLevelChange$4()V
+PLcom/android/server/power/stats/BatteryExternalStatsWorker;->lambda$scheduleSyncDueToProcessStateChange$5(I)V
+PLcom/android/server/power/stats/BatteryExternalStatsWorker;->lambda$updateExternalStatsLocked$8(Landroid/os/SynchronousResultReceiver;Landroid/os/connectivity/WifiActivityEnergyInfo;)V
+PLcom/android/server/power/stats/BatteryExternalStatsWorker;->populateEnergyConsumerSubsystemMapsLocked()Landroid/util/SparseArray;
+PLcom/android/server/power/stats/BatteryExternalStatsWorker;->scheduleCpuSyncDueToWakelockChange(J)Ljava/util/concurrent/Future;
+HPLcom/android/server/power/stats/BatteryExternalStatsWorker;->scheduleDelayedSyncLocked(Ljava/util/concurrent/Future;Ljava/lang/Runnable;J)Ljava/util/concurrent/Future;
+PLcom/android/server/power/stats/BatteryExternalStatsWorker;->scheduleRunnable(Ljava/lang/Runnable;)V
+PLcom/android/server/power/stats/BatteryExternalStatsWorker;->scheduleSync(Ljava/lang/String;I)Ljava/util/concurrent/Future;
+PLcom/android/server/power/stats/BatteryExternalStatsWorker;->scheduleSyncDueToBatteryLevelChange(J)Ljava/util/concurrent/Future;
+HPLcom/android/server/power/stats/BatteryExternalStatsWorker;->scheduleSyncDueToProcessStateChange(IJ)V
+PLcom/android/server/power/stats/BatteryExternalStatsWorker;->scheduleSyncDueToScreenStateChange(IZZI[I)Ljava/util/concurrent/Future;
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->scheduleSyncLocked(Ljava/lang/String;I)Ljava/util/concurrent/Future;
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->scheduleWrite()Ljava/util/concurrent/Future;
+PLcom/android/server/power/stats/BatteryExternalStatsWorker;->systemServicesReady()V
+HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->updateExternalStatsLocked(Ljava/lang/String;IZZI[IZ)V
+HSPLcom/android/server/power/stats/BatteryStatsDumpHelperImpl;-><init>(Lcom/android/server/power/stats/BatteryUsageStatsProvider;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$$ExternalSyntheticLambda10;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl;)V
+PLcom/android/server/power/stats/BatteryStatsImpl$$ExternalSyntheticLambda10;->accept(Ljava/lang/Object;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$$ExternalSyntheticLambda7;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$$ExternalSyntheticLambda7;->run()V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$$ExternalSyntheticLambda9;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$1;-><init>()V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$2;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl;)V
+PLcom/android/server/power/stats/BatteryStatsImpl$3;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl;)V
+PLcom/android/server/power/stats/BatteryStatsImpl$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$4;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl;)V
+PLcom/android/server/power/stats/BatteryStatsImpl$BatchTimer;-><init>(Lcom/android/internal/os/Clock;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;ILcom/android/server/power/stats/BatteryStatsImpl$TimeBase;)V
+PLcom/android/server/power/stats/BatteryStatsImpl$BatchTimer;->abortLastDuration(J)V
+PLcom/android/server/power/stats/BatteryStatsImpl$BatchTimer;->addDuration(JJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl$BatchTimer;->computeOverage(J)J
+PLcom/android/server/power/stats/BatteryStatsImpl$BatchTimer;->recomputeLastDuration(JZ)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$BatteryStatsConfig$Builder;->-$$Nest$fgetmPowerStatsThrottlePeriodCpu(Lcom/android/server/power/stats/BatteryStatsImpl$BatteryStatsConfig$Builder;)J
+HSPLcom/android/server/power/stats/BatteryStatsImpl$BatteryStatsConfig$Builder;->-$$Nest$fgetmResetOnUnplugAfterSignificantCharge(Lcom/android/server/power/stats/BatteryStatsImpl$BatteryStatsConfig$Builder;)Z
+HSPLcom/android/server/power/stats/BatteryStatsImpl$BatteryStatsConfig$Builder;->-$$Nest$fgetmResetOnUnplugHighBatteryLevel(Lcom/android/server/power/stats/BatteryStatsImpl$BatteryStatsConfig$Builder;)Z
+HSPLcom/android/server/power/stats/BatteryStatsImpl$BatteryStatsConfig$Builder;-><init>()V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$BatteryStatsConfig$Builder;->build()Lcom/android/server/power/stats/BatteryStatsImpl$BatteryStatsConfig;
+HSPLcom/android/server/power/stats/BatteryStatsImpl$BatteryStatsConfig$Builder;->setPowerStatsThrottlePeriodCpu(J)Lcom/android/server/power/stats/BatteryStatsImpl$BatteryStatsConfig$Builder;
+HSPLcom/android/server/power/stats/BatteryStatsImpl$BatteryStatsConfig$Builder;->setResetOnUnplugAfterSignificantCharge(Z)Lcom/android/server/power/stats/BatteryStatsImpl$BatteryStatsConfig$Builder;
+HSPLcom/android/server/power/stats/BatteryStatsImpl$BatteryStatsConfig$Builder;->setResetOnUnplugHighBatteryLevel(Z)Lcom/android/server/power/stats/BatteryStatsImpl$BatteryStatsConfig$Builder;
+HSPLcom/android/server/power/stats/BatteryStatsImpl$BatteryStatsConfig;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl$BatteryStatsConfig$Builder;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$BatteryStatsConfig;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl$BatteryStatsConfig$Builder;Lcom/android/server/power/stats/BatteryStatsImpl$BatteryStatsConfig-IA;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$BatteryStatsConfig;->getPowerStatsThrottlePeriodCpu()J
+HSPLcom/android/server/power/stats/BatteryStatsImpl$BinderCallStats;-><init>()V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$BluetoothActivityInfoCache;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$BluetoothActivityInfoCache;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl$BluetoothActivityInfoCache-IA;)V
+PLcom/android/server/power/stats/BatteryStatsImpl$BluetoothActivityInfoCache;->set(Landroid/bluetooth/BluetoothActivityEnergyInfo;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Constants;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl;Landroid/os/Handler;)V
+PLcom/android/server/power/stats/BatteryStatsImpl$Constants;->getPerUidModemModel(Ljava/lang/String;)I
+PLcom/android/server/power/stats/BatteryStatsImpl$Constants;->onChange()V
+PLcom/android/server/power/stats/BatteryStatsImpl$Constants;->startObserving(Landroid/content/ContentResolver;)V
+PLcom/android/server/power/stats/BatteryStatsImpl$Constants;->updateBatteryChargedDelayMsLocked()V
+PLcom/android/server/power/stats/BatteryStatsImpl$Constants;->updateBatteryChargingEnforceLevelLocked()V
+PLcom/android/server/power/stats/BatteryStatsImpl$Constants;->updateConstants()V
+PLcom/android/server/power/stats/BatteryStatsImpl$Constants;->updateKernelUidReadersThrottleTime(JJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl$Constants;->updateUidRemoveDelay(J)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;-><init>(Lcom/android/internal/os/Clock;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;I)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;->readSummaryFromParcel(Landroid/os/Parcel;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;->readTimeMultiStateCounter(Landroid/os/Parcel;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;)Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;
+HSPLcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;->readTimeMultiStateCounters(Landroid/os/Parcel;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;I)[Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;
+HSPLcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;->writeSummaryToParcel(Landroid/os/Parcel;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;->writeTimeMultiStateCounter(Landroid/os/Parcel;Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;->writeTimeMultiStateCounters(Landroid/os/Parcel;[Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Counter;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Counter;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Counter;->writeSummaryFromParcelLocked(Landroid/os/Parcel;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$DisplayBatteryStats;-><init>(Lcom/android/internal/os/Clock;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$DisplayBatteryStats;->readSummaryFromParcel(Landroid/os/Parcel;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$DisplayBatteryStats;->writeSummaryToParcel(Landroid/os/Parcel;J)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$DualTimer;-><init>(Lcom/android/internal/os/Clock;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;ILjava/util/ArrayList;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$DualTimer;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V
+HPLcom/android/server/power/stats/BatteryStatsImpl$DualTimer;->startRunningLocked(J)V
+HPLcom/android/server/power/stats/BatteryStatsImpl$DualTimer;->stopRunningLocked(J)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$DualTimer;->writeSummaryFromParcelLocked(Landroid/os/Parcel;J)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;-><init>(Lcom/android/internal/os/Clock;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;ILjava/util/ArrayList;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;->getCurrentDurationMsLocked(J)J
+HSPLcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;->getMaxDurationMsLocked(J)J
+HSPLcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;->getTotalDurationMsLocked(J)J
+HSPLcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V
+HPLcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;->startRunningLocked(J)V
+HPLcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;->stopRunningLocked(J)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;->writeSummaryFromParcelLocked(Landroid/os/Parcel;J)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$FrameworkStatsLogger;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl;)V
+PLcom/android/server/power/stats/BatteryStatsImpl$FrameworkStatsLogger;->batteryLevelChanged(I)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$FrameworkStatsLogger;->batterySaverModeChanged(Z)V
+PLcom/android/server/power/stats/BatteryStatsImpl$FrameworkStatsLogger;->chargingStateChanged(I)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$FrameworkStatsLogger;->deviceIdleModeStateChanged(I)V
+PLcom/android/server/power/stats/BatteryStatsImpl$FrameworkStatsLogger;->pluggedStateChanged(I)V
+HPLcom/android/server/power/stats/BatteryStatsImpl$FrameworkStatsLogger;->uidProcessStateChanged(II)V
+HPLcom/android/server/power/stats/BatteryStatsImpl$FrameworkStatsLogger;->wakelockStateChanged(ILandroid/os/WorkSource$WorkChain;Ljava/lang/String;IIZ)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$HistoryStepDetailsCalculatorImpl;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$HistoryStepDetailsCalculatorImpl;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl$HistoryStepDetailsCalculatorImpl-IA;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$HistoryStepDetailsCalculatorImpl;->clear()V
+PLcom/android/server/power/stats/BatteryStatsImpl$HistoryStepDetailsCalculatorImpl;->finishAddingCpuLocked()V
+HPLcom/android/server/power/stats/BatteryStatsImpl$HistoryStepDetailsCalculatorImpl;->getHistoryStepDetails()Landroid/os/BatteryStats$HistoryStepDetails;
+HSPLcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;->reset(ZJ)Z
+HSPLcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;->writeSummaryFromParcelLocked(Landroid/os/Parcel;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounterArray;->-$$Nest$mreadSummaryFromParcelLocked(Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounterArray;Landroid/os/Parcel;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounterArray;->-$$Nest$mwriteSummaryToParcelLocked(Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounterArray;Landroid/os/Parcel;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounterArray;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounterArray;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounterArray;->readSummaryFromParcelLocked(Landroid/os/Parcel;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;)Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounterArray;
+HSPLcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounterArray;->writeSummaryToParcelLocked(Landroid/os/Parcel;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounterArray;->writeSummaryToParcelLocked(Landroid/os/Parcel;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounterArray;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$MyHandler;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl;Landroid/os/Looper;)V
+PLcom/android/server/power/stats/BatteryStatsImpl$MyHandler;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$OverflowArrayMap;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl;I)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$OverflowArrayMap;->add(Ljava/lang/String;Ljava/lang/Object;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$OverflowArrayMap;->getMap()Landroid/util/ArrayMap;
+HPLcom/android/server/power/stats/BatteryStatsImpl$OverflowArrayMap;->startObject(Ljava/lang/String;J)Ljava/lang/Object;
+HPLcom/android/server/power/stats/BatteryStatsImpl$OverflowArrayMap;->stopObject(Ljava/lang/String;J)Ljava/lang/Object;
+HSPLcom/android/server/power/stats/BatteryStatsImpl$SamplingTimer;-><init>(Lcom/android/internal/os/Clock;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$SamplingTimer;->computeCurrentCountLocked()I
+HSPLcom/android/server/power/stats/BatteryStatsImpl$SamplingTimer;->computeRunTimeLocked(JJ)J
+HSPLcom/android/server/power/stats/BatteryStatsImpl$SamplingTimer;->endSample(J)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$SamplingTimer;->getUpdateVersion()I
+HSPLcom/android/server/power/stats/BatteryStatsImpl$SamplingTimer;->setUpdateVersion(I)V
+PLcom/android/server/power/stats/BatteryStatsImpl$SamplingTimer;->update(JIJ)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$SamplingTimer;->update(JJIJ)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;-><init>(Lcom/android/internal/os/Clock;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;ILjava/util/ArrayList;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;->computeCurrentCountLocked()I
+HSPLcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;->computeRunTimeLocked(JJ)J
+PLcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;->isRunningLocked()Z
+HSPLcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V
+HPLcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;->refreshTimersLocked(JLjava/util/ArrayList;Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;)J
+HSPLcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;->setTimeout(J)V
+HPLcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;->startRunningLocked(J)V
+HPLcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;->stopRunningLocked(J)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeBase;-><init>(Z)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeBase;->add(Lcom/android/server/power/stats/BatteryStatsImpl$TimeBaseObs;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeBase;->computeRealtime(JI)J
+HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeBase;->computeUptime(JI)J
+HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeBase;->getRealtime(J)J
+HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeBase;->getUptime(J)J
+HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeBase;->init(JJ)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeBase;->isRunning()Z
+HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeBase;->readSummaryFromParcel(Landroid/os/Parcel;)V
+HPLcom/android/server/power/stats/BatteryStatsImpl$TimeBase;->setRunning(ZJJ)Z
+HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeBase;->writeSummaryToParcel(Landroid/os/Parcel;JJ)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;->-$$Nest$mwriteToParcel(Lcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;Landroid/os/Parcel;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;->-$$Nest$smreadFromParcel(Landroid/os/Parcel;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;IIJ)Lcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;
+HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/internal/os/LongArrayMultiStateCounter;J)V
+PLcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;->getCounter()Lcom/android/internal/os/LongArrayMultiStateCounter;
+HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;->getStateCount()I
+HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;->readFromParcel(Landroid/os/Parcel;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;IIJ)Lcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;
+HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;->writeToParcel(Landroid/os/Parcel;)V
+PLcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;->-$$Nest$msetState(Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;IJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;->-$$Nest$mupdate(Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;JJ)J
+HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;->-$$Nest$mwriteToParcel(Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;Landroid/os/Parcel;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;->-$$Nest$smreadFromParcel(Landroid/os/Parcel;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;IJ)Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;
+HPLcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;IJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;IJLcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter-IA;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/internal/os/LongMultiStateCounter;J)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;->getStateCount()I
+HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;->readFromParcel(Landroid/os/Parcel;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;IJ)Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;
+HPLcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;->setState(IJ)V
+HPLcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;->update(JJ)J
+HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;->writeToParcel(Landroid/os/Parcel;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Timer;-><init>(Lcom/android/internal/os/Clock;ILcom/android/server/power/stats/BatteryStatsImpl$TimeBase;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Timer;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Timer;->writeSummaryFromParcelLocked(Landroid/os/Parcel;J)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid$1;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl;I)V
+HPLcom/android/server/power/stats/BatteryStatsImpl$Uid$1;->instantiateObject()Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Wakelock;
+PLcom/android/server/power/stats/BatteryStatsImpl$Uid$1;->instantiateObject()Ljava/lang/Object;
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid$2;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl;I)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid$3;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl;I)V
+HPLcom/android/server/power/stats/BatteryStatsImpl$Uid$3;->instantiateObject()Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;
+PLcom/android/server/power/stats/BatteryStatsImpl$Uid$3;->instantiateObject()Ljava/lang/Object;
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;->getStartTimeToNowLocked(J)J
+HPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;->startLaunchedLocked(J)V
+HPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;->startRunningLocked(J)V
+HPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;->stopLaunchedLocked(J)V
+HPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;->stopRunningLocked(J)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg;->newServiceStatsLocked()Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Sensor;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;I)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Wakelock;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->-$$Nest$fgetmMobileRadioApWakeupCount(Lcom/android/server/power/stats/BatteryStatsImpl$Uid;)Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->-$$Nest$fgetmUidEnergyConsumerStats(Lcom/android/server/power/stats/BatteryStatsImpl$Uid;)Lcom/android/internal/power/EnergyConsumerStats;
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->-$$Nest$fgetmWifiRadioApWakeupCount(Lcom/android/server/power/stats/BatteryStatsImpl$Uid;)Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->-$$Nest$fputmMobileRadioApWakeupCount(Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->-$$Nest$fputmUidEnergyConsumerStats(Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/internal/power/EnergyConsumerStats;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->-$$Nest$fputmWifiRadioApWakeupCount(Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;)V
+PLcom/android/server/power/stats/BatteryStatsImpl$Uid;->-$$Nest$mgetProcStateScreenOffTimeCounter(Lcom/android/server/power/stats/BatteryStatsImpl$Uid;J)Lcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;
+PLcom/android/server/power/stats/BatteryStatsImpl$Uid;->-$$Nest$mgetProcStateTimeCounter(Lcom/android/server/power/stats/BatteryStatsImpl$Uid;J)Lcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;-><clinit>()V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl;IJJ)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->createAggregatedPartialWakelockTimerLocked()Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->createAudioTurnedOnTimerLocked()Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->createForegroundActivityTimerLocked()Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->createForegroundServiceTimerLocked()Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;
+PLcom/android/server/power/stats/BatteryStatsImpl$Uid;->createVibratorOnTimerLocked()Lcom/android/server/power/stats/BatteryStatsImpl$BatchTimer;
+PLcom/android/server/power/stats/BatteryStatsImpl$Uid;->ensureMultiStateCounters(J)V
+PLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getBluetoothControllerActivity()Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;
+HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getCpuActiveTimeCounter()Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;
+HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getMobileRadioActiveTimeCounter()Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;
+HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getOrCreateEnergyConsumerStatsIfSupportedLocked()Lcom/android/internal/power/EnergyConsumerStats;
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getPackageStatsLocked(Ljava/lang/String;)Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg;
+HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getPidStatsLocked(I)Landroid/os/BatteryStats$Uid$Pid;
+PLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getProcStateScreenOffTimeCounter(J)Lcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;
+PLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getProcStateTimeCounter(J)Lcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getSensorTimerLocked(IZ)Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getServiceStatsLocked(Ljava/lang/String;Ljava/lang/String;)Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getWakelockTimerLocked(Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Wakelock;I)Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;
+HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getWifiControllerActivity()Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->makeProcessState(ILandroid/os/Parcel;)V
+HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->maybeScheduleExternalStatsSync(II)V
+PLcom/android/server/power/stats/BatteryStatsImpl$Uid;->noteActivityPausedLocked(J)V
+PLcom/android/server/power/stats/BatteryStatsImpl$Uid;->noteActivityResumedLocked(J)V
+PLcom/android/server/power/stats/BatteryStatsImpl$Uid;->noteAudioTurnedOffLocked(J)V
+PLcom/android/server/power/stats/BatteryStatsImpl$Uid;->noteAudioTurnedOnLocked(J)V
+PLcom/android/server/power/stats/BatteryStatsImpl$Uid;->noteForegroundServicePausedLocked(J)V
+PLcom/android/server/power/stats/BatteryStatsImpl$Uid;->noteForegroundServiceResumedLocked(J)V
+HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->noteStartJobLocked(Ljava/lang/String;J)V
+PLcom/android/server/power/stats/BatteryStatsImpl$Uid;->noteStartSensor(IJ)V
+HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->noteStartWakeLocked(ILjava/lang/String;IJ)V
+HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->noteStopJobLocked(Ljava/lang/String;JI)V
+PLcom/android/server/power/stats/BatteryStatsImpl$Uid;->noteStopSensor(IJ)V
+HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->noteStopWakeLocked(ILjava/lang/String;IJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl$Uid;->noteVibratorOffLocked(J)V
+PLcom/android/server/power/stats/BatteryStatsImpl$Uid;->noteVibratorOnLocked(JJ)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->readJobCompletionsFromParcelLocked(Landroid/os/Parcel;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->readWakeSummaryFromParcelLocked(Ljava/lang/String;Landroid/os/Parcel;)V
+HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->updateOnBatteryBgTimeBase(JJ)Z
+HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->updateOnBatteryScreenOffBgTimeBase(JJ)Z
+HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->updateUidProcessStateLocked(IJJ)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->writeJobCompletionsToParcelLocked(Landroid/os/Parcel;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl$UserInfoProvider;-><init>()V
+PLcom/android/server/power/stats/BatteryStatsImpl;->$r8$lambda$4oR0MyxxkPH0JSQXqVxAZgbHyhc(Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/internal/os/PowerStats;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->$r8$lambda$55y1ivO2sjC-T6ZAKfbd9ZmL96Q(Lcom/android/server/power/stats/BatteryStatsImpl;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$fgetmAudioTurnedOnTimers(Lcom/android/server/power/stats/BatteryStatsImpl;)Ljava/util/ArrayList;
+PLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$fgetmCallback(Lcom/android/server/power/stats/BatteryStatsImpl;)Lcom/android/server/power/stats/BatteryStatsImpl$BatteryCallback;
+PLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$fgetmDeferSetCharging(Lcom/android/server/power/stats/BatteryStatsImpl;)Ljava/lang/Runnable;
+HPLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$fgetmExternalSync(Lcom/android/server/power/stats/BatteryStatsImpl;)Lcom/android/server/power/stats/BatteryStatsImpl$ExternalStatsSync;
+PLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$fgetmFullTimers(Lcom/android/server/power/stats/BatteryStatsImpl;)Ljava/util/ArrayList;
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$fgetmFullWifiLockTimers(Lcom/android/server/power/stats/BatteryStatsImpl;)Ljava/util/ArrayList;
+PLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$fgetmHistory(Lcom/android/server/power/stats/BatteryStatsImpl;)Lcom/android/internal/os/BatteryStatsHistory;
+PLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$fgetmPlatformIdleStateCallback(Lcom/android/server/power/stats/BatteryStatsImpl;)Lcom/android/server/power/stats/BatteryStatsImpl$PlatformIdleStateCallback;
+PLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$fgetmPowerStatsCollectorEnabled(Lcom/android/server/power/stats/BatteryStatsImpl;)Z
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$fgetmSensorTimers(Lcom/android/server/power/stats/BatteryStatsImpl;)Landroid/util/SparseArray;
+PLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$fgetmSystemReady(Lcom/android/server/power/stats/BatteryStatsImpl;)Z
+PLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$fgetmUidStats(Lcom/android/server/power/stats/BatteryStatsImpl;)Landroid/util/SparseArray;
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$fgetmWifiMulticastTimers(Lcom/android/server/power/stats/BatteryStatsImpl;)Ljava/util/ArrayList;
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$fgetmWifiRunningTimers(Lcom/android/server/power/stats/BatteryStatsImpl;)Ljava/util/ArrayList;
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$fgetmWifiScanTimers(Lcom/android/server/power/stats/BatteryStatsImpl;)Ljava/util/ArrayList;
+HPLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$mgetPowerManagerWakeLockLevel(Lcom/android/server/power/stats/BatteryStatsImpl;I)I
+HPLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$mmapIsolatedUid(Lcom/android/server/power/stats/BatteryStatsImpl;I)I
+PLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$mnoteUsbConnectionStateLocked(Lcom/android/server/power/stats/BatteryStatsImpl;ZJJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$mrequestImmediateCpuUpdate(Lcom/android/server/power/stats/BatteryStatsImpl;)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$mtrackPerProcStateCpuTimes(Lcom/android/server/power/stats/BatteryStatsImpl;)Z
+HPLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$sfgetMAX_WAKELOCKS_PER_UID()I
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$smdetachIfNotNull(Lcom/android/server/power/stats/BatteryStatsImpl$TimeBaseObs;)V
+HPLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$smisActiveRadioPowerState(I)Z
+HSPLcom/android/server/power/stats/BatteryStatsImpl;-><clinit>()V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl$BatteryStatsConfig;Lcom/android/internal/os/Clock;Lcom/android/internal/os/MonotonicClock;Ljava/io/File;Landroid/os/Handler;Lcom/android/server/power/stats/BatteryStatsImpl$PlatformIdleStateCallback;Lcom/android/server/power/stats/BatteryStatsImpl$EnergyStatsRetriever;Lcom/android/server/power/stats/BatteryStatsImpl$UserInfoProvider;Lcom/android/internal/os/PowerProfile;Lcom/android/internal/os/CpuScalingPolicies;Lcom/android/server/power/stats/PowerStatsUidResolver;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->access$000()Z
+PLcom/android/server/power/stats/BatteryStatsImpl;->access$100()Z
+PLcom/android/server/power/stats/BatteryStatsImpl;->access$200()Z
+PLcom/android/server/power/stats/BatteryStatsImpl;->adjustStartClockTime(J)V
+HPLcom/android/server/power/stats/BatteryStatsImpl;->aggregateLastWakeupUptimeLocked(JJ)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->clearPendingRemovedUidsLocked()V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->computeRealtime(JI)J
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->computeUptime(JI)J
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->detachIfNotNull(Lcom/android/server/power/stats/BatteryStatsImpl$TimeBaseObs;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->detachIfNotNull([Lcom/android/server/power/stats/BatteryStatsImpl$TimeBaseObs;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->detachIfNotNull([[Lcom/android/server/power/stats/BatteryStatsImpl$TimeBaseObs;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->ensureKernelSingleUidTimeReaderLocked()V
+PLcom/android/server/power/stats/BatteryStatsImpl;->evaluateOverallScreenBrightnessBinLocked()I
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->fillLowPowerStats()V
+PLcom/android/server/power/stats/BatteryStatsImpl;->finishAddingCpuStatsLocked()V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->getAvailableUidStatsLocked(I)Lcom/android/server/power/stats/BatteryStatsImpl$Uid;
+HPLcom/android/server/power/stats/BatteryStatsImpl;->getBatteryUptimeLocked(J)J
+PLcom/android/server/power/stats/BatteryStatsImpl;->getBatteryVoltageMvLocked()I
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->getDischargeAmountScreenDozeSinceCharge()I
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->getDischargeAmountScreenOffSinceCharge()I
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->getDischargeAmountScreenOnSinceCharge()I
+PLcom/android/server/power/stats/BatteryStatsImpl;->getDisplayCount()I
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->getHighDischargeAmountSinceCharge()I
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->getHistory()Lcom/android/internal/os/BatteryStatsHistory;
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->getIsOnBattery()Z
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->getKernelWakelockTimerLocked(Ljava/lang/String;)Lcom/android/server/power/stats/BatteryStatsImpl$SamplingTimer;
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->getLowDischargeAmountSinceCharge()I
+PLcom/android/server/power/stats/BatteryStatsImpl;->getPowerManagerWakeLockLevel(I)I
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->getRpmTimerLocked(Ljava/lang/String;)Lcom/android/server/power/stats/BatteryStatsImpl$SamplingTimer;
+HPLcom/android/server/power/stats/BatteryStatsImpl;->getServiceStatsLocked(ILjava/lang/String;Ljava/lang/String;JJ)Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->getStartClockTime()J
+PLcom/android/server/power/stats/BatteryStatsImpl;->getUidStatsLocked(I)Lcom/android/server/power/stats/BatteryStatsImpl$Uid;
+HPLcom/android/server/power/stats/BatteryStatsImpl;->getUidStatsLocked(IJJ)Lcom/android/server/power/stats/BatteryStatsImpl$Uid;
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->informThatAllExternalStatsAreFlushed()V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->initDischarge(J)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->initEnergyConsumerStatsLocked([Z[Ljava/lang/String;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->initKernelStatsReaders()V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->initPowerProfile()V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->initTimersAndCounters()V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->initTimes(JJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->isActiveRadioPowerState(I)Z
+PLcom/android/server/power/stats/BatteryStatsImpl;->isCharging()Z
+HPLcom/android/server/power/stats/BatteryStatsImpl;->isOnBattery()Z
+PLcom/android/server/power/stats/BatteryStatsImpl;->isOnBattery(II)Z
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->isOnBatteryLocked()Z
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->isOnBatteryScreenOffLocked()Z
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->lambda$new$10()V
+HPLcom/android/server/power/stats/BatteryStatsImpl;->mapIsolatedUid(I)I
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->mapUid(I)I
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->markPartialTimersAsEligible()V
+PLcom/android/server/power/stats/BatteryStatsImpl;->maybeUpdateOverallScreenBrightness(IJJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->noteActivityPausedLocked(IJJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->noteActivityResumedLocked(IJJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->noteAlarmFinishLocked(Ljava/lang/String;Landroid/os/WorkSource;IJJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->noteAlarmStartLocked(Ljava/lang/String;Landroid/os/WorkSource;IJJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->noteAlarmStartOrFinishLocked(ILjava/lang/String;Landroid/os/WorkSource;IJJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->noteAudioOffLocked(IJJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->noteAudioOnLocked(IJJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->noteChangeWakelockFromSourceLocked(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;ILandroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZJJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->noteCurrentTimeChangedLocked(JJJ)V
+HPLcom/android/server/power/stats/BatteryStatsImpl;->noteEventLocked(ILjava/lang/String;IJJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->noteInteractiveLocked(ZJ)V
+HPLcom/android/server/power/stats/BatteryStatsImpl;->noteJobFinishLocked(Ljava/lang/String;IIJJ)V
+HPLcom/android/server/power/stats/BatteryStatsImpl;->noteJobStartLocked(Ljava/lang/String;IJJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->notePhoneSignalStrengthLocked(ILandroid/util/SparseIntArray;JJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->notePhoneSignalStrengthLocked(Landroid/telephony/SignalStrength;JJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->notePhoneStateLocked(IIJJ)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->notePowerSaveModeLockedInit(ZJJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->noteProcessAnrLocked(Ljava/lang/String;IJJ)V
+HPLcom/android/server/power/stats/BatteryStatsImpl;->noteProcessDiedLocked(II)V
+HPLcom/android/server/power/stats/BatteryStatsImpl;->noteProcessFinishLocked(Ljava/lang/String;IJJ)V
+HPLcom/android/server/power/stats/BatteryStatsImpl;->noteProcessStartLocked(Ljava/lang/String;IJJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->noteResetBluetoothScanLocked(JJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->noteScreenBrightnessLocked(IIJJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->noteScreenStateLocked(IIJJJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->noteStartSensorLocked(IIJJ)V
+HPLcom/android/server/power/stats/BatteryStatsImpl;->noteStartWakeFromSourceLocked(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZJJ)V
+HPLcom/android/server/power/stats/BatteryStatsImpl;->noteStartWakeLocked(IILandroid/os/WorkSource$WorkChain;Ljava/lang/String;Ljava/lang/String;IZJJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->noteStopSensorLocked(IIJJ)V
+HPLcom/android/server/power/stats/BatteryStatsImpl;->noteStopWakeFromSourceLocked(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IJJ)V
+HPLcom/android/server/power/stats/BatteryStatsImpl;->noteStopWakeLocked(IILandroid/os/WorkSource$WorkChain;Ljava/lang/String;Ljava/lang/String;IJJ)V
+HPLcom/android/server/power/stats/BatteryStatsImpl;->noteUidProcessStateLocked(IIJJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->noteUsbConnectionStateLocked(ZJJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->noteUserActivityLocked(IIJJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->noteVibratorOffLocked(IJJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->noteVibratorOnLocked(IJJJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->noteWakupAlarmLocked(Ljava/lang/String;ILandroid/os/WorkSource;Ljava/lang/String;JJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->noteWifiOnLocked(JJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->noteWifiSupplicantStateChangedLocked(IZJJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->onSystemReady()V
+PLcom/android/server/power/stats/BatteryStatsImpl;->postBatteryNeedsCpuUpdateMsg()V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->pullPendingStateUpdatesLocked()V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->readDailyStatsLocked()V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->readLocked()V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->readSummaryFromParcel(Landroid/os/Parcel;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->recordDailyStatsIfNeededLocked(ZJ)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->recordHistoryEventLocked(JJILjava/lang/String;I)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->recordPowerStats(Lcom/android/internal/os/PowerStats;)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->registerUsbStateReceiver(Landroid/content/Context;)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->reportChangesToStatsLog(III)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->requestImmediateCpuUpdate()V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->saveBatteryUsageStatsOnReset(Lcom/android/server/power/stats/BatteryUsageStatsProvider;Lcom/android/server/power/stats/PowerStatsStore;)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->schedulePowerStatsSampleCollection()V
+PLcom/android/server/power/stats/BatteryStatsImpl;->scheduleSyncExternalStatsLocked(Ljava/lang/String;I)V
+HPLcom/android/server/power/stats/BatteryStatsImpl;->setBatteryStateLocked(IIIIIIIIJJJJ)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->setCallback(Lcom/android/server/power/stats/BatteryStatsImpl$BatteryCallback;)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->setChargingLocked(Z)Z
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->setDisplayCountLocked(I)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->setExternalStatsSyncLocked(Lcom/android/server/power/stats/BatteryStatsImpl$ExternalStatsSync;)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->setPowerStatsCollectorEnabled(Z)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->setRadioScanningTimeoutLocked(J)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->startAddingCpuStatsLocked()Z
+PLcom/android/server/power/stats/BatteryStatsImpl;->systemServicesReady(Landroid/content/Context;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->trackPerProcStateCpuTimes()Z
+PLcom/android/server/power/stats/BatteryStatsImpl;->updateAllPhoneStateLocked(IIIJJ)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->updateBluetoothStateLocked(Landroid/bluetooth/BluetoothActivityEnergyInfo;JJJ)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->updateCpuTimeLocked(ZZ[J)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->updateCpuTimesForAllUids()V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->updateDailyDeadlineLocked()V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->updateKernelMemoryBandwidthLocked(J)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->updateKernelWakelocksLocked(J)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->updateProcStateCpuTimesLocked(IJJ)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->updateRailStatsLocked()V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->updateRpmStatsLocked(J)V
+PLcom/android/server/power/stats/BatteryStatsImpl;->updateTimeBasesLocked(ZIJJ)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->writeAsyncLocked()V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->writeHistoryLocked()V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->writeParcelToFileLocked(Landroid/os/Parcel;Landroid/util/AtomicFile;)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->writeStatsLocked()V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->writeSummaryToParcel(Landroid/os/Parcel;Z)V
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->writeSyncLocked()V
+HSPLcom/android/server/power/stats/BatteryUsageStatsProvider;-><init>(Landroid/content/Context;Lcom/android/server/power/stats/PowerStatsExporter;Lcom/android/internal/os/PowerProfile;Lcom/android/internal/os/CpuScalingPolicies;Lcom/android/server/power/stats/PowerStatsStore;Lcom/android/internal/os/Clock;)V
+PLcom/android/server/power/stats/BatteryUsageStatsProvider;->setPowerStatsExporterEnabled(Z)V
+HSPLcom/android/server/power/stats/CpuAggregatedPowerStatsProcessor;-><clinit>()V
+HSPLcom/android/server/power/stats/CpuAggregatedPowerStatsProcessor;-><init>(Lcom/android/internal/os/PowerProfile;Lcom/android/internal/os/CpuScalingPolicies;)V
+HSPLcom/android/server/power/stats/CpuPowerStatsCollector$$ExternalSyntheticLambda1;-><init>()V
+PLcom/android/server/power/stats/CpuPowerStatsCollector$$ExternalSyntheticLambda1;->get()Ljava/lang/Object;
+PLcom/android/server/power/stats/CpuPowerStatsCollector$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/power/stats/CpuPowerStatsCollector;)V
+PLcom/android/server/power/stats/CpuPowerStatsCollector$$ExternalSyntheticLambda2;->processUidStats(I[J)V
+PLcom/android/server/power/stats/CpuPowerStatsCollector$CpuStatsArrayLayout;-><init>()V
+PLcom/android/server/power/stats/CpuPowerStatsCollector$CpuStatsArrayLayout;->addDeviceSectionCpuTimeByCluster(I)V
+PLcom/android/server/power/stats/CpuPowerStatsCollector$CpuStatsArrayLayout;->addDeviceSectionCpuTimeByScalingStep(I)V
+PLcom/android/server/power/stats/CpuPowerStatsCollector$CpuStatsArrayLayout;->addUidSectionCpuTimeByPowerBracket([I)V
+PLcom/android/server/power/stats/CpuPowerStatsCollector$CpuStatsArrayLayout;->getCpuPowerBracketCount()I
+PLcom/android/server/power/stats/CpuPowerStatsCollector$CpuStatsArrayLayout;->getCpuScalingStepCount()I
+PLcom/android/server/power/stats/CpuPowerStatsCollector$CpuStatsArrayLayout;->getScalingStepToPowerBracketMap()[I
+PLcom/android/server/power/stats/CpuPowerStatsCollector$CpuStatsArrayLayout;->setTimeByScalingStep([JIJ)V
+PLcom/android/server/power/stats/CpuPowerStatsCollector$CpuStatsArrayLayout;->setUidTimeByPowerBracket([JIJ)V
+PLcom/android/server/power/stats/CpuPowerStatsCollector$CpuStatsArrayLayout;->toExtras(Landroid/os/PersistableBundle;)V
+PLcom/android/server/power/stats/CpuPowerStatsCollector$CpuStatsArrayLayout;->updatePowerBracketCount()V
+HSPLcom/android/server/power/stats/CpuPowerStatsCollector$KernelCpuStatsReader;-><init>()V
+PLcom/android/server/power/stats/CpuPowerStatsCollector$UidStats;-><init>()V
+PLcom/android/server/power/stats/CpuPowerStatsCollector$UidStats;-><init>(Lcom/android/server/power/stats/CpuPowerStatsCollector$UidStats-IA;)V
+PLcom/android/server/power/stats/CpuPowerStatsCollector;->$r8$lambda$TmdX3HefCA-y-kG8N7EsBWpyOqo()Landroid/power/PowerStatsInternal;
+PLcom/android/server/power/stats/CpuPowerStatsCollector;->$r8$lambda$l7KbxBakyCEoVp9gpEIBpVgzupw(Lcom/android/server/power/stats/CpuPowerStatsCollector;I[J)V
+HSPLcom/android/server/power/stats/CpuPowerStatsCollector;-><init>(Lcom/android/internal/os/CpuScalingPolicies;Lcom/android/internal/os/PowerProfile;Landroid/os/Handler;Lcom/android/server/power/stats/CpuPowerStatsCollector$KernelCpuStatsReader;Lcom/android/server/power/stats/PowerStatsUidResolver;Ljava/util/function/Supplier;Ljava/util/function/IntSupplier;JLcom/android/internal/os/Clock;II)V
+HSPLcom/android/server/power/stats/CpuPowerStatsCollector;-><init>(Lcom/android/internal/os/CpuScalingPolicies;Lcom/android/internal/os/PowerProfile;Lcom/android/server/power/stats/PowerStatsUidResolver;Ljava/util/function/IntSupplier;Landroid/os/Handler;J)V
+HPLcom/android/server/power/stats/CpuPowerStatsCollector;->collectStats()Lcom/android/internal/os/PowerStats;
+PLcom/android/server/power/stats/CpuPowerStatsCollector;->ensureInitialized()Z
+PLcom/android/server/power/stats/CpuPowerStatsCollector;->initDefaultPowerBrackets(I)[I
+PLcom/android/server/power/stats/CpuPowerStatsCollector;->initPowerBrackets()[I
+PLcom/android/server/power/stats/CpuPowerStatsCollector;->lambda$new$0()Landroid/power/PowerStatsInternal;
+PLcom/android/server/power/stats/CpuPowerStatsCollector;->mapScalingStepsToDefaultBrackets([I[DI)V
+PLcom/android/server/power/stats/CpuPowerStatsCollector;->processUidStats(I[J)V
+PLcom/android/server/power/stats/CpuPowerStatsCollector;->readCpuEnergyConsumerIds()V
+HSPLcom/android/server/power/stats/KernelWakelockReader;-><clinit>()V
+HSPLcom/android/server/power/stats/KernelWakelockReader;-><init>()V
+HSPLcom/android/server/power/stats/KernelWakelockReader;->getWakelockStatsFromSystemSuspend(Lcom/android/server/power/stats/KernelWakelockStats;)Lcom/android/server/power/stats/KernelWakelockStats;
+HSPLcom/android/server/power/stats/KernelWakelockReader;->readKernelWakelockStats(Lcom/android/server/power/stats/KernelWakelockStats;)Lcom/android/server/power/stats/KernelWakelockStats;
+HSPLcom/android/server/power/stats/KernelWakelockReader;->removeOldStats(Lcom/android/server/power/stats/KernelWakelockStats;)Lcom/android/server/power/stats/KernelWakelockStats;
+HSPLcom/android/server/power/stats/KernelWakelockReader;->updateVersion(Lcom/android/server/power/stats/KernelWakelockStats;)Lcom/android/server/power/stats/KernelWakelockStats;
+HSPLcom/android/server/power/stats/KernelWakelockReader;->updateWakelockStats([Landroid/system/suspend/internal/WakeLockInfo;Lcom/android/server/power/stats/KernelWakelockStats;)Lcom/android/server/power/stats/KernelWakelockStats;
+HSPLcom/android/server/power/stats/KernelWakelockReader;->waitForSuspendControlService()Landroid/system/suspend/internal/ISuspendControlServiceInternal;
+HSPLcom/android/server/power/stats/KernelWakelockStats$Entry;-><init>(IJJI)V
+HSPLcom/android/server/power/stats/KernelWakelockStats;-><init>()V
+HSPLcom/android/server/power/stats/PowerStatsAggregator;-><init>(Lcom/android/server/power/stats/AggregatedPowerStatsConfig;Lcom/android/internal/os/BatteryStatsHistory;)V
+HSPLcom/android/server/power/stats/PowerStatsCollector$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/power/stats/PowerStatsCollector;)V
+PLcom/android/server/power/stats/PowerStatsCollector$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/power/stats/PowerStatsCollector$StatsArrayLayout;-><init>()V
+PLcom/android/server/power/stats/PowerStatsCollector$StatsArrayLayout;->addDeviceSection(I)I
+PLcom/android/server/power/stats/PowerStatsCollector$StatsArrayLayout;->addDeviceSectionEnergyConsumers(I)V
+PLcom/android/server/power/stats/PowerStatsCollector$StatsArrayLayout;->addDeviceSectionPowerEstimate()V
+PLcom/android/server/power/stats/PowerStatsCollector$StatsArrayLayout;->addDeviceSectionUsageDuration()V
+PLcom/android/server/power/stats/PowerStatsCollector$StatsArrayLayout;->addUidSection(I)I
+PLcom/android/server/power/stats/PowerStatsCollector$StatsArrayLayout;->addUidSectionPowerEstimate()V
+PLcom/android/server/power/stats/PowerStatsCollector$StatsArrayLayout;->getDeviceStatsArrayLength()I
+PLcom/android/server/power/stats/PowerStatsCollector$StatsArrayLayout;->getUidStatsArrayLength()I
+PLcom/android/server/power/stats/PowerStatsCollector$StatsArrayLayout;->putIntArray(Landroid/os/PersistableBundle;Ljava/lang/String;[I)V
+PLcom/android/server/power/stats/PowerStatsCollector$StatsArrayLayout;->setUsageDuration([JJ)V
+PLcom/android/server/power/stats/PowerStatsCollector$StatsArrayLayout;->toExtras(Landroid/os/PersistableBundle;)V
+HSPLcom/android/server/power/stats/PowerStatsCollector;-><init>(Landroid/os/Handler;JLcom/android/internal/os/Clock;)V
+HSPLcom/android/server/power/stats/PowerStatsCollector;->addConsumer(Ljava/util/function/Consumer;)V
+PLcom/android/server/power/stats/PowerStatsCollector;->collectAndDeliverStats()V
+PLcom/android/server/power/stats/PowerStatsCollector;->forceSchedule()Z
+PLcom/android/server/power/stats/PowerStatsCollector;->isEnabled()Z
+PLcom/android/server/power/stats/PowerStatsCollector;->schedule()Z
+PLcom/android/server/power/stats/PowerStatsCollector;->setEnabled(Z)V
+HSPLcom/android/server/power/stats/PowerStatsExporter;-><clinit>()V
+HSPLcom/android/server/power/stats/PowerStatsExporter;-><init>(Lcom/android/server/power/stats/PowerStatsStore;Lcom/android/server/power/stats/PowerStatsAggregator;)V
+HSPLcom/android/server/power/stats/PowerStatsExporter;-><init>(Lcom/android/server/power/stats/PowerStatsStore;Lcom/android/server/power/stats/PowerStatsAggregator;J)V
+PLcom/android/server/power/stats/PowerStatsScheduler$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/power/stats/PowerStatsScheduler;)V
+PLcom/android/server/power/stats/PowerStatsScheduler$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/power/stats/PowerStatsScheduler$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/power/stats/PowerStatsScheduler;)V
+PLcom/android/server/power/stats/PowerStatsScheduler;->$r8$lambda$GEaV9AQjfxC9uJ1Tfs7f2eF4_H0(Lcom/android/server/power/stats/PowerStatsScheduler;)V
+HSPLcom/android/server/power/stats/PowerStatsScheduler;-><clinit>()V
+HSPLcom/android/server/power/stats/PowerStatsScheduler;-><init>(Ljava/lang/Runnable;Lcom/android/server/power/stats/PowerStatsAggregator;JJLcom/android/server/power/stats/PowerStatsStore;Lcom/android/server/power/stats/PowerStatsScheduler$AlarmScheduler;Lcom/android/internal/os/Clock;Lcom/android/internal/os/MonotonicClock;Ljava/util/function/Supplier;Landroid/os/Handler;)V
+PLcom/android/server/power/stats/PowerStatsScheduler;->aggregateAndStorePowerStats()V
+PLcom/android/server/power/stats/PowerStatsScheduler;->alignToWallClock(JJJJ)J
+PLcom/android/server/power/stats/PowerStatsScheduler;->getLastSavedSpanEndMonotonicTime()J
+PLcom/android/server/power/stats/PowerStatsScheduler;->scheduleNextPowerStatsAggregation()V
+PLcom/android/server/power/stats/PowerStatsScheduler;->schedulePowerStatsAggregation()V
+PLcom/android/server/power/stats/PowerStatsScheduler;->start(Z)V
+PLcom/android/server/power/stats/PowerStatsSpan$Metadata$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/power/stats/PowerStatsSpan$Metadata;-><clinit>()V
+PLcom/android/server/power/stats/PowerStatsSpan$Metadata;-><init>(J)V
+PLcom/android/server/power/stats/PowerStatsSpan$Metadata;->addSection(Ljava/lang/String;)V
+PLcom/android/server/power/stats/PowerStatsSpan$Metadata;->addTimeFrame(Lcom/android/server/power/stats/PowerStatsSpan$TimeFrame;)V
+PLcom/android/server/power/stats/PowerStatsSpan$Metadata;->getSections()Ljava/util/List;
+PLcom/android/server/power/stats/PowerStatsSpan$Metadata;->read(Lcom/android/modules/utils/TypedXmlPullParser;)Lcom/android/server/power/stats/PowerStatsSpan$Metadata;
+PLcom/android/server/power/stats/PowerStatsSpan$TimeFrame;-><init>(JJJ)V
+PLcom/android/server/power/stats/PowerStatsSpan$TimeFrame;->read(Lcom/android/modules/utils/TypedXmlPullParser;)Lcom/android/server/power/stats/PowerStatsSpan$TimeFrame;
+PLcom/android/server/power/stats/PowerStatsSpan;->-$$Nest$smisCompatibleXmlFormat(I)Z
+PLcom/android/server/power/stats/PowerStatsSpan;-><clinit>()V
+PLcom/android/server/power/stats/PowerStatsSpan;->isCompatibleXmlFormat(I)Z
+HSPLcom/android/server/power/stats/PowerStatsStore$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/power/stats/PowerStatsStore;)V
+HSPLcom/android/server/power/stats/PowerStatsStore$$ExternalSyntheticLambda1;->run()V
+HSPLcom/android/server/power/stats/PowerStatsStore$DefaultSectionReader;-><init>(Lcom/android/server/power/stats/AggregatedPowerStatsConfig;)V
+HSPLcom/android/server/power/stats/PowerStatsStore;->$r8$lambda$B2PF4qXDAYWwxqhYeVyGoe0li4E(Lcom/android/server/power/stats/PowerStatsStore;)V
+HSPLcom/android/server/power/stats/PowerStatsStore;-><init>(Ljava/io/File;JLandroid/os/Handler;Lcom/android/server/power/stats/PowerStatsSpan$SectionReader;)V
+HSPLcom/android/server/power/stats/PowerStatsStore;-><init>(Ljava/io/File;Landroid/os/Handler;Lcom/android/server/power/stats/AggregatedPowerStatsConfig;)V
+PLcom/android/server/power/stats/PowerStatsStore;->getTableOfContents()Ljava/util/List;
+PLcom/android/server/power/stats/PowerStatsStore;->lockStoreDirectory()V
+HSPLcom/android/server/power/stats/PowerStatsStore;->maybeClearLegacyStore()V
+PLcom/android/server/power/stats/PowerStatsStore;->unlockStoreDirectory()V
+HSPLcom/android/server/power/stats/PowerStatsUidResolver;-><init>()V
+HSPLcom/android/server/power/stats/PowerStatsUidResolver;->addListener(Lcom/android/server/power/stats/PowerStatsUidResolver$Listener;)V
+HSPLcom/android/server/power/stats/PowerStatsUidResolver;->mapUid(I)I
+HSPLcom/android/server/power/stats/wakeups/CpuWakeupStats$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/power/stats/wakeups/CpuWakeupStats;)V
+PLcom/android/server/power/stats/wakeups/CpuWakeupStats$$ExternalSyntheticLambda0;->getAsLong()J
+HSPLcom/android/server/power/stats/wakeups/CpuWakeupStats$Config;-><clinit>()V
+HSPLcom/android/server/power/stats/wakeups/CpuWakeupStats$Config;-><init>()V
+PLcom/android/server/power/stats/wakeups/CpuWakeupStats$Config;->onPropertiesChanged(Landroid/provider/DeviceConfig$Properties;)V
+PLcom/android/server/power/stats/wakeups/CpuWakeupStats$Config;->register(Ljava/util/concurrent/Executor;)V
+HSPLcom/android/server/power/stats/wakeups/CpuWakeupStats$WakingActivityHistory;-><init>(Ljava/util/function/LongSupplier;)V
+HPLcom/android/server/power/stats/wakeups/CpuWakeupStats$WakingActivityHistory;->recordActivity(IJLandroid/util/SparseIntArray;)V
+PLcom/android/server/power/stats/wakeups/CpuWakeupStats;->$r8$lambda$l-D7NPzbgSwY5OseXB1GuV8c9rM(Lcom/android/server/power/stats/wakeups/CpuWakeupStats;)J
+HSPLcom/android/server/power/stats/wakeups/CpuWakeupStats;-><clinit>()V
+HSPLcom/android/server/power/stats/wakeups/CpuWakeupStats;-><init>(Landroid/content/Context;ILandroid/os/Handler;)V
+HPLcom/android/server/power/stats/wakeups/CpuWakeupStats;->attemptAttributionWith(IJLandroid/util/SparseIntArray;)Z
+PLcom/android/server/power/stats/wakeups/CpuWakeupStats;->lambda$new$0()J
+HPLcom/android/server/power/stats/wakeups/CpuWakeupStats;->noteUidProcessState(II)V
+HPLcom/android/server/power/stats/wakeups/CpuWakeupStats;->noteWakingActivity(IJ[I)V
+PLcom/android/server/power/stats/wakeups/CpuWakeupStats;->systemServicesReady()V
+HSPLcom/android/server/power/stats/wakeups/IrqDeviceMap;-><clinit>()V
+HSPLcom/android/server/power/stats/wakeups/IrqDeviceMap;-><init>(Landroid/content/res/XmlResourceParser;)V
+HSPLcom/android/server/power/stats/wakeups/IrqDeviceMap;->getInstance(Landroid/content/Context;I)Lcom/android/server/power/stats/wakeups/IrqDeviceMap;
+PLcom/android/server/powerstats/BatteryTrigger$1;-><init>(Lcom/android/server/powerstats/BatteryTrigger;)V
+HPLcom/android/server/powerstats/BatteryTrigger$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/powerstats/BatteryTrigger;->-$$Nest$fgetmBatteryLevel(Lcom/android/server/powerstats/BatteryTrigger;)I
+PLcom/android/server/powerstats/BatteryTrigger;->-$$Nest$fputmBatteryLevel(Lcom/android/server/powerstats/BatteryTrigger;I)V
+PLcom/android/server/powerstats/BatteryTrigger;-><clinit>()V
+PLcom/android/server/powerstats/BatteryTrigger;-><init>(Landroid/content/Context;Lcom/android/server/powerstats/PowerStatsLogger;Z)V
+PLcom/android/server/powerstats/PowerStatsDataStorage;-><clinit>()V
+PLcom/android/server/powerstats/PowerStatsDataStorage;-><init>(Landroid/content/Context;Ljava/io/File;Ljava/lang/String;)V
+PLcom/android/server/powerstats/PowerStatsDataStorage;->write([B)V
+HSPLcom/android/server/powerstats/PowerStatsHALWrapper$PowerStatsHAL10WrapperImpl;-><init>()V
+PLcom/android/server/powerstats/PowerStatsHALWrapper$PowerStatsHAL10WrapperImpl;->getEnergyConsumed([I)[Landroid/hardware/power/stats/EnergyConsumerResult;
+PLcom/android/server/powerstats/PowerStatsHALWrapper$PowerStatsHAL10WrapperImpl;->getEnergyConsumerInfo()[Landroid/hardware/power/stats/EnergyConsumer;
+PLcom/android/server/powerstats/PowerStatsHALWrapper$PowerStatsHAL10WrapperImpl;->getEnergyMeterInfo()[Landroid/hardware/power/stats/Channel;
+PLcom/android/server/powerstats/PowerStatsHALWrapper$PowerStatsHAL10WrapperImpl;->getPowerEntityInfo()[Landroid/hardware/power/stats/PowerEntity;
+PLcom/android/server/powerstats/PowerStatsHALWrapper$PowerStatsHAL10WrapperImpl;->getStateResidency([I)[Landroid/hardware/power/stats/StateResidencyResult;
+HSPLcom/android/server/powerstats/PowerStatsHALWrapper$PowerStatsHAL10WrapperImpl;->isInitialized()Z
+PLcom/android/server/powerstats/PowerStatsHALWrapper$PowerStatsHAL10WrapperImpl;->readEnergyMeter([I)[Landroid/hardware/power/stats/EnergyMeasurement;
+HSPLcom/android/server/powerstats/PowerStatsHALWrapper$PowerStatsHAL20WrapperImpl;-><init>()V
+HSPLcom/android/server/powerstats/PowerStatsHALWrapper$PowerStatsHAL20WrapperImpl;->isInitialized()Z
+HSPLcom/android/server/powerstats/PowerStatsHALWrapper$VintfHalCache;-><init>()V
+HSPLcom/android/server/powerstats/PowerStatsHALWrapper$VintfHalCache;-><init>(Lcom/android/server/powerstats/PowerStatsHALWrapper$VintfHalCache-IA;)V
+HSPLcom/android/server/powerstats/PowerStatsHALWrapper$VintfHalCache;->get()Landroid/hardware/power/stats/IPowerStats;
+HSPLcom/android/server/powerstats/PowerStatsHALWrapper$VintfHalCache;->get()Ljava/lang/Object;
+HSPLcom/android/server/powerstats/PowerStatsHALWrapper;-><clinit>()V
+HSPLcom/android/server/powerstats/PowerStatsHALWrapper;->getPowerStatsHalImpl()Lcom/android/server/powerstats/PowerStatsHALWrapper$IPowerStatsHALWrapper;
+PLcom/android/server/powerstats/PowerStatsLogTrigger;-><clinit>()V
+PLcom/android/server/powerstats/PowerStatsLogTrigger;-><init>(Landroid/content/Context;Lcom/android/server/powerstats/PowerStatsLogger;)V
+PLcom/android/server/powerstats/PowerStatsLogTrigger;->logPowerStatsData(I)V
+PLcom/android/server/powerstats/PowerStatsLogger;-><clinit>()V
+PLcom/android/server/powerstats/PowerStatsLogger;-><init>(Landroid/content/Context;Landroid/os/Looper;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/server/powerstats/PowerStatsHALWrapper$IPowerStatsHALWrapper;)V
+PLcom/android/server/powerstats/PowerStatsLogger;->dataChanged(Ljava/lang/String;[B)Z
+PLcom/android/server/powerstats/PowerStatsLogger;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/server/powerstats/PowerStatsService$1;-><init>(Lcom/android/server/powerstats/PowerStatsService;)V
+HSPLcom/android/server/powerstats/PowerStatsService$DeviceConfigListener;-><init>(Lcom/android/server/powerstats/PowerStatsService;)V
+HSPLcom/android/server/powerstats/PowerStatsService$DeviceConfigListener;-><init>(Lcom/android/server/powerstats/PowerStatsService;Lcom/android/server/powerstats/PowerStatsService$DeviceConfigListener-IA;)V
+PLcom/android/server/powerstats/PowerStatsService$DeviceConfigListener;->startListening()V
+HSPLcom/android/server/powerstats/PowerStatsService$Injector;-><init>()V
+PLcom/android/server/powerstats/PowerStatsService$Injector;->createBatteryTrigger(Landroid/content/Context;Lcom/android/server/powerstats/PowerStatsLogger;)Lcom/android/server/powerstats/BatteryTrigger;
+PLcom/android/server/powerstats/PowerStatsService$Injector;->createDataStoragePath()Ljava/io/File;
+PLcom/android/server/powerstats/PowerStatsService$Injector;->createMeterCacheFilename()Ljava/lang/String;
+PLcom/android/server/powerstats/PowerStatsService$Injector;->createMeterFilename()Ljava/lang/String;
+PLcom/android/server/powerstats/PowerStatsService$Injector;->createModelCacheFilename()Ljava/lang/String;
+PLcom/android/server/powerstats/PowerStatsService$Injector;->createModelFilename()Ljava/lang/String;
+PLcom/android/server/powerstats/PowerStatsService$Injector;->createPowerStatsLogger(Landroid/content/Context;Landroid/os/Looper;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/server/powerstats/PowerStatsHALWrapper$IPowerStatsHALWrapper;)Lcom/android/server/powerstats/PowerStatsLogger;
+PLcom/android/server/powerstats/PowerStatsService$Injector;->createResidencyCacheFilename()Ljava/lang/String;
+PLcom/android/server/powerstats/PowerStatsService$Injector;->createResidencyFilename()Ljava/lang/String;
+PLcom/android/server/powerstats/PowerStatsService$Injector;->createStatsPullerImpl(Landroid/content/Context;Landroid/power/PowerStatsInternal;)Lcom/android/server/powerstats/StatsPullAtomCallbackImpl;
+PLcom/android/server/powerstats/PowerStatsService$Injector;->createTimerTrigger(Landroid/content/Context;Lcom/android/server/powerstats/PowerStatsLogger;)Lcom/android/server/powerstats/TimerTrigger;
+HSPLcom/android/server/powerstats/PowerStatsService$Injector;->getClock()Lcom/android/internal/os/Clock;
+HSPLcom/android/server/powerstats/PowerStatsService$Injector;->getDeviceConfig()Landroid/provider/DeviceConfigInterface;
+HSPLcom/android/server/powerstats/PowerStatsService$Injector;->getPowerStatsHALWrapperImpl()Lcom/android/server/powerstats/PowerStatsHALWrapper$IPowerStatsHALWrapper;
+PLcom/android/server/powerstats/PowerStatsService$LocalService$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/powerstats/PowerStatsService$LocalService;Ljava/util/concurrent/CompletableFuture;[I)V
+PLcom/android/server/powerstats/PowerStatsService$LocalService$$ExternalSyntheticLambda2;->run()V
+PLcom/android/server/powerstats/PowerStatsService$LocalService;->$r8$lambda$Jf7j_oHA5ZXXBvvutpd1qM7z0CY(Lcom/android/server/powerstats/PowerStatsService$LocalService;Ljava/util/concurrent/CompletableFuture;[I)V
+HSPLcom/android/server/powerstats/PowerStatsService$LocalService;-><init>(Lcom/android/server/powerstats/PowerStatsService;)V
+HSPLcom/android/server/powerstats/PowerStatsService$LocalService;-><init>(Lcom/android/server/powerstats/PowerStatsService;Lcom/android/server/powerstats/PowerStatsService$LocalService-IA;)V
+PLcom/android/server/powerstats/PowerStatsService$LocalService;->getEnergyConsumerInfo()[Landroid/hardware/power/stats/EnergyConsumer;
+PLcom/android/server/powerstats/PowerStatsService$LocalService;->getEnergyMeterInfo()[Landroid/hardware/power/stats/Channel;
+PLcom/android/server/powerstats/PowerStatsService$LocalService;->getPowerEntityInfo()[Landroid/hardware/power/stats/PowerEntity;
+PLcom/android/server/powerstats/PowerStatsService$LocalService;->getStateResidencyAsync([I)Ljava/util/concurrent/CompletableFuture;
+PLcom/android/server/powerstats/PowerStatsService$LocalService;->lambda$getStateResidencyAsync$1(Ljava/util/concurrent/CompletableFuture;[I)V
+PLcom/android/server/powerstats/PowerStatsService;->-$$Nest$fgetmDeviceConfig(Lcom/android/server/powerstats/PowerStatsService;)Landroid/provider/DeviceConfigInterface;
+HSPLcom/android/server/powerstats/PowerStatsService;->-$$Nest$mgetHandler(Lcom/android/server/powerstats/PowerStatsService;)Landroid/os/Handler;
+PLcom/android/server/powerstats/PowerStatsService;->-$$Nest$mgetPowerStatsHal(Lcom/android/server/powerstats/PowerStatsService;)Lcom/android/server/powerstats/PowerStatsHALWrapper$IPowerStatsHALWrapper;
+PLcom/android/server/powerstats/PowerStatsService;->-$$Nest$mgetStateResidencyAsync(Lcom/android/server/powerstats/PowerStatsService;Ljava/util/concurrent/CompletableFuture;[I)V
+HSPLcom/android/server/powerstats/PowerStatsService;-><clinit>()V
+HSPLcom/android/server/powerstats/PowerStatsService;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/powerstats/PowerStatsService;-><init>(Landroid/content/Context;Lcom/android/server/powerstats/PowerStatsService$Injector;)V
+HSPLcom/android/server/powerstats/PowerStatsService;->getHandler()Landroid/os/Handler;
+HSPLcom/android/server/powerstats/PowerStatsService;->getLooper()Landroid/os/Looper;
+HSPLcom/android/server/powerstats/PowerStatsService;->getPowerStatsHal()Lcom/android/server/powerstats/PowerStatsHALWrapper$IPowerStatsHALWrapper;
+PLcom/android/server/powerstats/PowerStatsService;->getStateResidencyAsync(Ljava/util/concurrent/CompletableFuture;[I)V
+PLcom/android/server/powerstats/PowerStatsService;->onBootCompleted()V
+HSPLcom/android/server/powerstats/PowerStatsService;->onBootPhase(I)V
+HSPLcom/android/server/powerstats/PowerStatsService;->onStart()V
+PLcom/android/server/powerstats/PowerStatsService;->onSystemServicesReady()V
+PLcom/android/server/powerstats/PowerStatsService;->refreshFlags()V
+PLcom/android/server/powerstats/PowerStatsService;->setPowerMonitorApiEnabled(Z)V
+PLcom/android/server/powerstats/ProtoStreamUtils$ChannelUtils;->getProtoBytes([Landroid/hardware/power/stats/Channel;)[B
+PLcom/android/server/powerstats/ProtoStreamUtils$ChannelUtils;->packProtoMessage([Landroid/hardware/power/stats/Channel;Landroid/util/proto/ProtoOutputStream;)V
+PLcom/android/server/powerstats/ProtoStreamUtils$EnergyConsumerResultUtils;->adjustTimeSinceBootToEpoch([Landroid/hardware/power/stats/EnergyConsumerResult;J)V
+PLcom/android/server/powerstats/ProtoStreamUtils$EnergyConsumerResultUtils;->getProtoBytes([Landroid/hardware/power/stats/EnergyConsumerResult;Z)[B
+PLcom/android/server/powerstats/ProtoStreamUtils$EnergyConsumerResultUtils;->packProtoMessage([Landroid/hardware/power/stats/EnergyConsumerResult;Landroid/util/proto/ProtoOutputStream;Z)V
+PLcom/android/server/powerstats/ProtoStreamUtils$EnergyConsumerUtils;->getProtoBytes([Landroid/hardware/power/stats/EnergyConsumer;)[B
+PLcom/android/server/powerstats/ProtoStreamUtils$EnergyConsumerUtils;->packProtoMessage([Landroid/hardware/power/stats/EnergyConsumer;Landroid/util/proto/ProtoOutputStream;)V
+PLcom/android/server/powerstats/ProtoStreamUtils$EnergyMeasurementUtils;->adjustTimeSinceBootToEpoch([Landroid/hardware/power/stats/EnergyMeasurement;J)V
+PLcom/android/server/powerstats/ProtoStreamUtils$EnergyMeasurementUtils;->getProtoBytes([Landroid/hardware/power/stats/EnergyMeasurement;)[B
+PLcom/android/server/powerstats/ProtoStreamUtils$EnergyMeasurementUtils;->packProtoMessage([Landroid/hardware/power/stats/EnergyMeasurement;Landroid/util/proto/ProtoOutputStream;)V
+PLcom/android/server/powerstats/ProtoStreamUtils$PowerEntityUtils;->getProtoBytes([Landroid/hardware/power/stats/PowerEntity;)[B
+PLcom/android/server/powerstats/ProtoStreamUtils$PowerEntityUtils;->packProtoMessage([Landroid/hardware/power/stats/PowerEntity;Landroid/util/proto/ProtoOutputStream;)V
+PLcom/android/server/powerstats/StatsPullAtomCallbackImpl;-><clinit>()V
+PLcom/android/server/powerstats/StatsPullAtomCallbackImpl;-><init>(Landroid/content/Context;Landroid/power/PowerStatsInternal;)V
+PLcom/android/server/powerstats/StatsPullAtomCallbackImpl;->initPullOnDevicePowerMeasurement()Z
+PLcom/android/server/powerstats/StatsPullAtomCallbackImpl;->initSubsystemSleepState()Z
+PLcom/android/server/powerstats/TimerTrigger$1;-><init>(Lcom/android/server/powerstats/TimerTrigger;)V
+PLcom/android/server/powerstats/TimerTrigger$1;->run()V
+PLcom/android/server/powerstats/TimerTrigger$2;-><init>(Lcom/android/server/powerstats/TimerTrigger;)V
+PLcom/android/server/powerstats/TimerTrigger$2;->run()V
+PLcom/android/server/powerstats/TimerTrigger;->-$$Nest$fgetmHandler(Lcom/android/server/powerstats/TimerTrigger;)Landroid/os/Handler;
+PLcom/android/server/powerstats/TimerTrigger;->-$$Nest$fgetmLogDataHighFrequency(Lcom/android/server/powerstats/TimerTrigger;)Ljava/lang/Runnable;
+PLcom/android/server/powerstats/TimerTrigger;->-$$Nest$fgetmLogDataLowFrequency(Lcom/android/server/powerstats/TimerTrigger;)Ljava/lang/Runnable;
+PLcom/android/server/powerstats/TimerTrigger;-><clinit>()V
+PLcom/android/server/powerstats/TimerTrigger;-><init>(Landroid/content/Context;Lcom/android/server/powerstats/PowerStatsLogger;Z)V
+PLcom/android/server/profcollect/ProfcollectForwardingService;-><clinit>()V
+PLcom/android/server/profcollect/ProfcollectForwardingService;->enabled()Z
+HSPLcom/android/server/recoverysystem/RecoverySystemService$Injector;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/recoverysystem/RecoverySystemService$Injector;->getContext()Landroid/content/Context;
+PLcom/android/server/recoverysystem/RecoverySystemService$Injector;->getLockSettingsService()Lcom/android/internal/widget/LockSettingsInternal;
+HSPLcom/android/server/recoverysystem/RecoverySystemService$Lifecycle;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/recoverysystem/RecoverySystemService$Lifecycle;->onBootPhase(I)V
+HSPLcom/android/server/recoverysystem/RecoverySystemService$Lifecycle;->onStart()V
+HSPLcom/android/server/recoverysystem/RecoverySystemService$PreferencesManager;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/recoverysystem/RecoverySystemService;-><clinit>()V
+HSPLcom/android/server/recoverysystem/RecoverySystemService;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/recoverysystem/RecoverySystemService;-><init>(Landroid/content/Context;Lcom/android/server/recoverysystem/RecoverySystemService-IA;)V
+HSPLcom/android/server/recoverysystem/RecoverySystemService;-><init>(Lcom/android/server/recoverysystem/RecoverySystemService$Injector;)V
+PLcom/android/server/recoverysystem/RecoverySystemService;->onSystemServicesReady()V
+PLcom/android/server/resources/ResourcesManagerService$1;-><init>(Lcom/android/server/resources/ResourcesManagerService;)V
+PLcom/android/server/resources/ResourcesManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/resources/ResourcesManagerService;->onStart()V
+PLcom/android/server/resources/ResourcesManagerService;->setActivityManagerService(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/restrictions/RestrictionsManagerService$RestrictionsManagerImpl;-><init>(Lcom/android/server/restrictions/RestrictionsManagerService;Landroid/content/Context;)V
+PLcom/android/server/restrictions/RestrictionsManagerService$RestrictionsManagerImpl;->getApplicationRestrictions(Ljava/lang/String;)Landroid/os/Bundle;
+PLcom/android/server/restrictions/RestrictionsManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/restrictions/RestrictionsManagerService;->access$000(Lcom/android/server/restrictions/RestrictionsManagerService;Ljava/lang/String;)Landroid/os/IBinder;
+PLcom/android/server/restrictions/RestrictionsManagerService;->access$100(Lcom/android/server/restrictions/RestrictionsManagerService;Ljava/lang/String;)Landroid/os/IBinder;
+PLcom/android/server/restrictions/RestrictionsManagerService;->access$200(Lcom/android/server/restrictions/RestrictionsManagerService;Ljava/lang/Class;)Ljava/lang/Object;
+PLcom/android/server/restrictions/RestrictionsManagerService;->onStart()V
+PLcom/android/server/rollback/AppDataRollbackHelper;-><init>(Lcom/android/server/pm/Installer;)V
+PLcom/android/server/rollback/RollbackManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/rollback/RollbackManagerService;->onBootPhase(I)V
+PLcom/android/server/rollback/RollbackManagerService;->onStart()V
+PLcom/android/server/rollback/RollbackManagerService;->onUserUnlocking(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;I)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/rollback/RollbackManagerServiceImpl$$ExternalSyntheticLambda12;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl$$ExternalSyntheticLambda12;->get()Ljava/lang/Object;
+PLcom/android/server/rollback/RollbackManagerServiceImpl$$ExternalSyntheticLambda13;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl$$ExternalSyntheticLambda14;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl$$ExternalSyntheticLambda14;->run()V
+PLcom/android/server/rollback/RollbackManagerServiceImpl$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;I)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/rollback/RollbackManagerServiceImpl$$ExternalSyntheticLambda7;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl$$ExternalSyntheticLambda8;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;Landroid/content/Context;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl$$ExternalSyntheticLambda8;->run()V
+PLcom/android/server/rollback/RollbackManagerServiceImpl$1;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl$2;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl$3;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl$4;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl$5;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl$5;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl$SessionCallback;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl$SessionCallback;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;Lcom/android/server/rollback/RollbackManagerServiceImpl$SessionCallback-IA;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->$r8$lambda$5ba2COgc7nscJnHcl1QkhQ-HxvI(Lcom/android/server/rollback/RollbackManagerServiceImpl;Landroid/content/Context;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->$r8$lambda$5ePSTVmaLxSjKqVxrnrccgGY6zE(Lcom/android/server/rollback/RollbackManagerServiceImpl;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->$r8$lambda$bbfHD4WtP5OoGBOtkEzNdwF9g2M(Lcom/android/server/rollback/RollbackManagerServiceImpl;)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->$r8$lambda$fQDZo-8mYW8tPdxnapF0CQgGj4w(Lcom/android/server/rollback/RollbackManagerServiceImpl;I)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->$r8$lambda$l0jOsI4D4tsO9tHi89vVcHGslz8(Lcom/android/server/rollback/RollbackManagerServiceImpl;I)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->-$$Nest$fgetmRelativeBootTime(Lcom/android/server/rollback/RollbackManagerServiceImpl;)J
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->-$$Nest$fgetmRollbacks(Lcom/android/server/rollback/RollbackManagerServiceImpl;)Ljava/util/List;
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->-$$Nest$fputmRelativeBootTime(Lcom/android/server/rollback/RollbackManagerServiceImpl;J)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->-$$Nest$massertInWorkerThread(Lcom/android/server/rollback/RollbackManagerServiceImpl;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->-$$Nest$smcalculateRelativeBootTime()J
+PLcom/android/server/rollback/RollbackManagerServiceImpl;-><clinit>()V
+HPLcom/android/server/rollback/RollbackManagerServiceImpl;-><init>(Landroid/content/Context;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->assertInWorkerThread()V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->assertNotInWorkerThread()V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->awaitResult(Ljava/lang/Runnable;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->awaitResult(Ljava/util/function/Supplier;)Ljava/lang/Object;
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->calculateRelativeBootTime()J
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->destroyCeSnapshotsForExpiredRollbacks(I)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->enforceManageRollbacks(Ljava/lang/String;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->getAvailableRollbacks()Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->getContextAsUser(Landroid/os/UserHandle;)Landroid/content/Context;
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->getHandler()Landroid/os/Handler;
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->lambda$getAvailableRollbacks$1()Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->lambda$new$0(Landroid/content/Context;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->lambda$onBootCompleted$11()V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->lambda$onUnlockUser$8(I)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->lambda$onUnlockUser$9(I)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->onBootCompleted()V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->onUnlockUser(I)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->registerTimeChangeReceiver()V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->registerUserCallbacks(Landroid/os/UserHandle;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->runExpiration()V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->runExpirationDefaultRollbackLifetime()V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->updateRollbackLifetimeDurationInMillis()V
+PLcom/android/server/rollback/RollbackPackageHealthObserver$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/rollback/RollbackPackageHealthObserver;)V
+PLcom/android/server/rollback/RollbackPackageHealthObserver$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/rollback/RollbackPackageHealthObserver;->$r8$lambda$mH9BjKzFj781_SE7sCPceKzVQGQ(Lcom/android/server/rollback/RollbackPackageHealthObserver;)V
+PLcom/android/server/rollback/RollbackPackageHealthObserver;-><init>(Landroid/content/Context;)V
+PLcom/android/server/rollback/RollbackPackageHealthObserver;->assertInWorkerThread()V
+PLcom/android/server/rollback/RollbackPackageHealthObserver;->getName()Ljava/lang/String;
+PLcom/android/server/rollback/RollbackPackageHealthObserver;->lambda$onBootCompletedAsync$4()V
+PLcom/android/server/rollback/RollbackPackageHealthObserver;->onBootCompleted()V
+PLcom/android/server/rollback/RollbackPackageHealthObserver;->onBootCompletedAsync()V
+PLcom/android/server/rollback/RollbackPackageHealthObserver;->popLastStagedRollbackIds()Landroid/util/SparseArray;
+PLcom/android/server/rollback/RollbackPackageHealthObserver;->readStagedRollbackIds(Ljava/io/File;)Landroid/util/SparseArray;
+PLcom/android/server/rollback/RollbackPackageHealthObserver;->writeBoolean(Ljava/io/File;Z)V
+PLcom/android/server/rollback/RollbackStore;-><init>(Ljava/io/File;Ljava/io/File;)V
+PLcom/android/server/rollback/RollbackStore;->loadRollbacks()Ljava/util/List;
+PLcom/android/server/rollback/RollbackStore;->loadRollbacks(Ljava/io/File;)Ljava/util/List;
+PLcom/android/server/rotationresolver/RotationResolverManagerService;-><clinit>()V
+PLcom/android/server/rotationresolver/RotationResolverManagerService;->getServiceConfigPackage(Landroid/content/Context;)Ljava/lang/String;
+PLcom/android/server/rotationresolver/RotationResolverManagerService;->isServiceConfigured(Landroid/content/Context;)Z
+PLcom/android/server/security/AttestationVerificationManagerService$1;-><init>(Lcom/android/server/security/AttestationVerificationManagerService;)V
+PLcom/android/server/security/AttestationVerificationManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/security/AttestationVerificationManagerService;->onStart()V
+PLcom/android/server/security/AttestationVerificationPeerDeviceVerifier;-><clinit>()V
+PLcom/android/server/security/AttestationVerificationPeerDeviceVerifier;-><init>(Landroid/content/Context;)V
+PLcom/android/server/security/AttestationVerificationPeerDeviceVerifier;->getCertificateBytes(Ljava/lang/String;)[B
+PLcom/android/server/security/AttestationVerificationPeerDeviceVerifier;->getTrustAnchorResources()[Ljava/lang/String;
+PLcom/android/server/security/AttestationVerificationPeerDeviceVerifier;->getTrustAnchors()Ljava/util/Set;
+PLcom/android/server/security/FileIntegrity;->setUpFsVerity(Landroid/os/ParcelFileDescriptor;)V
+PLcom/android/server/security/FileIntegrity;->setUpFsVerity(Ljava/io/File;)V
+HSPLcom/android/server/security/FileIntegrityService$1;-><init>(Lcom/android/server/security/FileIntegrityService;)V
+PLcom/android/server/security/FileIntegrityService$1;->isApkVeritySupported()Z
+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/nio/file/Path;)V
+HSPLcom/android/server/security/FileIntegrityService;->onStart()V
+HSPLcom/android/server/security/FileIntegrityService;->toCertificate([B)Ljava/security/cert/X509Certificate;
+PLcom/android/server/security/KeyAttestationApplicationIdProviderService;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/security/KeyAttestationApplicationIdProviderService;->getKeyAttestationApplicationId(I)Landroid/security/keystore/KeyAttestationApplicationId;
+PLcom/android/server/security/KeyChainSystemService$1;-><init>(Lcom/android/server/security/KeyChainSystemService;)V
+PLcom/android/server/security/KeyChainSystemService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/security/KeyChainSystemService;->onStart()V
+PLcom/android/server/security/rkp/RemoteProvisioningService$RemoteProvisioningImpl;-><init>(Lcom/android/server/security/rkp/RemoteProvisioningService;)V
+PLcom/android/server/security/rkp/RemoteProvisioningService$RemoteProvisioningImpl;-><init>(Lcom/android/server/security/rkp/RemoteProvisioningService;Lcom/android/server/security/rkp/RemoteProvisioningService$RemoteProvisioningImpl-IA;)V
+PLcom/android/server/security/rkp/RemoteProvisioningService;-><clinit>()V
+PLcom/android/server/security/rkp/RemoteProvisioningService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/security/rkp/RemoteProvisioningService;->onStart()V
+PLcom/android/server/selinux/QuotaLimiter;-><init>(I)V
+PLcom/android/server/selinux/QuotaLimiter;-><init>(Lcom/android/internal/os/Clock;Ljava/time/Duration;I)V
+PLcom/android/server/selinux/RateLimiter;-><init>(Lcom/android/internal/os/Clock;Ljava/time/Duration;)V
+PLcom/android/server/selinux/RateLimiter;-><init>(Ljava/time/Duration;)V
+PLcom/android/server/selinux/SelinuxAuditLogsCollector;-><clinit>()V
+PLcom/android/server/selinux/SelinuxAuditLogsCollector;-><init>(Lcom/android/server/selinux/RateLimiter;Lcom/android/server/selinux/QuotaLimiter;)V
+PLcom/android/server/selinux/SelinuxAuditLogsService;-><clinit>()V
+PLcom/android/server/selinux/SelinuxAuditLogsService;->schedule(Landroid/content/Context;)V
+PLcom/android/server/sensorprivacy/AllSensorStateController$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/sensorprivacy/AllSensorStateController;)V
+PLcom/android/server/sensorprivacy/AllSensorStateController$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;)V
+PLcom/android/server/sensorprivacy/AllSensorStateController;->$r8$lambda$xChE0OJhLjTDhwgTSFp_J6v0xhA(Lcom/android/server/sensorprivacy/AllSensorStateController;Z)V
+PLcom/android/server/sensorprivacy/AllSensorStateController;-><clinit>()V
+PLcom/android/server/sensorprivacy/AllSensorStateController;-><init>()V
+PLcom/android/server/sensorprivacy/AllSensorStateController;->getAllSensorStateLocked()Z
+PLcom/android/server/sensorprivacy/AllSensorStateController;->getInstance()Lcom/android/server/sensorprivacy/AllSensorStateController;
+PLcom/android/server/sensorprivacy/AllSensorStateController;->persist(Z)V
+PLcom/android/server/sensorprivacy/AllSensorStateController;->schedulePersistLocked()V
+PLcom/android/server/sensorprivacy/AllSensorStateController;->setAllSensorPrivacyListenerLocked(Landroid/os/Handler;Lcom/android/server/sensorprivacy/SensorPrivacyStateController$AllSensorPrivacyListener;)V
+PLcom/android/server/sensorprivacy/CameraPrivacyLightController;-><clinit>()V
+PLcom/android/server/sensorprivacy/CameraPrivacyLightController;-><init>(Landroid/content/Context;)V
+PLcom/android/server/sensorprivacy/CameraPrivacyLightController;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
+PLcom/android/server/sensorprivacy/PersistedState$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/sensorprivacy/PersistedState$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/sensorprivacy/PersistedState$PVersion2;->-$$Nest$fgetmStates(Lcom/android/server/sensorprivacy/PersistedState$PVersion2;)Landroid/util/ArrayMap;
+PLcom/android/server/sensorprivacy/PersistedState$PVersion2;-><init>(I)V
+PLcom/android/server/sensorprivacy/PersistedState$PVersion2;-><init>(ILcom/android/server/sensorprivacy/PersistedState$PVersion2-IA;)V
+PLcom/android/server/sensorprivacy/PersistedState$TypeUserSensor;-><init>(III)V
+PLcom/android/server/sensorprivacy/PersistedState$TypeUserSensor;->hashCode()I
+PLcom/android/server/sensorprivacy/PersistedState;->$r8$lambda$7IQf-UpFyGa5zIamP1HgWaOc-kY(Lcom/android/server/sensorprivacy/PersistedState;Landroid/util/ArrayMap;)V
+PLcom/android/server/sensorprivacy/PersistedState;-><clinit>()V
+PLcom/android/server/sensorprivacy/PersistedState;-><init>(Ljava/lang/String;)V
+PLcom/android/server/sensorprivacy/PersistedState;->forEachKnownState(Lcom/android/internal/util/function/QuadConsumer;)V
+PLcom/android/server/sensorprivacy/PersistedState;->fromFile(Ljava/lang/String;)Lcom/android/server/sensorprivacy/PersistedState;
+PLcom/android/server/sensorprivacy/PersistedState;->getState(III)Lcom/android/server/sensorprivacy/SensorState;
+PLcom/android/server/sensorprivacy/PersistedState;->persist(Landroid/util/ArrayMap;)V
+PLcom/android/server/sensorprivacy/PersistedState;->readPVersion2(Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/server/sensorprivacy/PersistedState$PVersion2;)V
+PLcom/android/server/sensorprivacy/PersistedState;->readState()V
+PLcom/android/server/sensorprivacy/PersistedState;->schedulePersist()V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$CallStateHelper$CallStateCallback;-><init>(Lcom/android/server/sensorprivacy/SensorPrivacyService$CallStateHelper;)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$CallStateHelper$CallStateCallback;-><init>(Lcom/android/server/sensorprivacy/SensorPrivacyService$CallStateHelper;Lcom/android/server/sensorprivacy/SensorPrivacyService$CallStateHelper$CallStateCallback-IA;)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$CallStateHelper$OutgoingEmergencyStateCallback;-><init>(Lcom/android/server/sensorprivacy/SensorPrivacyService$CallStateHelper;)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$CallStateHelper$OutgoingEmergencyStateCallback;-><init>(Lcom/android/server/sensorprivacy/SensorPrivacyService$CallStateHelper;Lcom/android/server/sensorprivacy/SensorPrivacyService$CallStateHelper$OutgoingEmergencyStateCallback-IA;)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$CallStateHelper;-><init>(Lcom/android/server/sensorprivacy/SensorPrivacyService;)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$DeathRecipient;-><init>(Lcom/android/server/sensorprivacy/SensorPrivacyService;Landroid/hardware/ISensorPrivacyListener;)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyHandler;-><init>(Lcom/android/server/sensorprivacy/SensorPrivacyService;Landroid/os/Looper;Landroid/content/Context;)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyHandler;->addDeathRecipient(Landroid/hardware/ISensorPrivacyListener;)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyHandler;->addListener(Landroid/hardware/ISensorPrivacyListener;)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyHandler;->addToggleListener(Landroid/hardware/ISensorPrivacyListener;)V
+HPLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyHandler;->handleSensorPrivacyChanged(IIIZ)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyManagerInternalImpl$$ExternalSyntheticLambda0;-><init>(Landroid/hardware/SensorPrivacyManagerInternal$OnUserSensorPrivacyChangedListener;IZ)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyManagerInternalImpl$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyManagerInternalImpl;->$r8$lambda$6c5oG3NqTqZpXs8uPF7TL16NWZ0(Landroid/hardware/SensorPrivacyManagerInternal$OnUserSensorPrivacyChangedListener;IZ)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyManagerInternalImpl;->-$$Nest$mdispatch(Lcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyManagerInternalImpl;IIZ)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyManagerInternalImpl;-><init>(Lcom/android/server/sensorprivacy/SensorPrivacyService;)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyManagerInternalImpl;-><init>(Lcom/android/server/sensorprivacy/SensorPrivacyService;Lcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyManagerInternalImpl-IA;)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyManagerInternalImpl;->addSensorPrivacyListenerForAllUsers(ILandroid/hardware/SensorPrivacyManagerInternal$OnUserSensorPrivacyChangedListener;)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyManagerInternalImpl;->dispatch(IIZ)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyManagerInternalImpl;->isSensorPrivacyEnabled(II)Z
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyManagerInternalImpl;->lambda$dispatch$0(Landroid/hardware/SensorPrivacyManagerInternal$OnUserSensorPrivacyChangedListener;IZ)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyHandler;)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;[ZI[Z[ZI[Z)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl$$ExternalSyntheticLambda3;->run()V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;[ZI[Z[ZI[Z)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl$$ExternalSyntheticLambda4;->run()V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl$$ExternalSyntheticLambda7;-><init>(Lcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl$1;-><init>(Lcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;Lcom/android/server/sensorprivacy/SensorPrivacyService;)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl$2;-><init>(Lcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;Lcom/android/server/sensorprivacy/SensorPrivacyService;)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl$3;-><init>(Lcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;Landroid/os/Handler;)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;->$r8$lambda$6z1C7T_x7l1R1AsWqbHQW2XLR5s(Lcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;[ZI[Z[ZI[Z)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;->$r8$lambda$in8xHyZSF77Hcq9nYZVt7IxVErs(Lcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;[ZI[Z[ZI[Z)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;->-$$Nest$misToggleSensorPrivacyEnabledInternal(Lcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;III)Z
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;->-$$Nest$mregisterSettingsObserver(Lcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;->-$$Nest$msetGlobalRestriction(Lcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;IZ)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;->-$$Nest$mshowSensorStateChangedActivity(Lcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;II)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;->-$$Nest$muserSwitching(Lcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;II)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;-><init>(Lcom/android/server/sensorprivacy/SensorPrivacyService;)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;->addSensorPrivacyListener(Landroid/hardware/ISensorPrivacyListener;)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;->addToggleSensorPrivacyListener(Landroid/hardware/ISensorPrivacyListener;)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;->correctStateIfNeeded()V
+HPLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;->enforceObserveSensorPrivacyPermission()V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;->enforcePermission(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;->isCombinedToggleSensorPrivacyEnabled(I)Z
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;->isSensorPrivacyEnabled()Z
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;->isToggleSensorPrivacyEnabled(II)Z
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;->isToggleSensorPrivacyEnabledInternal(III)Z
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;->lambda$userSwitching$5([ZI[Z[ZI[Z)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;->lambda$userSwitching$6([ZI[Z[ZI[Z)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;->onUserRestrictionsChanged(ILandroid/os/Bundle;Landroid/os/Bundle;)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;->registerSettingsObserver()V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;->setGlobalRestriction(IZ)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;->showSensorStateChangedActivity(II)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;->supportsSensorToggle(II)Z
+PLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;->userSwitching(II)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService;->-$$Nest$fgetmAppOpsManager(Lcom/android/server/sensorprivacy/SensorPrivacyService;)Landroid/app/AppOpsManager;
+PLcom/android/server/sensorprivacy/SensorPrivacyService;->-$$Nest$fgetmAppOpsManagerInternal(Lcom/android/server/sensorprivacy/SensorPrivacyService;)Landroid/app/AppOpsManagerInternal;
+PLcom/android/server/sensorprivacy/SensorPrivacyService;->-$$Nest$fgetmAppOpsRestrictionToken(Lcom/android/server/sensorprivacy/SensorPrivacyService;)Landroid/os/IBinder;
+PLcom/android/server/sensorprivacy/SensorPrivacyService;->-$$Nest$fgetmContext(Lcom/android/server/sensorprivacy/SensorPrivacyService;)Landroid/content/Context;
+PLcom/android/server/sensorprivacy/SensorPrivacyService;->-$$Nest$fgetmCurrentUser(Lcom/android/server/sensorprivacy/SensorPrivacyService;)I
+PLcom/android/server/sensorprivacy/SensorPrivacyService;->-$$Nest$fgetmPackageManagerInternal(Lcom/android/server/sensorprivacy/SensorPrivacyService;)Landroid/content/pm/PackageManagerInternal;
+PLcom/android/server/sensorprivacy/SensorPrivacyService;->-$$Nest$fgetmSensorPrivacyManagerInternal(Lcom/android/server/sensorprivacy/SensorPrivacyService;)Lcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyManagerInternalImpl;
+PLcom/android/server/sensorprivacy/SensorPrivacyService;->-$$Nest$fgetmSensorPrivacyServiceImpl(Lcom/android/server/sensorprivacy/SensorPrivacyService;)Lcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;
+PLcom/android/server/sensorprivacy/SensorPrivacyService;->-$$Nest$fgetmTelephonyManager(Lcom/android/server/sensorprivacy/SensorPrivacyService;)Landroid/telephony/TelephonyManager;
+PLcom/android/server/sensorprivacy/SensorPrivacyService;->-$$Nest$fgetmUserManagerInternal(Lcom/android/server/sensorprivacy/SensorPrivacyService;)Lcom/android/server/pm/UserManagerInternal;
+PLcom/android/server/sensorprivacy/SensorPrivacyService;->-$$Nest$sfgetACTION_DISABLE_TOGGLE_SENSOR_PRIVACY()Ljava/lang/String;
+PLcom/android/server/sensorprivacy/SensorPrivacyService;-><clinit>()V
+PLcom/android/server/sensorprivacy/SensorPrivacyService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService;->getCurrentTimeMillis()J
+PLcom/android/server/sensorprivacy/SensorPrivacyService;->onBootPhase(I)V
+PLcom/android/server/sensorprivacy/SensorPrivacyService;->onStart()V
+PLcom/android/server/sensorprivacy/SensorPrivacyService;->onUserStarting(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/sensorprivacy/SensorPrivacyStateController;-><init>()V
+PLcom/android/server/sensorprivacy/SensorPrivacyStateController;->atomic(Ljava/lang/Runnable;)V
+PLcom/android/server/sensorprivacy/SensorPrivacyStateController;->forEachState(Lcom/android/server/sensorprivacy/SensorPrivacyStateController$SensorPrivacyStateConsumer;)V
+PLcom/android/server/sensorprivacy/SensorPrivacyStateController;->getAllSensorState()Z
+PLcom/android/server/sensorprivacy/SensorPrivacyStateController;->getInstance()Lcom/android/server/sensorprivacy/SensorPrivacyStateController;
+PLcom/android/server/sensorprivacy/SensorPrivacyStateController;->getState(III)Lcom/android/server/sensorprivacy/SensorState;
+PLcom/android/server/sensorprivacy/SensorPrivacyStateController;->persistAll()V
+PLcom/android/server/sensorprivacy/SensorPrivacyStateController;->setAllSensorPrivacyListener(Landroid/os/Handler;Lcom/android/server/sensorprivacy/SensorPrivacyStateController$AllSensorPrivacyListener;)V
+PLcom/android/server/sensorprivacy/SensorPrivacyStateController;->setSensorPrivacyListener(Landroid/os/Handler;Lcom/android/server/sensorprivacy/SensorPrivacyStateController$SensorPrivacyListener;)V
+PLcom/android/server/sensorprivacy/SensorPrivacyStateControllerImpl$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/sensorprivacy/SensorPrivacyStateController$SensorPrivacyStateConsumer;)V
+PLcom/android/server/sensorprivacy/SensorPrivacyStateControllerImpl;-><init>()V
+PLcom/android/server/sensorprivacy/SensorPrivacyStateControllerImpl;->forEachStateLocked(Lcom/android/server/sensorprivacy/SensorPrivacyStateController$SensorPrivacyStateConsumer;)V
+PLcom/android/server/sensorprivacy/SensorPrivacyStateControllerImpl;->getDefaultSensorState()Lcom/android/server/sensorprivacy/SensorState;
+PLcom/android/server/sensorprivacy/SensorPrivacyStateControllerImpl;->getInstance()Lcom/android/server/sensorprivacy/SensorPrivacyStateController;
+PLcom/android/server/sensorprivacy/SensorPrivacyStateControllerImpl;->getStateLocked(III)Lcom/android/server/sensorprivacy/SensorState;
+PLcom/android/server/sensorprivacy/SensorPrivacyStateControllerImpl;->schedulePersistLocked()V
+PLcom/android/server/sensorprivacy/SensorPrivacyStateControllerImpl;->setSensorPrivacyListenerLocked(Landroid/os/Handler;Lcom/android/server/sensorprivacy/SensorPrivacyStateController$SensorPrivacyListener;)V
+PLcom/android/server/sensorprivacy/SensorState;-><init>(I)V
+PLcom/android/server/sensorprivacy/SensorState;-><init>(Z)V
+PLcom/android/server/sensorprivacy/SensorState;->enabledToState(Z)I
+PLcom/android/server/sensorprivacy/SensorState;->getState()I
+PLcom/android/server/sensorprivacy/SensorState;->isEnabled()Z
+PLcom/android/server/sensors/SensorManagerInternal;-><init>()V
+PLcom/android/server/sensors/SensorService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/sensors/SensorService;)V
+PLcom/android/server/sensors/SensorService$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/sensors/SensorService$LocalService;-><init>(Lcom/android/server/sensors/SensorService;)V
+PLcom/android/server/sensors/SensorService$LocalService;->addProximityActiveListener(Ljava/util/concurrent/Executor;Lcom/android/server/sensors/SensorManagerInternal$ProximityActiveListener;)V
+PLcom/android/server/sensors/SensorService$ProximityListenerDelegate;-><init>(Lcom/android/server/sensors/SensorService;)V
+PLcom/android/server/sensors/SensorService$ProximityListenerDelegate;-><init>(Lcom/android/server/sensors/SensorService;Lcom/android/server/sensors/SensorService$ProximityListenerDelegate-IA;)V
+PLcom/android/server/sensors/SensorService$ProximityListenerDelegate;->onProximityActive(Z)V
+PLcom/android/server/sensors/SensorService$ProximityListenerProxy$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/sensors/SensorService$ProximityListenerProxy;Z)V
+PLcom/android/server/sensors/SensorService$ProximityListenerProxy$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/sensors/SensorService$ProximityListenerProxy;->$r8$lambda$lZwMJTdMAI1bCMIxj5Bw6uRSXWw(Lcom/android/server/sensors/SensorService$ProximityListenerProxy;Z)V
+PLcom/android/server/sensors/SensorService$ProximityListenerProxy;-><init>(Ljava/util/concurrent/Executor;Lcom/android/server/sensors/SensorManagerInternal$ProximityActiveListener;)V
+PLcom/android/server/sensors/SensorService$ProximityListenerProxy;->lambda$onProximityActive$0(Z)V
+PLcom/android/server/sensors/SensorService$ProximityListenerProxy;->onProximityActive(Z)V
+PLcom/android/server/sensors/SensorService;->$r8$lambda$tuvhrgJDhAzfGFTh_3IUBIw3Spg(Lcom/android/server/sensors/SensorService;)V
+PLcom/android/server/sensors/SensorService;->-$$Nest$fgetmLock(Lcom/android/server/sensors/SensorService;)Ljava/lang/Object;
+PLcom/android/server/sensors/SensorService;->-$$Nest$fgetmProximityListeners(Lcom/android/server/sensors/SensorService;)Landroid/util/ArrayMap;
+PLcom/android/server/sensors/SensorService;->-$$Nest$fgetmPtr(Lcom/android/server/sensors/SensorService;)J
+PLcom/android/server/sensors/SensorService;->-$$Nest$smregisterProximityActiveListenerNative(J)V
+PLcom/android/server/sensors/SensorService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/sensors/SensorService;->lambda$new$0()V
+PLcom/android/server/sensors/SensorService;->onBootPhase(I)V
+PLcom/android/server/sensors/SensorService;->onStart()V
+PLcom/android/server/servicewatcher/CurrentUserServiceSupplier$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/servicewatcher/CurrentUserServiceSupplier$$ExternalSyntheticLambda0;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+PLcom/android/server/servicewatcher/CurrentUserServiceSupplier$BoundServiceInfo;-><init>(Ljava/lang/String;ILandroid/content/ComponentName;ILandroid/os/Bundle;)V
+PLcom/android/server/servicewatcher/CurrentUserServiceSupplier$BoundServiceInfo;-><init>(Ljava/lang/String;Landroid/content/pm/ResolveInfo;)V
+PLcom/android/server/servicewatcher/CurrentUserServiceSupplier$BoundServiceInfo;->getMetadata()Landroid/os/Bundle;
+PLcom/android/server/servicewatcher/CurrentUserServiceSupplier$BoundServiceInfo;->getVersion()I
+PLcom/android/server/servicewatcher/CurrentUserServiceSupplier$BoundServiceInfo;->parseUid(Landroid/content/pm/ResolveInfo;)I
+PLcom/android/server/servicewatcher/CurrentUserServiceSupplier$BoundServiceInfo;->parseVersion(Landroid/content/pm/ResolveInfo;)I
+PLcom/android/server/servicewatcher/CurrentUserServiceSupplier$BoundServiceInfo;->toString()Ljava/lang/String;
+PLcom/android/server/servicewatcher/CurrentUserServiceSupplier;->$r8$lambda$mcjFxv-ycpNDxZX_ks8oCqSOl1s(Lcom/android/server/servicewatcher/CurrentUserServiceSupplier$BoundServiceInfo;Lcom/android/server/servicewatcher/CurrentUserServiceSupplier$BoundServiceInfo;)I
+PLcom/android/server/servicewatcher/CurrentUserServiceSupplier;-><clinit>()V
+PLcom/android/server/servicewatcher/CurrentUserServiceSupplier;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
+PLcom/android/server/servicewatcher/CurrentUserServiceSupplier;->create(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/android/server/servicewatcher/CurrentUserServiceSupplier;
+PLcom/android/server/servicewatcher/CurrentUserServiceSupplier;->createFromConfig(Landroid/content/Context;Ljava/lang/String;II)Lcom/android/server/servicewatcher/CurrentUserServiceSupplier;
+HPLcom/android/server/servicewatcher/CurrentUserServiceSupplier;->getServiceInfo()Lcom/android/server/servicewatcher/CurrentUserServiceSupplier$BoundServiceInfo;
+PLcom/android/server/servicewatcher/CurrentUserServiceSupplier;->getServiceInfo()Lcom/android/server/servicewatcher/ServiceWatcher$BoundServiceInfo;
+PLcom/android/server/servicewatcher/CurrentUserServiceSupplier;->hasMatchingService()Z
+PLcom/android/server/servicewatcher/CurrentUserServiceSupplier;->lambda$static$0(Lcom/android/server/servicewatcher/CurrentUserServiceSupplier$BoundServiceInfo;Lcom/android/server/servicewatcher/CurrentUserServiceSupplier$BoundServiceInfo;)I
+HPLcom/android/server/servicewatcher/CurrentUserServiceSupplier;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+HPLcom/android/server/servicewatcher/CurrentUserServiceSupplier;->register(Lcom/android/server/servicewatcher/ServiceWatcher$ServiceChangedListener;)V
+PLcom/android/server/servicewatcher/CurrentUserServiceSupplier;->retrieveExplicitPackage(Landroid/content/Context;II)Ljava/lang/String;
+PLcom/android/server/servicewatcher/ServiceWatcher$BinderOperation;->onError(Ljava/lang/Throwable;)V
+PLcom/android/server/servicewatcher/ServiceWatcher$BoundServiceInfo;-><init>(Ljava/lang/String;ILandroid/content/ComponentName;)V
+PLcom/android/server/servicewatcher/ServiceWatcher$BoundServiceInfo;->equals(Ljava/lang/Object;)Z
+PLcom/android/server/servicewatcher/ServiceWatcher$BoundServiceInfo;->getAction()Ljava/lang/String;
+PLcom/android/server/servicewatcher/ServiceWatcher$BoundServiceInfo;->getComponentName()Landroid/content/ComponentName;
+PLcom/android/server/servicewatcher/ServiceWatcher$BoundServiceInfo;->getUserId()I
+HPLcom/android/server/servicewatcher/ServiceWatcher$BoundServiceInfo;->toString()Ljava/lang/String;
+PLcom/android/server/servicewatcher/ServiceWatcher;->create(Landroid/content/Context;Landroid/os/Handler;Ljava/lang/String;Lcom/android/server/servicewatcher/ServiceWatcher$ServiceSupplier;Lcom/android/server/servicewatcher/ServiceWatcher$ServiceListener;)Lcom/android/server/servicewatcher/ServiceWatcher;
+PLcom/android/server/servicewatcher/ServiceWatcher;->create(Landroid/content/Context;Ljava/lang/String;Lcom/android/server/servicewatcher/ServiceWatcher$ServiceSupplier;Lcom/android/server/servicewatcher/ServiceWatcher$ServiceListener;)Lcom/android/server/servicewatcher/ServiceWatcher;
+PLcom/android/server/servicewatcher/ServiceWatcherImpl$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/servicewatcher/ServiceWatcherImpl$MyServiceConnection;Lcom/android/server/servicewatcher/ServiceWatcherImpl$MyServiceConnection;)V
+PLcom/android/server/servicewatcher/ServiceWatcherImpl$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/servicewatcher/ServiceWatcherImpl$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/servicewatcher/ServiceWatcherImpl$MyServiceConnection;Lcom/android/server/servicewatcher/ServiceWatcher$BinderOperation;)V
+PLcom/android/server/servicewatcher/ServiceWatcherImpl$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/servicewatcher/ServiceWatcherImpl$1;-><init>(Lcom/android/server/servicewatcher/ServiceWatcherImpl;)V
+PLcom/android/server/servicewatcher/ServiceWatcherImpl$MyServiceConnection;-><init>(Lcom/android/server/servicewatcher/ServiceWatcherImpl;Lcom/android/server/servicewatcher/ServiceWatcher$BoundServiceInfo;)V
+HPLcom/android/server/servicewatcher/ServiceWatcherImpl$MyServiceConnection;->bind()V
+PLcom/android/server/servicewatcher/ServiceWatcherImpl$MyServiceConnection;->getBoundServiceInfo()Lcom/android/server/servicewatcher/ServiceWatcher$BoundServiceInfo;
+PLcom/android/server/servicewatcher/ServiceWatcherImpl$MyServiceConnection;->isConnected()Z
+HPLcom/android/server/servicewatcher/ServiceWatcherImpl$MyServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/servicewatcher/ServiceWatcherImpl$MyServiceConnection;->onServiceDisconnected(Landroid/content/ComponentName;)V
+PLcom/android/server/servicewatcher/ServiceWatcherImpl$MyServiceConnection;->runOnBinder(Lcom/android/server/servicewatcher/ServiceWatcher$BinderOperation;)V
+HPLcom/android/server/servicewatcher/ServiceWatcherImpl$MyServiceConnection;->unbind()V
+PLcom/android/server/servicewatcher/ServiceWatcherImpl;->$r8$lambda$GCGDYqQZRK7jCQUNZnY8QjXgR2Y(Lcom/android/server/servicewatcher/ServiceWatcherImpl$MyServiceConnection;Lcom/android/server/servicewatcher/ServiceWatcher$BinderOperation;)V
+PLcom/android/server/servicewatcher/ServiceWatcherImpl;->$r8$lambda$zTLizm-3rVzoLRcwgUDZzwsvYD8(Lcom/android/server/servicewatcher/ServiceWatcherImpl$MyServiceConnection;Lcom/android/server/servicewatcher/ServiceWatcherImpl$MyServiceConnection;)V
+PLcom/android/server/servicewatcher/ServiceWatcherImpl;-><clinit>()V
+PLcom/android/server/servicewatcher/ServiceWatcherImpl;-><init>(Landroid/content/Context;Landroid/os/Handler;Ljava/lang/String;Lcom/android/server/servicewatcher/ServiceWatcher$ServiceSupplier;Lcom/android/server/servicewatcher/ServiceWatcher$ServiceListener;)V
+PLcom/android/server/servicewatcher/ServiceWatcherImpl;->checkServiceResolves()Z
+PLcom/android/server/servicewatcher/ServiceWatcherImpl;->lambda$onServiceChanged$1(Lcom/android/server/servicewatcher/ServiceWatcherImpl$MyServiceConnection;Lcom/android/server/servicewatcher/ServiceWatcherImpl$MyServiceConnection;)V
+PLcom/android/server/servicewatcher/ServiceWatcherImpl;->lambda$runOnBinder$0(Lcom/android/server/servicewatcher/ServiceWatcherImpl$MyServiceConnection;Lcom/android/server/servicewatcher/ServiceWatcher$BinderOperation;)V
+PLcom/android/server/servicewatcher/ServiceWatcherImpl;->onServiceChanged()V
+HPLcom/android/server/servicewatcher/ServiceWatcherImpl;->onServiceChanged(Z)V
+PLcom/android/server/servicewatcher/ServiceWatcherImpl;->register()V
+PLcom/android/server/servicewatcher/ServiceWatcherImpl;->runOnBinder(Lcom/android/server/servicewatcher/ServiceWatcher$BinderOperation;)V
+PLcom/android/server/signedconfig/SignedConfigService$UpdateReceiver;-><init>()V
+PLcom/android/server/signedconfig/SignedConfigService$UpdateReceiver;-><init>(Lcom/android/server/signedconfig/SignedConfigService$UpdateReceiver-IA;)V
+PLcom/android/server/signedconfig/SignedConfigService;->registerUpdateReceiver(Landroid/content/Context;)V
+PLcom/android/server/soundtrigger/DeviceStateHandler$SoundTriggerDeviceState;->$values()[Lcom/android/server/soundtrigger/DeviceStateHandler$SoundTriggerDeviceState;
+PLcom/android/server/soundtrigger/DeviceStateHandler$SoundTriggerDeviceState;-><clinit>()V
+PLcom/android/server/soundtrigger/DeviceStateHandler$SoundTriggerDeviceState;-><init>(Ljava/lang/String;I)V
+PLcom/android/server/soundtrigger/DeviceStateHandler$SoundTriggerPowerEvent;-><init>(I)V
+PLcom/android/server/soundtrigger/DeviceStateHandler;-><init>(Ljava/util/concurrent/Executor;Lcom/android/server/utils/EventLogger;)V
+PLcom/android/server/soundtrigger/DeviceStateHandler;->onPowerModeChanged(I)V
+PLcom/android/server/soundtrigger/PhoneCallStateHandler$1;-><init>(Lcom/android/server/soundtrigger/PhoneCallStateHandler;)V
+PLcom/android/server/soundtrigger/PhoneCallStateHandler;-><init>(Landroid/telephony/SubscriptionManager;Landroid/telephony/TelephonyManager;Lcom/android/server/soundtrigger/PhoneCallStateHandler$Callback;)V
+PLcom/android/server/soundtrigger/SoundTriggerDbHelper;-><init>(Landroid/content/Context;)V
+PLcom/android/server/soundtrigger/SoundTriggerService$1;-><init>(Lcom/android/server/soundtrigger/SoundTriggerService;Landroid/os/PowerManager;)V
+PLcom/android/server/soundtrigger/SoundTriggerService$LocalSoundTriggerService;-><init>(Lcom/android/server/soundtrigger/SoundTriggerService;Landroid/content/Context;)V
+PLcom/android/server/soundtrigger/SoundTriggerService$SoundModelStatTracker;-><init>(Lcom/android/server/soundtrigger/SoundTriggerService;)V
+PLcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerServiceStub;-><init>(Lcom/android/server/soundtrigger/SoundTriggerService;)V
+PLcom/android/server/soundtrigger/SoundTriggerService;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/soundtrigger/SoundTriggerService;->onBootPhase(I)V
+PLcom/android/server/soundtrigger/SoundTriggerService;->onStart()V
+PLcom/android/server/soundtrigger_middleware/AudioSessionProviderImpl;-><init>()V
+PLcom/android/server/soundtrigger_middleware/DefaultHalFactory;-><clinit>()V
+PLcom/android/server/soundtrigger_middleware/DefaultHalFactory;-><init>()V
+PLcom/android/server/soundtrigger_middleware/DefaultHalFactory;->create()Lcom/android/server/soundtrigger_middleware/ISoundTriggerHal;
+PLcom/android/server/soundtrigger_middleware/ExternalCaptureStateTracker$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/soundtrigger_middleware/ExternalCaptureStateTracker;)V
+PLcom/android/server/soundtrigger_middleware/ExternalCaptureStateTracker$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/soundtrigger_middleware/ExternalCaptureStateTracker;->$r8$lambda$hBoIWCt1wAYBh9Th4QLOGaxIoV0(Lcom/android/server/soundtrigger_middleware/ExternalCaptureStateTracker;)V
+PLcom/android/server/soundtrigger_middleware/ExternalCaptureStateTracker;-><init>()V
+PLcom/android/server/soundtrigger_middleware/ExternalCaptureStateTracker;->run()V
+PLcom/android/server/soundtrigger_middleware/ExternalCaptureStateTracker;->setCaptureState(Z)V
+PLcom/android/server/soundtrigger_middleware/FakeHalFactory$$ExternalSyntheticLambda0;-><init>(Landroid/media/soundtrigger_middleware/IInjectGlobalEvent;)V
+PLcom/android/server/soundtrigger_middleware/FakeHalFactory$1;-><init>(Lcom/android/server/soundtrigger_middleware/FakeHalFactory;Landroid/os/IBinder;Ljava/lang/Runnable;Landroid/media/soundtrigger_middleware/IInjectGlobalEvent;)V
+PLcom/android/server/soundtrigger_middleware/FakeHalFactory;-><init>(Landroid/media/soundtrigger_middleware/ISoundTriggerInjection;)V
+PLcom/android/server/soundtrigger_middleware/FakeHalFactory;->create()Lcom/android/server/soundtrigger_middleware/ISoundTriggerHal;
+PLcom/android/server/soundtrigger_middleware/FakeSoundTriggerHal$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/soundtrigger_middleware/FakeSoundTriggerHal;)V
+PLcom/android/server/soundtrigger_middleware/FakeSoundTriggerHal$$ExternalSyntheticLambda0;->acceptOrThrow(Ljava/lang/Object;)V
+PLcom/android/server/soundtrigger_middleware/FakeSoundTriggerHal$1;-><init>(Lcom/android/server/soundtrigger_middleware/FakeSoundTriggerHal;)V
+PLcom/android/server/soundtrigger_middleware/FakeSoundTriggerHal$ExecutorHolder;-><clinit>()V
+PLcom/android/server/soundtrigger_middleware/FakeSoundTriggerHal$GlobalCallbackDispatcher;-><init>(Landroid/hardware/soundtrigger3/ISoundTriggerHwGlobalCallback;)V
+PLcom/android/server/soundtrigger_middleware/FakeSoundTriggerHal$GlobalCallbackDispatcher;-><init>(Landroid/hardware/soundtrigger3/ISoundTriggerHwGlobalCallback;Lcom/android/server/soundtrigger_middleware/FakeSoundTriggerHal$GlobalCallbackDispatcher-IA;)V
+PLcom/android/server/soundtrigger_middleware/FakeSoundTriggerHal$InjectionDispatcher$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/soundtrigger_middleware/FakeSoundTriggerHal$InjectionDispatcher;Lcom/android/internal/util/FunctionalUtils$ThrowingConsumer;)V
+PLcom/android/server/soundtrigger_middleware/FakeSoundTriggerHal$InjectionDispatcher$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/soundtrigger_middleware/FakeSoundTriggerHal$InjectionDispatcher;->$r8$lambda$pnpqzoQdTdzjstzdqhpQnNpOVVU(Lcom/android/server/soundtrigger_middleware/FakeSoundTriggerHal$InjectionDispatcher;Lcom/android/internal/util/FunctionalUtils$ThrowingConsumer;)V
+PLcom/android/server/soundtrigger_middleware/FakeSoundTriggerHal$InjectionDispatcher;->-$$Nest$mwrap(Lcom/android/server/soundtrigger_middleware/FakeSoundTriggerHal$InjectionDispatcher;Lcom/android/internal/util/FunctionalUtils$ThrowingConsumer;)V
+PLcom/android/server/soundtrigger_middleware/FakeSoundTriggerHal$InjectionDispatcher;-><init>(Landroid/media/soundtrigger_middleware/ISoundTriggerInjection;)V
+PLcom/android/server/soundtrigger_middleware/FakeSoundTriggerHal$InjectionDispatcher;-><init>(Landroid/media/soundtrigger_middleware/ISoundTriggerInjection;Lcom/android/server/soundtrigger_middleware/FakeSoundTriggerHal$InjectionDispatcher-IA;)V
+PLcom/android/server/soundtrigger_middleware/FakeSoundTriggerHal$InjectionDispatcher;->lambda$wrap$0(Lcom/android/internal/util/FunctionalUtils$ThrowingConsumer;)V
+PLcom/android/server/soundtrigger_middleware/FakeSoundTriggerHal$InjectionDispatcher;->wrap(Lcom/android/internal/util/FunctionalUtils$ThrowingConsumer;)V
+PLcom/android/server/soundtrigger_middleware/FakeSoundTriggerHal;->$r8$lambda$_r7zgC45YMbhkVPbRFw41fe6CNU(Lcom/android/server/soundtrigger_middleware/FakeSoundTriggerHal;Landroid/media/soundtrigger_middleware/ISoundTriggerInjection;)V
+PLcom/android/server/soundtrigger_middleware/FakeSoundTriggerHal;-><init>(Landroid/media/soundtrigger_middleware/ISoundTriggerInjection;)V
+PLcom/android/server/soundtrigger_middleware/FakeSoundTriggerHal;->createDefaultProperties()Landroid/media/soundtrigger/Properties;
+PLcom/android/server/soundtrigger_middleware/FakeSoundTriggerHal;->getGlobalEventInjection()Landroid/media/soundtrigger_middleware/IInjectGlobalEvent;
+PLcom/android/server/soundtrigger_middleware/FakeSoundTriggerHal;->getProperties()Landroid/media/soundtrigger/Properties;
+PLcom/android/server/soundtrigger_middleware/FakeSoundTriggerHal;->lambda$new$0(Landroid/media/soundtrigger_middleware/ISoundTriggerInjection;)V
+PLcom/android/server/soundtrigger_middleware/FakeSoundTriggerHal;->linkToDeath(Landroid/os/IBinder$DeathRecipient;I)V
+PLcom/android/server/soundtrigger_middleware/FakeSoundTriggerHal;->registerGlobalCallback(Landroid/hardware/soundtrigger3/ISoundTriggerHwGlobalCallback;)V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerDuplicateModelHandler;-><init>(Lcom/android/server/soundtrigger_middleware/ISoundTriggerHal;)V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerDuplicateModelHandler;->getProperties()Landroid/media/soundtrigger/Properties;
+PLcom/android/server/soundtrigger_middleware/SoundTriggerDuplicateModelHandler;->linkToDeath(Landroid/os/IBinder$DeathRecipient;)V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerDuplicateModelHandler;->registerCallback(Lcom/android/server/soundtrigger_middleware/ISoundTriggerHal$GlobalCallback;)V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerHalEnforcer;-><init>(Lcom/android/server/soundtrigger_middleware/ISoundTriggerHal;)V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerHalEnforcer;->getProperties()Landroid/media/soundtrigger/Properties;
+PLcom/android/server/soundtrigger_middleware/SoundTriggerHalEnforcer;->linkToDeath(Landroid/os/IBinder$DeathRecipient;)V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerHalEnforcer;->registerCallback(Lcom/android/server/soundtrigger_middleware/ISoundTriggerHal$GlobalCallback;)V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerHalWatchdog$Watchdog$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/soundtrigger_middleware/SoundTriggerHalWatchdog$Watchdog;)V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerHalWatchdog$Watchdog;-><init>(Lcom/android/server/soundtrigger_middleware/SoundTriggerHalWatchdog;)V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerHalWatchdog$Watchdog;->close()V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerHalWatchdog;->-$$Nest$fgetmTimer(Lcom/android/server/soundtrigger_middleware/SoundTriggerHalWatchdog;)Lcom/android/server/soundtrigger_middleware/UptimeTimer;
+PLcom/android/server/soundtrigger_middleware/SoundTriggerHalWatchdog;-><init>(Lcom/android/server/soundtrigger_middleware/ISoundTriggerHal;)V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerHalWatchdog;->getProperties()Landroid/media/soundtrigger/Properties;
+PLcom/android/server/soundtrigger_middleware/SoundTriggerHalWatchdog;->linkToDeath(Landroid/os/IBinder$DeathRecipient;)V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerHalWatchdog;->registerCallback(Lcom/android/server/soundtrigger_middleware/ISoundTriggerHal$GlobalCallback;)V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerHw3Compat$GlobalCallbackAdaper;-><init>(Lcom/android/server/soundtrigger_middleware/ISoundTriggerHal$GlobalCallback;)V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerHw3Compat;-><init>(Landroid/os/IBinder;Ljava/lang/Runnable;)V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerHw3Compat;->getProperties()Landroid/media/soundtrigger/Properties;
+PLcom/android/server/soundtrigger_middleware/SoundTriggerHw3Compat;->linkToDeath(Landroid/os/IBinder$DeathRecipient;)V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerHw3Compat;->registerCallback(Lcom/android/server/soundtrigger_middleware/ISoundTriggerHal$GlobalCallback;)V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerInjection;-><init>()V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerInjection;->registerGlobalEventInjection(Landroid/media/soundtrigger_middleware/IInjectGlobalEvent;)V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareImpl$AudioSessionProvider;-><init>()V
+PLcom/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/SoundTriggerMiddlewareLogging$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;-><init>(Landroid/content/Context;Lcom/android/server/soundtrigger_middleware/ISoundTriggerMiddlewareInternal;)V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;-><init>(Lcom/android/internal/util/LatencyTracker;Ljava/util/function/Supplier;Lcom/android/server/soundtrigger_middleware/ISoundTriggerMiddlewareInternal;)V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewarePermission;-><init>(Lcom/android/server/soundtrigger_middleware/ISoundTriggerMiddlewareInternal;Landroid/content/Context;)V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareService$Lifecycle;->onStart()V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareService;-><init>(Lcom/android/server/soundtrigger_middleware/ISoundTriggerMiddlewareInternal;Landroid/content/Context;Lcom/android/server/soundtrigger_middleware/SoundTriggerInjection;)V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareService;-><init>(Lcom/android/server/soundtrigger_middleware/ISoundTriggerMiddlewareInternal;Landroid/content/Context;Lcom/android/server/soundtrigger_middleware/SoundTriggerInjection;Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareService-IA;)V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation;-><init>(Lcom/android/server/soundtrigger_middleware/ISoundTriggerMiddlewareInternal;)V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerModule;-><init>(Lcom/android/server/soundtrigger_middleware/HalFactory;Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareImpl$AudioSessionProvider;)V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerModule;->attachToHal()V
+PLcom/android/server/soundtrigger_middleware/UptimeTimer$TaskImpl;-><init>(Landroid/os/Handler;Ljava/lang/Object;)V
+PLcom/android/server/soundtrigger_middleware/UptimeTimer$TaskImpl;->cancel()V
+PLcom/android/server/soundtrigger_middleware/UptimeTimer;-><init>(Ljava/lang/String;)V
+PLcom/android/server/soundtrigger_middleware/UptimeTimer;->createTask(Ljava/lang/Runnable;J)Lcom/android/server/soundtrigger_middleware/UptimeTimer$Task;
+PLcom/android/server/speech/SpeechRecognitionManagerService$SpeechRecognitionManagerServiceStub;-><init>(Lcom/android/server/speech/SpeechRecognitionManagerService;)V
+PLcom/android/server/speech/SpeechRecognitionManagerService;-><clinit>()V
+PLcom/android/server/speech/SpeechRecognitionManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/speech/SpeechRecognitionManagerService;->newServiceLocked(IZ)Lcom/android/server/infra/AbstractPerUserSystemService;
+PLcom/android/server/speech/SpeechRecognitionManagerService;->newServiceLocked(IZ)Lcom/android/server/speech/SpeechRecognitionManagerServiceImpl;
+PLcom/android/server/speech/SpeechRecognitionManagerService;->onStart()V
+PLcom/android/server/speech/SpeechRecognitionManagerServiceImpl;-><clinit>()V
+PLcom/android/server/speech/SpeechRecognitionManagerServiceImpl;-><init>(Lcom/android/server/speech/SpeechRecognitionManagerService;Ljava/lang/Object;I)V
+PLcom/android/server/speech/SpeechRecognitionManagerServiceImpl;->updateLocked(Z)Z
+PLcom/android/server/stats/FeatureFlagsImpl;-><init>()V
+PLcom/android/server/stats/FeatureFlagsImpl;->addMobileBytesTransferByProcStatePuller()Z
+PLcom/android/server/stats/Flags;-><clinit>()V
+PLcom/android/server/stats/Flags;->addMobileBytesTransferByProcStatePuller()Z
+PLcom/android/server/stats/bootstrap/StatsBootstrapAtomService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/stats/bootstrap/StatsBootstrapAtomService$Lifecycle;->onStart()V
+PLcom/android/server/stats/bootstrap/StatsBootstrapAtomService;-><init>()V
+PLcom/android/server/stats/pull/ProcfsMemoryUtil$MemorySnapshot;-><init>()V
+PLcom/android/server/stats/pull/ProcfsMemoryUtil;-><clinit>()V
+PLcom/android/server/stats/pull/ProcfsMemoryUtil;->readMemorySnapshotFromProcfs(I)Lcom/android/server/stats/pull/ProcfsMemoryUtil$MemorySnapshot;
+PLcom/android/server/stats/pull/StatsPullAtomService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/stats/pull/StatsPullAtomService;)V
+PLcom/android/server/stats/pull/StatsPullAtomService$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/stats/pull/StatsPullAtomService$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/stats/pull/StatsPullAtomService;)V
+PLcom/android/server/stats/pull/StatsPullAtomService$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/stats/pull/StatsPullAtomService$$ExternalSyntheticLambda2;-><init>()V
+PLcom/android/server/stats/pull/StatsPullAtomService$$ExternalSyntheticLambda3;-><init>()V
+PLcom/android/server/stats/pull/StatsPullAtomService$$ExternalSyntheticLambda5;-><init>()V
+PLcom/android/server/stats/pull/StatsPullAtomService$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/stats/pull/StatsPullAtomService;)V
+PLcom/android/server/stats/pull/StatsPullAtomService$$ExternalSyntheticLambda7;-><init>(Lcom/android/server/stats/pull/StatsPullAtomService;)V
+PLcom/android/server/stats/pull/StatsPullAtomService$ConnectivityStatsCallback;-><init>()V
+PLcom/android/server/stats/pull/StatsPullAtomService$ConnectivityStatsCallback;-><init>(Lcom/android/server/stats/pull/StatsPullAtomService$ConnectivityStatsCallback-IA;)V
+PLcom/android/server/stats/pull/StatsPullAtomService$StatsPullAtomCallbackImpl;-><init>(Lcom/android/server/stats/pull/StatsPullAtomService;)V
+PLcom/android/server/stats/pull/StatsPullAtomService$StatsPullAtomCallbackImpl;-><init>(Lcom/android/server/stats/pull/StatsPullAtomService;Lcom/android/server/stats/pull/StatsPullAtomService$StatsPullAtomCallbackImpl-IA;)V
+PLcom/android/server/stats/pull/StatsPullAtomService$StatsSubscriptionsListener;-><init>(Lcom/android/server/stats/pull/StatsPullAtomService;Landroid/telephony/SubscriptionManager;)V
+PLcom/android/server/stats/pull/StatsPullAtomService$ThermalEventListener;-><init>()V
+PLcom/android/server/stats/pull/StatsPullAtomService$ThermalEventListener;-><init>(Lcom/android/server/stats/pull/StatsPullAtomService$ThermalEventListener-IA;)V
+PLcom/android/server/stats/pull/StatsPullAtomService$ThermalEventListener;->notifyThrottling(Landroid/os/Temperature;)V
+PLcom/android/server/stats/pull/StatsPullAtomService;->$r8$lambda$nNR4Gctk6hlu9qnTsuOvrymZzfk(Lcom/android/server/stats/pull/StatsPullAtomService;)V
+PLcom/android/server/stats/pull/StatsPullAtomService;->$r8$lambda$qb74jErDmbpYjoDRKkDDIHHyoHk(Lcom/android/server/stats/pull/StatsPullAtomService;)V
+PLcom/android/server/stats/pull/StatsPullAtomService;-><clinit>()V
+HPLcom/android/server/stats/pull/StatsPullAtomService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/stats/pull/StatsPullAtomService;->canQueryNetworkStatsForTypeProxy()Z
+PLcom/android/server/stats/pull/StatsPullAtomService;->collectNetworkStatsSnapshotForAtom(I)Ljava/util/List;
+HPLcom/android/server/stats/pull/StatsPullAtomService;->getDataUsageBytesTransferSnapshotForOemManaged()Ljava/util/List;
+PLcom/android/server/stats/pull/StatsPullAtomService;->getIKeystoreMetricsService()Landroid/security/metrics/IKeystoreMetrics;
+PLcom/android/server/stats/pull/StatsPullAtomService;->getIThermalService()Landroid/os/IThermalService;
+HPLcom/android/server/stats/pull/StatsPullAtomService;->getUidNetworkStatsSnapshotForTemplate(Landroid/net/NetworkTemplate;Z)Landroid/net/NetworkStats;
+PLcom/android/server/stats/pull/StatsPullAtomService;->getUidNetworkStatsSnapshotForTransport(I)Landroid/net/NetworkStats;
+PLcom/android/server/stats/pull/StatsPullAtomService;->initAndRegisterDeferredPullers()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->initAndRegisterNetworkStatsPullers()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->initMobileDataStatsPuller()V
+HPLcom/android/server/stats/pull/StatsPullAtomService;->initializePullersState()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->lambda$onBootPhase$0()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->lambda$onBootPhase$1()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->onBootPhase(I)V
+PLcom/android/server/stats/pull/StatsPullAtomService;->onStart()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerAccessibilityFloatingMenuStats()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerAccessibilityShortcutStats()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerAppOps()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerAppSize()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerAppsOnExternalStorageInfo()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerAttributedAppOps()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerBatteryCycleCount()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerBatteryLevel()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerBatteryVoltage()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerBinderCallsStats()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerBinderCallsStatsExceptions()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerBluetoothActivityInfo()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerBluetoothBytesTransfer()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerBuildInformation()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerBytesTransferByTagAndMetered()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerCachedAppsHighWatermarkPuller()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerCategorySize()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerCoolingDevice()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerCpuActiveTime()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerCpuClusterTime()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerCpuCyclesPerThreadGroupCluster()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerCpuCyclesPerUidCluster()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerCpuTimePerClusterFreq()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerCpuTimePerThreadFreq()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerCpuTimePerUid()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerCpuTimePerUidFreq()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerDangerousPermissionState()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerDangerousPermissionStateSampled()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerDataUsageBytesTransfer()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerDebugElapsedClock()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerDebugFailingElapsedClock()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerDeviceCalculatedPowerUse()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerDirectoryUsage()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerDiskIO()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerDiskStats()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerEventListeners()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerExternalStorageInfo()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerFaceSettings()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerFullBatteryCapacity()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerHdrCapabilitiesPuller()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerInstalledIncrementalPackages()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerIonHeapSize()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerKernelWakelock()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerKeystoreAtomWithOverflow()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerKeystoreCrashStats()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerKeystoreKeyCreationWithAuthInfo()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerKeystoreKeyCreationWithGeneralInfo()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerKeystoreKeyCreationWithPurposeModesInfo()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerKeystoreKeyOperationWithGeneralInfo()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerKeystoreKeyOperationWithPurposeAndModesInfo()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerKeystoreStorageStats()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerLooperStats()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerMediaCapabilitiesStats()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerMobileBytesTransfer()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerMobileBytesTransferBackground()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerModemActivityInfo()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerNotificationRemoteViews()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerNumFacesEnrolled()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerNumFingerprintsEnrolled()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerOemManagedBytesTransfer()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerPendingIntentsPerPackagePuller()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerPinnerServiceStats()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerPowerProfile()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerProcStats()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerProcStatsPkgProc()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerProcessAssociation()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerProcessCpuTime()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerProcessDmabufMemory()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerProcessMemoryHighWaterMark()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerProcessMemorySnapshot()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerProcessMemoryState()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerProcessState()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerProcessSystemIonHeapSize()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerProxyBytesTransferBackground()V
+HPLcom/android/server/stats/pull/StatsPullAtomService;->registerPullers()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerRemainingBatteryCapacity()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerRkpErrorStats()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerRoleHolder()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerRuntimeAppOpAccessMessage()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerSettingsStats()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerSystemElapsedRealtime()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerSystemIonHeapSize()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerSystemMemory()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerSystemUptime()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerTemperature()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerTimeZoneDataInfo()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerTimeZoneDetectorState()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerUwbActivityInfo()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerVmStat()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerWifiActivityInfo()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerWifiBytesTransfer()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerWifiBytesTransferBackground()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->sliceNetworkStats(Landroid/net/NetworkStats;Ljava/util/function/Function;)Landroid/net/NetworkStats;
+PLcom/android/server/stats/pull/StatsPullAtomService;->sliceNetworkStatsByUid(Landroid/net/NetworkStats;)Landroid/net/NetworkStats;
+PLcom/android/server/stats/pull/StatsPullAtomService;->sliceNetworkStatsByUidAndFgbg(Landroid/net/NetworkStats;)Landroid/net/NetworkStats;
+PLcom/android/server/stats/pull/StatsPullAtomService;->sliceNetworkStatsByUidTagAndMetered(Landroid/net/NetworkStats;)Landroid/net/NetworkStats;
+PLcom/android/server/stats/pull/netstats/NetworkStatsExt;-><init>(Landroid/net/NetworkStats;[IZ)V
+HPLcom/android/server/stats/pull/netstats/NetworkStatsExt;-><init>(Landroid/net/NetworkStats;[IZZZILcom/android/server/stats/pull/netstats/SubInfo;IZ)V
+PLcom/android/server/statusbar/SessionMonitor;-><init>(Landroid/content/Context;)V
+PLcom/android/server/statusbar/SessionMonitor;->registerSessionListener(ILcom/android/internal/statusbar/ISessionListener;)V
+PLcom/android/server/statusbar/SessionMonitor;->requireListenerPermissions(I)V
+PLcom/android/server/statusbar/StatusBarManagerService$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;ILandroid/os/IBinder;IIZ)V
+PLcom/android/server/statusbar/StatusBarManagerService$$ExternalSyntheticLambda2;->run()V
+PLcom/android/server/statusbar/StatusBarManagerService$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;)V
+PLcom/android/server/statusbar/StatusBarManagerService$$ExternalSyntheticLambda5;->run()V
+PLcom/android/server/statusbar/StatusBarManagerService$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;)V
+PLcom/android/server/statusbar/StatusBarManagerService$$ExternalSyntheticLambda6;->run()V
+PLcom/android/server/statusbar/StatusBarManagerService$1;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;)V
+PLcom/android/server/statusbar/StatusBarManagerService$1;->appTransitionFinished(I)V
+PLcom/android/server/statusbar/StatusBarManagerService$1;->appTransitionPending(I)V
+PLcom/android/server/statusbar/StatusBarManagerService$1;->appTransitionStarting(IJJ)V
+PLcom/android/server/statusbar/StatusBarManagerService$1;->onSystemBarAttributesChanged(II[Lcom/android/internal/view/AppearanceRegion;ZIILjava/lang/String;[Lcom/android/internal/statusbar/LetterboxDetails;)V
+PLcom/android/server/statusbar/StatusBarManagerService$1;->setIconVisibility(Ljava/lang/String;Z)V
+PLcom/android/server/statusbar/StatusBarManagerService$1;->setImeWindowStatus(ILandroid/os/IBinder;IIZ)V
+PLcom/android/server/statusbar/StatusBarManagerService$1;->setNotificationDelegate(Lcom/android/server/notification/NotificationDelegate;)V
+PLcom/android/server/statusbar/StatusBarManagerService$1;->setUdfpsRefreshRateCallback(Landroid/hardware/fingerprint/IUdfpsRefreshRateRequestCallback;)V
+PLcom/android/server/statusbar/StatusBarManagerService$2;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;)V
+PLcom/android/server/statusbar/StatusBarManagerService$DeathRecipient;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;)V
+PLcom/android/server/statusbar/StatusBarManagerService$DeathRecipient;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;Lcom/android/server/statusbar/StatusBarManagerService$DeathRecipient-IA;)V
+PLcom/android/server/statusbar/StatusBarManagerService$DeathRecipient;->linkToDeath()V
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->-$$Nest$fgetmAppearance(Lcom/android/server/statusbar/StatusBarManagerService$UiState;)I
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->-$$Nest$fgetmAppearanceRegions(Lcom/android/server/statusbar/StatusBarManagerService$UiState;)[Lcom/android/internal/view/AppearanceRegion;
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->-$$Nest$fgetmBehavior(Lcom/android/server/statusbar/StatusBarManagerService$UiState;)I
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->-$$Nest$fgetmImeBackDisposition(Lcom/android/server/statusbar/StatusBarManagerService$UiState;)I
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->-$$Nest$fgetmImeToken(Lcom/android/server/statusbar/StatusBarManagerService$UiState;)Landroid/os/IBinder;
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->-$$Nest$fgetmImeWindowVis(Lcom/android/server/statusbar/StatusBarManagerService$UiState;)I
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->-$$Nest$fgetmLetterboxDetails(Lcom/android/server/statusbar/StatusBarManagerService$UiState;)[Lcom/android/internal/statusbar/LetterboxDetails;
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->-$$Nest$fgetmNavbarColorManagedByIme(Lcom/android/server/statusbar/StatusBarManagerService$UiState;)Z
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->-$$Nest$fgetmPackageName(Lcom/android/server/statusbar/StatusBarManagerService$UiState;)Ljava/lang/String;
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->-$$Nest$fgetmRequestedVisibleTypes(Lcom/android/server/statusbar/StatusBarManagerService$UiState;)I
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->-$$Nest$fgetmShowImeSwitcher(Lcom/android/server/statusbar/StatusBarManagerService$UiState;)Z
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->-$$Nest$fgetmTransientBarTypes(Lcom/android/server/statusbar/StatusBarManagerService$UiState;)I
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->-$$Nest$msetBarAttributes(Lcom/android/server/statusbar/StatusBarManagerService$UiState;I[Lcom/android/internal/view/AppearanceRegion;ZIILjava/lang/String;[Lcom/android/internal/statusbar/LetterboxDetails;)V
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->-$$Nest$msetImeWindowState(Lcom/android/server/statusbar/StatusBarManagerService$UiState;IIZLandroid/os/IBinder;)V
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;-><init>()V
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;-><init>(Lcom/android/server/statusbar/StatusBarManagerService$UiState-IA;)V
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->setBarAttributes(I[Lcom/android/internal/view/AppearanceRegion;ZIILjava/lang/String;[Lcom/android/internal/statusbar/LetterboxDetails;)V
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->setImeWindowState(IIZLandroid/os/IBinder;)V
+PLcom/android/server/statusbar/StatusBarManagerService;->$r8$lambda$_iMEqk__BS_LQF7mYRJx_L2r6wc(Lcom/android/server/statusbar/StatusBarManagerService;)V
+PLcom/android/server/statusbar/StatusBarManagerService;->$r8$lambda$f4g8csS8sA9WBCaVg_JpeSlGvUA(Lcom/android/server/statusbar/StatusBarManagerService;ILandroid/os/IBinder;IIZ)V
+PLcom/android/server/statusbar/StatusBarManagerService;->$r8$lambda$nWjxl9WE61ral9X4QCz5jQbdFdw(Lcom/android/server/statusbar/StatusBarManagerService;)V
+PLcom/android/server/statusbar/StatusBarManagerService;->-$$Nest$fgetmBar(Lcom/android/server/statusbar/StatusBarManagerService;)Lcom/android/internal/statusbar/IStatusBar;
+PLcom/android/server/statusbar/StatusBarManagerService;->-$$Nest$fgetmDeathRecipient(Lcom/android/server/statusbar/StatusBarManagerService;)Lcom/android/server/statusbar/StatusBarManagerService$DeathRecipient;
+PLcom/android/server/statusbar/StatusBarManagerService;->-$$Nest$fgetmLock(Lcom/android/server/statusbar/StatusBarManagerService;)Ljava/lang/Object;
+PLcom/android/server/statusbar/StatusBarManagerService;->-$$Nest$fputmNotificationDelegate(Lcom/android/server/statusbar/StatusBarManagerService;Lcom/android/server/notification/NotificationDelegate;)V
+PLcom/android/server/statusbar/StatusBarManagerService;->-$$Nest$fputmUdfpsRefreshRateRequestCallback(Lcom/android/server/statusbar/StatusBarManagerService;Landroid/hardware/fingerprint/IUdfpsRefreshRateRequestCallback;)V
+PLcom/android/server/statusbar/StatusBarManagerService;->-$$Nest$menforceStatusBarService(Lcom/android/server/statusbar/StatusBarManagerService;)V
+PLcom/android/server/statusbar/StatusBarManagerService;->-$$Nest$mgetUiState(Lcom/android/server/statusbar/StatusBarManagerService;I)Lcom/android/server/statusbar/StatusBarManagerService$UiState;
+PLcom/android/server/statusbar/StatusBarManagerService;-><clinit>()V
+PLcom/android/server/statusbar/StatusBarManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/statusbar/StatusBarManagerService;->enforceStatusBar()V
+PLcom/android/server/statusbar/StatusBarManagerService;->enforceStatusBarService()V
+PLcom/android/server/statusbar/StatusBarManagerService;->gatherDisableActionsLocked(II)I
+PLcom/android/server/statusbar/StatusBarManagerService;->getUiState(I)Lcom/android/server/statusbar/StatusBarManagerService$UiState;
+PLcom/android/server/statusbar/StatusBarManagerService;->lambda$notifyBarAttachChanged$2()V
+PLcom/android/server/statusbar/StatusBarManagerService;->lambda$notifyBarAttachChanged$3()V
+PLcom/android/server/statusbar/StatusBarManagerService;->lambda$setImeWindowStatus$1(ILandroid/os/IBinder;IIZ)V
+PLcom/android/server/statusbar/StatusBarManagerService;->notifyBarAttachChanged()V
+PLcom/android/server/statusbar/StatusBarManagerService;->onDisplayChanged(I)V
+PLcom/android/server/statusbar/StatusBarManagerService;->publishGlobalActionsProvider()V
+PLcom/android/server/statusbar/StatusBarManagerService;->registerSessionListener(ILcom/android/internal/statusbar/ISessionListener;)V
+PLcom/android/server/statusbar/StatusBarManagerService;->registerStatusBar(Lcom/android/internal/statusbar/IStatusBar;)Lcom/android/internal/statusbar/RegisterStatusBarResult;
+PLcom/android/server/statusbar/StatusBarManagerService;->setBiometicContextListener(Landroid/hardware/biometrics/IBiometricContextListener;)V
+PLcom/android/server/statusbar/StatusBarManagerService;->setIconVisibility(Ljava/lang/String;Z)V
+PLcom/android/server/statusbar/StatusBarManagerService;->setImeWindowStatus(ILandroid/os/IBinder;IIZ)V
+PLcom/android/server/statusbar/StatusBarManagerService;->setUdfpsRefreshRateCallback(Landroid/hardware/fingerprint/IUdfpsRefreshRateRequestCallback;)V
+PLcom/android/server/statusbar/TileRequestTracker$1;-><init>(Lcom/android/server/statusbar/TileRequestTracker;)V
+PLcom/android/server/statusbar/TileRequestTracker;-><init>(Landroid/content/Context;)V
+PLcom/android/server/storage/CacheQuotaStrategy;-><init>(Landroid/content/Context;Landroid/app/usage/UsageStatsManagerInternal;Lcom/android/server/pm/Installer;Landroid/util/ArrayMap;)V
+PLcom/android/server/storage/CacheQuotaStrategy;->disconnectService()V
+PLcom/android/server/storage/CacheQuotaStrategy;->pushProcessedQuotas(Ljava/util/List;)V
+PLcom/android/server/storage/CacheQuotaStrategy;->readFromXml(Ljava/io/InputStream;)Landroid/util/Pair;
+PLcom/android/server/storage/CacheQuotaStrategy;->setupQuotasFromFile()J
+PLcom/android/server/storage/DeviceStorageMonitorService$1;-><init>(Lcom/android/server/storage/DeviceStorageMonitorService;Landroid/os/Looper;)V
+PLcom/android/server/storage/DeviceStorageMonitorService$1;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/storage/DeviceStorageMonitorService$2;-><init>(Lcom/android/server/storage/DeviceStorageMonitorService;)V
+PLcom/android/server/storage/DeviceStorageMonitorService$3;-><init>(Lcom/android/server/storage/DeviceStorageMonitorService;)V
+PLcom/android/server/storage/DeviceStorageMonitorService$CacheFileDeletedObserver;-><init>()V
+PLcom/android/server/storage/DeviceStorageMonitorService$State;->-$$Nest$smisEntering(III)Z
+PLcom/android/server/storage/DeviceStorageMonitorService$State;->-$$Nest$smisLeaving(III)Z
+PLcom/android/server/storage/DeviceStorageMonitorService$State;-><init>()V
+PLcom/android/server/storage/DeviceStorageMonitorService$State;-><init>(Lcom/android/server/storage/DeviceStorageMonitorService$State-IA;)V
+PLcom/android/server/storage/DeviceStorageMonitorService$State;->isEntering(III)Z
+PLcom/android/server/storage/DeviceStorageMonitorService$State;->isLeaving(III)Z
+PLcom/android/server/storage/DeviceStorageMonitorService;->-$$Nest$mcheckLow(Lcom/android/server/storage/DeviceStorageMonitorService;)V
+PLcom/android/server/storage/DeviceStorageMonitorService;-><clinit>()V
+PLcom/android/server/storage/DeviceStorageMonitorService;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/storage/DeviceStorageMonitorService;->checkLow()V
+PLcom/android/server/storage/DeviceStorageMonitorService;->findOrCreateState(Ljava/util/UUID;)Lcom/android/server/storage/DeviceStorageMonitorService$State;
+PLcom/android/server/storage/DeviceStorageMonitorService;->onStart()V
+HPLcom/android/server/storage/DeviceStorageMonitorService;->updateBroadcasts(Landroid/os/storage/VolumeInfo;III)V
+PLcom/android/server/storage/DeviceStorageMonitorService;->updateNotifications(Landroid/os/storage/VolumeInfo;II)V
+PLcom/android/server/storage/DiskStatsLoggingService;-><clinit>()V
+PLcom/android/server/storage/DiskStatsLoggingService;->schedule(Landroid/content/Context;)V
+PLcom/android/server/storage/StorageSessionController;-><init>(Landroid/content/Context;)V
+PLcom/android/server/storage/StorageSessionController;->getConnectionUserIdForVolume(Landroid/os/storage/VolumeInfo;)I
+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;->isSupportedVolume(Landroid/os/storage/VolumeInfo;)Z
+PLcom/android/server/storage/StorageSessionController;->notifyVolumeStateChanged(Landroid/os/storage/VolumeInfo;)V
+PLcom/android/server/storage/StorageSessionController;->onReset(Landroid/os/IVold;Ljava/lang/Runnable;)V
+PLcom/android/server/storage/StorageSessionController;->onUnlockUser(I)V
+PLcom/android/server/storage/StorageSessionController;->onVolumeMount(Landroid/os/ParcelFileDescriptor;Landroid/os/storage/VolumeInfo;)V
+PLcom/android/server/storage/StorageSessionController;->resolveExternalStorageServiceAsUser(I)Landroid/content/pm/ServiceInfo;
+PLcom/android/server/storage/StorageSessionController;->shouldHandle(Landroid/os/storage/VolumeInfo;)Z
+PLcom/android/server/storage/StorageSessionController;->supportsExternalStorage(I)Z
+PLcom/android/server/storage/StorageUserConnection$ActiveConnection$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/storage/StorageUserConnection$Session;Landroid/os/ParcelFileDescriptor;)V
+PLcom/android/server/storage/StorageUserConnection$ActiveConnection$$ExternalSyntheticLambda1;->run(Landroid/service/storage/IExternalStorageService;Landroid/os/RemoteCallback;)V
+PLcom/android/server/storage/StorageUserConnection$ActiveConnection$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/storage/StorageUserConnection$ActiveConnection;Ljava/util/concurrent/CompletableFuture;)V
+PLcom/android/server/storage/StorageUserConnection$ActiveConnection$$ExternalSyntheticLambda3;->onResult(Landroid/os/Bundle;)V
+PLcom/android/server/storage/StorageUserConnection$ActiveConnection$$ExternalSyntheticLambda4;-><init>(Ljava/lang/String;Landroid/os/storage/StorageVolume;)V
+PLcom/android/server/storage/StorageUserConnection$ActiveConnection$$ExternalSyntheticLambda4;->run(Landroid/service/storage/IExternalStorageService;Landroid/os/RemoteCallback;)V
+PLcom/android/server/storage/StorageUserConnection$ActiveConnection$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/storage/StorageUserConnection$AsyncStorageServiceCall;Landroid/os/RemoteCallback;Ljava/util/concurrent/CompletableFuture;)V
+PLcom/android/server/storage/StorageUserConnection$ActiveConnection$$ExternalSyntheticLambda5;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/storage/StorageUserConnection$ActiveConnection$1;-><init>(Lcom/android/server/storage/StorageUserConnection$ActiveConnection;Ljava/util/concurrent/CompletableFuture;)V
+PLcom/android/server/storage/StorageUserConnection$ActiveConnection$1;->handleConnection(Landroid/os/IBinder;)V
+PLcom/android/server/storage/StorageUserConnection$ActiveConnection$1;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/storage/StorageUserConnection$ActiveConnection;->$r8$lambda$FmJboNYjokBfJEVj67KD2wZpm14(Lcom/android/server/storage/StorageUserConnection$AsyncStorageServiceCall;Landroid/os/RemoteCallback;Ljava/util/concurrent/CompletableFuture;Landroid/service/storage/IExternalStorageService;)Ljava/util/concurrent/CompletionStage;
+PLcom/android/server/storage/StorageUserConnection$ActiveConnection;->$r8$lambda$GXIyazwVX_rUkeKdlCrCHRfXRB8(Lcom/android/server/storage/StorageUserConnection$ActiveConnection;Ljava/util/concurrent/CompletableFuture;Landroid/os/Bundle;)V
+PLcom/android/server/storage/StorageUserConnection$ActiveConnection;->$r8$lambda$ZUID6_fjlmkWslb1Z-5VMQs3jZA(Lcom/android/server/storage/StorageUserConnection$Session;Landroid/os/ParcelFileDescriptor;Landroid/service/storage/IExternalStorageService;Landroid/os/RemoteCallback;)V
+PLcom/android/server/storage/StorageUserConnection$ActiveConnection;->$r8$lambda$aiyAMsuUyqAtzW9JiGlGmzYO5Ms(Ljava/lang/String;Landroid/os/storage/StorageVolume;Landroid/service/storage/IExternalStorageService;Landroid/os/RemoteCallback;)V
+PLcom/android/server/storage/StorageUserConnection$ActiveConnection;->-$$Nest$fgetmLock(Lcom/android/server/storage/StorageUserConnection$ActiveConnection;)Ljava/lang/Object;
+PLcom/android/server/storage/StorageUserConnection$ActiveConnection;-><init>(Lcom/android/server/storage/StorageUserConnection;)V
+PLcom/android/server/storage/StorageUserConnection$ActiveConnection;-><init>(Lcom/android/server/storage/StorageUserConnection;Lcom/android/server/storage/StorageUserConnection$ActiveConnection-IA;)V
+PLcom/android/server/storage/StorageUserConnection$ActiveConnection;->connectIfNeeded()Ljava/util/concurrent/CompletableFuture;
+PLcom/android/server/storage/StorageUserConnection$ActiveConnection;->lambda$notifyVolumeStateChanged$4(Ljava/lang/String;Landroid/os/storage/StorageVolume;Landroid/service/storage/IExternalStorageService;Landroid/os/RemoteCallback;)V
+PLcom/android/server/storage/StorageUserConnection$ActiveConnection;->lambda$startSession$2(Lcom/android/server/storage/StorageUserConnection$Session;Landroid/os/ParcelFileDescriptor;Landroid/service/storage/IExternalStorageService;Landroid/os/RemoteCallback;)V
+PLcom/android/server/storage/StorageUserConnection$ActiveConnection;->lambda$waitForAsync$1(Lcom/android/server/storage/StorageUserConnection$AsyncStorageServiceCall;Landroid/os/RemoteCallback;Ljava/util/concurrent/CompletableFuture;Landroid/service/storage/IExternalStorageService;)Ljava/util/concurrent/CompletionStage;
+PLcom/android/server/storage/StorageUserConnection$ActiveConnection;->lambda$waitForAsyncVoid$0(Ljava/util/concurrent/CompletableFuture;Landroid/os/Bundle;)V
+PLcom/android/server/storage/StorageUserConnection$ActiveConnection;->notifyVolumeStateChanged(Ljava/lang/String;Landroid/os/storage/StorageVolume;)V
+PLcom/android/server/storage/StorageUserConnection$ActiveConnection;->setResult(Landroid/os/Bundle;Ljava/util/concurrent/CompletableFuture;)V
+PLcom/android/server/storage/StorageUserConnection$ActiveConnection;->startSession(Lcom/android/server/storage/StorageUserConnection$Session;Landroid/os/ParcelFileDescriptor;)V
+PLcom/android/server/storage/StorageUserConnection$ActiveConnection;->waitForAsync(Lcom/android/server/storage/StorageUserConnection$AsyncStorageServiceCall;Landroid/os/RemoteCallback;Ljava/util/concurrent/CompletableFuture;Ljava/util/ArrayList;J)Ljava/lang/Object;
+PLcom/android/server/storage/StorageUserConnection$ActiveConnection;->waitForAsyncVoid(Lcom/android/server/storage/StorageUserConnection$AsyncStorageServiceCall;)V
+PLcom/android/server/storage/StorageUserConnection$Session;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/storage/StorageUserConnection;->-$$Nest$fgetmContext(Lcom/android/server/storage/StorageUserConnection;)Landroid/content/Context;
+PLcom/android/server/storage/StorageUserConnection;->-$$Nest$fgetmHandlerThread(Lcom/android/server/storage/StorageUserConnection;)Landroid/os/HandlerThread;
+PLcom/android/server/storage/StorageUserConnection;->-$$Nest$fgetmSessionController(Lcom/android/server/storage/StorageUserConnection;)Lcom/android/server/storage/StorageSessionController;
+PLcom/android/server/storage/StorageUserConnection;->-$$Nest$fgetmUserId(Lcom/android/server/storage/StorageUserConnection;)I
+PLcom/android/server/storage/StorageUserConnection;-><init>(Landroid/content/Context;ILcom/android/server/storage/StorageSessionController;)V
+PLcom/android/server/storage/StorageUserConnection;->notifyVolumeStateChanged(Ljava/lang/String;Landroid/os/storage/StorageVolume;)V
+PLcom/android/server/storage/StorageUserConnection;->startSession(Ljava/lang/String;Landroid/os/ParcelFileDescriptor;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/tare/Agent$ActionAffordabilityNote;->-$$Nest$msetNewAffordability(Lcom/android/server/tare/Agent$ActionAffordabilityNote;Z)V
+HPLcom/android/server/tare/Agent$ActionAffordabilityNote;-><init>(Lcom/android/server/tare/EconomyManagerInternal$ActionBill;Lcom/android/server/tare/EconomyManagerInternal$AffordabilityChangeListener;Lcom/android/server/tare/EconomicPolicy;)V
+HPLcom/android/server/tare/Agent$ActionAffordabilityNote;->equals(Ljava/lang/Object;)Z
+HPLcom/android/server/tare/Agent$ActionAffordabilityNote;->hashCode()I
+PLcom/android/server/tare/Agent$ActionAffordabilityNote;->setNewAffordability(Z)V
+PLcom/android/server/tare/Agent$AgentHandler;-><init>(Lcom/android/server/tare/Agent;Landroid/os/Looper;)V
+PLcom/android/server/tare/Agent$BalanceThresholdAlarmQueue;-><init>(Lcom/android/server/tare/Agent;Landroid/content/Context;Landroid/os/Looper;)V
+PLcom/android/server/tare/Agent$BalanceThresholdAlarmQueue;-><init>(Lcom/android/server/tare/Agent;Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/tare/Agent$BalanceThresholdAlarmQueue-IA;)V
+PLcom/android/server/tare/Agent$OngoingEventUpdater;-><init>(Lcom/android/server/tare/Agent;)V
+PLcom/android/server/tare/Agent$OngoingEventUpdater;-><init>(Lcom/android/server/tare/Agent;Lcom/android/server/tare/Agent$OngoingEventUpdater-IA;)V
+PLcom/android/server/tare/Agent$TotalDeltaCalculator;-><init>(Lcom/android/server/tare/Agent;)V
+PLcom/android/server/tare/Agent$TotalDeltaCalculator;-><init>(Lcom/android/server/tare/Agent;Lcom/android/server/tare/Agent$TotalDeltaCalculator-IA;)V
+PLcom/android/server/tare/Agent$TrendCalculator;-><init>()V
+PLcom/android/server/tare/Agent;-><clinit>()V
+PLcom/android/server/tare/Agent;-><init>(Lcom/android/server/tare/InternalResourceService;Lcom/android/server/tare/Scribe;Lcom/android/server/tare/Analyst;)V
+HPLcom/android/server/tare/Agent;->registerAffordabilityChangeListenerLocked(ILjava/lang/String;Lcom/android/server/tare/EconomyManagerInternal$AffordabilityChangeListener;Lcom/android/server/tare/EconomyManagerInternal$ActionBill;)V
+HPLcom/android/server/tare/Agent;->scheduleBalanceCheckLocked(ILjava/lang/String;)V
+HPLcom/android/server/tare/Agent;->unregisterAffordabilityChangeListenerLocked(ILjava/lang/String;Lcom/android/server/tare/EconomyManagerInternal$AffordabilityChangeListener;Lcom/android/server/tare/EconomyManagerInternal$ActionBill;)V
+PLcom/android/server/tare/AlarmManagerEconomicPolicy;-><clinit>()V
+PLcom/android/server/tare/AlarmManagerEconomicPolicy;-><init>(Lcom/android/server/tare/InternalResourceService;Lcom/android/server/tare/EconomicPolicy$Injector;)V
+PLcom/android/server/tare/AlarmManagerEconomicPolicy;->getAction(I)Lcom/android/server/tare/EconomicPolicy$Action;
+PLcom/android/server/tare/AlarmManagerEconomicPolicy;->getCostModifiers()[I
+HPLcom/android/server/tare/AlarmManagerEconomicPolicy;->loadConstants(Ljava/lang/String;Landroid/provider/DeviceConfig$Properties;)V
+PLcom/android/server/tare/Analyst;-><clinit>()V
+PLcom/android/server/tare/Analyst;-><init>()V
+PLcom/android/server/tare/Analyst;-><init>(Lcom/android/internal/app/IBatteryStats;)V
+PLcom/android/server/tare/ChargingModifier$ChargingTracker;-><init>(Lcom/android/server/tare/ChargingModifier;)V
+PLcom/android/server/tare/ChargingModifier$ChargingTracker;-><init>(Lcom/android/server/tare/ChargingModifier;Lcom/android/server/tare/ChargingModifier$ChargingTracker-IA;)V
+PLcom/android/server/tare/ChargingModifier;-><clinit>()V
+PLcom/android/server/tare/ChargingModifier;-><init>(Lcom/android/server/tare/InternalResourceService;)V
+PLcom/android/server/tare/CompleteEconomicPolicy$CompleteInjector;-><init>()V
+PLcom/android/server/tare/CompleteEconomicPolicy$CompleteInjector;->isPolicyEnabled(ILandroid/provider/DeviceConfig$Properties;)Z
+PLcom/android/server/tare/CompleteEconomicPolicy;-><clinit>()V
+PLcom/android/server/tare/CompleteEconomicPolicy;-><init>(Lcom/android/server/tare/InternalResourceService;)V
+PLcom/android/server/tare/CompleteEconomicPolicy;-><init>(Lcom/android/server/tare/InternalResourceService;Lcom/android/server/tare/CompleteEconomicPolicy$CompleteInjector;)V
+HPLcom/android/server/tare/CompleteEconomicPolicy;->getAction(I)Lcom/android/server/tare/EconomicPolicy$Action;
+PLcom/android/server/tare/CompleteEconomicPolicy;->getCostModifiers()[I
+PLcom/android/server/tare/CompleteEconomicPolicy;->isPolicyEnabled(I)Z
+PLcom/android/server/tare/DeviceIdleModifier$DeviceIdleTracker;-><init>(Lcom/android/server/tare/DeviceIdleModifier;)V
+PLcom/android/server/tare/DeviceIdleModifier;-><clinit>()V
+PLcom/android/server/tare/DeviceIdleModifier;-><init>(Lcom/android/server/tare/InternalResourceService;)V
+PLcom/android/server/tare/EconomicPolicy$Action;-><init>(IJJ)V
+PLcom/android/server/tare/EconomicPolicy$Action;-><init>(IJJZ)V
+PLcom/android/server/tare/EconomicPolicy$Injector;-><init>()V
+PLcom/android/server/tare/EconomicPolicy$Reward;-><init>(IJJJ)V
+PLcom/android/server/tare/EconomicPolicy;-><clinit>()V
+PLcom/android/server/tare/EconomicPolicy;-><init>(Lcom/android/server/tare/InternalResourceService;)V
+PLcom/android/server/tare/EconomicPolicy;->getConstantAsCake(Ljava/lang/String;J)J
+HPLcom/android/server/tare/EconomicPolicy;->getConstantAsCake(Ljava/lang/String;JJ)J
+PLcom/android/server/tare/EconomicPolicy;->initModifier(ILcom/android/server/tare/InternalResourceService;)V
+PLcom/android/server/tare/EconomyManagerInternal$ActionBill$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/tare/EconomyManagerInternal$ActionBill$$ExternalSyntheticLambda0;->applyAsInt(Ljava/lang/Object;)I
+PLcom/android/server/tare/EconomyManagerInternal$ActionBill;->$r8$lambda$jbYRct5AtAlpj4cxb-8ZcW2zmwE(Lcom/android/server/tare/EconomyManagerInternal$AnticipatedAction;)I
+PLcom/android/server/tare/EconomyManagerInternal$ActionBill;-><clinit>()V
+HPLcom/android/server/tare/EconomyManagerInternal$ActionBill;-><init>(Ljava/util/List;)V
+PLcom/android/server/tare/EconomyManagerInternal$ActionBill;->equals(Ljava/lang/Object;)Z
+PLcom/android/server/tare/EconomyManagerInternal$ActionBill;->getAnticipatedActions()Ljava/util/List;
+PLcom/android/server/tare/EconomyManagerInternal$ActionBill;->hashCode()I
+PLcom/android/server/tare/EconomyManagerInternal$ActionBill;->lambda$static$0(Lcom/android/server/tare/EconomyManagerInternal$AnticipatedAction;)I
+PLcom/android/server/tare/EconomyManagerInternal$AnticipatedAction;-><init>(IIJ)V
+PLcom/android/server/tare/EconomyManagerInternal$AnticipatedAction;->equals(Ljava/lang/Object;)Z
+PLcom/android/server/tare/EconomyManagerInternal$AnticipatedAction;->hashCode()I
+PLcom/android/server/tare/InternalResourceService$1;-><init>(Lcom/android/server/tare/InternalResourceService;)V
+PLcom/android/server/tare/InternalResourceService$2;-><init>(Lcom/android/server/tare/InternalResourceService;)V
+PLcom/android/server/tare/InternalResourceService$3;-><init>(Lcom/android/server/tare/InternalResourceService;)V
+PLcom/android/server/tare/InternalResourceService$4;-><init>(Lcom/android/server/tare/InternalResourceService;)V
+PLcom/android/server/tare/InternalResourceService$ConfigObserver;-><init>(Lcom/android/server/tare/InternalResourceService;Landroid/os/Handler;Landroid/content/Context;)V
+PLcom/android/server/tare/InternalResourceService$ConfigObserver;->getAllDeviceConfigProperties()Landroid/provider/DeviceConfig$Properties;
+PLcom/android/server/tare/InternalResourceService$ConfigObserver;->onPropertiesChanged(Landroid/provider/DeviceConfig$Properties;)V
+PLcom/android/server/tare/InternalResourceService$ConfigObserver;->start()V
+PLcom/android/server/tare/InternalResourceService$ConfigObserver;->updateEnabledStatus()V
+PLcom/android/server/tare/InternalResourceService$EconomyManagerStub;-><init>(Lcom/android/server/tare/InternalResourceService;)V
+PLcom/android/server/tare/InternalResourceService$IrsHandler;-><init>(Lcom/android/server/tare/InternalResourceService;Landroid/os/Looper;)V
+PLcom/android/server/tare/InternalResourceService$IrsHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/tare/InternalResourceService$LocalService;-><init>(Lcom/android/server/tare/InternalResourceService;)V
+PLcom/android/server/tare/InternalResourceService$LocalService;-><init>(Lcom/android/server/tare/InternalResourceService;Lcom/android/server/tare/InternalResourceService$LocalService-IA;)V
+PLcom/android/server/tare/InternalResourceService$LocalService;->getEnabledMode(I)I
+PLcom/android/server/tare/InternalResourceService$LocalService;->noteInstantaneousEvent(ILjava/lang/String;ILjava/lang/String;)V
+PLcom/android/server/tare/InternalResourceService$LocalService;->noteOngoingEventStarted(ILjava/lang/String;ILjava/lang/String;)V
+PLcom/android/server/tare/InternalResourceService$LocalService;->noteOngoingEventStopped(ILjava/lang/String;ILjava/lang/String;)V
+HPLcom/android/server/tare/InternalResourceService$LocalService;->registerAffordabilityChangeListener(ILjava/lang/String;Lcom/android/server/tare/EconomyManagerInternal$AffordabilityChangeListener;Lcom/android/server/tare/EconomyManagerInternal$ActionBill;)V
+PLcom/android/server/tare/InternalResourceService$LocalService;->registerTareStateChangeListener(Lcom/android/server/tare/EconomyManagerInternal$TareStateChangeListener;I)V
+HPLcom/android/server/tare/InternalResourceService$LocalService;->unregisterAffordabilityChangeListener(ILjava/lang/String;Lcom/android/server/tare/EconomyManagerInternal$AffordabilityChangeListener;Lcom/android/server/tare/EconomyManagerInternal$ActionBill;)V
+HPLcom/android/server/tare/InternalResourceService;->-$$Nest$fgetmAgent(Lcom/android/server/tare/InternalResourceService;)Lcom/android/server/tare/Agent;
+HPLcom/android/server/tare/InternalResourceService;->-$$Nest$fgetmEnabledMode(Lcom/android/server/tare/InternalResourceService;)I
+PLcom/android/server/tare/InternalResourceService;->-$$Nest$fgetmHandler(Lcom/android/server/tare/InternalResourceService;)Landroid/os/Handler;
+HPLcom/android/server/tare/InternalResourceService;->-$$Nest$fgetmLock(Lcom/android/server/tare/InternalResourceService;)Ljava/lang/Object;
+PLcom/android/server/tare/InternalResourceService;->-$$Nest$fgetmStateChangeListeners(Lcom/android/server/tare/InternalResourceService;)Landroid/util/SparseSetArray;
+HPLcom/android/server/tare/InternalResourceService;->-$$Nest$misTareSupported(Lcom/android/server/tare/InternalResourceService;)Z
+PLcom/android/server/tare/InternalResourceService;-><clinit>()V
+HPLcom/android/server/tare/InternalResourceService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/tare/InternalResourceService;->getCompleteEconomicPolicyLocked()Lcom/android/server/tare/CompleteEconomicPolicy;
+PLcom/android/server/tare/InternalResourceService;->getEnabledMode()I
+PLcom/android/server/tare/InternalResourceService;->getEnabledMode(I)I
+PLcom/android/server/tare/InternalResourceService;->getLock()Ljava/lang/Object;
+HPLcom/android/server/tare/InternalResourceService;->getUid(ILjava/lang/String;)I
+HPLcom/android/server/tare/InternalResourceService;->isSystem(ILjava/lang/String;)Z
+HPLcom/android/server/tare/InternalResourceService;->isTareSupported()Z
+PLcom/android/server/tare/InternalResourceService;->onBootPhase(I)V
+PLcom/android/server/tare/InternalResourceService;->onBootPhaseBootCompleted()V
+PLcom/android/server/tare/InternalResourceService;->onBootPhaseSystemServicesReady()V
+PLcom/android/server/tare/InternalResourceService;->onBootPhaseThirdPartyAppsCanStart()V
+PLcom/android/server/tare/InternalResourceService;->onStart()V
+PLcom/android/server/tare/JobSchedulerEconomicPolicy;-><clinit>()V
+PLcom/android/server/tare/JobSchedulerEconomicPolicy;-><init>(Lcom/android/server/tare/InternalResourceService;Lcom/android/server/tare/EconomicPolicy$Injector;)V
+PLcom/android/server/tare/JobSchedulerEconomicPolicy;->getAction(I)Lcom/android/server/tare/EconomicPolicy$Action;
+PLcom/android/server/tare/JobSchedulerEconomicPolicy;->getCostModifiers()[I
+HPLcom/android/server/tare/JobSchedulerEconomicPolicy;->loadConstants(Ljava/lang/String;Landroid/provider/DeviceConfig$Properties;)V
+PLcom/android/server/tare/Modifier;-><init>()V
+PLcom/android/server/tare/PowerSaveModeModifier$PowerSaveModeTracker;-><init>(Lcom/android/server/tare/PowerSaveModeModifier;)V
+PLcom/android/server/tare/PowerSaveModeModifier$PowerSaveModeTracker;-><init>(Lcom/android/server/tare/PowerSaveModeModifier;Lcom/android/server/tare/PowerSaveModeModifier$PowerSaveModeTracker-IA;)V
+PLcom/android/server/tare/PowerSaveModeModifier;->-$$Nest$fgetmIrs(Lcom/android/server/tare/PowerSaveModeModifier;)Lcom/android/server/tare/InternalResourceService;
+PLcom/android/server/tare/PowerSaveModeModifier;-><clinit>()V
+PLcom/android/server/tare/PowerSaveModeModifier;-><init>(Lcom/android/server/tare/InternalResourceService;)V
+PLcom/android/server/tare/ProcessStateModifier$1;-><init>(Lcom/android/server/tare/ProcessStateModifier;)V
+PLcom/android/server/tare/ProcessStateModifier;-><clinit>()V
+PLcom/android/server/tare/ProcessStateModifier;-><init>(Lcom/android/server/tare/InternalResourceService;)V
+PLcom/android/server/tare/Scribe$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/tare/Scribe;)V
+PLcom/android/server/tare/Scribe$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/tare/Scribe;)V
+PLcom/android/server/tare/Scribe;-><clinit>()V
+PLcom/android/server/tare/Scribe;-><init>(Lcom/android/server/tare/InternalResourceService;Lcom/android/server/tare/Analyst;)V
+PLcom/android/server/tare/Scribe;-><init>(Lcom/android/server/tare/InternalResourceService;Lcom/android/server/tare/Analyst;Ljava/io/File;)V
+PLcom/android/server/tare/TareHandlerThread;-><init>()V
+PLcom/android/server/tare/TareHandlerThread;->ensureThreadLocked()V
+PLcom/android/server/tare/TareHandlerThread;->get()Lcom/android/server/tare/TareHandlerThread;
+PLcom/android/server/tare/TareHandlerThread;->getExecutor()Ljava/util/concurrent/Executor;
+PLcom/android/server/telecom/InternalServiceRepository$1;-><init>(Lcom/android/server/telecom/InternalServiceRepository;)V
+PLcom/android/server/telecom/InternalServiceRepository;-><init>(Lcom/android/server/DeviceIdleInternal;)V
+PLcom/android/server/telecom/InternalServiceRepository;->ensureSystemProcess()V
+PLcom/android/server/telecom/InternalServiceRepository;->getDeviceIdleController()Lcom/android/internal/telecom/IDeviceIdleControllerAdapter;
+PLcom/android/server/telecom/TelecomLoaderService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/telecom/TelecomLoaderService;)V
+PLcom/android/server/telecom/TelecomLoaderService$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/telecom/TelecomLoaderService;)V
+PLcom/android/server/telecom/TelecomLoaderService$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/telecom/TelecomLoaderService;)V
+PLcom/android/server/telecom/TelecomLoaderService$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/telecom/TelecomLoaderService;)V
+PLcom/android/server/telecom/TelecomLoaderService$1;-><init>(Lcom/android/server/telecom/TelecomLoaderService;)V
+PLcom/android/server/telecom/TelecomLoaderService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/telecom/TelecomLoaderService$TelecomServiceConnection;-><init>(Lcom/android/server/telecom/TelecomLoaderService;)V
+PLcom/android/server/telecom/TelecomLoaderService$TelecomServiceConnection;-><init>(Lcom/android/server/telecom/TelecomLoaderService;Lcom/android/server/telecom/TelecomLoaderService$TelecomServiceConnection-IA;)V
+PLcom/android/server/telecom/TelecomLoaderService$TelecomServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/telecom/TelecomLoaderService;->-$$Nest$fgetmContext(Lcom/android/server/telecom/TelecomLoaderService;)Landroid/content/Context;
+PLcom/android/server/telecom/TelecomLoaderService;->-$$Nest$fgetmDefaultSimCallManagerRequests(Lcom/android/server/telecom/TelecomLoaderService;)Landroid/util/IntArray;
+PLcom/android/server/telecom/TelecomLoaderService;->-$$Nest$fgetmLock(Lcom/android/server/telecom/TelecomLoaderService;)Ljava/lang/Object;
+PLcom/android/server/telecom/TelecomLoaderService;->-$$Nest$fgetmServiceRepo(Lcom/android/server/telecom/TelecomLoaderService;)Lcom/android/server/telecom/InternalServiceRepository;
+PLcom/android/server/telecom/TelecomLoaderService;->-$$Nest$mupdateSimCallManagerPermissions(Lcom/android/server/telecom/TelecomLoaderService;I)V
+PLcom/android/server/telecom/TelecomLoaderService;-><clinit>()V
+PLcom/android/server/telecom/TelecomLoaderService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/telecom/TelecomLoaderService;->connectToTelecom()V
+PLcom/android/server/telecom/TelecomLoaderService;->onBootPhase(I)V
+PLcom/android/server/telecom/TelecomLoaderService;->onStart()V
+PLcom/android/server/telecom/TelecomLoaderService;->registerCarrierConfigChangedReceiver()V
+PLcom/android/server/telecom/TelecomLoaderService;->registerDefaultAppNotifier()V
+PLcom/android/server/telecom/TelecomLoaderService;->registerDefaultAppProviders()V
+PLcom/android/server/telecom/TelecomLoaderService;->setupServiceRepository()V
+PLcom/android/server/telecom/TelecomLoaderService;->updateSimCallManagerPermissions(I)V
+PLcom/android/server/testharness/TestHarnessModeService$1;-><init>(Lcom/android/server/testharness/TestHarnessModeService;)V
+PLcom/android/server/testharness/TestHarnessModeService;-><clinit>()V
+PLcom/android/server/testharness/TestHarnessModeService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/testharness/TestHarnessModeService;->completeTestHarnessModeSetup()V
+PLcom/android/server/testharness/TestHarnessModeService;->getPersistentDataBlock()Lcom/android/server/pdb/PersistentDataBlockManagerInternal;
+PLcom/android/server/testharness/TestHarnessModeService;->getTestHarnessModeData()[B
+PLcom/android/server/testharness/TestHarnessModeService;->onBootPhase(I)V
+PLcom/android/server/testharness/TestHarnessModeService;->onStart()V
+PLcom/android/server/testharness/TestHarnessModeService;->setUpTestHarnessMode()V
+PLcom/android/server/testharness/TestHarnessModeService;->showNotificationIfEnabled()V
+PLcom/android/server/textclassifier/FixedSizeQueue;-><init>(ILcom/android/server/textclassifier/FixedSizeQueue$OnEntryEvictedListener;)V
+PLcom/android/server/textclassifier/FixedSizeQueue;->isEmpty()Z
+PLcom/android/server/textclassifier/IconsContentProvider$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/textclassifier/IconsContentProvider;)V
+PLcom/android/server/textclassifier/IconsContentProvider;-><init>()V
+PLcom/android/server/textclassifier/IconsContentProvider;->onCreate()Z
+PLcom/android/server/textclassifier/TextClassificationManagerService$1;-><init>()V
+PLcom/android/server/textclassifier/TextClassificationManagerService$2;-><init>(Lcom/android/server/textclassifier/TextClassificationManagerService;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService$Lifecycle;->onStart()V
+PLcom/android/server/textclassifier/TextClassificationManagerService$Lifecycle;->onUserStarting(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService$Lifecycle;->onUserUnlocking(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService$Lifecycle;->processAnyPendingWork(I)V
+PLcom/android/server/textclassifier/TextClassificationManagerService$Lifecycle;->updatePackageStateForUser(I)V
+PLcom/android/server/textclassifier/TextClassificationManagerService$ServiceState$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/textclassifier/TextClassificationManagerService$ServiceState$TextClassifierServiceConnection;-><init>(Lcom/android/server/textclassifier/TextClassificationManagerService$ServiceState;I)V
+PLcom/android/server/textclassifier/TextClassificationManagerService$ServiceState;->-$$Nest$mbindIfHasPendingRequestsLocked(Lcom/android/server/textclassifier/TextClassificationManagerService$ServiceState;)Z
+PLcom/android/server/textclassifier/TextClassificationManagerService$ServiceState;->-$$Nest$mupdatePackageStateLocked(Lcom/android/server/textclassifier/TextClassificationManagerService$ServiceState;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService$ServiceState;-><init>(Lcom/android/server/textclassifier/TextClassificationManagerService;ILjava/lang/String;Z)V
+PLcom/android/server/textclassifier/TextClassificationManagerService$ServiceState;-><init>(Lcom/android/server/textclassifier/TextClassificationManagerService;ILjava/lang/String;ZLcom/android/server/textclassifier/TextClassificationManagerService$ServiceState-IA;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService$ServiceState;->bindIfHasPendingRequestsLocked()Z
+PLcom/android/server/textclassifier/TextClassificationManagerService$ServiceState;->createBindServiceFlags(Ljava/lang/String;)I
+PLcom/android/server/textclassifier/TextClassificationManagerService$ServiceState;->isPackageInstalledForUser()Z
+PLcom/android/server/textclassifier/TextClassificationManagerService$ServiceState;->isServiceEnabledForUser()Z
+PLcom/android/server/textclassifier/TextClassificationManagerService$ServiceState;->updatePackageStateLocked()V
+PLcom/android/server/textclassifier/TextClassificationManagerService$SessionCache$1;-><init>(Lcom/android/server/textclassifier/TextClassificationManagerService$SessionCache;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService$SessionCache$2;-><init>(Lcom/android/server/textclassifier/TextClassificationManagerService$SessionCache;I)V
+PLcom/android/server/textclassifier/TextClassificationManagerService$SessionCache;-><init>(Ljava/lang/Object;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService$TextClassifierSettingsListener;-><init>(Lcom/android/server/textclassifier/TextClassificationManagerService;Landroid/content/Context;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService$TextClassifierSettingsListener;->registerObserver()V
+PLcom/android/server/textclassifier/TextClassificationManagerService$UserState;->-$$Nest$mupdatePackageStateLocked(Lcom/android/server/textclassifier/TextClassificationManagerService$UserState;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService$UserState;-><init>(Lcom/android/server/textclassifier/TextClassificationManagerService;I)V
+PLcom/android/server/textclassifier/TextClassificationManagerService$UserState;-><init>(Lcom/android/server/textclassifier/TextClassificationManagerService;ILcom/android/server/textclassifier/TextClassificationManagerService$UserState-IA;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService$UserState;->bindIfHasPendingRequestsLocked()V
+PLcom/android/server/textclassifier/TextClassificationManagerService$UserState;->getAllServiceStatesLocked()Ljava/util/List;
+PLcom/android/server/textclassifier/TextClassificationManagerService$UserState;->updatePackageStateLocked()V
+PLcom/android/server/textclassifier/TextClassificationManagerService;->-$$Nest$fgetmContext(Lcom/android/server/textclassifier/TextClassificationManagerService;)Landroid/content/Context;
+PLcom/android/server/textclassifier/TextClassificationManagerService;->-$$Nest$fgetmDefaultTextClassifierPackage(Lcom/android/server/textclassifier/TextClassificationManagerService;)Ljava/lang/String;
+PLcom/android/server/textclassifier/TextClassificationManagerService;->-$$Nest$fgetmLock(Lcom/android/server/textclassifier/TextClassificationManagerService;)Ljava/lang/Object;
+PLcom/android/server/textclassifier/TextClassificationManagerService;->-$$Nest$fgetmSettings(Lcom/android/server/textclassifier/TextClassificationManagerService;)Landroid/view/textclassifier/TextClassificationConstants;
+PLcom/android/server/textclassifier/TextClassificationManagerService;->-$$Nest$fgetmSystemTextClassifierPackage(Lcom/android/server/textclassifier/TextClassificationManagerService;)Ljava/lang/String;
+PLcom/android/server/textclassifier/TextClassificationManagerService;->-$$Nest$mgetUserStateLocked(Lcom/android/server/textclassifier/TextClassificationManagerService;I)Lcom/android/server/textclassifier/TextClassificationManagerService$UserState;
+PLcom/android/server/textclassifier/TextClassificationManagerService;->-$$Nest$mstartListenSettings(Lcom/android/server/textclassifier/TextClassificationManagerService;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService;-><clinit>()V
+PLcom/android/server/textclassifier/TextClassificationManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService;-><init>(Landroid/content/Context;Lcom/android/server/textclassifier/TextClassificationManagerService-IA;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService;->getUserStateLocked(I)Lcom/android/server/textclassifier/TextClassificationManagerService$UserState;
+PLcom/android/server/textclassifier/TextClassificationManagerService;->startListenSettings()V
+PLcom/android/server/textclassifier/TextClassificationManagerService;->startTrackingPackageChanges()V
+PLcom/android/server/textservices/TextServicesManagerInternal$1;-><init>()V
+PLcom/android/server/textservices/TextServicesManagerInternal;-><clinit>()V
+PLcom/android/server/textservices/TextServicesManagerInternal;-><init>()V
+PLcom/android/server/textservices/TextServicesManagerInternal;->get()Lcom/android/server/textservices/TextServicesManagerInternal;
+PLcom/android/server/textservices/TextServicesManagerService$Lifecycle$1;-><init>(Lcom/android/server/textservices/TextServicesManagerService$Lifecycle;)V
+PLcom/android/server/textservices/TextServicesManagerService$Lifecycle$1;->getCurrentSpellCheckerForUser(I)Landroid/view/textservice/SpellCheckerInfo;
+PLcom/android/server/textservices/TextServicesManagerService$Lifecycle;->-$$Nest$fgetmService(Lcom/android/server/textservices/TextServicesManagerService$Lifecycle;)Lcom/android/server/textservices/TextServicesManagerService;
+PLcom/android/server/textservices/TextServicesManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/textservices/TextServicesManagerService$Lifecycle;->onStart()V
+PLcom/android/server/textservices/TextServicesManagerService$Lifecycle;->onUserUnlocking(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->-$$Nest$fgetmSpellCheckerList(Lcom/android/server/textservices/TextServicesManagerService$TextServicesData;)Ljava/util/ArrayList;
+PLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->-$$Nest$minitializeTextServicesData(Lcom/android/server/textservices/TextServicesManagerService$TextServicesData;)V
+PLcom/android/server/textservices/TextServicesManagerService$TextServicesData;-><init>(ILandroid/content/Context;)V
+PLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->getCurrentSpellChecker()Landroid/view/textservice/SpellCheckerInfo;
+PLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->getInt(Ljava/lang/String;I)I
+PLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->getSelectedSpellChecker()Ljava/lang/String;
+PLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->getSelectedSpellCheckerSubtype(I)I
+PLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->initializeTextServicesData()V
+PLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->putInt(Ljava/lang/String;I)V
+PLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->putSelectedSpellChecker(Ljava/lang/String;)V
+PLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->putSelectedSpellCheckerSubtype(I)V
+PLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->putString(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->setCurrentSpellChecker(Landroid/view/textservice/SpellCheckerInfo;)V
+PLcom/android/server/textservices/TextServicesManagerService$TextServicesMonitor;-><init>(Lcom/android/server/textservices/TextServicesManagerService;)V
+PLcom/android/server/textservices/TextServicesManagerService$TextServicesMonitor;-><init>(Lcom/android/server/textservices/TextServicesManagerService;Lcom/android/server/textservices/TextServicesManagerService$TextServicesMonitor-IA;)V
+PLcom/android/server/textservices/TextServicesManagerService;->-$$Nest$mgetCurrentSpellCheckerForUser(Lcom/android/server/textservices/TextServicesManagerService;I)Landroid/view/textservice/SpellCheckerInfo;
+PLcom/android/server/textservices/TextServicesManagerService;-><clinit>()V
+PLcom/android/server/textservices/TextServicesManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/textservices/TextServicesManagerService;->findAvailSystemSpellCheckerLocked(Ljava/lang/String;Lcom/android/server/textservices/TextServicesManagerService$TextServicesData;)Landroid/view/textservice/SpellCheckerInfo;
+PLcom/android/server/textservices/TextServicesManagerService;->getCurrentSpellCheckerForUser(I)Landroid/view/textservice/SpellCheckerInfo;
+PLcom/android/server/textservices/TextServicesManagerService;->getCurrentSpellCheckerSubtype(IZ)Landroid/view/textservice/SpellCheckerSubtype;
+PLcom/android/server/textservices/TextServicesManagerService;->getDataFromCallingUserIdLocked(I)Lcom/android/server/textservices/TextServicesManagerService$TextServicesData;
+PLcom/android/server/textservices/TextServicesManagerService;->initializeInternalStateLocked(I)V
+PLcom/android/server/textservices/TextServicesManagerService;->onUnlockUser(I)V
+PLcom/android/server/textservices/TextServicesManagerService;->setCurrentSpellCheckerLocked(Landroid/view/textservice/SpellCheckerInfo;Lcom/android/server/textservices/TextServicesManagerService$TextServicesData;)V
+PLcom/android/server/textservices/TextServicesManagerService;->verifyUser(I)V
+PLcom/android/server/texttospeech/TextToSpeechManagerPerUserService;-><clinit>()V
+PLcom/android/server/texttospeech/TextToSpeechManagerPerUserService;-><init>(Lcom/android/server/texttospeech/TextToSpeechManagerService;Ljava/lang/Object;I)V
+PLcom/android/server/texttospeech/TextToSpeechManagerService$TextToSpeechManagerServiceStub;-><init>(Lcom/android/server/texttospeech/TextToSpeechManagerService;)V
+PLcom/android/server/texttospeech/TextToSpeechManagerService$TextToSpeechManagerServiceStub;-><init>(Lcom/android/server/texttospeech/TextToSpeechManagerService;Lcom/android/server/texttospeech/TextToSpeechManagerService$TextToSpeechManagerServiceStub-IA;)V
+PLcom/android/server/texttospeech/TextToSpeechManagerService;-><clinit>()V
+PLcom/android/server/texttospeech/TextToSpeechManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/texttospeech/TextToSpeechManagerService;->newServiceLocked(IZ)Lcom/android/server/infra/AbstractPerUserSystemService;
+PLcom/android/server/texttospeech/TextToSpeechManagerService;->newServiceLocked(IZ)Lcom/android/server/texttospeech/TextToSpeechManagerPerUserService;
+PLcom/android/server/texttospeech/TextToSpeechManagerService;->onStart()V
+PLcom/android/server/timedetector/ConfigurationInternal$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/timedetector/ConfigurationInternal$$ExternalSyntheticLambda0;->apply(I)Ljava/lang/Object;
+PLcom/android/server/timedetector/ConfigurationInternal$Builder;->-$$Nest$fgetmAutoDetectionEnabledSetting(Lcom/android/server/timedetector/ConfigurationInternal$Builder;)Z
+PLcom/android/server/timedetector/ConfigurationInternal$Builder;->-$$Nest$fgetmAutoDetectionSupported(Lcom/android/server/timedetector/ConfigurationInternal$Builder;)Z
+PLcom/android/server/timedetector/ConfigurationInternal$Builder;->-$$Nest$fgetmAutoSuggestionLowerBound(Lcom/android/server/timedetector/ConfigurationInternal$Builder;)Ljava/time/Instant;
+PLcom/android/server/timedetector/ConfigurationInternal$Builder;->-$$Nest$fgetmManualSuggestionLowerBound(Lcom/android/server/timedetector/ConfigurationInternal$Builder;)Ljava/time/Instant;
+PLcom/android/server/timedetector/ConfigurationInternal$Builder;->-$$Nest$fgetmOriginPriorities(Lcom/android/server/timedetector/ConfigurationInternal$Builder;)[I
+PLcom/android/server/timedetector/ConfigurationInternal$Builder;->-$$Nest$fgetmSuggestionUpperBound(Lcom/android/server/timedetector/ConfigurationInternal$Builder;)Ljava/time/Instant;
+PLcom/android/server/timedetector/ConfigurationInternal$Builder;->-$$Nest$fgetmSystemClockConfidenceThresholdMillis(Lcom/android/server/timedetector/ConfigurationInternal$Builder;)I
+PLcom/android/server/timedetector/ConfigurationInternal$Builder;->-$$Nest$fgetmSystemClockUpdateThresholdMillis(Lcom/android/server/timedetector/ConfigurationInternal$Builder;)I
+PLcom/android/server/timedetector/ConfigurationInternal$Builder;->-$$Nest$fgetmUserConfigAllowed(Lcom/android/server/timedetector/ConfigurationInternal$Builder;)Z
+PLcom/android/server/timedetector/ConfigurationInternal$Builder;->-$$Nest$fgetmUserId(Lcom/android/server/timedetector/ConfigurationInternal$Builder;)I
+PLcom/android/server/timedetector/ConfigurationInternal$Builder;-><init>(I)V
+PLcom/android/server/timedetector/ConfigurationInternal$Builder;->build()Lcom/android/server/timedetector/ConfigurationInternal;
+PLcom/android/server/timedetector/ConfigurationInternal$Builder;->setAutoDetectionEnabledSetting(Z)Lcom/android/server/timedetector/ConfigurationInternal$Builder;
+PLcom/android/server/timedetector/ConfigurationInternal$Builder;->setAutoDetectionSupported(Z)Lcom/android/server/timedetector/ConfigurationInternal$Builder;
+PLcom/android/server/timedetector/ConfigurationInternal$Builder;->setAutoSuggestionLowerBound(Ljava/time/Instant;)Lcom/android/server/timedetector/ConfigurationInternal$Builder;
+PLcom/android/server/timedetector/ConfigurationInternal$Builder;->setManualSuggestionLowerBound(Ljava/time/Instant;)Lcom/android/server/timedetector/ConfigurationInternal$Builder;
+PLcom/android/server/timedetector/ConfigurationInternal$Builder;->setOriginPriorities([I)Lcom/android/server/timedetector/ConfigurationInternal$Builder;
+PLcom/android/server/timedetector/ConfigurationInternal$Builder;->setSuggestionUpperBound(Ljava/time/Instant;)Lcom/android/server/timedetector/ConfigurationInternal$Builder;
+PLcom/android/server/timedetector/ConfigurationInternal$Builder;->setSystemClockConfidenceThresholdMillis(I)Lcom/android/server/timedetector/ConfigurationInternal$Builder;
+PLcom/android/server/timedetector/ConfigurationInternal$Builder;->setSystemClockUpdateThresholdMillis(I)Lcom/android/server/timedetector/ConfigurationInternal$Builder;
+PLcom/android/server/timedetector/ConfigurationInternal$Builder;->setUserConfigAllowed(Z)Lcom/android/server/timedetector/ConfigurationInternal$Builder;
+PLcom/android/server/timedetector/ConfigurationInternal;-><init>(Lcom/android/server/timedetector/ConfigurationInternal$Builder;)V
+PLcom/android/server/timedetector/ConfigurationInternal;-><init>(Lcom/android/server/timedetector/ConfigurationInternal$Builder;Lcom/android/server/timedetector/ConfigurationInternal-IA;)V
+PLcom/android/server/timedetector/ConfigurationInternal;->equals(Ljava/lang/Object;)Z
+PLcom/android/server/timedetector/ConfigurationInternal;->getAutoDetectionEnabledBehavior()Z
+PLcom/android/server/timedetector/ConfigurationInternal;->isAutoDetectionSupported()Z
+HPLcom/android/server/timedetector/ConfigurationInternal;->toString()Ljava/lang/String;
+PLcom/android/server/timedetector/EnvironmentImpl;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/timedetector/EnvironmentImpl;->addDebugLogEntry(Ljava/lang/String;)V
+PLcom/android/server/timedetector/ServerFlags$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/timedetector/ServerFlags;)V
+PLcom/android/server/timedetector/ServerFlags;-><clinit>()V
+PLcom/android/server/timedetector/ServerFlags;-><init>(Landroid/content/Context;)V
+PLcom/android/server/timedetector/ServerFlags;->addListener(Lcom/android/server/timezonedetector/StateChangeListener;Ljava/util/Set;)V
+PLcom/android/server/timedetector/ServerFlags;->getBoolean(Ljava/lang/String;Z)Z
+PLcom/android/server/timedetector/ServerFlags;->getInstance(Landroid/content/Context;)Lcom/android/server/timedetector/ServerFlags;
+PLcom/android/server/timedetector/ServerFlags;->getOptionalBoolean(Ljava/lang/String;)Ljava/util/Optional;
+PLcom/android/server/timedetector/ServerFlags;->getOptionalInstant(Ljava/lang/String;)Ljava/util/Optional;
+PLcom/android/server/timedetector/ServerFlags;->getOptionalString(Ljava/lang/String;)Ljava/util/Optional;
+PLcom/android/server/timedetector/ServerFlags;->getOptionalStringArray(Ljava/lang/String;)Ljava/util/Optional;
+PLcom/android/server/timedetector/ServerFlags;->parseOptionalBoolean(Ljava/lang/String;)Ljava/util/Optional;
+PLcom/android/server/timedetector/ServiceConfigAccessorImpl$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/timedetector/ServiceConfigAccessorImpl;)V
+PLcom/android/server/timedetector/ServiceConfigAccessorImpl$1;-><init>(Lcom/android/server/timedetector/ServiceConfigAccessorImpl;)V
+PLcom/android/server/timedetector/ServiceConfigAccessorImpl$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/timedetector/ServiceConfigAccessorImpl$2;-><init>(Lcom/android/server/timedetector/ServiceConfigAccessorImpl;Landroid/os/Handler;)V
+PLcom/android/server/timedetector/ServiceConfigAccessorImpl$BaseOriginPrioritiesSupplier;-><init>()V
+PLcom/android/server/timedetector/ServiceConfigAccessorImpl$BaseOriginPrioritiesSupplier;-><init>(Lcom/android/server/timedetector/ServiceConfigAccessorImpl$BaseOriginPrioritiesSupplier-IA;)V
+PLcom/android/server/timedetector/ServiceConfigAccessorImpl$BaseOriginPrioritiesSupplier;->get()[I
+PLcom/android/server/timedetector/ServiceConfigAccessorImpl$ConfigOriginPrioritiesSupplier;-><init>(Landroid/content/Context;)V
+PLcom/android/server/timedetector/ServiceConfigAccessorImpl$ConfigOriginPrioritiesSupplier;-><init>(Landroid/content/Context;Lcom/android/server/timedetector/ServiceConfigAccessorImpl$ConfigOriginPrioritiesSupplier-IA;)V
+PLcom/android/server/timedetector/ServiceConfigAccessorImpl$ConfigOriginPrioritiesSupplier;->lookupPriorityStrings()[Ljava/lang/String;
+PLcom/android/server/timedetector/ServiceConfigAccessorImpl$ServerFlagsOriginPrioritiesSupplier;-><init>(Lcom/android/server/timedetector/ServerFlags;)V
+PLcom/android/server/timedetector/ServiceConfigAccessorImpl$ServerFlagsOriginPrioritiesSupplier;-><init>(Lcom/android/server/timedetector/ServerFlags;Lcom/android/server/timedetector/ServiceConfigAccessorImpl$ServerFlagsOriginPrioritiesSupplier-IA;)V
+PLcom/android/server/timedetector/ServiceConfigAccessorImpl$ServerFlagsOriginPrioritiesSupplier;->lookupPriorityStrings()[Ljava/lang/String;
+PLcom/android/server/timedetector/ServiceConfigAccessorImpl;->-$$Nest$mhandleConfigurationInternalChangeOnMainThread(Lcom/android/server/timedetector/ServiceConfigAccessorImpl;)V
+PLcom/android/server/timedetector/ServiceConfigAccessorImpl;-><clinit>()V
+PLcom/android/server/timedetector/ServiceConfigAccessorImpl;-><init>(Landroid/content/Context;)V
+PLcom/android/server/timedetector/ServiceConfigAccessorImpl;->addConfigurationInternalChangeListener(Lcom/android/server/timezonedetector/StateChangeListener;)V
+PLcom/android/server/timedetector/ServiceConfigAccessorImpl;->getAutoDetectionEnabledSetting()Z
+PLcom/android/server/timedetector/ServiceConfigAccessorImpl;->getAutoSuggestionLowerBound()Ljava/time/Instant;
+PLcom/android/server/timedetector/ServiceConfigAccessorImpl;->getConfigurationInternal(I)Lcom/android/server/timedetector/ConfigurationInternal;
+PLcom/android/server/timedetector/ServiceConfigAccessorImpl;->getCurrentUserConfigurationInternal()Lcom/android/server/timedetector/ConfigurationInternal;
+PLcom/android/server/timedetector/ServiceConfigAccessorImpl;->getInstance(Landroid/content/Context;)Lcom/android/server/timedetector/ServiceConfigAccessor;
+PLcom/android/server/timedetector/ServiceConfigAccessorImpl;->getOriginPriorities()[I
+PLcom/android/server/timedetector/ServiceConfigAccessorImpl;->getSystemClockConfidenceUpgradeThresholdMillis()I
+PLcom/android/server/timedetector/ServiceConfigAccessorImpl;->getSystemClockUpdateThresholdMillis()I
+PLcom/android/server/timedetector/ServiceConfigAccessorImpl;->handleConfigurationInternalChangeOnMainThread()V
+PLcom/android/server/timedetector/ServiceConfigAccessorImpl;->isAutoDetectionSupported()Z
+PLcom/android/server/timedetector/ServiceConfigAccessorImpl;->isUserConfigAllowed(I)Z
+PLcom/android/server/timedetector/TimeDetectorInternalImpl;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/timezonedetector/CurrentUserIdentityInjector;Lcom/android/server/timedetector/ServiceConfigAccessor;Lcom/android/server/timedetector/TimeDetectorStrategy;)V
+PLcom/android/server/timedetector/TimeDetectorInternalImpl;->addNetworkTimeUpdateListener(Lcom/android/server/timezonedetector/StateChangeListener;)V
+PLcom/android/server/timedetector/TimeDetectorInternalImpl;->getLatestNetworkSuggestion()Lcom/android/server/timedetector/NetworkTimeSuggestion;
+PLcom/android/server/timedetector/TimeDetectorService$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/timedetector/TimeDetectorService;)V
+PLcom/android/server/timedetector/TimeDetectorService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/timedetector/TimeDetectorService$Lifecycle;->onStart()V
+PLcom/android/server/timedetector/TimeDetectorService;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/timezonedetector/CallerIdentityInjector;Lcom/android/server/timedetector/TimeDetectorStrategy;Landroid/util/NtpTrustedTime;)V
+HPLcom/android/server/timedetector/TimeDetectorService;->latestNetworkTime()Landroid/app/time/UnixEpochTime;
+PLcom/android/server/timedetector/TimeDetectorStrategy;->originToString(I)Ljava/lang/String;
+PLcom/android/server/timedetector/TimeDetectorStrategy;->stringToOrigin(Ljava/lang/String;)I
+PLcom/android/server/timedetector/TimeDetectorStrategyImpl$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/timedetector/TimeDetectorStrategyImpl;)V
+PLcom/android/server/timedetector/TimeDetectorStrategyImpl$$ExternalSyntheticLambda1;->onChange()V
+PLcom/android/server/timedetector/TimeDetectorStrategyImpl;->$r8$lambda$Ev1hBuSMiy0SsdTUkkpw6YwrYmA(Lcom/android/server/timedetector/TimeDetectorStrategyImpl;)V
+PLcom/android/server/timedetector/TimeDetectorStrategyImpl;-><init>(Lcom/android/server/timedetector/TimeDetectorStrategyImpl$Environment;Lcom/android/server/timedetector/ServiceConfigAccessor;)V
+PLcom/android/server/timedetector/TimeDetectorStrategyImpl;->addChangeListener(Lcom/android/server/timezonedetector/StateChangeListener;)V
+PLcom/android/server/timedetector/TimeDetectorStrategyImpl;->addDebugLogEntry(Ljava/lang/String;)V
+PLcom/android/server/timedetector/TimeDetectorStrategyImpl;->addNetworkTimeUpdateListener(Lcom/android/server/timezonedetector/StateChangeListener;)V
+PLcom/android/server/timedetector/TimeDetectorStrategyImpl;->create(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/timedetector/ServiceConfigAccessor;)Lcom/android/server/timedetector/TimeDetectorStrategy;
+HPLcom/android/server/timedetector/TimeDetectorStrategyImpl;->getLatestNetworkSuggestion()Lcom/android/server/timedetector/NetworkTimeSuggestion;
+PLcom/android/server/timedetector/TimeDetectorStrategyImpl;->handleConfigurationInternalMaybeChanged()V
+PLcom/android/server/timedetector/TimeDetectorStrategyImpl;->notifyStateChangeListenersAsynchronously()V
+PLcom/android/server/timedetector/TimeDetectorStrategyImpl;->updateCurrentConfigurationInternalIfRequired(Ljava/lang/String;)V
+PLcom/android/server/timezonedetector/ArrayMapWithHistory;-><init>(I)V
+PLcom/android/server/timezonedetector/ArrayMapWithHistory;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/timezonedetector/CallerIdentityInjector$Real;-><init>()V
+PLcom/android/server/timezonedetector/CallerIdentityInjector;-><clinit>()V
+PLcom/android/server/timezonedetector/ConfigurationInternal$Builder;->-$$Nest$fgetmAutoDetectionEnabledSetting(Lcom/android/server/timezonedetector/ConfigurationInternal$Builder;)Z
+PLcom/android/server/timezonedetector/ConfigurationInternal$Builder;->-$$Nest$fgetmEnhancedMetricsCollectionEnabled(Lcom/android/server/timezonedetector/ConfigurationInternal$Builder;)Z
+PLcom/android/server/timezonedetector/ConfigurationInternal$Builder;->-$$Nest$fgetmGeoDetectionEnabledSetting(Lcom/android/server/timezonedetector/ConfigurationInternal$Builder;)Z
+PLcom/android/server/timezonedetector/ConfigurationInternal$Builder;->-$$Nest$fgetmGeoDetectionRunInBackgroundEnabled(Lcom/android/server/timezonedetector/ConfigurationInternal$Builder;)Z
+PLcom/android/server/timezonedetector/ConfigurationInternal$Builder;->-$$Nest$fgetmGeoDetectionSupported(Lcom/android/server/timezonedetector/ConfigurationInternal$Builder;)Z
+PLcom/android/server/timezonedetector/ConfigurationInternal$Builder;->-$$Nest$fgetmLocationEnabledSetting(Lcom/android/server/timezonedetector/ConfigurationInternal$Builder;)Z
+PLcom/android/server/timezonedetector/ConfigurationInternal$Builder;->-$$Nest$fgetmTelephonyDetectionSupported(Lcom/android/server/timezonedetector/ConfigurationInternal$Builder;)Z
+PLcom/android/server/timezonedetector/ConfigurationInternal$Builder;->-$$Nest$fgetmTelephonyFallbackSupported(Lcom/android/server/timezonedetector/ConfigurationInternal$Builder;)Z
+PLcom/android/server/timezonedetector/ConfigurationInternal$Builder;->-$$Nest$fgetmUserConfigAllowed(Lcom/android/server/timezonedetector/ConfigurationInternal$Builder;)Z
+PLcom/android/server/timezonedetector/ConfigurationInternal$Builder;->-$$Nest$fgetmUserId(Lcom/android/server/timezonedetector/ConfigurationInternal$Builder;)Ljava/lang/Integer;
+PLcom/android/server/timezonedetector/ConfigurationInternal$Builder;-><init>()V
+PLcom/android/server/timezonedetector/ConfigurationInternal$Builder;->build()Lcom/android/server/timezonedetector/ConfigurationInternal;
+PLcom/android/server/timezonedetector/ConfigurationInternal$Builder;->setAutoDetectionEnabledSetting(Z)Lcom/android/server/timezonedetector/ConfigurationInternal$Builder;
+PLcom/android/server/timezonedetector/ConfigurationInternal$Builder;->setEnhancedMetricsCollectionEnabled(Z)Lcom/android/server/timezonedetector/ConfigurationInternal$Builder;
+PLcom/android/server/timezonedetector/ConfigurationInternal$Builder;->setGeoDetectionEnabledSetting(Z)Lcom/android/server/timezonedetector/ConfigurationInternal$Builder;
+PLcom/android/server/timezonedetector/ConfigurationInternal$Builder;->setGeoDetectionFeatureSupported(Z)Lcom/android/server/timezonedetector/ConfigurationInternal$Builder;
+PLcom/android/server/timezonedetector/ConfigurationInternal$Builder;->setGeoDetectionRunInBackgroundEnabled(Z)Lcom/android/server/timezonedetector/ConfigurationInternal$Builder;
+PLcom/android/server/timezonedetector/ConfigurationInternal$Builder;->setLocationEnabledSetting(Z)Lcom/android/server/timezonedetector/ConfigurationInternal$Builder;
+PLcom/android/server/timezonedetector/ConfigurationInternal$Builder;->setTelephonyDetectionFeatureSupported(Z)Lcom/android/server/timezonedetector/ConfigurationInternal$Builder;
+PLcom/android/server/timezonedetector/ConfigurationInternal$Builder;->setTelephonyFallbackSupported(Z)Lcom/android/server/timezonedetector/ConfigurationInternal$Builder;
+PLcom/android/server/timezonedetector/ConfigurationInternal$Builder;->setUserConfigAllowed(Z)Lcom/android/server/timezonedetector/ConfigurationInternal$Builder;
+PLcom/android/server/timezonedetector/ConfigurationInternal$Builder;->setUserId(I)Lcom/android/server/timezonedetector/ConfigurationInternal$Builder;
+PLcom/android/server/timezonedetector/ConfigurationInternal;-><init>(Lcom/android/server/timezonedetector/ConfigurationInternal$Builder;)V
+PLcom/android/server/timezonedetector/ConfigurationInternal;-><init>(Lcom/android/server/timezonedetector/ConfigurationInternal$Builder;Lcom/android/server/timezonedetector/ConfigurationInternal-IA;)V
+PLcom/android/server/timezonedetector/ConfigurationInternal;->equals(Ljava/lang/Object;)Z
+PLcom/android/server/timezonedetector/ConfigurationInternal;->getAutoDetectionEnabledBehavior()Z
+PLcom/android/server/timezonedetector/ConfigurationInternal;->getAutoDetectionEnabledSetting()Z
+PLcom/android/server/timezonedetector/ConfigurationInternal;->getDetectionMode()I
+PLcom/android/server/timezonedetector/ConfigurationInternal;->isAutoDetectionSupported()Z
+PLcom/android/server/timezonedetector/ConfigurationInternal;->isGeoDetectionSupported()Z
+PLcom/android/server/timezonedetector/ConfigurationInternal;->isTelephonyDetectionSupported()Z
+PLcom/android/server/timezonedetector/ConfigurationInternal;->toString()Ljava/lang/String;
+PLcom/android/server/timezonedetector/CurrentUserIdentityInjector$Real;-><init>()V
+PLcom/android/server/timezonedetector/CurrentUserIdentityInjector;-><clinit>()V
+PLcom/android/server/timezonedetector/DeviceActivityMonitorImpl$1;-><init>(Lcom/android/server/timezonedetector/DeviceActivityMonitorImpl;Landroid/os/Handler;Landroid/content/ContentResolver;)V
+PLcom/android/server/timezonedetector/DeviceActivityMonitorImpl;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/timezonedetector/DeviceActivityMonitorImpl;->addListener(Lcom/android/server/timezonedetector/DeviceActivityMonitor$Listener;)V
+PLcom/android/server/timezonedetector/DeviceActivityMonitorImpl;->create(Landroid/content/Context;Landroid/os/Handler;)Lcom/android/server/timezonedetector/DeviceActivityMonitor;
+PLcom/android/server/timezonedetector/EnvironmentImpl;-><init>(Landroid/os/Handler;)V
+PLcom/android/server/timezonedetector/EnvironmentImpl;->addDebugLogEntry(Ljava/lang/String;)V
+PLcom/android/server/timezonedetector/EnvironmentImpl;->elapsedRealtimeMillis()J
+PLcom/android/server/timezonedetector/ReferenceWithHistory;-><init>(I)V
+PLcom/android/server/timezonedetector/ReferenceWithHistory;->get()Ljava/lang/Object;
+PLcom/android/server/timezonedetector/ReferenceWithHistory;->set(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/timezonedetector/ServiceConfigAccessorImpl$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/timezonedetector/ServiceConfigAccessorImpl;)V
+PLcom/android/server/timezonedetector/ServiceConfigAccessorImpl$1;-><init>(Lcom/android/server/timezonedetector/ServiceConfigAccessorImpl;)V
+PLcom/android/server/timezonedetector/ServiceConfigAccessorImpl$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/timezonedetector/ServiceConfigAccessorImpl$2;-><init>(Lcom/android/server/timezonedetector/ServiceConfigAccessorImpl;Landroid/os/Handler;)V
+PLcom/android/server/timezonedetector/ServiceConfigAccessorImpl;->-$$Nest$mhandleConfigurationInternalChangeOnMainThread(Lcom/android/server/timezonedetector/ServiceConfigAccessorImpl;)V
+PLcom/android/server/timezonedetector/ServiceConfigAccessorImpl;-><clinit>()V
+PLcom/android/server/timezonedetector/ServiceConfigAccessorImpl;-><init>(Landroid/content/Context;)V
+PLcom/android/server/timezonedetector/ServiceConfigAccessorImpl;->addConfigurationInternalChangeListener(Lcom/android/server/timezonedetector/StateChangeListener;)V
+PLcom/android/server/timezonedetector/ServiceConfigAccessorImpl;->getAutoDetectionEnabledSetting()Z
+PLcom/android/server/timezonedetector/ServiceConfigAccessorImpl;->getConfigBoolean(I)Z
+PLcom/android/server/timezonedetector/ServiceConfigAccessorImpl;->getConfigurationInternal(I)Lcom/android/server/timezonedetector/ConfigurationInternal;
+PLcom/android/server/timezonedetector/ServiceConfigAccessorImpl;->getCurrentUserConfigurationInternal()Lcom/android/server/timezonedetector/ConfigurationInternal;
+PLcom/android/server/timezonedetector/ServiceConfigAccessorImpl;->getGeoDetectionEnabledSetting(I)Z
+PLcom/android/server/timezonedetector/ServiceConfigAccessorImpl;->getGeoDetectionRunInBackgroundEnabled()Z
+PLcom/android/server/timezonedetector/ServiceConfigAccessorImpl;->getGeoDetectionSettingEnabledOverride()Ljava/util/Optional;
+PLcom/android/server/timezonedetector/ServiceConfigAccessorImpl;->getInstance(Landroid/content/Context;)Lcom/android/server/timezonedetector/ServiceConfigAccessor;
+PLcom/android/server/timezonedetector/ServiceConfigAccessorImpl;->getLocationEnabledSetting(I)Z
+PLcom/android/server/timezonedetector/ServiceConfigAccessorImpl;->handleConfigurationInternalChangeOnMainThread()V
+PLcom/android/server/timezonedetector/ServiceConfigAccessorImpl;->isEnhancedMetricsCollectionEnabled()Z
+PLcom/android/server/timezonedetector/ServiceConfigAccessorImpl;->isGeoDetectionEnabledForUsersByDefault()Z
+PLcom/android/server/timezonedetector/ServiceConfigAccessorImpl;->isGeoTimeZoneDetectionFeatureSupported()Z
+PLcom/android/server/timezonedetector/ServiceConfigAccessorImpl;->isGeoTimeZoneDetectionFeatureSupportedInConfig()Z
+PLcom/android/server/timezonedetector/ServiceConfigAccessorImpl;->isTelephonyFallbackSupported()Z
+PLcom/android/server/timezonedetector/ServiceConfigAccessorImpl;->isTelephonyTimeZoneDetectionFeatureSupported()Z
+PLcom/android/server/timezonedetector/ServiceConfigAccessorImpl;->isUserConfigAllowed(I)Z
+PLcom/android/server/timezonedetector/TimeZoneDetectorInternalImpl;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/timezonedetector/CurrentUserIdentityInjector;Lcom/android/server/timezonedetector/TimeZoneDetectorStrategy;)V
+PLcom/android/server/timezonedetector/TimeZoneDetectorService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/timezonedetector/TimeZoneDetectorService;Landroid/app/timezonedetector/TelephonyTimeZoneSuggestion;)V
+PLcom/android/server/timezonedetector/TimeZoneDetectorService$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/timezonedetector/TimeZoneDetectorService$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/timezonedetector/TimeZoneDetectorService;)V
+PLcom/android/server/timezonedetector/TimeZoneDetectorService$Lifecycle$1;-><init>(Lcom/android/server/timezonedetector/TimeZoneDetectorService$Lifecycle;Lcom/android/server/timezonedetector/TimeZoneDetectorStrategy;)V
+PLcom/android/server/timezonedetector/TimeZoneDetectorService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/timezonedetector/TimeZoneDetectorService$Lifecycle;->onStart()V
+PLcom/android/server/timezonedetector/TimeZoneDetectorService;->$r8$lambda$J5BTZ2OuJb4gvpwYS14bI1HdOpU(Lcom/android/server/timezonedetector/TimeZoneDetectorService;Landroid/app/timezonedetector/TelephonyTimeZoneSuggestion;)V
+PLcom/android/server/timezonedetector/TimeZoneDetectorService;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/timezonedetector/CallerIdentityInjector;Lcom/android/server/timezonedetector/TimeZoneDetectorStrategy;)V
+PLcom/android/server/timezonedetector/TimeZoneDetectorService;->addDumpable(Lcom/android/server/timezonedetector/Dumpable;)V
+PLcom/android/server/timezonedetector/TimeZoneDetectorService;->enforceSuggestTelephonyTimeZonePermission()V
+PLcom/android/server/timezonedetector/TimeZoneDetectorService;->lambda$suggestTelephonyTimeZone$2(Landroid/app/timezonedetector/TelephonyTimeZoneSuggestion;)V
+PLcom/android/server/timezonedetector/TimeZoneDetectorService;->suggestTelephonyTimeZone(Landroid/app/timezonedetector/TelephonyTimeZoneSuggestion;)V
+PLcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl;)V
+PLcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl$$ExternalSyntheticLambda0;->onChange()V
+PLcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl$QualifiedTelephonyTimeZoneSuggestion;-><init>(Landroid/app/timezonedetector/TelephonyTimeZoneSuggestion;I)V
+PLcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl;->$r8$lambda$hV1MXuLGe7uQyLHj3fxKJrKy5nM(Lcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl;)V
+PLcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl;-><init>(Lcom/android/server/timezonedetector/ServiceConfigAccessor;Lcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl$Environment;)V
+PLcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl;->addChangeListener(Lcom/android/server/timezonedetector/StateChangeListener;)V
+PLcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl;->create(Landroid/os/Handler;Lcom/android/server/timezonedetector/ServiceConfigAccessor;)Lcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl;
+PLcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl;->createLocationAlgorithmStatus(Lcom/android/server/timezonedetector/ConfigurationInternal;Lcom/android/server/timezonedetector/LocationAlgorithmEvent;)Landroid/app/time/LocationTimeZoneAlgorithmStatus;
+PLcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl;->createTelephonyAlgorithmStatus(Lcom/android/server/timezonedetector/ConfigurationInternal;)Landroid/app/time/TelephonyTimeZoneAlgorithmStatus;
+PLcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl;->createTimeZoneDetectorStatus(Lcom/android/server/timezonedetector/ConfigurationInternal;Lcom/android/server/timezonedetector/LocationAlgorithmEvent;)Landroid/app/time/TimeZoneDetectorStatus;
+PLcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl;->doAutoTimeZoneDetection(Lcom/android/server/timezonedetector/ConfigurationInternal;Ljava/lang/String;)V
+PLcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl;->handleConfigurationInternalMaybeChanged()V
+PLcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl;->logTimeZoneDebugInfo(Ljava/lang/String;)V
+PLcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl;->notifyStateChangeListenersAsynchronously()V
+PLcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl;->scoreTelephonySuggestion(Landroid/app/timezonedetector/TelephonyTimeZoneSuggestion;)I
+PLcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl;->suggestTelephonyTimeZone(Landroid/app/timezonedetector/TelephonyTimeZoneSuggestion;)V
+PLcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl;->updateCurrentConfigurationInternalIfRequired(Ljava/lang/String;)V
+PLcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl;->updateDetectorStatus()Z
+PLcom/android/server/timezonedetector/location/LocationTimeZoneManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/timezonedetector/location/LocationTimeZoneManagerService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/timezonedetector/location/LocationTimeZoneManagerService$Lifecycle;->onStart()V
+PLcom/android/server/tracing/TracingServiceProxy$1;-><init>(Lcom/android/server/tracing/TracingServiceProxy;)V
+PLcom/android/server/tracing/TracingServiceProxy;-><init>(Landroid/content/Context;)V
+PLcom/android/server/tracing/TracingServiceProxy;->onStart()V
+PLcom/android/server/trust/TrustArchive;-><init>()V
+PLcom/android/server/trust/TrustManagerService$1;-><init>(Lcom/android/server/trust/TrustManagerService;)V
+HPLcom/android/server/trust/TrustManagerService$1;->isDeviceLocked(II)Z
+HPLcom/android/server/trust/TrustManagerService$1;->isDeviceSecure(II)Z
+PLcom/android/server/trust/TrustManagerService$2;-><init>(Lcom/android/server/trust/TrustManagerService;Landroid/os/Looper;)V
+PLcom/android/server/trust/TrustManagerService$2;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/trust/TrustManagerService$3;-><init>(Lcom/android/server/trust/TrustManagerService;)V
+PLcom/android/server/trust/TrustManagerService$Injector;-><init>(Lcom/android/internal/widget/LockPatternUtils;Landroid/os/Looper;)V
+PLcom/android/server/trust/TrustManagerService$Injector;->getLockPatternUtils()Lcom/android/internal/widget/LockPatternUtils;
+PLcom/android/server/trust/TrustManagerService$Injector;->getLooper()Landroid/os/Looper;
+PLcom/android/server/trust/TrustManagerService$Receiver;-><init>(Lcom/android/server/trust/TrustManagerService;)V
+PLcom/android/server/trust/TrustManagerService$Receiver;-><init>(Lcom/android/server/trust/TrustManagerService;Lcom/android/server/trust/TrustManagerService$Receiver-IA;)V
+PLcom/android/server/trust/TrustManagerService$Receiver;->getUserId(Landroid/content/Intent;)I
+PLcom/android/server/trust/TrustManagerService$Receiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/trust/TrustManagerService$Receiver;->register(Landroid/content/Context;)V
+PLcom/android/server/trust/TrustManagerService$StrongAuthTracker;-><init>(Lcom/android/server/trust/TrustManagerService;Landroid/content/Context;Landroid/os/Looper;)V
+PLcom/android/server/trust/TrustManagerService$StrongAuthTracker;->onStrongAuthRequiredChanged(I)V
+PLcom/android/server/trust/TrustManagerService$TrustState;->$values()[Lcom/android/server/trust/TrustManagerService$TrustState;
+PLcom/android/server/trust/TrustManagerService$TrustState;-><clinit>()V
+PLcom/android/server/trust/TrustManagerService$TrustState;-><init>(Ljava/lang/String;I)V
+PLcom/android/server/trust/TrustManagerService;->-$$Nest$fgetmLockPatternUtils(Lcom/android/server/trust/TrustManagerService;)Lcom/android/internal/widget/LockPatternUtils;
+PLcom/android/server/trust/TrustManagerService;->-$$Nest$mresolveProfileParent(Lcom/android/server/trust/TrustManagerService;I)I
+PLcom/android/server/trust/TrustManagerService;-><clinit>()V
+PLcom/android/server/trust/TrustManagerService;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/trust/TrustManagerService;-><init>(Landroid/content/Context;Lcom/android/server/trust/TrustManagerService$Injector;)V
+PLcom/android/server/trust/TrustManagerService;->aggregateIsActiveUnlockRunning(I)Z
+PLcom/android/server/trust/TrustManagerService;->aggregateIsTrustManaged(I)Z
+PLcom/android/server/trust/TrustManagerService;->aggregateIsTrustable(I)Z
+PLcom/android/server/trust/TrustManagerService;->aggregateIsTrusted(I)Z
+PLcom/android/server/trust/TrustManagerService;->checkNewAgents()V
+PLcom/android/server/trust/TrustManagerService;->checkNewAgentsForUser(I)V
+PLcom/android/server/trust/TrustManagerService;->createHandler(Landroid/os/Looper;)Landroid/os/Handler;
+PLcom/android/server/trust/TrustManagerService;->dispatchOnTrustChanged(ZZIILjava/util/List;)V
+PLcom/android/server/trust/TrustManagerService;->dispatchOnTrustManagedChanged(ZI)V
+PLcom/android/server/trust/TrustManagerService;->getTrustGrantedMessages(I)Ljava/util/List;
+PLcom/android/server/trust/TrustManagerService;->getUserTrustStateInner(I)Lcom/android/server/trust/TrustManagerService$TrustState;
+PLcom/android/server/trust/TrustManagerService;->isDeviceLockedInner(I)Z
+PLcom/android/server/trust/TrustManagerService;->isTrustUsuallyManagedInternal(I)Z
+PLcom/android/server/trust/TrustManagerService;->maybeActiveUnlockRunningChanged(I)V
+PLcom/android/server/trust/TrustManagerService;->maybeEnableFactoryTrustAgents(I)V
+PLcom/android/server/trust/TrustManagerService;->notifyKeystoreOfDeviceLockState(IZ)V
+PLcom/android/server/trust/TrustManagerService;->notifyTrustAgentsOfDeviceLockState(IZ)V
+PLcom/android/server/trust/TrustManagerService;->onBootPhase(I)V
+PLcom/android/server/trust/TrustManagerService;->onStart()V
+PLcom/android/server/trust/TrustManagerService;->onUserStarting(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/trust/TrustManagerService;->onUserUnlocking(Lcom/android/server/SystemService$TargetUser;)V
+HPLcom/android/server/trust/TrustManagerService;->refreshAgentList(I)V
+PLcom/android/server/trust/TrustManagerService;->refreshDeviceLockedForUser(I)V
+PLcom/android/server/trust/TrustManagerService;->refreshDeviceLockedForUser(II)V
+PLcom/android/server/trust/TrustManagerService;->resolveAllowedTrustAgents(Landroid/content/pm/PackageManager;I)Ljava/util/List;
+HPLcom/android/server/trust/TrustManagerService;->resolveProfileParent(I)I
+PLcom/android/server/trust/TrustManagerService;->setDeviceLockedForUser(IZ)V
+PLcom/android/server/trust/TrustManagerService;->updateTrust(II)V
+PLcom/android/server/trust/TrustManagerService;->updateTrust(IILcom/android/internal/infra/AndroidFuture;)V
+PLcom/android/server/trust/TrustManagerService;->updateTrust(IIZLcom/android/internal/infra/AndroidFuture;)V
+HSPLcom/android/server/tv/TvInputHal;-><clinit>()V
+HPLcom/android/server/uri/GrantUri;-><init>(ILandroid/net/Uri;I)V
+PLcom/android/server/uri/GrantUri;->resolve(ILandroid/net/Uri;I)Lcom/android/server/uri/GrantUri;
+HSPLcom/android/server/uri/UriGrantsManagerService$H;-><init>(Lcom/android/server/uri/UriGrantsManagerService;Landroid/os/Looper;)V
+HSPLcom/android/server/uri/UriGrantsManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/uri/UriGrantsManagerService$Lifecycle;->onBootPhase(I)V
+HSPLcom/android/server/uri/UriGrantsManagerService$Lifecycle;->onStart()V
+HSPLcom/android/server/uri/UriGrantsManagerService$LocalService;-><init>(Lcom/android/server/uri/UriGrantsManagerService;)V
+HSPLcom/android/server/uri/UriGrantsManagerService$LocalService;-><init>(Lcom/android/server/uri/UriGrantsManagerService;Lcom/android/server/uri/UriGrantsManagerService$LocalService-IA;)V
+PLcom/android/server/uri/UriGrantsManagerService$LocalService;->checkGrantUriPermission(ILjava/lang/String;Landroid/net/Uri;II)I
+HPLcom/android/server/uri/UriGrantsManagerService$LocalService;->checkGrantUriPermissionFromIntent(Landroid/content/Intent;ILjava/lang/String;I)Lcom/android/server/uri/NeededUriGrants;
+PLcom/android/server/uri/UriGrantsManagerService$LocalService;->checkGrantUriPermissionFromIntent(Landroid/content/Intent;ILjava/lang/String;II)Lcom/android/server/uri/NeededUriGrants;
+PLcom/android/server/uri/UriGrantsManagerService$LocalService;->checkUriPermission(Lcom/android/server/uri/GrantUri;IIZ)Z
+PLcom/android/server/uri/UriGrantsManagerService$LocalService;->grantUriPermissionUncheckedFromIntent(Lcom/android/server/uri/NeededUriGrants;Lcom/android/server/uri/UriPermissionOwner;)V
+HPLcom/android/server/uri/UriGrantsManagerService$LocalService;->internalCheckGrantUriPermissionFromIntent(Landroid/content/Intent;ILjava/lang/String;ILjava/lang/Integer;)Lcom/android/server/uri/NeededUriGrants;
+PLcom/android/server/uri/UriGrantsManagerService$LocalService;->newUriPermissionOwner(Ljava/lang/String;)Landroid/os/IBinder;
+PLcom/android/server/uri/UriGrantsManagerService$LocalService;->onSystemReady()V
+PLcom/android/server/uri/UriGrantsManagerService$LocalService;->removeUriPermissionsForPackage(Ljava/lang/String;IZZ)V
+PLcom/android/server/uri/UriGrantsManagerService$LocalService;->revokeUriPermission(Ljava/lang/String;ILcom/android/server/uri/GrantUri;I)V
+PLcom/android/server/uri/UriGrantsManagerService$LocalService;->revokeUriPermissionFromOwner(Landroid/os/IBinder;Landroid/net/Uri;IILjava/lang/String;I)V
+PLcom/android/server/uri/UriGrantsManagerService;->-$$Nest$fgetmLock(Lcom/android/server/uri/UriGrantsManagerService;)Ljava/lang/Object;
+HPLcom/android/server/uri/UriGrantsManagerService;->-$$Nest$mcheckGrantUriPermissionFromIntentUnlocked(Lcom/android/server/uri/UriGrantsManagerService;ILjava/lang/String;Landroid/content/Intent;ILcom/android/server/uri/NeededUriGrants;ILjava/lang/Integer;)Lcom/android/server/uri/NeededUriGrants;
+PLcom/android/server/uri/UriGrantsManagerService;->-$$Nest$mcheckGrantUriPermissionUnlocked(Lcom/android/server/uri/UriGrantsManagerService;ILjava/lang/String;Landroid/net/Uri;II)I
+PLcom/android/server/uri/UriGrantsManagerService;->-$$Nest$mcheckUriPermissionLocked(Lcom/android/server/uri/UriGrantsManagerService;Lcom/android/server/uri/GrantUri;II)Z
+PLcom/android/server/uri/UriGrantsManagerService;->-$$Nest$menforceNotIsolatedCaller(Lcom/android/server/uri/UriGrantsManagerService;Ljava/lang/String;)V
+PLcom/android/server/uri/UriGrantsManagerService;->-$$Nest$mgrantUriPermissionUncheckedFromIntent(Lcom/android/server/uri/UriGrantsManagerService;Lcom/android/server/uri/NeededUriGrants;Lcom/android/server/uri/UriPermissionOwner;)V
+PLcom/android/server/uri/UriGrantsManagerService;->-$$Nest$mreadGrantedUriPermissionsLocked(Lcom/android/server/uri/UriGrantsManagerService;)V
+PLcom/android/server/uri/UriGrantsManagerService;->-$$Nest$mremoveUriPermissionsForPackageLocked(Lcom/android/server/uri/UriGrantsManagerService;Ljava/lang/String;IZZ)V
+PLcom/android/server/uri/UriGrantsManagerService;->-$$Nest$mrevokeUriPermission(Lcom/android/server/uri/UriGrantsManagerService;Ljava/lang/String;ILcom/android/server/uri/GrantUri;I)V
+HSPLcom/android/server/uri/UriGrantsManagerService;->-$$Nest$mstart(Lcom/android/server/uri/UriGrantsManagerService;)V
+HSPLcom/android/server/uri/UriGrantsManagerService;-><init>()V
+HSPLcom/android/server/uri/UriGrantsManagerService;-><init>(Lcom/android/server/uri/UriGrantsManagerService-IA;)V
+HSPLcom/android/server/uri/UriGrantsManagerService;-><init>(Ljava/io/File;Ljava/lang/String;)V
+HPLcom/android/server/uri/UriGrantsManagerService;->checkGrantUriPermissionFromIntentUnlocked(ILjava/lang/String;Landroid/content/Intent;ILcom/android/server/uri/NeededUriGrants;ILjava/lang/Integer;)Lcom/android/server/uri/NeededUriGrants;
+PLcom/android/server/uri/UriGrantsManagerService;->checkGrantUriPermissionUnlocked(ILjava/lang/String;Landroid/net/Uri;II)I
+HPLcom/android/server/uri/UriGrantsManagerService;->checkGrantUriPermissionUnlocked(ILjava/lang/String;Lcom/android/server/uri/GrantUri;II)I
+HPLcom/android/server/uri/UriGrantsManagerService;->checkHoldingPermissionsInternalUnlocked(Landroid/content/pm/ProviderInfo;Lcom/android/server/uri/GrantUri;IIZ)Z
+PLcom/android/server/uri/UriGrantsManagerService;->checkHoldingPermissionsUnlocked(Landroid/content/pm/ProviderInfo;Lcom/android/server/uri/GrantUri;II)Z
+PLcom/android/server/uri/UriGrantsManagerService;->checkUriPermissionLocked(Lcom/android/server/uri/GrantUri;II)Z
+PLcom/android/server/uri/UriGrantsManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
+PLcom/android/server/uri/UriGrantsManagerService;->enforceRequireContentUriPermissionFromCaller(Ljava/lang/Integer;Lcom/android/server/uri/GrantUri;I)V
+PLcom/android/server/uri/UriGrantsManagerService;->getProviderInfo(Ljava/lang/String;III)Landroid/content/pm/ProviderInfo;
+PLcom/android/server/uri/UriGrantsManagerService;->grantUriPermissionFromOwner(Landroid/os/IBinder;ILjava/lang/String;Landroid/net/Uri;III)V
+HPLcom/android/server/uri/UriGrantsManagerService;->grantUriPermissionFromOwnerUnlocked(Landroid/os/IBinder;ILjava/lang/String;Landroid/net/Uri;III)V
+PLcom/android/server/uri/UriGrantsManagerService;->grantUriPermissionUncheckedFromIntent(Lcom/android/server/uri/NeededUriGrants;Lcom/android/server/uri/UriPermissionOwner;)V
+HPLcom/android/server/uri/UriGrantsManagerService;->grantUriPermissionUnlocked(ILjava/lang/String;Lcom/android/server/uri/GrantUri;ILcom/android/server/uri/UriPermissionOwner;I)V
+HPLcom/android/server/uri/UriGrantsManagerService;->isContentUriWithAccessModeFlags(Lcom/android/server/uri/GrantUri;ILjava/lang/String;)Z
+PLcom/android/server/uri/UriGrantsManagerService;->readGrantedUriPermissionsLocked()V
+PLcom/android/server/uri/UriGrantsManagerService;->removeUriPermissionsForPackageLocked(Ljava/lang/String;IZZ)V
+PLcom/android/server/uri/UriGrantsManagerService;->revokeUriPermission(Ljava/lang/String;ILcom/android/server/uri/GrantUri;I)V
+PLcom/android/server/uri/UriGrantsManagerService;->revokeUriPermissionLocked(Ljava/lang/String;ILcom/android/server/uri/GrantUri;IZ)V
+HSPLcom/android/server/uri/UriGrantsManagerService;->start()V
+PLcom/android/server/uri/UriMetricsHelper$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/uri/UriMetricsHelper;)V
+HSPLcom/android/server/uri/UriMetricsHelper;-><clinit>()V
+HSPLcom/android/server/uri/UriMetricsHelper;-><init>(Landroid/content/Context;Lcom/android/server/uri/UriMetricsHelper$PersistentUriGrantsProvider;)V
+PLcom/android/server/uri/UriMetricsHelper;->registerPuller()V
+PLcom/android/server/uri/UriPermissionOwner$ExternalToken;-><init>(Lcom/android/server/uri/UriPermissionOwner;)V
+PLcom/android/server/uri/UriPermissionOwner$ExternalToken;->getOwner()Lcom/android/server/uri/UriPermissionOwner;
+PLcom/android/server/uri/UriPermissionOwner;-><init>(Lcom/android/server/uri/UriGrantsManagerInternal;Ljava/lang/Object;)V
+HPLcom/android/server/uri/UriPermissionOwner;->fromExternalToken(Landroid/os/IBinder;)Lcom/android/server/uri/UriPermissionOwner;
+PLcom/android/server/uri/UriPermissionOwner;->getExternalToken()Landroid/os/Binder;
+PLcom/android/server/uri/UriPermissionOwner;->removeUriPermission(Lcom/android/server/uri/GrantUri;ILjava/lang/String;I)V
+HPLcom/android/server/usage/AppIdleHistory$AppUsageHistory;-><init>()V
+PLcom/android/server/usage/AppIdleHistory;-><init>(Ljava/io/File;J)V
+HPLcom/android/server/usage/AppIdleHistory;->getAppStandbyBucket(Ljava/lang/String;IJ)I
+PLcom/android/server/usage/AppIdleHistory;->getAppStandbyBuckets(IZ)Ljava/util/ArrayList;
+HPLcom/android/server/usage/AppIdleHistory;->getAppStandbyReason(Ljava/lang/String;IJ)I
+HPLcom/android/server/usage/AppIdleHistory;->getAppUsageHistory(Ljava/lang/String;IJ)Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;
+HPLcom/android/server/usage/AppIdleHistory;->getElapsedTime(J)J
+PLcom/android/server/usage/AppIdleHistory;->getEstimatedLaunchTime(Ljava/lang/String;IJ)J
+HPLcom/android/server/usage/AppIdleHistory;->getIntValue(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
+HPLcom/android/server/usage/AppIdleHistory;->getLongValue(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
+HPLcom/android/server/usage/AppIdleHistory;->getPackageHistory(Landroid/util/ArrayMap;Ljava/lang/String;JZ)Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;
+PLcom/android/server/usage/AppIdleHistory;->getScreenOnTime(J)J
+PLcom/android/server/usage/AppIdleHistory;->getScreenOnTimeFile()Ljava/io/File;
+HPLcom/android/server/usage/AppIdleHistory;->getThresholdIndex(Ljava/lang/String;IJ[J[J)I
+PLcom/android/server/usage/AppIdleHistory;->getTimeSinceLastJobRun(Ljava/lang/String;IJ)J
+PLcom/android/server/usage/AppIdleHistory;->getUserFile(I)Ljava/io/File;
+HPLcom/android/server/usage/AppIdleHistory;->getUserHistory(I)Landroid/util/ArrayMap;
+HPLcom/android/server/usage/AppIdleHistory;->insertBucketExpiryTime(Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;IJ)V
+HPLcom/android/server/usage/AppIdleHistory;->isIdle(Ljava/lang/String;IJ)Z
+PLcom/android/server/usage/AppIdleHistory;->logAppStandbyBucketChanged(Ljava/lang/String;III)V
+HPLcom/android/server/usage/AppIdleHistory;->readAppIdleTimes(ILandroid/util/ArrayMap;)V
+HPLcom/android/server/usage/AppIdleHistory;->readBucketExpiryTimes(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;)V
+PLcom/android/server/usage/AppIdleHistory;->readScreenOnTime()V
+HPLcom/android/server/usage/AppIdleHistory;->removeElapsedExpiryTimes(Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;J)V
+HPLcom/android/server/usage/AppIdleHistory;->reportUsage(Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;Ljava/lang/String;IIIJJ)Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;
+HPLcom/android/server/usage/AppIdleHistory;->setAppStandbyBucket(Ljava/lang/String;IJII)V
+HPLcom/android/server/usage/AppIdleHistory;->setAppStandbyBucket(Ljava/lang/String;IJIIZ)V
+PLcom/android/server/usage/AppIdleHistory;->setEstimatedLaunchTime(Ljava/lang/String;IJJ)V
+HPLcom/android/server/usage/AppIdleHistory;->setLastJobRunTime(Ljava/lang/String;IJ)V
+HPLcom/android/server/usage/AppIdleHistory;->shouldInformListeners(Ljava/lang/String;IJI)Z
+PLcom/android/server/usage/AppIdleHistory;->updateDisplay(ZJ)V
+PLcom/android/server/usage/AppIdleHistory;->userFileExists(I)Z
+PLcom/android/server/usage/AppStandbyController$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/usage/AppStandbyController;)V
+PLcom/android/server/usage/AppStandbyController$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/usage/AppStandbyController$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/usage/AppStandbyController;)V
+PLcom/android/server/usage/AppStandbyController$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/usage/AppStandbyController$1;-><init>(Lcom/android/server/usage/AppStandbyController;)V
+PLcom/android/server/usage/AppStandbyController$2;-><init>(Lcom/android/server/usage/AppStandbyController;)V
+PLcom/android/server/usage/AppStandbyController$2;->onDisplayChanged(I)V
+PLcom/android/server/usage/AppStandbyController$AppStandbyHandler;-><init>(Lcom/android/server/usage/AppStandbyController;Landroid/os/Looper;)V
+HPLcom/android/server/usage/AppStandbyController$AppStandbyHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/usage/AppStandbyController$ConstantsObserver;-><init>(Lcom/android/server/usage/AppStandbyController;Landroid/os/Handler;)V
+PLcom/android/server/usage/AppStandbyController$ConstantsObserver;->processProperties(Landroid/provider/DeviceConfig$Properties;)V
+PLcom/android/server/usage/AppStandbyController$ConstantsObserver;->start()V
+PLcom/android/server/usage/AppStandbyController$ConstantsObserver;->updateSettings()V
+PLcom/android/server/usage/AppStandbyController$ContentProviderUsageRecord;-><clinit>()V
+PLcom/android/server/usage/AppStandbyController$ContentProviderUsageRecord;-><init>()V
+HPLcom/android/server/usage/AppStandbyController$ContentProviderUsageRecord;->obtain(Ljava/lang/String;Ljava/lang/String;I)Lcom/android/server/usage/AppStandbyController$ContentProviderUsageRecord;
+HPLcom/android/server/usage/AppStandbyController$ContentProviderUsageRecord;->recycle()V
+PLcom/android/server/usage/AppStandbyController$DeviceStateReceiver;-><init>(Lcom/android/server/usage/AppStandbyController;)V
+PLcom/android/server/usage/AppStandbyController$DeviceStateReceiver;-><init>(Lcom/android/server/usage/AppStandbyController;Lcom/android/server/usage/AppStandbyController$DeviceStateReceiver-IA;)V
+PLcom/android/server/usage/AppStandbyController$Injector;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
+HPLcom/android/server/usage/AppStandbyController$Injector;->elapsedRealtime()J
+HPLcom/android/server/usage/AppStandbyController$Injector;->getActiveNetworkScorer()Ljava/lang/String;
+PLcom/android/server/usage/AppStandbyController$Injector;->getAppOpsService()Lcom/android/internal/app/IAppOpsService;
+PLcom/android/server/usage/AppStandbyController$Injector;->getBootPhase()I
+PLcom/android/server/usage/AppStandbyController$Injector;->getContext()Landroid/content/Context;
+PLcom/android/server/usage/AppStandbyController$Injector;->getDataSystemDirectory()Ljava/io/File;
+PLcom/android/server/usage/AppStandbyController$Injector;->getDeviceConfigProperties([Ljava/lang/String;)Landroid/provider/DeviceConfig$Properties;
+PLcom/android/server/usage/AppStandbyController$Injector;->getLooper()Landroid/os/Looper;
+PLcom/android/server/usage/AppStandbyController$Injector;->getPackageManagerInternal()Landroid/content/pm/PackageManagerInternal;
+PLcom/android/server/usage/AppStandbyController$Injector;->getRunningUserIds()[I
+HPLcom/android/server/usage/AppStandbyController$Injector;->getValidCrossProfileTargets(Ljava/lang/String;I)Ljava/util/List;
+PLcom/android/server/usage/AppStandbyController$Injector;->isAppIdleEnabled()Z
+PLcom/android/server/usage/AppStandbyController$Injector;->isCharging()Z
+PLcom/android/server/usage/AppStandbyController$Injector;->isDefaultDisplayOn()Z
+HPLcom/android/server/usage/AppStandbyController$Injector;->isNonIdleWhitelisted(Ljava/lang/String;)Z
+HPLcom/android/server/usage/AppStandbyController$Injector;->isWellbeingPackage(Ljava/lang/String;)Z
+PLcom/android/server/usage/AppStandbyController$Injector;->noteEvent(ILjava/lang/String;I)V
+PLcom/android/server/usage/AppStandbyController$Injector;->onBootPhase(I)V
+PLcom/android/server/usage/AppStandbyController$Injector;->registerDeviceConfigPropertiesChangedListener(Landroid/provider/DeviceConfig$OnPropertiesChangedListener;)V
+PLcom/android/server/usage/AppStandbyController$Injector;->registerDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;Landroid/os/Handler;)V
+HPLcom/android/server/usage/AppStandbyController$Injector;->shouldGetExactAlarmBucketElevation(Ljava/lang/String;I)Z
+PLcom/android/server/usage/AppStandbyController$Injector;->updatePowerWhitelistCache()V
+PLcom/android/server/usage/AppStandbyController$Lock;-><init>()V
+PLcom/android/server/usage/AppStandbyController$PackageReceiver;-><init>(Lcom/android/server/usage/AppStandbyController;)V
+PLcom/android/server/usage/AppStandbyController$PackageReceiver;-><init>(Lcom/android/server/usage/AppStandbyController;Lcom/android/server/usage/AppStandbyController$PackageReceiver-IA;)V
+PLcom/android/server/usage/AppStandbyController$Pool;-><init>([Ljava/lang/Object;)V
+HPLcom/android/server/usage/AppStandbyController$Pool;->obtain()Ljava/lang/Object;
+HPLcom/android/server/usage/AppStandbyController$Pool;->recycle(Ljava/lang/Object;)V
+PLcom/android/server/usage/AppStandbyController$StandbyUpdateRecord;-><clinit>()V
+PLcom/android/server/usage/AppStandbyController$StandbyUpdateRecord;-><init>()V
+HPLcom/android/server/usage/AppStandbyController$StandbyUpdateRecord;->obtain(Ljava/lang/String;IIIZ)Lcom/android/server/usage/AppStandbyController$StandbyUpdateRecord;
+PLcom/android/server/usage/AppStandbyController$StandbyUpdateRecord;->recycle()V
+PLcom/android/server/usage/AppStandbyController;->$r8$lambda$U2-GF_fLZHT7_Jm_uRMpoT-uHZQ(Lcom/android/server/usage/AppStandbyController;)V
+PLcom/android/server/usage/AppStandbyController;->$r8$lambda$vJLDXlUh4fYgit4sBALnnUw4CrE(Lcom/android/server/usage/AppStandbyController;)V
+PLcom/android/server/usage/AppStandbyController;->-$$Nest$fgetmAppIdleEnabled(Lcom/android/server/usage/AppStandbyController;)Z
+PLcom/android/server/usage/AppStandbyController;->-$$Nest$fgetmAppIdleHistory(Lcom/android/server/usage/AppStandbyController;)Lcom/android/server/usage/AppIdleHistory;
+PLcom/android/server/usage/AppStandbyController;->-$$Nest$fgetmAppIdleLock(Lcom/android/server/usage/AppStandbyController;)Ljava/lang/Object;
+PLcom/android/server/usage/AppStandbyController;->-$$Nest$fgetmContext(Lcom/android/server/usage/AppStandbyController;)Landroid/content/Context;
+PLcom/android/server/usage/AppStandbyController;->-$$Nest$fgetmHandler(Lcom/android/server/usage/AppStandbyController;)Lcom/android/server/usage/AppStandbyController$AppStandbyHandler;
+PLcom/android/server/usage/AppStandbyController;->-$$Nest$fgetmPendingIdleStateChecks(Lcom/android/server/usage/AppStandbyController;)Landroid/util/SparseLongArray;
+HPLcom/android/server/usage/AppStandbyController;->-$$Nest$mcheckAndUpdateStandbyState(Lcom/android/server/usage/AppStandbyController;Ljava/lang/String;IIJ)V
+HPLcom/android/server/usage/AppStandbyController;->-$$Nest$minformListeners(Lcom/android/server/usage/AppStandbyController;Ljava/lang/String;IIIZ)V
+PLcom/android/server/usage/AppStandbyController;->-$$Nest$minformParoleStateChanged(Lcom/android/server/usage/AppStandbyController;)V
+PLcom/android/server/usage/AppStandbyController;->-$$Nest$misDisplayOn(Lcom/android/server/usage/AppStandbyController;)Z
+PLcom/android/server/usage/AppStandbyController;->-$$Nest$mreportContentProviderUsage(Lcom/android/server/usage/AppStandbyController;Ljava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/usage/AppStandbyController;->-$$Nest$mwaitForAdminData(Lcom/android/server/usage/AppStandbyController;)V
+PLcom/android/server/usage/AppStandbyController;-><clinit>()V
+PLcom/android/server/usage/AppStandbyController;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/usage/AppStandbyController;-><init>(Lcom/android/server/usage/AppStandbyController$Injector;)V
+PLcom/android/server/usage/AppStandbyController;->addListener(Lcom/android/server/usage/AppStandbyInternal$AppIdleStateChangeListener;)V
+HPLcom/android/server/usage/AppStandbyController;->checkAndUpdateStandbyState(Ljava/lang/String;IIJ)V
+HPLcom/android/server/usage/AppStandbyController;->checkIdleStates(I)Z
+PLcom/android/server/usage/AppStandbyController;->clearCarrierPrivilegedApps()V
+PLcom/android/server/usage/AppStandbyController;->fetchCarrierPrivilegedAppsCPL()V
+HPLcom/android/server/usage/AppStandbyController;->getAppMinBucket(Ljava/lang/String;II)I
+HPLcom/android/server/usage/AppStandbyController;->getAppStandbyBucket(Ljava/lang/String;IJZ)I
+HPLcom/android/server/usage/AppStandbyController;->getAppStandbyBucketReason(Ljava/lang/String;IJ)I
+PLcom/android/server/usage/AppStandbyController;->getAppStandbyBuckets(I)Ljava/util/List;
+HPLcom/android/server/usage/AppStandbyController;->getBucketForLocked(Ljava/lang/String;IJ)I
+HPLcom/android/server/usage/AppStandbyController;->getCrossProfileTargets(Ljava/lang/String;I)Ljava/util/List;
+PLcom/android/server/usage/AppStandbyController;->getEstimatedLaunchTime(Ljava/lang/String;I)J
+HPLcom/android/server/usage/AppStandbyController;->getIdleUidsForUser(I)[I
+HPLcom/android/server/usage/AppStandbyController;->getMinBucketWithValidExpiryTime(Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;IJ)I
+PLcom/android/server/usage/AppStandbyController;->getSystemPackagesWithLauncherActivities()Ljava/util/Set;
+PLcom/android/server/usage/AppStandbyController;->getTimeSinceLastJobRun(Ljava/lang/String;I)J
+HPLcom/android/server/usage/AppStandbyController;->informListeners(Ljava/lang/String;IIIZ)V
+PLcom/android/server/usage/AppStandbyController;->informParoleStateChanged()V
+HPLcom/android/server/usage/AppStandbyController;->isActiveDeviceAdmin(Ljava/lang/String;I)Z
+HPLcom/android/server/usage/AppStandbyController;->isActiveNetworkScorer(Ljava/lang/String;)Z
+HPLcom/android/server/usage/AppStandbyController;->isAdminProtectedPackages(Ljava/lang/String;I)Z
+HPLcom/android/server/usage/AppStandbyController;->isAppIdleEnabled()Z
+HPLcom/android/server/usage/AppStandbyController;->isAppIdleFiltered(Ljava/lang/String;IIJ)Z
+HPLcom/android/server/usage/AppStandbyController;->isAppIdleUnfiltered(Ljava/lang/String;IJ)Z
+HPLcom/android/server/usage/AppStandbyController;->isCarrierApp(Ljava/lang/String;)Z
+HPLcom/android/server/usage/AppStandbyController;->isDeviceProvisioningPackage(Ljava/lang/String;)Z
+PLcom/android/server/usage/AppStandbyController;->isDisplayOn()Z
+HPLcom/android/server/usage/AppStandbyController;->isHeadlessSystemApp(Ljava/lang/String;)Z
+HPLcom/android/server/usage/AppStandbyController;->isInParole()Z
+PLcom/android/server/usage/AppStandbyController;->isUserUsage(I)Z
+PLcom/android/server/usage/AppStandbyController;->loadHeadlessSystemAppCache()V
+HPLcom/android/server/usage/AppStandbyController;->maybeInformListeners(Ljava/lang/String;IJIIZ)V
+PLcom/android/server/usage/AppStandbyController;->notifyBatteryStats(Ljava/lang/String;IZ)V
+PLcom/android/server/usage/AppStandbyController;->onAdminDataAvailable()V
+HPLcom/android/server/usage/AppStandbyController;->onBootPhase(I)V
+HPLcom/android/server/usage/AppStandbyController;->onUsageEvent(ILandroid/app/usage/UsageEvents$Event;)V
+PLcom/android/server/usage/AppStandbyController;->postCheckIdleStates(I)V
+PLcom/android/server/usage/AppStandbyController;->postOneTimeCheckIdleStates()V
+PLcom/android/server/usage/AppStandbyController;->postParoleStateChanged()V
+HPLcom/android/server/usage/AppStandbyController;->postReportContentProviderUsage(Ljava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/usage/AppStandbyController;->predictionTimedOut(Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;J)Z
+HPLcom/android/server/usage/AppStandbyController;->reportContentProviderUsage(Ljava/lang/String;Ljava/lang/String;I)V
+HPLcom/android/server/usage/AppStandbyController;->reportEventLocked(Ljava/lang/String;IJI)V
+PLcom/android/server/usage/AppStandbyController;->setActiveAdminApps(Ljava/util/Set;I)V
+PLcom/android/server/usage/AppStandbyController;->setAppIdleEnabled(Z)V
+PLcom/android/server/usage/AppStandbyController;->setChargingState(Z)V
+PLcom/android/server/usage/AppStandbyController;->setEstimatedLaunchTime(Ljava/lang/String;IJ)V
+HPLcom/android/server/usage/AppStandbyController;->setLastJobRunTime(Ljava/lang/String;IJ)V
+PLcom/android/server/usage/AppStandbyController;->updateHeadlessSystemAppCache(Ljava/lang/String;Z)Z
+PLcom/android/server/usage/AppStandbyController;->updatePowerWhitelistCache()V
+PLcom/android/server/usage/AppStandbyController;->usageEventToSubReason(I)I
+PLcom/android/server/usage/AppStandbyController;->waitForAdminData()V
+PLcom/android/server/usage/AppTimeLimitController$Lock;-><init>()V
+PLcom/android/server/usage/AppTimeLimitController$Lock;-><init>(Lcom/android/server/usage/AppTimeLimitController$Lock-IA;)V
+PLcom/android/server/usage/AppTimeLimitController$MyHandler;-><init>(Lcom/android/server/usage/AppTimeLimitController;Landroid/os/Looper;)V
+PLcom/android/server/usage/AppTimeLimitController$UserData;-><init>(Lcom/android/server/usage/AppTimeLimitController;I)V
+PLcom/android/server/usage/AppTimeLimitController$UserData;-><init>(Lcom/android/server/usage/AppTimeLimitController;ILcom/android/server/usage/AppTimeLimitController$UserData-IA;)V
+PLcom/android/server/usage/AppTimeLimitController;-><clinit>()V
+PLcom/android/server/usage/AppTimeLimitController;-><init>(Landroid/content/Context;Lcom/android/server/usage/AppTimeLimitController$TimeLimitCallbackListener;Landroid/os/Looper;)V
+PLcom/android/server/usage/AppTimeLimitController;->getElapsedRealtime()J
+PLcom/android/server/usage/AppTimeLimitController;->getOrCreateUserDataLocked(I)Lcom/android/server/usage/AppTimeLimitController$UserData;
+PLcom/android/server/usage/AppTimeLimitController;->noteUsageStart(Ljava/lang/String;I)V
+PLcom/android/server/usage/AppTimeLimitController;->noteUsageStart(Ljava/lang/String;IJ)V
+PLcom/android/server/usage/AppTimeLimitController;->noteUsageStop(Ljava/lang/String;I)V
+PLcom/android/server/usage/BroadcastResponseStatsLogger$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/usage/BroadcastResponseStatsLogger$$ExternalSyntheticLambda1;-><init>()V
+PLcom/android/server/usage/BroadcastResponseStatsLogger$$ExternalSyntheticLambda1;->apply(I)Ljava/lang/Object;
+PLcom/android/server/usage/BroadcastResponseStatsLogger$$ExternalSyntheticLambda2;-><init>()V
+PLcom/android/server/usage/BroadcastResponseStatsLogger$$ExternalSyntheticLambda2;->get()Ljava/lang/Object;
+PLcom/android/server/usage/BroadcastResponseStatsLogger$$ExternalSyntheticLambda3;-><init>()V
+PLcom/android/server/usage/BroadcastResponseStatsLogger$$ExternalSyntheticLambda3;->apply(I)Ljava/lang/Object;
+PLcom/android/server/usage/BroadcastResponseStatsLogger$LogBuffer;-><init>(Ljava/util/function/Supplier;Ljava/util/function/IntFunction;I)V
+PLcom/android/server/usage/BroadcastResponseStatsLogger$LogBuffer;->logNotificationEvent(ILjava/lang/String;Landroid/os/UserHandle;J)V
+PLcom/android/server/usage/BroadcastResponseStatsLogger$NotificationEvent;-><init>()V
+PLcom/android/server/usage/BroadcastResponseStatsLogger$NotificationEvent;-><init>(Lcom/android/server/usage/BroadcastResponseStatsLogger$NotificationEvent-IA;)V
+PLcom/android/server/usage/BroadcastResponseStatsLogger$NotificationEvent;->reset()V
+PLcom/android/server/usage/BroadcastResponseStatsLogger;->$r8$lambda$W1F85tjQJ7p6e3fOCAIRsqTjcl4(I)Ljava/lang/Object;
+PLcom/android/server/usage/BroadcastResponseStatsLogger;->$r8$lambda$lW8VT65-e47HoACtwf8YZwpc8Xs()Lcom/android/server/usage/BroadcastResponseStatsLogger$NotificationEvent;
+PLcom/android/server/usage/BroadcastResponseStatsLogger;->$r8$lambda$wkyHpYbAHm1Dorsn7ksUN7TwqCk(I)Ljava/lang/Object;
+PLcom/android/server/usage/BroadcastResponseStatsLogger;-><clinit>()V
+PLcom/android/server/usage/BroadcastResponseStatsLogger;-><init>()V
+PLcom/android/server/usage/BroadcastResponseStatsLogger;->lambda$new$0(I)Ljava/lang/Object;
+PLcom/android/server/usage/BroadcastResponseStatsLogger;->lambda$new$1(I)Ljava/lang/Object;
+PLcom/android/server/usage/BroadcastResponseStatsLogger;->logNotificationEvent(ILjava/lang/String;Landroid/os/UserHandle;J)V
+PLcom/android/server/usage/BroadcastResponseStatsTracker$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/usage/BroadcastResponseStatsTracker;)V
+PLcom/android/server/usage/BroadcastResponseStatsTracker;-><init>(Lcom/android/server/usage/AppStandbyInternal;Landroid/content/Context;)V
+PLcom/android/server/usage/BroadcastResponseStatsTracker;->getBroadcastEventsLocked(Ljava/lang/String;Landroid/os/UserHandle;)Landroid/util/ArraySet;
+PLcom/android/server/usage/BroadcastResponseStatsTracker;->onSystemServicesReady(Landroid/content/Context;)V
+PLcom/android/server/usage/BroadcastResponseStatsTracker;->reportNotificationEvent(ILjava/lang/String;Landroid/os/UserHandle;J)V
+PLcom/android/server/usage/BroadcastResponseStatsTracker;->reportNotificationPosted(Ljava/lang/String;Landroid/os/UserHandle;J)V
+PLcom/android/server/usage/IntervalStats$EventTracker;-><init>()V
+PLcom/android/server/usage/IntervalStats$EventTracker;->commitTime(J)V
+PLcom/android/server/usage/IntervalStats$EventTracker;->update(J)V
+HPLcom/android/server/usage/IntervalStats;-><init>()V
+HPLcom/android/server/usage/IntervalStats;->addEvent(Landroid/app/usage/UsageEvents$Event;)V
+PLcom/android/server/usage/IntervalStats;->deobfuscateData(Lcom/android/server/usage/PackagesTokenData;)Z
+HPLcom/android/server/usage/IntervalStats;->deobfuscateEvents(Lcom/android/server/usage/PackagesTokenData;)Z
+PLcom/android/server/usage/IntervalStats;->deobfuscateUsageStats(Lcom/android/server/usage/PackagesTokenData;)Z
+HPLcom/android/server/usage/IntervalStats;->getCachedStringRef(Ljava/lang/String;)Ljava/lang/String;
+HPLcom/android/server/usage/IntervalStats;->getOrCreateConfigurationStats(Landroid/content/res/Configuration;)Landroid/app/usage/ConfigurationStats;
+HPLcom/android/server/usage/IntervalStats;->getOrCreateUsageStats(Ljava/lang/String;)Landroid/app/usage/UsageStats;
+PLcom/android/server/usage/IntervalStats;->incrementAppLaunchCount(Ljava/lang/String;)V
+PLcom/android/server/usage/IntervalStats;->obfuscateData(Lcom/android/server/usage/PackagesTokenData;)V
+HPLcom/android/server/usage/IntervalStats;->obfuscateEventsData(Lcom/android/server/usage/PackagesTokenData;)V
+HPLcom/android/server/usage/IntervalStats;->obfuscateUsageStatsData(Lcom/android/server/usage/PackagesTokenData;)V
+HPLcom/android/server/usage/IntervalStats;->update(Ljava/lang/String;Ljava/lang/String;JII)V
+PLcom/android/server/usage/IntervalStats;->updateConfigurationStats(Landroid/content/res/Configuration;J)V
+PLcom/android/server/usage/IntervalStats;->updateScreenInteractive(J)V
+PLcom/android/server/usage/PackagesTokenData;-><init>()V
+PLcom/android/server/usage/PackagesTokenData;->getPackageString(I)Ljava/lang/String;
+HPLcom/android/server/usage/PackagesTokenData;->getPackageTokenOrAdd(Ljava/lang/String;J)I
+PLcom/android/server/usage/PackagesTokenData;->getString(II)Ljava/lang/String;
+HPLcom/android/server/usage/PackagesTokenData;->getTokenOrAdd(ILjava/lang/String;Ljava/lang/String;)I
+PLcom/android/server/usage/StorageStatsService$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/usage/StorageStatsService;)V
+PLcom/android/server/usage/StorageStatsService$1;-><init>(Lcom/android/server/usage/StorageStatsService;)V
+PLcom/android/server/usage/StorageStatsService$1;->onVolumeStateChanged(Landroid/os/storage/VolumeInfo;II)V
+PLcom/android/server/usage/StorageStatsService$2;-><init>(Lcom/android/server/usage/StorageStatsService;)V
+PLcom/android/server/usage/StorageStatsService$H;-><init>(Lcom/android/server/usage/StorageStatsService;Landroid/os/Looper;)V
+PLcom/android/server/usage/StorageStatsService$H;->getInitializedStrategy()Lcom/android/server/storage/CacheQuotaStrategy;
+HPLcom/android/server/usage/StorageStatsService$H;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/usage/StorageStatsService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/usage/StorageStatsService$Lifecycle;->onStart()V
+PLcom/android/server/usage/StorageStatsService$LocalService;-><init>(Lcom/android/server/usage/StorageStatsService;)V
+PLcom/android/server/usage/StorageStatsService$LocalService;-><init>(Lcom/android/server/usage/StorageStatsService;Lcom/android/server/usage/StorageStatsService$LocalService-IA;)V
+PLcom/android/server/usage/StorageStatsService$LocalService;->registerStorageStatsAugmenter(Lcom/android/server/usage/StorageStatsManagerLocal$StorageStatsAugmenter;Ljava/lang/String;)V
+PLcom/android/server/usage/StorageStatsService;->-$$Nest$fgetmCacheQuotas(Lcom/android/server/usage/StorageStatsService;)Landroid/util/ArrayMap;
+PLcom/android/server/usage/StorageStatsService;->-$$Nest$fgetmContext(Lcom/android/server/usage/StorageStatsService;)Landroid/content/Context;
+PLcom/android/server/usage/StorageStatsService;->-$$Nest$fgetmInstaller(Lcom/android/server/usage/StorageStatsService;)Lcom/android/server/pm/Installer;
+PLcom/android/server/usage/StorageStatsService;->-$$Nest$fgetmLock(Lcom/android/server/usage/StorageStatsService;)Ljava/lang/Object;
+PLcom/android/server/usage/StorageStatsService;->-$$Nest$fgetmStorageStatsAugmenters(Lcom/android/server/usage/StorageStatsService;)Ljava/util/concurrent/CopyOnWriteArrayList;
+PLcom/android/server/usage/StorageStatsService;->-$$Nest$fgetmStorageThresholdPercentHigh(Lcom/android/server/usage/StorageStatsService;)I
+PLcom/android/server/usage/StorageStatsService;->-$$Nest$minvalidateMounts(Lcom/android/server/usage/StorageStatsService;)V
+PLcom/android/server/usage/StorageStatsService;-><clinit>()V
+HPLcom/android/server/usage/StorageStatsService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/usage/StorageStatsService;->invalidateMounts()V
+PLcom/android/server/usage/StorageStatsService;->isCacheQuotaCalculationsEnabled(Landroid/content/ContentResolver;)Z
+PLcom/android/server/usage/StorageStatsService;->updateConfig()V
+PLcom/android/server/usage/UnixCalendar;-><init>(J)V
+PLcom/android/server/usage/UnixCalendar;->addDays(I)V
+PLcom/android/server/usage/UnixCalendar;->getTimeInMillis()J
+PLcom/android/server/usage/UnixCalendar;->setTimeInMillis(J)V
+PLcom/android/server/usage/UsageStatsDatabase$1;-><init>(Lcom/android/server/usage/UsageStatsDatabase;)V
+PLcom/android/server/usage/UsageStatsDatabase$1;->accept(Ljava/io/File;Ljava/lang/String;)Z
+PLcom/android/server/usage/UsageStatsDatabase;-><clinit>()V
+PLcom/android/server/usage/UsageStatsDatabase;-><init>(Ljava/io/File;)V
+PLcom/android/server/usage/UsageStatsDatabase;-><init>(Ljava/io/File;I)V
+PLcom/android/server/usage/UsageStatsDatabase;->checkVersionAndBuildLocked()V
+PLcom/android/server/usage/UsageStatsDatabase;->filterStats(Lcom/android/server/usage/IntervalStats;)V
+PLcom/android/server/usage/UsageStatsDatabase;->findBestFitBucket(JJ)I
+PLcom/android/server/usage/UsageStatsDatabase;->getBuildFingerprint()Ljava/lang/String;
+PLcom/android/server/usage/UsageStatsDatabase;->getLatestUsageStats(I)Lcom/android/server/usage/IntervalStats;
+PLcom/android/server/usage/UsageStatsDatabase;->indexFilesLocked()V
+PLcom/android/server/usage/UsageStatsDatabase;->init(J)V
+PLcom/android/server/usage/UsageStatsDatabase;->isNewUpdate()Z
+PLcom/android/server/usage/UsageStatsDatabase;->obfuscateCurrentStats([Lcom/android/server/usage/IntervalStats;)V
+PLcom/android/server/usage/UsageStatsDatabase;->parseBeginTime(Landroid/util/AtomicFile;)J
+PLcom/android/server/usage/UsageStatsDatabase;->parseBeginTime(Ljava/io/File;)J
+PLcom/android/server/usage/UsageStatsDatabase;->putUsageStats(ILcom/android/server/usage/IntervalStats;)V
+PLcom/android/server/usage/UsageStatsDatabase;->queryUsageStats(IJJLcom/android/server/usage/UsageStatsDatabase$StatCombiner;Z)Ljava/util/List;
+PLcom/android/server/usage/UsageStatsDatabase;->readLocked(Landroid/util/AtomicFile;Lcom/android/server/usage/IntervalStats;ILcom/android/server/usage/PackagesTokenData;Z)Z
+PLcom/android/server/usage/UsageStatsDatabase;->readLocked(Landroid/util/AtomicFile;Lcom/android/server/usage/IntervalStats;Z)V
+PLcom/android/server/usage/UsageStatsDatabase;->readLocked(Ljava/io/InputStream;Lcom/android/server/usage/IntervalStats;ILcom/android/server/usage/PackagesTokenData;Z)Z
+PLcom/android/server/usage/UsageStatsDatabase;->readMappingsLocked()V
+PLcom/android/server/usage/UsageStatsDatabase;->wasUpgradePerformed()Z
+PLcom/android/server/usage/UsageStatsDatabase;->writeLocked(Landroid/util/AtomicFile;Lcom/android/server/usage/IntervalStats;)V
+PLcom/android/server/usage/UsageStatsDatabase;->writeLocked(Landroid/util/AtomicFile;Lcom/android/server/usage/IntervalStats;ILcom/android/server/usage/PackagesTokenData;)V
+PLcom/android/server/usage/UsageStatsDatabase;->writeLocked(Ljava/io/OutputStream;Lcom/android/server/usage/IntervalStats;ILcom/android/server/usage/PackagesTokenData;)V
+PLcom/android/server/usage/UsageStatsDatabase;->writeMappingsLocked()V
+PLcom/android/server/usage/UsageStatsIdleService;->scheduleJobInternal(Landroid/content/Context;Landroid/app/job/JobInfo;Ljava/lang/String;I)V
+PLcom/android/server/usage/UsageStatsIdleService;->scheduleUpdateMappingsJob(Landroid/content/Context;I)V
+PLcom/android/server/usage/UsageStatsProtoV2;-><clinit>()V
+PLcom/android/server/usage/UsageStatsProtoV2;->getOffsetTimestamp(JJ)J
+HPLcom/android/server/usage/UsageStatsProtoV2;->loadConfigStats(Landroid/util/proto/ProtoInputStream;Lcom/android/server/usage/IntervalStats;)V
+PLcom/android/server/usage/UsageStatsProtoV2;->loadCountAndTime(Landroid/util/proto/ProtoInputStream;JLcom/android/server/usage/IntervalStats$EventTracker;)V
+PLcom/android/server/usage/UsageStatsProtoV2;->loadPackagesMap(Landroid/util/proto/ProtoInputStream;Landroid/util/SparseArray;)V
+HPLcom/android/server/usage/UsageStatsProtoV2;->parseEvent(Landroid/util/proto/ProtoInputStream;J)Landroid/app/usage/UsageEvents$Event;
+HPLcom/android/server/usage/UsageStatsProtoV2;->parseUsageStats(Landroid/util/proto/ProtoInputStream;J)Landroid/app/usage/UsageStats;
+PLcom/android/server/usage/UsageStatsProtoV2;->parseUserInteractionEventExtras(Landroid/util/proto/ProtoInputStream;)Landroid/app/usage/UsageEvents$Event$UserInteractionEventExtrasToken;
+HPLcom/android/server/usage/UsageStatsProtoV2;->read(Ljava/io/InputStream;Lcom/android/server/usage/IntervalStats;Z)V
+HPLcom/android/server/usage/UsageStatsProtoV2;->readObfuscatedData(Ljava/io/InputStream;Lcom/android/server/usage/PackagesTokenData;)V
+HPLcom/android/server/usage/UsageStatsProtoV2;->write(Ljava/io/OutputStream;Lcom/android/server/usage/IntervalStats;)V
+PLcom/android/server/usage/UsageStatsProtoV2;->writeChooserCounts(Landroid/util/proto/ProtoOutputStream;Landroid/app/usage/UsageStats;)V
+HPLcom/android/server/usage/UsageStatsProtoV2;->writeConfigStats(Landroid/util/proto/ProtoOutputStream;JLandroid/app/usage/ConfigurationStats;Z)V
+PLcom/android/server/usage/UsageStatsProtoV2;->writeCountAndTime(Landroid/util/proto/ProtoOutputStream;JIJ)V
+HPLcom/android/server/usage/UsageStatsProtoV2;->writeEvent(Landroid/util/proto/ProtoOutputStream;JLandroid/app/usage/UsageEvents$Event;)V
+HPLcom/android/server/usage/UsageStatsProtoV2;->writeObfuscatedData(Ljava/io/OutputStream;Lcom/android/server/usage/PackagesTokenData;)V
+PLcom/android/server/usage/UsageStatsProtoV2;->writeOffsetTimestamp(Landroid/util/proto/ProtoOutputStream;JJJ)V
+HPLcom/android/server/usage/UsageStatsProtoV2;->writeUsageStats(Landroid/util/proto/ProtoOutputStream;JLandroid/app/usage/UsageStats;)V
+PLcom/android/server/usage/UsageStatsProtoV2;->writeUserInteractionEventExtras(Landroid/util/proto/ProtoOutputStream;JLandroid/app/usage/UsageEvents$Event$UserInteractionEventExtrasToken;)V
+PLcom/android/server/usage/UsageStatsService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/usage/UsageStatsService;)V
+HPLcom/android/server/usage/UsageStatsService$$ExternalSyntheticLambda0;->handleMessage(Landroid/os/Message;)Z
+PLcom/android/server/usage/UsageStatsService$1;-><init>(Lcom/android/server/usage/UsageStatsService;)V
+HPLcom/android/server/usage/UsageStatsService$1;->onAppIdleStateChanged(Ljava/lang/String;IZII)V
+PLcom/android/server/usage/UsageStatsService$2;-><init>(Lcom/android/server/usage/UsageStatsService;)V
+PLcom/android/server/usage/UsageStatsService$3;-><init>(Lcom/android/server/usage/UsageStatsService;)V
+PLcom/android/server/usage/UsageStatsService$3;->onUidGone(IZ)V
+HPLcom/android/server/usage/UsageStatsService$3;->onUidStateChanged(IIJI)V
+PLcom/android/server/usage/UsageStatsService$ActivityData;->-$$Nest$fgetmUsageSourcePackage(Lcom/android/server/usage/UsageStatsService$ActivityData;)Ljava/lang/String;
+PLcom/android/server/usage/UsageStatsService$ActivityData;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/usage/UsageStatsService$ActivityData;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/server/usage/UsageStatsService$ActivityData-IA;)V
+PLcom/android/server/usage/UsageStatsService$BinderService;-><init>(Lcom/android/server/usage/UsageStatsService;)V
+PLcom/android/server/usage/UsageStatsService$BinderService;-><init>(Lcom/android/server/usage/UsageStatsService;Lcom/android/server/usage/UsageStatsService$BinderService-IA;)V
+PLcom/android/server/usage/UsageStatsService$BinderService;->canReportUsageStats()Z
+PLcom/android/server/usage/UsageStatsService$BinderService;->hasQueryPermission(Ljava/lang/String;)Z
+PLcom/android/server/usage/UsageStatsService$BinderService;->isCallingUidSystem()Z
+PLcom/android/server/usage/UsageStatsService$BinderService;->onCarrierPrivilegedAppsChanged()V
+HPLcom/android/server/usage/UsageStatsService$BinderService;->queryUsageStats(IJJLjava/lang/String;I)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/usage/UsageStatsService$BinderService;->reportUserInteractionInnerHelper(Ljava/lang/String;ILandroid/os/PersistableBundle;)V
+PLcom/android/server/usage/UsageStatsService$BinderService;->reportUserInteractionWithBundle(Ljava/lang/String;ILandroid/os/PersistableBundle;)V
+PLcom/android/server/usage/UsageStatsService$H;-><init>(Lcom/android/server/usage/UsageStatsService;Landroid/os/Looper;)V
+HPLcom/android/server/usage/UsageStatsService$H;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/usage/UsageStatsService$Injector;-><init>()V
+PLcom/android/server/usage/UsageStatsService$Injector;->getAppStandbyController(Landroid/content/Context;)Lcom/android/server/usage/AppStandbyInternal;
+PLcom/android/server/usage/UsageStatsService$LaunchTimeAlarmQueue;-><init>(Lcom/android/server/usage/UsageStatsService;ILandroid/content/Context;Landroid/os/Looper;)V
+PLcom/android/server/usage/UsageStatsService$LocalService;-><init>(Lcom/android/server/usage/UsageStatsService;)V
+PLcom/android/server/usage/UsageStatsService$LocalService;-><init>(Lcom/android/server/usage/UsageStatsService;Lcom/android/server/usage/UsageStatsService$LocalService-IA;)V
+HPLcom/android/server/usage/UsageStatsService$LocalService;->getAppStandbyBucket(Ljava/lang/String;IJ)I
+PLcom/android/server/usage/UsageStatsService$LocalService;->getIdleUidsForUser(I)[I
+PLcom/android/server/usage/UsageStatsService$LocalService;->getTimeSinceLastJobRun(Ljava/lang/String;I)J
+HPLcom/android/server/usage/UsageStatsService$LocalService;->isAppIdle(Ljava/lang/String;II)Z
+PLcom/android/server/usage/UsageStatsService$LocalService;->onAdminDataAvailable()V
+PLcom/android/server/usage/UsageStatsService$LocalService;->queryEventsForUser(IJJI)Landroid/app/usage/UsageEvents;
+PLcom/android/server/usage/UsageStatsService$LocalService;->registerLaunchTimeChangedListener(Landroid/app/usage/UsageStatsManagerInternal$EstimatedLaunchTimeChangedListener;)V
+PLcom/android/server/usage/UsageStatsService$LocalService;->registerListener(Landroid/app/usage/UsageStatsManagerInternal$UsageEventListener;)V
+PLcom/android/server/usage/UsageStatsService$LocalService;->reportConfigurationChange(Landroid/content/res/Configuration;I)V
+HPLcom/android/server/usage/UsageStatsService$LocalService;->reportContentProviderUsage(Ljava/lang/String;Ljava/lang/String;I)V
+HPLcom/android/server/usage/UsageStatsService$LocalService;->reportEvent(Landroid/content/ComponentName;IIILandroid/content/ComponentName;)V
+HPLcom/android/server/usage/UsageStatsService$LocalService;->reportEvent(Ljava/lang/String;II)V
+PLcom/android/server/usage/UsageStatsService$LocalService;->reportInterruptiveNotification(Ljava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/usage/UsageStatsService$LocalService;->reportNotificationPosted(Ljava/lang/String;Landroid/os/UserHandle;J)V
+PLcom/android/server/usage/UsageStatsService$LocalService;->setActiveAdminApps(Ljava/util/Set;I)V
+HPLcom/android/server/usage/UsageStatsService$LocalService;->setLastJobRunTime(Ljava/lang/String;IJ)V
+PLcom/android/server/usage/UsageStatsService$MyPackageMonitor;-><init>(Lcom/android/server/usage/UsageStatsService;)V
+PLcom/android/server/usage/UsageStatsService$MyPackageMonitor;-><init>(Lcom/android/server/usage/UsageStatsService;Lcom/android/server/usage/UsageStatsService$MyPackageMonitor-IA;)V
+PLcom/android/server/usage/UsageStatsService$UidRemovedReceiver;-><init>(Lcom/android/server/usage/UsageStatsService;)V
+PLcom/android/server/usage/UsageStatsService$UidRemovedReceiver;-><init>(Lcom/android/server/usage/UsageStatsService;Lcom/android/server/usage/UsageStatsService$UidRemovedReceiver-IA;)V
+PLcom/android/server/usage/UsageStatsService$UserActionsReceiver;-><init>(Lcom/android/server/usage/UsageStatsService;)V
+PLcom/android/server/usage/UsageStatsService$UserActionsReceiver;-><init>(Lcom/android/server/usage/UsageStatsService;Lcom/android/server/usage/UsageStatsService$UserActionsReceiver-IA;)V
+PLcom/android/server/usage/UsageStatsService$UserActionsReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/usage/UsageStatsService;->$r8$lambda$TpcNng9zAtQEa_4AWZmaJYBdR0c(Lcom/android/server/usage/UsageStatsService;Landroid/os/Message;)Z
+PLcom/android/server/usage/UsageStatsService;->-$$Nest$fgetmEstimatedLaunchTimeChangedListeners(Lcom/android/server/usage/UsageStatsService;)Ljava/util/concurrent/CopyOnWriteArraySet;
+PLcom/android/server/usage/UsageStatsService;->-$$Nest$fgetmHandler(Lcom/android/server/usage/UsageStatsService;)Landroid/os/Handler;
+HPLcom/android/server/usage/UsageStatsService;->-$$Nest$fgetmIoHandler(Lcom/android/server/usage/UsageStatsService;)Landroid/os/Handler;
+PLcom/android/server/usage/UsageStatsService;->-$$Nest$fgetmLock(Lcom/android/server/usage/UsageStatsService;)Ljava/lang/Object;
+PLcom/android/server/usage/UsageStatsService;->-$$Nest$fgetmPendingLaunchTimeChangePackages(Lcom/android/server/usage/UsageStatsService;)Landroid/util/SparseSetArray;
+PLcom/android/server/usage/UsageStatsService;->-$$Nest$fgetmResponseStatsTracker(Lcom/android/server/usage/UsageStatsService;)Lcom/android/server/usage/BroadcastResponseStatsTracker;
+PLcom/android/server/usage/UsageStatsService;->-$$Nest$mgetTrimmedString(Lcom/android/server/usage/UsageStatsService;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/usage/UsageStatsService;->-$$Nest$mloadGlobalComponentUsageLocked(Lcom/android/server/usage/UsageStatsService;)V
+PLcom/android/server/usage/UsageStatsService;->-$$Nest$monUserUnlocked(Lcom/android/server/usage/UsageStatsService;I)V
+PLcom/android/server/usage/UsageStatsService;->-$$Nest$mregisterLaunchTimeChangedListener(Lcom/android/server/usage/UsageStatsService;Landroid/app/usage/UsageStatsManagerInternal$EstimatedLaunchTimeChangedListener;)V
+PLcom/android/server/usage/UsageStatsService;->-$$Nest$mregisterListener(Lcom/android/server/usage/UsageStatsService;Landroid/app/usage/UsageStatsManagerInternal$UsageEventListener;)V
+HPLcom/android/server/usage/UsageStatsService;->-$$Nest$mreportEventOrAddToQueue(Lcom/android/server/usage/UsageStatsService;ILandroid/app/usage/UsageEvents$Event;)V
+PLcom/android/server/usage/UsageStatsService;->-$$Nest$mshouldObfuscateInstantAppsForCaller(Lcom/android/server/usage/UsageStatsService;II)Z
+PLcom/android/server/usage/UsageStatsService;-><clinit>()V
+PLcom/android/server/usage/UsageStatsService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/usage/UsageStatsService;-><init>(Landroid/content/Context;Lcom/android/server/usage/UsageStatsService$Injector;)V
+PLcom/android/server/usage/UsageStatsService;->calculateEstimatedPackageLaunchTime(ILjava/lang/String;)J
+PLcom/android/server/usage/UsageStatsService;->calculateNextLaunchTime(ZJ)J
+HPLcom/android/server/usage/UsageStatsService;->convertToSystemTimeLocked(Landroid/app/usage/UsageEvents$Event;)V
+PLcom/android/server/usage/UsageStatsService;->deleteLegacyUserDir(I)V
+PLcom/android/server/usage/UsageStatsService;->deleteRecursively(Ljava/io/File;)V
+PLcom/android/server/usage/UsageStatsService;->getAppUsageEventOccurredAtomEventType(I)I
+PLcom/android/server/usage/UsageStatsService;->getDpmInternal()Landroid/app/admin/DevicePolicyManagerInternal;
+PLcom/android/server/usage/UsageStatsService;->getEstimatedPackageLaunchTime(ILjava/lang/String;)J
+PLcom/android/server/usage/UsageStatsService;->getInstalledPackages(I)Ljava/util/HashMap;
+PLcom/android/server/usage/UsageStatsService;->getOrCreateLaunchTimeAlarmQueue(I)Lcom/android/server/usage/UsageStatsService$LaunchTimeAlarmQueue;
+PLcom/android/server/usage/UsageStatsService;->getShortcutServiceInternal()Landroid/content/pm/ShortcutServiceInternal;
+PLcom/android/server/usage/UsageStatsService;->getTrimmedString(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/usage/UsageStatsService;->getUsageEventProcessingHandler()Landroid/os/Handler;
+PLcom/android/server/usage/UsageStatsService;->getUsageSourcePackage(Landroid/app/usage/UsageEvents$Event;)Ljava/lang/String;
+HPLcom/android/server/usage/UsageStatsService;->getUserUsageStatsServiceLocked(I)Lcom/android/server/usage/UserUsageStatsService;
+HPLcom/android/server/usage/UsageStatsService;->handleEstimatedLaunchTimesOnUserUnlock(I)V
+PLcom/android/server/usage/UsageStatsService;->initializeUserUsageStatsServiceLocked(IJLjava/util/HashMap;Z)V
+HPLcom/android/server/usage/UsageStatsService;->isInstantApp(Ljava/lang/String;I)Z
+HPLcom/android/server/usage/UsageStatsService;->lambda$new$0(Landroid/os/Message;)Z
+PLcom/android/server/usage/UsageStatsService;->loadGlobalComponentUsageLocked()V
+PLcom/android/server/usage/UsageStatsService;->loadPendingEventsLocked(ILjava/util/LinkedList;)V
+HPLcom/android/server/usage/UsageStatsService;->logAppUsageEventReportedAtomLocked(IILjava/lang/String;)V
+PLcom/android/server/usage/UsageStatsService;->migrateStatsToSystemCeIfNeededLocked(I)V
+PLcom/android/server/usage/UsageStatsService;->onBootPhase(I)V
+HPLcom/android/server/usage/UsageStatsService;->onStart()V
+PLcom/android/server/usage/UsageStatsService;->onStatsUpdated()V
+PLcom/android/server/usage/UsageStatsService;->onUserStarting(Lcom/android/server/SystemService$TargetUser;)V
+HPLcom/android/server/usage/UsageStatsService;->onUserUnlocked(I)V
+PLcom/android/server/usage/UsageStatsService;->onUserUnlocking(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/usage/UsageStatsService;->publishBinderServices()V
+PLcom/android/server/usage/UsageStatsService;->queryEarliestAppEvents(IJJI)Landroid/app/usage/UsageEvents;
+PLcom/android/server/usage/UsageStatsService;->queryEarliestEventsForPackage(IJJLjava/lang/String;I)Landroid/app/usage/UsageEvents;
+PLcom/android/server/usage/UsageStatsService;->queryEvents(IJJI)Landroid/app/usage/UsageEvents;
+PLcom/android/server/usage/UsageStatsService;->queryEventsWithQueryFilters(IJJI[ILandroid/util/ArraySet;)Landroid/app/usage/UsageEvents;
+PLcom/android/server/usage/UsageStatsService;->queryUsageStats(IIJJZ)Ljava/util/List;
+PLcom/android/server/usage/UsageStatsService;->readUsageSourceSetting()V
+PLcom/android/server/usage/UsageStatsService;->registerLaunchTimeChangedListener(Landroid/app/usage/UsageStatsManagerInternal$EstimatedLaunchTimeChangedListener;)V
+PLcom/android/server/usage/UsageStatsService;->registerListener(Landroid/app/usage/UsageStatsManagerInternal$UsageEventListener;)V
+HPLcom/android/server/usage/UsageStatsService;->reportEvent(Landroid/app/usage/UsageEvents$Event;I)V
+HPLcom/android/server/usage/UsageStatsService;->reportEventOrAddToQueue(ILandroid/app/usage/UsageEvents$Event;)V
+PLcom/android/server/usage/UsageStatsService;->shouldDeleteObsoleteData(Landroid/os/UserHandle;)Z
+PLcom/android/server/usage/UsageStatsService;->shouldObfuscateInstantAppsForCaller(II)Z
+PLcom/android/server/usage/UsageStatsService;->stageChangedEstimatedLaunchTime(ILjava/lang/String;)Z
+PLcom/android/server/usage/UserUsageStatsService$$ExternalSyntheticLambda1;-><init>(JJLandroid/util/ArraySet;Landroid/util/ArraySet;I)V
+PLcom/android/server/usage/UserUsageStatsService$$ExternalSyntheticLambda1;->combine(Lcom/android/server/usage/IntervalStats;ZLjava/util/List;)Z
+PLcom/android/server/usage/UserUsageStatsService$$ExternalSyntheticLambda2;-><init>(JJLjava/lang/String;I)V
+PLcom/android/server/usage/UserUsageStatsService$$ExternalSyntheticLambda2;->combine(Lcom/android/server/usage/IntervalStats;ZLjava/util/List;)Z
+PLcom/android/server/usage/UserUsageStatsService$1;-><init>()V
+PLcom/android/server/usage/UserUsageStatsService$1;->combine(Lcom/android/server/usage/IntervalStats;ZLjava/util/List;)Z
+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;JJZ[ZIZLandroid/util/ArraySet;Landroid/util/ArraySet;)V
+HPLcom/android/server/usage/UserUsageStatsService$4;->combine(Lcom/android/server/usage/IntervalStats;ZLjava/util/List;)Z
+PLcom/android/server/usage/UserUsageStatsService$CachedEarlyEvents;-><init>()V
+PLcom/android/server/usage/UserUsageStatsService$CachedEarlyEvents;-><init>(Lcom/android/server/usage/UserUsageStatsService$CachedEarlyEvents-IA;)V
+PLcom/android/server/usage/UserUsageStatsService;->$r8$lambda$g-bl5VNBpy8gjNFALWiQqGzaU1A(JJLjava/lang/String;ILcom/android/server/usage/IntervalStats;ZLjava/util/List;)Z
+PLcom/android/server/usage/UserUsageStatsService;->$r8$lambda$p0y5lz5q5TqvoITutDfa1s61KzA(JJLandroid/util/ArraySet;Landroid/util/ArraySet;ILcom/android/server/usage/IntervalStats;ZLjava/util/List;)Z
+PLcom/android/server/usage/UserUsageStatsService;-><clinit>()V
+PLcom/android/server/usage/UserUsageStatsService;-><init>(Landroid/content/Context;ILjava/io/File;Lcom/android/server/usage/UserUsageStatsService$StatsUpdatedListener;)V
+HPLcom/android/server/usage/UserUsageStatsService;->checkAndGetTimeLocked()J
+HPLcom/android/server/usage/UserUsageStatsService;->convertToSystemTimeLocked(Landroid/app/usage/UsageEvents$Event;)V
+HPLcom/android/server/usage/UserUsageStatsService;->eventToString(I)Ljava/lang/String;
+PLcom/android/server/usage/UserUsageStatsService;->init(JLjava/util/HashMap;Z)V
+HPLcom/android/server/usage/UserUsageStatsService;->lambda$queryEarliestAppEvents$0(JJLandroid/util/ArraySet;Landroid/util/ArraySet;ILcom/android/server/usage/IntervalStats;ZLjava/util/List;)Z
+HPLcom/android/server/usage/UserUsageStatsService;->lambda$queryEarliestEventsForPackage$2(JJLjava/lang/String;ILcom/android/server/usage/IntervalStats;ZLjava/util/List;)Z
+HPLcom/android/server/usage/UserUsageStatsService;->notifyStatsChanged()V
+PLcom/android/server/usage/UserUsageStatsService;->persistActiveStats()V
+PLcom/android/server/usage/UserUsageStatsService;->queryEarliestAppEvents(JJI)Landroid/app/usage/UsageEvents;
+PLcom/android/server/usage/UserUsageStatsService;->queryEarliestEventsForPackage(JJLjava/lang/String;I)Landroid/app/usage/UsageEvents;
+PLcom/android/server/usage/UserUsageStatsService;->queryEvents(JJI[ILandroid/util/ArraySet;)Landroid/app/usage/UsageEvents;
+HPLcom/android/server/usage/UserUsageStatsService;->queryStats(IJJLcom/android/server/usage/UsageStatsDatabase$StatCombiner;Z)Ljava/util/List;
+PLcom/android/server/usage/UserUsageStatsService;->queryUsageStats(IJJ)Ljava/util/List;
+PLcom/android/server/usage/UserUsageStatsService;->readPackageMappingsLocked(Ljava/util/HashMap;Z)V
+HPLcom/android/server/usage/UserUsageStatsService;->reportEvent(Landroid/app/usage/UsageEvents$Event;)V
+PLcom/android/server/usage/UserUsageStatsService;->updateRolloverDeadline()V
+PLcom/android/server/usage/UserUsageStatsService;->validRange(JJJ)Z
+PLcom/android/server/usb/MtpNotificationManager$Receiver;-><init>(Lcom/android/server/usb/MtpNotificationManager;)V
+PLcom/android/server/usb/MtpNotificationManager$Receiver;-><init>(Lcom/android/server/usb/MtpNotificationManager;Lcom/android/server/usb/MtpNotificationManager$Receiver-IA;)V
+PLcom/android/server/usb/MtpNotificationManager;-><init>(Landroid/content/Context;Lcom/android/server/usb/MtpNotificationManager$OnOpenInAppListener;)V
+PLcom/android/server/usb/UsbAlsaManager$1;-><init>(Lcom/android/server/usb/UsbAlsaManager;Ljava/io/File;I)V
+PLcom/android/server/usb/UsbAlsaManager$DenyListEntry;-><init>(III)V
+PLcom/android/server/usb/UsbAlsaManager;-><clinit>()V
+PLcom/android/server/usb/UsbAlsaManager;-><init>(Landroid/content/Context;)V
+PLcom/android/server/usb/UsbAlsaManager;->setPeripheralMidiState(ZII)V
+PLcom/android/server/usb/UsbAlsaManager;->systemReady()V
+PLcom/android/server/usb/UsbDeviceManager$1;-><init>(Lcom/android/server/usb/UsbDeviceManager;)V
+PLcom/android/server/usb/UsbDeviceManager$2;-><init>(Lcom/android/server/usb/UsbDeviceManager;)V
+PLcom/android/server/usb/UsbDeviceManager$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/usb/UsbDeviceManager$3;-><init>(Lcom/android/server/usb/UsbDeviceManager;)V
+PLcom/android/server/usb/UsbDeviceManager$4;-><init>(Lcom/android/server/usb/UsbDeviceManager;)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler$AdbTransport;-><init>(Lcom/android/server/usb/UsbDeviceManager$UsbHandler;)V
+PLcom/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;->finishBoot(I)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->getAppliedFunctions(J)J
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->getChargingFunctions()J
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->getPinnedSharedPrefs(Landroid/content/Context;)Landroid/content/SharedPreferences;
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->getSystemProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+HPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->isAdbEnabled()Z
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->isTv()Z
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->isUsbDataTransferActive(J)Z
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->isUsbStateChanged(Landroid/content/Intent;)Z
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->isUsbTransferAllowed()Z
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->sendMessage(IZ)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->sendStickyBroadcast(Landroid/content/Intent;)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->updateAdbNotification(Z)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->updateMidiFunction()V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->updateState(Ljava/lang/String;)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->updateUsbFunctions()V
+HPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->updateUsbNotification(Z)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->updateUsbSpeed()V
+HPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->updateUsbStateBroadcastIfNeeded(J)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;->handlerInitDone(I)V
+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(JZI)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandlerLegacy;->trySetEnabledFunctions(JZ)Z
+PLcom/android/server/usb/UsbDeviceManager$UsbUEventObserver;-><init>(Lcom/android/server/usb/UsbDeviceManager;)V
+PLcom/android/server/usb/UsbDeviceManager$UsbUEventObserver;-><init>(Lcom/android/server/usb/UsbDeviceManager;Lcom/android/server/usb/UsbDeviceManager$UsbUEventObserver-IA;)V
+PLcom/android/server/usb/UsbDeviceManager$UsbUEventObserver;->onUEvent(Landroid/os/UEventObserver$UEvent;)V
+PLcom/android/server/usb/UsbDeviceManager;->-$$Nest$fgetmHandler(Lcom/android/server/usb/UsbDeviceManager;)Lcom/android/server/usb/UsbDeviceManager$UsbHandler;
+PLcom/android/server/usb/UsbDeviceManager;->-$$Nest$sfgetsEventLogger()Lcom/android/server/utils/EventLogger;
+PLcom/android/server/usb/UsbDeviceManager;->-$$Nest$sfgetsUsbOperationCount()Ljava/util/concurrent/atomic/AtomicInteger;
+PLcom/android/server/usb/UsbDeviceManager;-><clinit>()V
+HPLcom/android/server/usb/UsbDeviceManager;-><init>(Landroid/content/Context;Lcom/android/server/usb/UsbAlsaManager;Lcom/android/server/usb/UsbSettingsManager;Lcom/android/server/usb/UsbPermissionManager;)V
+PLcom/android/server/usb/UsbDeviceManager;->bootCompleted()V
+PLcom/android/server/usb/UsbDeviceManager;->initRndisAddress()V
+PLcom/android/server/usb/UsbDeviceManager;->logAndPrintException(Lcom/android/internal/util/IndentingPrintWriter;Ljava/lang/String;Ljava/lang/Exception;)V
+PLcom/android/server/usb/UsbDeviceManager;->onKeyguardStateChanged(Z)V
+PLcom/android/server/usb/UsbDeviceManager;->onUnlockUser(I)V
+PLcom/android/server/usb/UsbDeviceManager;->setCurrentUser(ILcom/android/server/usb/UsbProfileGroupSettingsManager;)V
+PLcom/android/server/usb/UsbDeviceManager;->systemReady()V
+PLcom/android/server/usb/UsbHandlerManager;-><clinit>()V
+PLcom/android/server/usb/UsbHandlerManager;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/usb/UsbHostManager;-><clinit>()V
+PLcom/android/server/usb/UsbPermissionManager;-><clinit>()V
+PLcom/android/server/usb/UsbPermissionManager;-><init>(Landroid/content/Context;Lcom/android/server/usb/UsbService;)V
+PLcom/android/server/usb/UsbPortManager$1;-><init>(Lcom/android/server/usb/UsbPortManager;Landroid/os/Looper;)V
+PLcom/android/server/usb/UsbPortManager$1;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/usb/UsbPortManager;->-$$Nest$fgetmContext(Lcom/android/server/usb/UsbPortManager;)Landroid/content/Context;
+PLcom/android/server/usb/UsbPortManager;->-$$Nest$fputmNotificationManager(Lcom/android/server/usb/UsbPortManager;Landroid/app/NotificationManager;)V
+PLcom/android/server/usb/UsbPortManager;-><clinit>()V
+PLcom/android/server/usb/UsbPortManager;-><init>(Landroid/content/Context;)V
+PLcom/android/server/usb/UsbPortManager;->getPorts()[Landroid/hardware/usb/UsbPort;
+PLcom/android/server/usb/UsbPortManager;->getUsbHalVersion()I
+PLcom/android/server/usb/UsbPortManager;->logAndPrint(ILcom/android/internal/util/IndentingPrintWriter;Ljava/lang/String;)V
+PLcom/android/server/usb/UsbPortManager;->logAndPrintException(Lcom/android/internal/util/IndentingPrintWriter;Ljava/lang/String;Ljava/lang/Exception;)V
+PLcom/android/server/usb/UsbPortManager;->registerForDisplayPortEvents(Landroid/hardware/usb/IDisplayPortAltModeInfoListener;)Z
+PLcom/android/server/usb/UsbPortManager;->systemReady()V
+PLcom/android/server/usb/UsbProfileGroupSettingsManager$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/usb/UsbProfileGroupSettingsManager;)V
+PLcom/android/server/usb/UsbProfileGroupSettingsManager$MyPackageMonitor;-><init>(Lcom/android/server/usb/UsbProfileGroupSettingsManager;)V
+PLcom/android/server/usb/UsbProfileGroupSettingsManager$MyPackageMonitor;-><init>(Lcom/android/server/usb/UsbProfileGroupSettingsManager;Lcom/android/server/usb/UsbProfileGroupSettingsManager$MyPackageMonitor-IA;)V
+PLcom/android/server/usb/UsbProfileGroupSettingsManager;-><clinit>()V
+PLcom/android/server/usb/UsbProfileGroupSettingsManager;-><init>(Landroid/content/Context;Landroid/os/UserHandle;Lcom/android/server/usb/UsbSettingsManager;Lcom/android/server/usb/UsbHandlerManager;)V
+PLcom/android/server/usb/UsbProfileGroupSettingsManager;->readSettingsLocked()V
+PLcom/android/server/usb/UsbProfileGroupSettingsManager;->upgradeSingleUserLocked()V
+PLcom/android/server/usb/UsbService$1;-><init>(Lcom/android/server/usb/UsbService;)V
+PLcom/android/server/usb/UsbService$Lifecycle$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/usb/UsbService$Lifecycle;)V
+PLcom/android/server/usb/UsbService$Lifecycle$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/usb/UsbService$Lifecycle$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/usb/UsbService$Lifecycle;)V
+PLcom/android/server/usb/UsbService$Lifecycle$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/usb/UsbService$Lifecycle;->$r8$lambda$HIZVSW8uTg1XjWF6etZh-bC1WP4(Lcom/android/server/usb/UsbService$Lifecycle;)V
+PLcom/android/server/usb/UsbService$Lifecycle;->$r8$lambda$Mg_De1rrLXj-nb8KhKM4m5DIFVU(Lcom/android/server/usb/UsbService$Lifecycle;)V
+PLcom/android/server/usb/UsbService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/usb/UsbService$Lifecycle;->lambda$onBootPhase$1()V
+PLcom/android/server/usb/UsbService$Lifecycle;->lambda$onStart$0()V
+PLcom/android/server/usb/UsbService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/usb/UsbService$Lifecycle;->onStart()V
+PLcom/android/server/usb/UsbService$Lifecycle;->onUserUnlocking(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/usb/UsbService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/usb/UsbService;->bootCompleted()V
+PLcom/android/server/usb/UsbService;->getPorts()Ljava/util/List;
+PLcom/android/server/usb/UsbService;->getUsbHalVersion()I
+PLcom/android/server/usb/UsbService;->onSwitchUser(I)V
+PLcom/android/server/usb/UsbService;->onUnlockUser(I)V
+PLcom/android/server/usb/UsbService;->registerForDisplayPortEvents(Landroid/hardware/usb/IDisplayPortAltModeInfoListener;)Z
+PLcom/android/server/usb/UsbService;->systemReady()V
+PLcom/android/server/usb/UsbSettingsManager;-><clinit>()V
+PLcom/android/server/usb/UsbSettingsManager;-><init>(Landroid/content/Context;Lcom/android/server/usb/UsbService;)V
+PLcom/android/server/usb/UsbSettingsManager;->getSettingsForProfileGroup(Landroid/os/UserHandle;)Lcom/android/server/usb/UsbProfileGroupSettingsManager;
+PLcom/android/server/usb/hal/gadget/UsbGadgetAidl;-><clinit>()V
+PLcom/android/server/usb/hal/gadget/UsbGadgetAidl;->isServicePresent(Lcom/android/internal/util/IndentingPrintWriter;)Z
+PLcom/android/server/usb/hal/gadget/UsbGadgetHalInstance;->getInstance(Lcom/android/server/usb/UsbDeviceManager;Lcom/android/internal/util/IndentingPrintWriter;)Lcom/android/server/usb/hal/gadget/UsbGadgetHal;
+PLcom/android/server/usb/hal/gadget/UsbGadgetHidl;->isServicePresent(Lcom/android/internal/util/IndentingPrintWriter;)Z
+PLcom/android/server/usb/hal/port/UsbPortAidl;-><clinit>()V
+PLcom/android/server/usb/hal/port/UsbPortAidl;->isServicePresent(Lcom/android/internal/util/IndentingPrintWriter;)Z
+PLcom/android/server/usb/hal/port/UsbPortHalInstance;->getInstance(Lcom/android/server/usb/UsbPortManager;Lcom/android/internal/util/IndentingPrintWriter;)Lcom/android/server/usb/hal/port/UsbPortHal;
+PLcom/android/server/usb/hal/port/UsbPortHidl;-><clinit>()V
+PLcom/android/server/usb/hal/port/UsbPortHidl;->isServicePresent(Lcom/android/internal/util/IndentingPrintWriter;)Z
+PLcom/android/server/utils/AlarmQueue$1;-><init>(Lcom/android/server/utils/AlarmQueue;)V
+HPLcom/android/server/utils/AlarmQueue$1;->run()V
+PLcom/android/server/utils/AlarmQueue$AlarmPriorityQueue$$ExternalSyntheticLambda0;-><init>()V
+HPLcom/android/server/utils/AlarmQueue$AlarmPriorityQueue$$ExternalSyntheticLambda0;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+HPLcom/android/server/utils/AlarmQueue$AlarmPriorityQueue;->$r8$lambda$a9G3NCnbGSjGaU6KBkUKenfyhOo(Landroid/util/Pair;Landroid/util/Pair;)I
+PLcom/android/server/utils/AlarmQueue$AlarmPriorityQueue;-><clinit>()V
+PLcom/android/server/utils/AlarmQueue$AlarmPriorityQueue;-><init>()V
+HPLcom/android/server/utils/AlarmQueue$AlarmPriorityQueue;->lambda$static$0(Landroid/util/Pair;Landroid/util/Pair;)I
+HPLcom/android/server/utils/AlarmQueue$AlarmPriorityQueue;->removeKey(Ljava/lang/Object;)Z
+PLcom/android/server/utils/AlarmQueue$Injector;-><init>()V
+PLcom/android/server/utils/AlarmQueue;->-$$Nest$fgetmAlarmTag(Lcom/android/server/utils/AlarmQueue;)Ljava/lang/String;
+PLcom/android/server/utils/AlarmQueue;->-$$Nest$fgetmContext(Lcom/android/server/utils/AlarmQueue;)Landroid/content/Context;
+PLcom/android/server/utils/AlarmQueue;->-$$Nest$fgetmExactAlarm(Lcom/android/server/utils/AlarmQueue;)Z
+PLcom/android/server/utils/AlarmQueue;->-$$Nest$fgetmHandler(Lcom/android/server/utils/AlarmQueue;)Landroid/os/Handler;
+PLcom/android/server/utils/AlarmQueue;->-$$Nest$fgetmLock(Lcom/android/server/utils/AlarmQueue;)Ljava/lang/Object;
+PLcom/android/server/utils/AlarmQueue;->-$$Nest$fgetmMinTimeBetweenAlarmsMs(Lcom/android/server/utils/AlarmQueue;)J
+PLcom/android/server/utils/AlarmQueue;->-$$Nest$fgetmTriggerTimeElapsed(Lcom/android/server/utils/AlarmQueue;)J
+PLcom/android/server/utils/AlarmQueue;-><clinit>()V
+PLcom/android/server/utils/AlarmQueue;-><init>(Landroid/content/Context;Landroid/os/Looper;Ljava/lang/String;Ljava/lang/String;ZJ)V
+HPLcom/android/server/utils/AlarmQueue;-><init>(Landroid/content/Context;Landroid/os/Looper;Ljava/lang/String;Ljava/lang/String;ZJLcom/android/server/utils/AlarmQueue$Injector;)V
+HPLcom/android/server/utils/AlarmQueue;->addAlarm(Ljava/lang/Object;J)V
+HPLcom/android/server/utils/AlarmQueue;->removeAlarmForKey(Ljava/lang/Object;)V
+HPLcom/android/server/utils/AlarmQueue;->setNextAlarmLocked()V
+HPLcom/android/server/utils/AlarmQueue;->setNextAlarmLocked(J)V
+HSPLcom/android/server/utils/AnrTimer$FeatureEnabled;-><init>(Lcom/android/server/utils/AnrTimer;)V
+PLcom/android/server/utils/AnrTimer$FeatureEnabled;->accept(Ljava/lang/Object;)Z
+HPLcom/android/server/utils/AnrTimer$FeatureEnabled;->cancel(Ljava/lang/Object;)Z
+PLcom/android/server/utils/AnrTimer$FeatureEnabled;->enabled()Z
+HPLcom/android/server/utils/AnrTimer$FeatureEnabled;->removeLocked(Ljava/lang/Object;)Ljava/lang/Integer;
+HPLcom/android/server/utils/AnrTimer$FeatureEnabled;->start(Ljava/lang/Object;IIJ)V
+HSPLcom/android/server/utils/AnrTimer$FeatureSwitch;-><init>(Lcom/android/server/utils/AnrTimer;)V
+HSPLcom/android/server/utils/AnrTimer$FeatureSwitch;-><init>(Lcom/android/server/utils/AnrTimer;Lcom/android/server/utils/AnrTimer$FeatureSwitch-IA;)V
+HSPLcom/android/server/utils/AnrTimer$Injector;-><init>()V
+HSPLcom/android/server/utils/AnrTimer$Injector;->anrTimerServiceEnabled()Z
+HPLcom/android/server/utils/AnrTimer;->-$$Nest$fgetmExtend(Lcom/android/server/utils/AnrTimer;)Z
+HSPLcom/android/server/utils/AnrTimer;->-$$Nest$fgetmLabel(Lcom/android/server/utils/AnrTimer;)Ljava/lang/String;
+HPLcom/android/server/utils/AnrTimer;->-$$Nest$fgetmLock(Lcom/android/server/utils/AnrTimer;)Ljava/lang/Object;
+HPLcom/android/server/utils/AnrTimer;->-$$Nest$fgetmMaxStarted(Lcom/android/server/utils/AnrTimer;)I
+HPLcom/android/server/utils/AnrTimer;->-$$Nest$fgetmTimerArgMap(Lcom/android/server/utils/AnrTimer;)Landroid/util/SparseArray;
+HPLcom/android/server/utils/AnrTimer;->-$$Nest$fgetmTimerIdMap(Lcom/android/server/utils/AnrTimer;)Landroid/util/ArrayMap;
+HPLcom/android/server/utils/AnrTimer;->-$$Nest$fgetmTotalStarted(Lcom/android/server/utils/AnrTimer;)I
+HPLcom/android/server/utils/AnrTimer;->-$$Nest$fputmMaxStarted(Lcom/android/server/utils/AnrTimer;I)V
+HPLcom/android/server/utils/AnrTimer;->-$$Nest$fputmTotalStarted(Lcom/android/server/utils/AnrTimer;I)V
+HSPLcom/android/server/utils/AnrTimer;->-$$Nest$mnativeAnrTimerCreate(Lcom/android/server/utils/AnrTimer;Ljava/lang/String;)J
+PLcom/android/server/utils/AnrTimer;->-$$Nest$mtrace(Lcom/android/server/utils/AnrTimer;Ljava/lang/String;I)V
+HSPLcom/android/server/utils/AnrTimer;->-$$Nest$sfgetsAnrTimerList()Landroid/util/LongSparseArray;
+HSPLcom/android/server/utils/AnrTimer;->-$$Nest$smanrTimerServiceEnabled()Z
+PLcom/android/server/utils/AnrTimer;->-$$Nest$smnativeAnrTimerAccept(JI)Z
+HPLcom/android/server/utils/AnrTimer;->-$$Nest$smnativeAnrTimerCancel(JI)Z
+HPLcom/android/server/utils/AnrTimer;->-$$Nest$smnativeAnrTimerStart(JIIJZ)I
+HSPLcom/android/server/utils/AnrTimer;-><clinit>()V
+HSPLcom/android/server/utils/AnrTimer;-><init>(Landroid/os/Handler;ILjava/lang/String;)V
+HSPLcom/android/server/utils/AnrTimer;-><init>(Landroid/os/Handler;ILjava/lang/String;Z)V
+HSPLcom/android/server/utils/AnrTimer;-><init>(Landroid/os/Handler;ILjava/lang/String;ZLcom/android/server/utils/AnrTimer$Injector;)V
+PLcom/android/server/utils/AnrTimer;->accept(Ljava/lang/Object;)Z
+HSPLcom/android/server/utils/AnrTimer;->anrTimerServiceEnabled()Z
+HPLcom/android/server/utils/AnrTimer;->cancel(Ljava/lang/Object;)Z
+HSPLcom/android/server/utils/AnrTimer;->createFeatureSwitch(Z)Lcom/android/server/utils/AnrTimer$FeatureSwitch;
+PLcom/android/server/utils/AnrTimer;->expire(IIIJ)Z
+HSPLcom/android/server/utils/AnrTimer;->nativeTimersSupported()Z
+HPLcom/android/server/utils/AnrTimer;->serviceEnabled()Z
+HPLcom/android/server/utils/AnrTimer;->start(Ljava/lang/Object;IIJ)V
+PLcom/android/server/utils/AnrTimer;->trace(Ljava/lang/String;I)V
+PLcom/android/server/utils/AnrTimer;->trace(Ljava/lang/String;IIIJ)V
+PLcom/android/server/utils/EventLogger$Event;-><clinit>()V
+HPLcom/android/server/utils/EventLogger$Event;-><init>()V
+PLcom/android/server/utils/EventLogger$Event;->printLog(ILjava/lang/String;)Lcom/android/server/utils/EventLogger$Event;
+PLcom/android/server/utils/EventLogger$Event;->printLog(Ljava/lang/String;)Lcom/android/server/utils/EventLogger$Event;
+PLcom/android/server/utils/EventLogger$StringEvent;-><init>(Ljava/lang/String;)V
+PLcom/android/server/utils/EventLogger$StringEvent;-><init>(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/utils/EventLogger$StringEvent;->eventToString()Ljava/lang/String;
+HPLcom/android/server/utils/EventLogger;-><init>(ILjava/lang/String;)V
+HPLcom/android/server/utils/EventLogger;->enqueue(Lcom/android/server/utils/EventLogger$Event;)V
+PLcom/android/server/utils/EventLogger;->enqueueAndLog(Ljava/lang/String;ILjava/lang/String;)V
+HSPLcom/android/server/utils/FeatureFlagsImpl;-><init>()V
+HSPLcom/android/server/utils/FeatureFlagsImpl;->anrTimerService()Z
+HSPLcom/android/server/utils/Flags;-><clinit>()V
+HSPLcom/android/server/utils/Flags;->anrTimerService()Z
+HSPLcom/android/server/utils/FoldSettingProvider;-><clinit>()V
+HSPLcom/android/server/utils/FoldSettingProvider;-><init>(Landroid/content/Context;Lcom/android/internal/util/SettingsWrapper;Lcom/android/internal/foldables/FoldLockSettingAvailabilityProvider;)V
+PLcom/android/server/utils/PriorityDump;->dump(Lcom/android/server/utils/PriorityDump$PriorityDumper;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HSPLcom/android/server/utils/Slogf;-><clinit>()V
+PLcom/android/server/utils/Slogf;->d(Ljava/lang/String;Ljava/lang/String;)I
+PLcom/android/server/utils/Slogf;->d(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
+HSPLcom/android/server/utils/Slogf;->getMessage(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
+PLcom/android/server/utils/Slogf;->i(Ljava/lang/String;Ljava/lang/String;)I
+PLcom/android/server/utils/Slogf;->i(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
+PLcom/android/server/utils/Slogf;->v(Ljava/lang/String;Ljava/lang/String;)I
+HSPLcom/android/server/utils/Slogf;->w(Ljava/lang/String;Ljava/lang/String;)I
+HSPLcom/android/server/utils/Slogf;->w(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
+HSPLcom/android/server/utils/SnapshotCache$Auto;-><init>(Lcom/android/server/utils/Snappable;Lcom/android/server/utils/Watchable;Ljava/lang/String;)V
+HSPLcom/android/server/utils/SnapshotCache$Auto;->createSnapshot()Lcom/android/server/utils/Snappable;
+HSPLcom/android/server/utils/SnapshotCache$Auto;->createSnapshot()Ljava/lang/Object;
+HSPLcom/android/server/utils/SnapshotCache$Sealed;-><init>()V
+HSPLcom/android/server/utils/SnapshotCache$Statistics;->-$$Nest$fgetmRebuilt(Lcom/android/server/utils/SnapshotCache$Statistics;)Ljava/util/concurrent/atomic/AtomicInteger;
+HSPLcom/android/server/utils/SnapshotCache$Statistics;-><init>(Ljava/lang/String;)V
+HSPLcom/android/server/utils/SnapshotCache;-><clinit>()V
+HSPLcom/android/server/utils/SnapshotCache;-><init>()V
+HSPLcom/android/server/utils/SnapshotCache;-><init>(Ljava/lang/Object;Lcom/android/server/utils/Watchable;)V
+HSPLcom/android/server/utils/SnapshotCache;-><init>(Ljava/lang/Object;Lcom/android/server/utils/Watchable;Ljava/lang/String;)V
+HSPLcom/android/server/utils/SnapshotCache;->onChange(Lcom/android/server/utils/Watchable;)V
+HSPLcom/android/server/utils/SnapshotCache;->snapshot()Ljava/lang/Object;
+HSPLcom/android/server/utils/Snapshots;->maybeSnapshot(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/server/utils/TimingsTraceAndSlog;-><init>()V
+HPLcom/android/server/utils/TimingsTraceAndSlog;-><init>(Lcom/android/server/utils/TimingsTraceAndSlog;)V
+HSPLcom/android/server/utils/TimingsTraceAndSlog;-><init>(Ljava/lang/String;)V
+HSPLcom/android/server/utils/TimingsTraceAndSlog;-><init>(Ljava/lang/String;J)V
+HSPLcom/android/server/utils/TimingsTraceAndSlog;->logDuration(Ljava/lang/String;J)V
+HSPLcom/android/server/utils/TimingsTraceAndSlog;->newAsyncLog()Lcom/android/server/utils/TimingsTraceAndSlog;
+HSPLcom/android/server/utils/TimingsTraceAndSlog;->traceBegin(Ljava/lang/String;)V
+PLcom/android/server/utils/UserSettingDeviceConfigMediator$SettingsOverridesAllMediator;-><init>(C)V
+PLcom/android/server/utils/UserSettingDeviceConfigMediator$SettingsOverridesAllMediator;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/utils/UserSettingDeviceConfigMediator$SettingsOverridesIndividualMediator;-><init>(C)V
+PLcom/android/server/utils/UserSettingDeviceConfigMediator;-><clinit>()V
+PLcom/android/server/utils/UserSettingDeviceConfigMediator;-><init>(C)V
+PLcom/android/server/utils/UserSettingDeviceConfigMediator;->setDeviceConfigProperties(Landroid/provider/DeviceConfig$Properties;)V
+PLcom/android/server/utils/UserSettingDeviceConfigMediator;->setSettingsString(Ljava/lang/String;)V
+PLcom/android/server/utils/UserTokenWatcher;-><init>(Lcom/android/server/utils/UserTokenWatcher$Callback;Landroid/os/Handler;Ljava/lang/String;)V
+HSPLcom/android/server/utils/Watchable;->verifyWatchedAttributes(Ljava/lang/Object;Lcom/android/server/utils/Watcher;)V
+HSPLcom/android/server/utils/Watchable;->verifyWatchedAttributes(Ljava/lang/Object;Lcom/android/server/utils/Watcher;Z)V
+HSPLcom/android/server/utils/WatchableImpl;-><init>()V
+HSPLcom/android/server/utils/WatchableImpl;->dispatchChange(Lcom/android/server/utils/Watchable;)V
+HSPLcom/android/server/utils/WatchableImpl;->isRegisteredObserver(Lcom/android/server/utils/Watcher;)Z
+HSPLcom/android/server/utils/WatchableImpl;->registerObserver(Lcom/android/server/utils/Watcher;)V
+HSPLcom/android/server/utils/WatchableImpl;->registeredObserverCount()I
+HSPLcom/android/server/utils/WatchableImpl;->seal()V
+HSPLcom/android/server/utils/WatchableImpl;->unregisterObserver(Lcom/android/server/utils/Watcher;)V
+HSPLcom/android/server/utils/WatchedArrayList$1;-><init>(Lcom/android/server/utils/WatchedArrayList;)V
+HSPLcom/android/server/utils/WatchedArrayList$1;->onChange(Lcom/android/server/utils/Watchable;)V
+HSPLcom/android/server/utils/WatchedArrayList;-><init>()V
+HSPLcom/android/server/utils/WatchedArrayList;-><init>(I)V
+HSPLcom/android/server/utils/WatchedArrayList;->add(Ljava/lang/Object;)Z
+HSPLcom/android/server/utils/WatchedArrayList;->clear()V
+HSPLcom/android/server/utils/WatchedArrayList;->get(I)Ljava/lang/Object;
+HSPLcom/android/server/utils/WatchedArrayList;->onChanged()V
+HSPLcom/android/server/utils/WatchedArrayList;->registerChild(Ljava/lang/Object;)V
+HSPLcom/android/server/utils/WatchedArrayList;->registerObserver(Lcom/android/server/utils/Watcher;)V
+HSPLcom/android/server/utils/WatchedArrayList;->set(ILjava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/server/utils/WatchedArrayList;->size()I
+HSPLcom/android/server/utils/WatchedArrayList;->snapshot()Lcom/android/server/utils/WatchedArrayList;
+HSPLcom/android/server/utils/WatchedArrayList;->snapshot()Ljava/lang/Object;
+HSPLcom/android/server/utils/WatchedArrayList;->snapshot(Lcom/android/server/utils/WatchedArrayList;Lcom/android/server/utils/WatchedArrayList;)V
+HSPLcom/android/server/utils/WatchedArrayList;->unregisterChild(Ljava/lang/Object;)V
+HSPLcom/android/server/utils/WatchedArrayList;->unregisterChildIf(Ljava/lang/Object;)V
+HSPLcom/android/server/utils/WatchedArrayMap$1;-><init>(Lcom/android/server/utils/WatchedArrayMap;)V
+HSPLcom/android/server/utils/WatchedArrayMap$1;->onChange(Lcom/android/server/utils/Watchable;)V
+HSPLcom/android/server/utils/WatchedArrayMap;-><init>()V
+HSPLcom/android/server/utils/WatchedArrayMap;-><init>(IZ)V
+HSPLcom/android/server/utils/WatchedArrayMap;->containsKey(Ljava/lang/Object;)Z
+HSPLcom/android/server/utils/WatchedArrayMap;->entrySet()Ljava/util/Set;
+HSPLcom/android/server/utils/WatchedArrayMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/server/utils/WatchedArrayMap;->keyAt(I)Ljava/lang/Object;
+HSPLcom/android/server/utils/WatchedArrayMap;->onChanged()V
+HSPLcom/android/server/utils/WatchedArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/server/utils/WatchedArrayMap;->putAll(Ljava/util/Map;)V
+HSPLcom/android/server/utils/WatchedArrayMap;->registerChild(Ljava/lang/Object;)V
+HSPLcom/android/server/utils/WatchedArrayMap;->registerObserver(Lcom/android/server/utils/Watcher;)V
+HPLcom/android/server/utils/WatchedArrayMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/server/utils/WatchedArrayMap;->size()I
+HSPLcom/android/server/utils/WatchedArrayMap;->snapshot()Lcom/android/server/utils/WatchedArrayMap;
+HSPLcom/android/server/utils/WatchedArrayMap;->snapshot()Ljava/lang/Object;
+HSPLcom/android/server/utils/WatchedArrayMap;->snapshot(Lcom/android/server/utils/WatchedArrayMap;)V
+HSPLcom/android/server/utils/WatchedArrayMap;->snapshot(Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;)V
+HPLcom/android/server/utils/WatchedArrayMap;->unregisterChildIf(Ljava/lang/Object;)V
+HSPLcom/android/server/utils/WatchedArrayMap;->untrackedStorage()Landroid/util/ArrayMap;
+HSPLcom/android/server/utils/WatchedArrayMap;->valueAt(I)Ljava/lang/Object;
+HSPLcom/android/server/utils/WatchedArrayMap;->values()Ljava/util/Collection;
+HSPLcom/android/server/utils/WatchedArraySet$1;-><init>(Lcom/android/server/utils/WatchedArraySet;)V
+HSPLcom/android/server/utils/WatchedArraySet$1;->onChange(Lcom/android/server/utils/Watchable;)V
+HSPLcom/android/server/utils/WatchedArraySet;-><init>()V
+HSPLcom/android/server/utils/WatchedArraySet;-><init>(IZ)V
+PLcom/android/server/utils/WatchedArraySet;-><init>(Lcom/android/server/utils/WatchedArraySet;)V
+HSPLcom/android/server/utils/WatchedArraySet;->add(Ljava/lang/Object;)Z
+HSPLcom/android/server/utils/WatchedArraySet;->addAll(Ljava/util/Collection;)V
+HSPLcom/android/server/utils/WatchedArraySet;->clear()V
+HPLcom/android/server/utils/WatchedArraySet;->contains(Ljava/lang/Object;)Z
+PLcom/android/server/utils/WatchedArraySet;->isEmpty()Z
+HSPLcom/android/server/utils/WatchedArraySet;->onChanged()V
+HSPLcom/android/server/utils/WatchedArraySet;->registerChild(Ljava/lang/Object;)V
+HSPLcom/android/server/utils/WatchedArraySet;->registerObserver(Lcom/android/server/utils/Watcher;)V
+HPLcom/android/server/utils/WatchedArraySet;->remove(Ljava/lang/Object;)Z
+HSPLcom/android/server/utils/WatchedArraySet;->size()I
+HSPLcom/android/server/utils/WatchedArraySet;->snapshot()Lcom/android/server/utils/WatchedArraySet;
+HSPLcom/android/server/utils/WatchedArraySet;->snapshot()Ljava/lang/Object;
+HSPLcom/android/server/utils/WatchedArraySet;->snapshot(Lcom/android/server/utils/WatchedArraySet;Lcom/android/server/utils/WatchedArraySet;)V
+PLcom/android/server/utils/WatchedArraySet;->untrackedStorage()Landroid/util/ArraySet;
+HSPLcom/android/server/utils/WatchedArraySet;->valueAt(I)Ljava/lang/Object;
+HSPLcom/android/server/utils/WatchedLongSparseArray$1;-><init>(Lcom/android/server/utils/WatchedLongSparseArray;)V
+HSPLcom/android/server/utils/WatchedLongSparseArray;-><init>()V
+HSPLcom/android/server/utils/WatchedLongSparseArray;-><init>(I)V
+HSPLcom/android/server/utils/WatchedLongSparseArray;->get(J)Ljava/lang/Object;
+HSPLcom/android/server/utils/WatchedLongSparseArray;->keyAt(I)J
+HSPLcom/android/server/utils/WatchedLongSparseArray;->onChanged()V
+HSPLcom/android/server/utils/WatchedLongSparseArray;->put(JLjava/lang/Object;)V
+HSPLcom/android/server/utils/WatchedLongSparseArray;->registerChild(Ljava/lang/Object;)V
+HSPLcom/android/server/utils/WatchedLongSparseArray;->registerObserver(Lcom/android/server/utils/Watcher;)V
+HSPLcom/android/server/utils/WatchedLongSparseArray;->size()I
+HSPLcom/android/server/utils/WatchedLongSparseArray;->snapshot()Lcom/android/server/utils/WatchedLongSparseArray;
+HSPLcom/android/server/utils/WatchedLongSparseArray;->snapshot()Ljava/lang/Object;
+HSPLcom/android/server/utils/WatchedLongSparseArray;->snapshot(Lcom/android/server/utils/WatchedLongSparseArray;Lcom/android/server/utils/WatchedLongSparseArray;)V
+HSPLcom/android/server/utils/WatchedLongSparseArray;->unregisterChildIf(Ljava/lang/Object;)V
+HSPLcom/android/server/utils/WatchedLongSparseArray;->valueAt(I)Ljava/lang/Object;
+HSPLcom/android/server/utils/WatchedSparseArray$1;-><init>(Lcom/android/server/utils/WatchedSparseArray;)V
+HSPLcom/android/server/utils/WatchedSparseArray$1;->onChange(Lcom/android/server/utils/Watchable;)V
+HSPLcom/android/server/utils/WatchedSparseArray;-><init>()V
+HSPLcom/android/server/utils/WatchedSparseArray;-><init>(I)V
+HSPLcom/android/server/utils/WatchedSparseArray;-><init>(Lcom/android/server/utils/WatchedSparseArray;)V
+PLcom/android/server/utils/WatchedSparseArray;->delete(I)V
+HSPLcom/android/server/utils/WatchedSparseArray;->get(I)Ljava/lang/Object;
+HSPLcom/android/server/utils/WatchedSparseArray;->keyAt(I)I
+HSPLcom/android/server/utils/WatchedSparseArray;->onChanged()V
+HSPLcom/android/server/utils/WatchedSparseArray;->put(ILjava/lang/Object;)V
+HSPLcom/android/server/utils/WatchedSparseArray;->registerChild(Ljava/lang/Object;)V
+HSPLcom/android/server/utils/WatchedSparseArray;->registerObserver(Lcom/android/server/utils/Watcher;)V
+PLcom/android/server/utils/WatchedSparseArray;->remove(I)V
+HSPLcom/android/server/utils/WatchedSparseArray;->size()I
+HSPLcom/android/server/utils/WatchedSparseArray;->snapshot()Lcom/android/server/utils/WatchedSparseArray;
+HSPLcom/android/server/utils/WatchedSparseArray;->snapshot()Ljava/lang/Object;
+HSPLcom/android/server/utils/WatchedSparseArray;->snapshot(Lcom/android/server/utils/WatchedSparseArray;)V
+HSPLcom/android/server/utils/WatchedSparseArray;->snapshot(Lcom/android/server/utils/WatchedSparseArray;Lcom/android/server/utils/WatchedSparseArray;)V
+HSPLcom/android/server/utils/WatchedSparseArray;->unregisterChildIf(Ljava/lang/Object;)V
+HSPLcom/android/server/utils/WatchedSparseArray;->valueAt(I)Ljava/lang/Object;
+HSPLcom/android/server/utils/WatchedSparseBooleanArray;-><init>()V
+HSPLcom/android/server/utils/WatchedSparseBooleanArray;-><init>(Lcom/android/server/utils/WatchedSparseBooleanArray;)V
+HPLcom/android/server/utils/WatchedSparseBooleanArray;->get(I)Z
+PLcom/android/server/utils/WatchedSparseBooleanArray;->onChanged()V
+PLcom/android/server/utils/WatchedSparseBooleanArray;->put(IZ)V
+HSPLcom/android/server/utils/WatchedSparseBooleanArray;->snapshot()Lcom/android/server/utils/WatchedSparseBooleanArray;
+HSPLcom/android/server/utils/WatchedSparseBooleanMatrix;-><init>()V
+HSPLcom/android/server/utils/WatchedSparseBooleanMatrix;-><init>(I)V
+HPLcom/android/server/utils/WatchedSparseBooleanMatrix;-><init>(Lcom/android/server/utils/WatchedSparseBooleanMatrix;)V
+HPLcom/android/server/utils/WatchedSparseBooleanMatrix;->binarySearch([III)I
+PLcom/android/server/utils/WatchedSparseBooleanMatrix;->clear()V
+HPLcom/android/server/utils/WatchedSparseBooleanMatrix;->copyFrom(Lcom/android/server/utils/WatchedSparseBooleanMatrix;)V
+HPLcom/android/server/utils/WatchedSparseBooleanMatrix;->indexOfKey(I)I
+HPLcom/android/server/utils/WatchedSparseBooleanMatrix;->indexOfKey(IZ)I
+PLcom/android/server/utils/WatchedSparseBooleanMatrix;->nextFree(Z)I
+HPLcom/android/server/utils/WatchedSparseBooleanMatrix;->onChanged()V
+HPLcom/android/server/utils/WatchedSparseBooleanMatrix;->put(IIZ)V
+PLcom/android/server/utils/WatchedSparseBooleanMatrix;->resizeMatrix(I)V
+PLcom/android/server/utils/WatchedSparseBooleanMatrix;->setCapacity(I)V
+HPLcom/android/server/utils/WatchedSparseBooleanMatrix;->setValueAt(IIZ)V
+HPLcom/android/server/utils/WatchedSparseBooleanMatrix;->setValueAtInternal(IIZ)V
+PLcom/android/server/utils/WatchedSparseBooleanMatrix;->size()I
+HPLcom/android/server/utils/WatchedSparseBooleanMatrix;->snapshot()Lcom/android/server/utils/WatchedSparseBooleanMatrix;
+HPLcom/android/server/utils/WatchedSparseBooleanMatrix;->snapshot()Ljava/lang/Object;
+HPLcom/android/server/utils/WatchedSparseBooleanMatrix;->validateIndex(I)V
+HPLcom/android/server/utils/WatchedSparseBooleanMatrix;->validateIndex(II)V
+HPLcom/android/server/utils/WatchedSparseBooleanMatrix;->valueAt(II)Z
+HPLcom/android/server/utils/WatchedSparseBooleanMatrix;->valueAtInternal(II)Z
+HSPLcom/android/server/utils/WatchedSparseIntArray;-><init>()V
+HSPLcom/android/server/utils/WatchedSparseIntArray;-><init>(Lcom/android/server/utils/WatchedSparseIntArray;)V
+HSPLcom/android/server/utils/WatchedSparseIntArray;->size()I
+HSPLcom/android/server/utils/WatchedSparseIntArray;->snapshot()Lcom/android/server/utils/WatchedSparseIntArray;
+HSPLcom/android/server/utils/WatchedSparseIntArray;->snapshot()Ljava/lang/Object;
+HSPLcom/android/server/utils/WatchedSparseIntArray;->snapshot(Lcom/android/server/utils/WatchedSparseIntArray;)V
+HSPLcom/android/server/utils/WatchedSparseIntArray;->snapshot(Lcom/android/server/utils/WatchedSparseIntArray;Lcom/android/server/utils/WatchedSparseIntArray;)V
+HSPLcom/android/server/utils/WatchedSparseSetArray;-><init>()V
+PLcom/android/server/utils/WatchedSparseSetArray;-><init>(Landroid/util/SparseSetArray;)V
+HSPLcom/android/server/utils/WatchedSparseSetArray;-><init>(Lcom/android/server/utils/WatchedSparseSetArray;)V
+HPLcom/android/server/utils/WatchedSparseSetArray;->add(ILjava/lang/Object;)Z
+HPLcom/android/server/utils/WatchedSparseSetArray;->contains(ILjava/lang/Object;)Z
+PLcom/android/server/utils/WatchedSparseSetArray;->get(I)Landroid/util/ArraySet;
+HPLcom/android/server/utils/WatchedSparseSetArray;->keyAt(I)I
+PLcom/android/server/utils/WatchedSparseSetArray;->onChanged()V
+HPLcom/android/server/utils/WatchedSparseSetArray;->size()I
+HSPLcom/android/server/utils/WatchedSparseSetArray;->snapshot()Ljava/lang/Object;
+HSPLcom/android/server/utils/WatchedSparseSetArray;->untrackedStorage()Landroid/util/SparseSetArray;
+HSPLcom/android/server/utils/Watcher;-><init>()V
+PLcom/android/server/utils/quota/Categorizer$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/utils/quota/Categorizer;-><clinit>()V
+PLcom/android/server/utils/quota/Category;-><clinit>()V
+PLcom/android/server/utils/quota/Category;-><init>(Ljava/lang/String;)V
+PLcom/android/server/utils/quota/Category;->equals(Ljava/lang/Object;)Z
+PLcom/android/server/utils/quota/Category;->hashCode()I
+PLcom/android/server/utils/quota/CountQuotaTracker$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/utils/quota/CountQuotaTracker;)V
+PLcom/android/server/utils/quota/CountQuotaTracker$$ExternalSyntheticLambda1;-><init>()V
+PLcom/android/server/utils/quota/CountQuotaTracker$$ExternalSyntheticLambda1;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/utils/quota/CountQuotaTracker$$ExternalSyntheticLambda2;-><init>()V
+HPLcom/android/server/utils/quota/CountQuotaTracker$$ExternalSyntheticLambda2;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/utils/quota/CountQuotaTracker$$ExternalSyntheticLambda3;-><init>(J)V
+PLcom/android/server/utils/quota/CountQuotaTracker$CqtHandler;-><init>(Lcom/android/server/utils/quota/CountQuotaTracker;Landroid/os/Looper;)V
+PLcom/android/server/utils/quota/CountQuotaTracker$DeleteEventTimesFunctor;->-$$Nest$fgetmMaxPeriodMs(Lcom/android/server/utils/quota/CountQuotaTracker$DeleteEventTimesFunctor;)J
+PLcom/android/server/utils/quota/CountQuotaTracker$DeleteEventTimesFunctor;->-$$Nest$mupdateMaxPeriod(Lcom/android/server/utils/quota/CountQuotaTracker$DeleteEventTimesFunctor;)V
+PLcom/android/server/utils/quota/CountQuotaTracker$DeleteEventTimesFunctor;-><init>(Lcom/android/server/utils/quota/CountQuotaTracker;)V
+PLcom/android/server/utils/quota/CountQuotaTracker$DeleteEventTimesFunctor;-><init>(Lcom/android/server/utils/quota/CountQuotaTracker;Lcom/android/server/utils/quota/CountQuotaTracker$DeleteEventTimesFunctor-IA;)V
+HPLcom/android/server/utils/quota/CountQuotaTracker$DeleteEventTimesFunctor;->updateMaxPeriod()V
+PLcom/android/server/utils/quota/CountQuotaTracker$EarliestEventTimeFunctor;-><init>()V
+PLcom/android/server/utils/quota/CountQuotaTracker$EarliestEventTimeFunctor;-><init>(Lcom/android/server/utils/quota/CountQuotaTracker$EarliestEventTimeFunctor-IA;)V
+PLcom/android/server/utils/quota/CountQuotaTracker$EarliestEventTimeFunctor;->accept(Landroid/util/LongArrayQueue;)V
+PLcom/android/server/utils/quota/CountQuotaTracker$EarliestEventTimeFunctor;->accept(Ljava/lang/Object;)V
+PLcom/android/server/utils/quota/CountQuotaTracker$EarliestEventTimeFunctor;->reset()V
+PLcom/android/server/utils/quota/CountQuotaTracker$ExecutionStats;-><init>()V
+PLcom/android/server/utils/quota/CountQuotaTracker;->$r8$lambda$bpXgHbASkT73xHBfIQStDjbYyHs(Ljava/lang/Void;)Lcom/android/server/utils/quota/CountQuotaTracker$ExecutionStats;
+PLcom/android/server/utils/quota/CountQuotaTracker;->$r8$lambda$cM9jWlqtuFAt3Et9NwUilONDTpc(Ljava/lang/Void;)Landroid/util/LongArrayQueue;
+PLcom/android/server/utils/quota/CountQuotaTracker;->-$$Nest$fgetmCategoryCountWindowSizesMs(Lcom/android/server/utils/quota/CountQuotaTracker;)Landroid/util/ArrayMap;
+PLcom/android/server/utils/quota/CountQuotaTracker;-><clinit>()V
+PLcom/android/server/utils/quota/CountQuotaTracker;-><init>(Landroid/content/Context;Lcom/android/server/utils/quota/Categorizer;)V
+HPLcom/android/server/utils/quota/CountQuotaTracker;-><init>(Landroid/content/Context;Lcom/android/server/utils/quota/Categorizer;Lcom/android/server/utils/quota/QuotaTracker$Injector;)V
+HPLcom/android/server/utils/quota/CountQuotaTracker;->getExecutionStatsLocked(ILjava/lang/String;Ljava/lang/String;)Lcom/android/server/utils/quota/CountQuotaTracker$ExecutionStats;
+HPLcom/android/server/utils/quota/CountQuotaTracker;->getExecutionStatsLocked(ILjava/lang/String;Ljava/lang/String;Z)Lcom/android/server/utils/quota/CountQuotaTracker$ExecutionStats;
+PLcom/android/server/utils/quota/CountQuotaTracker;->getHandler()Landroid/os/Handler;
+PLcom/android/server/utils/quota/CountQuotaTracker;->invalidateAllExecutionStatsLocked()V
+HPLcom/android/server/utils/quota/CountQuotaTracker;->isUnderCountQuotaLocked(Lcom/android/server/utils/quota/CountQuotaTracker$ExecutionStats;)Z
+HPLcom/android/server/utils/quota/CountQuotaTracker;->isWithinQuota(ILjava/lang/String;Ljava/lang/String;)Z
+HPLcom/android/server/utils/quota/CountQuotaTracker;->isWithinQuotaLocked(ILjava/lang/String;Ljava/lang/String;)Z
+HPLcom/android/server/utils/quota/CountQuotaTracker;->isWithinQuotaLocked(Lcom/android/server/utils/quota/CountQuotaTracker$ExecutionStats;)Z
+PLcom/android/server/utils/quota/CountQuotaTracker;->lambda$new$4(Ljava/lang/Void;)Landroid/util/LongArrayQueue;
+HPLcom/android/server/utils/quota/CountQuotaTracker;->lambda$new$5(Ljava/lang/Void;)Lcom/android/server/utils/quota/CountQuotaTracker$ExecutionStats;
+PLcom/android/server/utils/quota/CountQuotaTracker;->maybeScheduleCleanupAlarmLocked()V
+PLcom/android/server/utils/quota/CountQuotaTracker;->noteEvent(ILjava/lang/String;Ljava/lang/String;)Z
+HPLcom/android/server/utils/quota/CountQuotaTracker;->setCountLimit(Lcom/android/server/utils/quota/Category;IJ)V
+PLcom/android/server/utils/quota/CountQuotaTracker;->setEnabled(Z)V
+HPLcom/android/server/utils/quota/CountQuotaTracker;->updateExecutionStatsLocked(ILjava/lang/String;Ljava/lang/String;Lcom/android/server/utils/quota/CountQuotaTracker$ExecutionStats;)V
+PLcom/android/server/utils/quota/MultiRateLimiter$Builder;-><init>(Landroid/content/Context;)V
+PLcom/android/server/utils/quota/MultiRateLimiter$Builder;-><init>(Landroid/content/Context;Lcom/android/server/utils/quota/QuotaTracker$Injector;)V
+PLcom/android/server/utils/quota/MultiRateLimiter$Builder;->addRateLimit(ILjava/time/Duration;)Lcom/android/server/utils/quota/MultiRateLimiter$Builder;
+PLcom/android/server/utils/quota/MultiRateLimiter$Builder;->addRateLimit(Lcom/android/server/utils/quota/MultiRateLimiter$RateLimit;)Lcom/android/server/utils/quota/MultiRateLimiter$Builder;
+PLcom/android/server/utils/quota/MultiRateLimiter$Builder;->addRateLimits([Lcom/android/server/utils/quota/MultiRateLimiter$RateLimit;)Lcom/android/server/utils/quota/MultiRateLimiter$Builder;
+PLcom/android/server/utils/quota/MultiRateLimiter$Builder;->build()Lcom/android/server/utils/quota/MultiRateLimiter;
+PLcom/android/server/utils/quota/MultiRateLimiter$RateLimit;-><init>(ILjava/time/Duration;)V
+PLcom/android/server/utils/quota/MultiRateLimiter$RateLimit;->create(ILjava/time/Duration;)Lcom/android/server/utils/quota/MultiRateLimiter$RateLimit;
+PLcom/android/server/utils/quota/MultiRateLimiter;-><clinit>()V
+PLcom/android/server/utils/quota/MultiRateLimiter;-><init>(Ljava/util/List;)V
+PLcom/android/server/utils/quota/MultiRateLimiter;-><init>(Ljava/util/List;Lcom/android/server/utils/quota/MultiRateLimiter-IA;)V
+PLcom/android/server/utils/quota/QuotaTracker$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/utils/quota/QuotaTracker;IJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;)V
+PLcom/android/server/utils/quota/QuotaTracker$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/utils/quota/QuotaTracker$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/utils/quota/QuotaTracker;)V
+PLcom/android/server/utils/quota/QuotaTracker$$ExternalSyntheticLambda2;->run()V
+PLcom/android/server/utils/quota/QuotaTracker$1;-><init>(Lcom/android/server/utils/quota/QuotaTracker;)V
+PLcom/android/server/utils/quota/QuotaTracker$InQuotaAlarmQueue;-><init>(Lcom/android/server/utils/quota/QuotaTracker;Landroid/content/Context;Landroid/os/Looper;)V
+PLcom/android/server/utils/quota/QuotaTracker$InQuotaAlarmQueue;-><init>(Lcom/android/server/utils/quota/QuotaTracker;Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/utils/quota/QuotaTracker$InQuotaAlarmQueue-IA;)V
+PLcom/android/server/utils/quota/QuotaTracker$Injector;-><init>()V
+HPLcom/android/server/utils/quota/QuotaTracker$Injector;->getElapsedRealtime()J
+PLcom/android/server/utils/quota/QuotaTracker$Injector;->isAlarmManagerReady()Z
+PLcom/android/server/utils/quota/QuotaTracker;->$r8$lambda$7_jWEDO3BU-RIo1JOMCtrF_brqU(Lcom/android/server/utils/quota/QuotaTracker;IJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;)V
+PLcom/android/server/utils/quota/QuotaTracker;->$r8$lambda$zqw0r2J0L3v3iTYTnBHhbM_aIAc(Lcom/android/server/utils/quota/QuotaTracker;)V
+PLcom/android/server/utils/quota/QuotaTracker;->-$$Nest$sfgetALARM_TAG_QUOTA_CHECK()Ljava/lang/String;
+PLcom/android/server/utils/quota/QuotaTracker;-><clinit>()V
+HPLcom/android/server/utils/quota/QuotaTracker;-><init>(Landroid/content/Context;Lcom/android/server/utils/quota/Categorizer;Lcom/android/server/utils/quota/QuotaTracker$Injector;)V
+PLcom/android/server/utils/quota/QuotaTracker;->isEnabledLocked()Z
+HPLcom/android/server/utils/quota/QuotaTracker;->isQuotaFreeLocked(ILjava/lang/String;)Z
+HPLcom/android/server/utils/quota/QuotaTracker;->isWithinQuota(ILjava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/utils/quota/QuotaTracker;->lambda$scheduleAlarm$0(IJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;)V
+PLcom/android/server/utils/quota/QuotaTracker;->lambda$scheduleQuotaCheck$2()V
+PLcom/android/server/utils/quota/QuotaTracker;->scheduleAlarm(IJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;)V
+PLcom/android/server/utils/quota/QuotaTracker;->scheduleQuotaCheck()V
+PLcom/android/server/utils/quota/QuotaTracker;->setEnabled(Z)V
+PLcom/android/server/utils/quota/UptcMap$$ExternalSyntheticLambda0;-><init>(Ljava/util/function/Consumer;)V
+PLcom/android/server/utils/quota/UptcMap$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
+PLcom/android/server/utils/quota/UptcMap;->$r8$lambda$d6yUTqkiV7qCVDI1h44DX07LvM8(Ljava/util/function/Consumer;Landroid/util/ArrayMap;)V
+PLcom/android/server/utils/quota/UptcMap;-><init>()V
+HPLcom/android/server/utils/quota/UptcMap;->add(ILjava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
+PLcom/android/server/utils/quota/UptcMap;->forEach(Ljava/util/function/Consumer;)V
+HPLcom/android/server/utils/quota/UptcMap;->get(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
+HPLcom/android/server/utils/quota/UptcMap;->getOrCreate(ILjava/lang/String;Ljava/lang/String;Ljava/util/function/Function;)Ljava/lang/Object;
+PLcom/android/server/utils/quota/UptcMap;->lambda$forEach$0(Ljava/util/function/Consumer;Landroid/util/ArrayMap;)V
+PLcom/android/server/vcn/TelephonySubscriptionTracker$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/vcn/TelephonySubscriptionTracker;Lcom/android/server/vcn/TelephonySubscriptionTracker$TelephonySubscriptionSnapshot;)V
+PLcom/android/server/vcn/TelephonySubscriptionTracker$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/vcn/TelephonySubscriptionTracker$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/vcn/TelephonySubscriptionTracker;)V
+PLcom/android/server/vcn/TelephonySubscriptionTracker$$ExternalSyntheticLambda1;->onCarrierConfigChanged(IIII)V
+PLcom/android/server/vcn/TelephonySubscriptionTracker$1;-><init>(Lcom/android/server/vcn/TelephonySubscriptionTracker;)V
+PLcom/android/server/vcn/TelephonySubscriptionTracker$2;-><init>(Lcom/android/server/vcn/TelephonySubscriptionTracker;)V
+PLcom/android/server/vcn/TelephonySubscriptionTracker$2;->onCarrierPrivilegesChanged(Ljava/util/Set;Ljava/util/Set;)V
+PLcom/android/server/vcn/TelephonySubscriptionTracker$ActiveDataSubscriptionIdListener;-><init>(Lcom/android/server/vcn/TelephonySubscriptionTracker;)V
+PLcom/android/server/vcn/TelephonySubscriptionTracker$ActiveDataSubscriptionIdListener;-><init>(Lcom/android/server/vcn/TelephonySubscriptionTracker;Lcom/android/server/vcn/TelephonySubscriptionTracker$ActiveDataSubscriptionIdListener-IA;)V
+PLcom/android/server/vcn/TelephonySubscriptionTracker$Dependencies;-><init>()V
+PLcom/android/server/vcn/TelephonySubscriptionTracker$Dependencies;->getActiveDataSubscriptionId()I
+PLcom/android/server/vcn/TelephonySubscriptionTracker$TelephonySubscriptionSnapshot;-><clinit>()V
+HPLcom/android/server/vcn/TelephonySubscriptionTracker$TelephonySubscriptionSnapshot;-><init>(ILjava/util/Map;Ljava/util/Map;Ljava/util/Map;)V
+PLcom/android/server/vcn/TelephonySubscriptionTracker$TelephonySubscriptionSnapshot;->equals(Ljava/lang/Object;)Z
+PLcom/android/server/vcn/TelephonySubscriptionTracker$TelephonySubscriptionSnapshot;->toString()Ljava/lang/String;
+PLcom/android/server/vcn/TelephonySubscriptionTracker;->$r8$lambda$UITr0Y088UTlKS8haj11FOauMy8(Lcom/android/server/vcn/TelephonySubscriptionTracker;IIII)V
+PLcom/android/server/vcn/TelephonySubscriptionTracker;->$r8$lambda$d-we-Idb2bNLS062826pLy573-w(Lcom/android/server/vcn/TelephonySubscriptionTracker;Lcom/android/server/vcn/TelephonySubscriptionTracker$TelephonySubscriptionSnapshot;)V
+PLcom/android/server/vcn/TelephonySubscriptionTracker;-><clinit>()V
+PLcom/android/server/vcn/TelephonySubscriptionTracker;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/vcn/TelephonySubscriptionTracker$TelephonySubscriptionTrackerCallback;)V
+PLcom/android/server/vcn/TelephonySubscriptionTracker;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/vcn/TelephonySubscriptionTracker$TelephonySubscriptionTrackerCallback;Lcom/android/server/vcn/TelephonySubscriptionTracker$Dependencies;)V
+PLcom/android/server/vcn/TelephonySubscriptionTracker;->handleActionCarrierConfigChanged(II)V
+PLcom/android/server/vcn/TelephonySubscriptionTracker;->handleSubscriptionsChanged()V
+PLcom/android/server/vcn/TelephonySubscriptionTracker;->lambda$handleSubscriptionsChanged$1(Lcom/android/server/vcn/TelephonySubscriptionTracker$TelephonySubscriptionSnapshot;)V
+PLcom/android/server/vcn/TelephonySubscriptionTracker;->lambda$new$0(IIII)V
+PLcom/android/server/vcn/TelephonySubscriptionTracker;->register()V
+PLcom/android/server/vcn/TelephonySubscriptionTracker;->registerCarrierPrivilegesCallbacks()V
+PLcom/android/server/vcn/Vcn;-><clinit>()V
+PLcom/android/server/vcn/Vcn;->getNetworkScore()Landroid/net/NetworkScore;
+PLcom/android/server/vcn/VcnNetworkProvider$1;-><init>(Lcom/android/server/vcn/VcnNetworkProvider;)V
+PLcom/android/server/vcn/VcnNetworkProvider$1;->onNetworkNeeded(Landroid/net/NetworkRequest;)V
+PLcom/android/server/vcn/VcnNetworkProvider$1;->onNetworkUnneeded(Landroid/net/NetworkRequest;)V
+PLcom/android/server/vcn/VcnNetworkProvider$Dependencies;-><init>()V
+PLcom/android/server/vcn/VcnNetworkProvider$Dependencies;->registerNetworkOffer(Lcom/android/server/vcn/VcnNetworkProvider;Landroid/net/NetworkScore;Landroid/net/NetworkCapabilities;Ljava/util/concurrent/Executor;Landroid/net/NetworkProvider$NetworkOfferCallback;)V
+PLcom/android/server/vcn/VcnNetworkProvider;->-$$Nest$mhandleNetworkRequestWithdrawn(Lcom/android/server/vcn/VcnNetworkProvider;Landroid/net/NetworkRequest;)V
+PLcom/android/server/vcn/VcnNetworkProvider;->-$$Nest$mhandleNetworkRequested(Lcom/android/server/vcn/VcnNetworkProvider;Landroid/net/NetworkRequest;)V
+PLcom/android/server/vcn/VcnNetworkProvider;-><clinit>()V
+PLcom/android/server/vcn/VcnNetworkProvider;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
+PLcom/android/server/vcn/VcnNetworkProvider;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/vcn/VcnNetworkProvider$Dependencies;)V
+PLcom/android/server/vcn/VcnNetworkProvider;->buildCapabilityFilter()Landroid/net/NetworkCapabilities;
+PLcom/android/server/vcn/VcnNetworkProvider;->handleNetworkRequestWithdrawn(Landroid/net/NetworkRequest;)V
+PLcom/android/server/vcn/VcnNetworkProvider;->handleNetworkRequested(Landroid/net/NetworkRequest;)V
+PLcom/android/server/vcn/VcnNetworkProvider;->register()V
+PLcom/android/server/vcn/util/PersistableBundleUtils$LockingReadWriteHelper;-><init>(Ljava/lang/String;)V
+PLcom/android/server/vcn/util/PersistableBundleUtils$LockingReadWriteHelper;->readFromDisk()Landroid/os/PersistableBundle;
+PLcom/android/server/vibrator/AbstractVibratorStep;-><init>(Lcom/android/server/vibrator/VibrationStepConductor;JLcom/android/server/vibrator/VibratorController;Landroid/os/VibrationEffect$Composed;IJ)V
+PLcom/android/server/vibrator/AbstractVibratorStep;->acceptVibratorCompleteCallback(I)Z
+PLcom/android/server/vibrator/AbstractVibratorStep;->getVibratorId()I
+PLcom/android/server/vibrator/AbstractVibratorStep;->getVibratorOnDuration()J
+PLcom/android/server/vibrator/AbstractVibratorStep;->handleVibratorOnResult(J)J
+PLcom/android/server/vibrator/AbstractVibratorStep;->nextSteps(I)Ljava/util/List;
+PLcom/android/server/vibrator/AbstractVibratorStep;->nextSteps(JI)Ljava/util/List;
+PLcom/android/server/vibrator/AbstractVibratorStep;->stopVibrating()V
+PLcom/android/server/vibrator/ClippingAmplitudeAndFrequencyAdapter;-><init>()V
+PLcom/android/server/vibrator/ClippingAmplitudeAndFrequencyAdapter;->adaptToVibrator(Landroid/os/VibratorInfo;Ljava/util/List;I)I
+PLcom/android/server/vibrator/CompleteEffectVibratorStep;-><init>(Lcom/android/server/vibrator/VibrationStepConductor;JZLcom/android/server/vibrator/VibratorController;J)V
+PLcom/android/server/vibrator/CompleteEffectVibratorStep;->isCleanUp()Z
+PLcom/android/server/vibrator/CompleteEffectVibratorStep;->play()Ljava/util/List;
+PLcom/android/server/vibrator/ComposePrimitivesVibratorStep;-><init>(Lcom/android/server/vibrator/VibrationStepConductor;JLcom/android/server/vibrator/VibratorController;Landroid/os/VibrationEffect$Composed;IJ)V
+PLcom/android/server/vibrator/ComposePrimitivesVibratorStep;->play()Ljava/util/List;
+PLcom/android/server/vibrator/ComposePrimitivesVibratorStep;->unrollPrimitiveSegments(Landroid/os/VibrationEffect$Composed;II)Ljava/util/List;
+PLcom/android/server/vibrator/DeviceAdapter;-><init>(Lcom/android/server/vibrator/VibrationSettings;Landroid/util/SparseArray;)V
+PLcom/android/server/vibrator/DeviceAdapter;->adaptToVibrator(ILandroid/os/VibrationEffect;)Landroid/os/VibrationEffect;
+PLcom/android/server/vibrator/DeviceAdapter;->getAvailableVibratorIds()[I
+PLcom/android/server/vibrator/DeviceAdapter;->getAvailableVibrators()Landroid/util/SparseArray;
+PLcom/android/server/vibrator/FinishSequentialEffectStep;-><init>(Lcom/android/server/vibrator/StartSequentialEffectStep;)V
+PLcom/android/server/vibrator/FinishSequentialEffectStep;->isCleanUp()Z
+PLcom/android/server/vibrator/FinishSequentialEffectStep;->play()Ljava/util/List;
+PLcom/android/server/vibrator/HalVibration;-><init>(Landroid/os/IBinder;Landroid/os/CombinedVibration;Lcom/android/server/vibrator/Vibration$CallerInfo;)V
+PLcom/android/server/vibrator/HalVibration;->adaptToDevice(Landroid/os/CombinedVibration$VibratorAdapter;)V
+PLcom/android/server/vibrator/HalVibration;->end(Lcom/android/server/vibrator/Vibration$EndInfo;)V
+PLcom/android/server/vibrator/HalVibration;->getDebugInfo()Lcom/android/server/vibrator/Vibration$DebugInfo;
+PLcom/android/server/vibrator/HalVibration;->getEffectToPlay()Landroid/os/CombinedVibration;
+PLcom/android/server/vibrator/HalVibration;->getStatsInfo(J)Lcom/android/server/vibrator/VibrationStats$StatsInfo;
+PLcom/android/server/vibrator/HalVibration;->hasEnded()Z
+PLcom/android/server/vibrator/HalVibration;->isRepeating()Z
+PLcom/android/server/vibrator/HalVibration;->scaleEffects(Landroid/os/VibrationEffect$Transformation;)V
+PLcom/android/server/vibrator/HapticFeedbackCustomization;->loadVibrations(Landroid/content/res/Resources;Landroid/os/VibratorInfo;)Landroid/util/SparseArray;
+HPLcom/android/server/vibrator/HapticFeedbackCustomization;->loadVibrationsInternal(Landroid/content/res/Resources;Landroid/os/VibratorInfo;)Landroid/util/SparseArray;
+PLcom/android/server/vibrator/HapticFeedbackVibrationProvider;-><clinit>()V
+PLcom/android/server/vibrator/HapticFeedbackVibrationProvider;-><init>(Landroid/content/res/Resources;Landroid/os/Vibrator;)V
+PLcom/android/server/vibrator/HapticFeedbackVibrationProvider;-><init>(Landroid/content/res/Resources;Landroid/os/VibratorInfo;)V
+PLcom/android/server/vibrator/HapticFeedbackVibrationProvider;-><init>(Landroid/content/res/Resources;Landroid/os/VibratorInfo;Landroid/util/SparseArray;)V
+PLcom/android/server/vibrator/HapticFeedbackVibrationProvider;->effectHasCustomization(I)Z
+PLcom/android/server/vibrator/HapticFeedbackVibrationProvider;->loadHapticCustomizations(Landroid/content/res/Resources;Landroid/os/VibratorInfo;)Landroid/util/SparseArray;
+PLcom/android/server/vibrator/InputDeviceDelegate;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/vibrator/InputDeviceDelegate;->isAvailable()Z
+PLcom/android/server/vibrator/InputDeviceDelegate;->onSystemReady()V
+PLcom/android/server/vibrator/InputDeviceDelegate;->updateInputDeviceVibrators(Z)Z
+PLcom/android/server/vibrator/RampDownAdapter;-><init>(II)V
+PLcom/android/server/vibrator/RampDownAdapter;->adaptToVibrator(Landroid/os/VibratorInfo;Ljava/util/List;I)I
+PLcom/android/server/vibrator/RampToStepAdapter;-><init>(I)V
+PLcom/android/server/vibrator/RampToStepAdapter;->adaptToVibrator(Landroid/os/VibratorInfo;Ljava/util/List;I)I
+PLcom/android/server/vibrator/SplitSegmentsAdapter;-><init>()V
+PLcom/android/server/vibrator/SplitSegmentsAdapter;->adaptToVibrator(Landroid/os/VibratorInfo;Ljava/util/List;I)I
+PLcom/android/server/vibrator/StartSequentialEffectStep$DeviceEffectMap;-><init>(Lcom/android/server/vibrator/StartSequentialEffectStep;Landroid/os/CombinedVibration$Mono;)V
+PLcom/android/server/vibrator/StartSequentialEffectStep$DeviceEffectMap;->calculateRequiredSyncCapabilities(Landroid/util/SparseArray;)J
+PLcom/android/server/vibrator/StartSequentialEffectStep$DeviceEffectMap;->effectAt(I)Landroid/os/VibrationEffect$Composed;
+PLcom/android/server/vibrator/StartSequentialEffectStep$DeviceEffectMap;->requireMixedTriggerCapability(JJ)Z
+PLcom/android/server/vibrator/StartSequentialEffectStep$DeviceEffectMap;->size()I
+PLcom/android/server/vibrator/StartSequentialEffectStep$DeviceEffectMap;->vibratorIdAt(I)I
+PLcom/android/server/vibrator/StartSequentialEffectStep;-><init>(Lcom/android/server/vibrator/VibrationStepConductor;JLandroid/os/CombinedVibration$Sequential;I)V
+PLcom/android/server/vibrator/StartSequentialEffectStep;-><init>(Lcom/android/server/vibrator/VibrationStepConductor;Landroid/os/CombinedVibration$Sequential;)V
+PLcom/android/server/vibrator/StartSequentialEffectStep;->createEffectToVibratorMapping(Landroid/os/CombinedVibration;)Lcom/android/server/vibrator/StartSequentialEffectStep$DeviceEffectMap;
+PLcom/android/server/vibrator/StartSequentialEffectStep;->getVibratorOnDuration()J
+PLcom/android/server/vibrator/StartSequentialEffectStep;->nextStep()Lcom/android/server/vibrator/Step;
+PLcom/android/server/vibrator/StartSequentialEffectStep;->play()Ljava/util/List;
+PLcom/android/server/vibrator/StartSequentialEffectStep;->startVibrating(Lcom/android/server/vibrator/AbstractVibratorStep;Ljava/util/List;)J
+PLcom/android/server/vibrator/StartSequentialEffectStep;->startVibrating(Lcom/android/server/vibrator/StartSequentialEffectStep$DeviceEffectMap;Ljava/util/List;)J
+PLcom/android/server/vibrator/Step;-><init>(Lcom/android/server/vibrator/VibrationStepConductor;J)V
+PLcom/android/server/vibrator/Step;->calculateWaitTime()J
+PLcom/android/server/vibrator/Step;->compareTo(Lcom/android/server/vibrator/Step;)I
+PLcom/android/server/vibrator/Step;->compareTo(Ljava/lang/Object;)I
+PLcom/android/server/vibrator/Step;->getVibration()Lcom/android/server/vibrator/HalVibration;
+PLcom/android/server/vibrator/Step;->getVibratorOnDuration()J
+PLcom/android/server/vibrator/Step;->isCleanUp()Z
+PLcom/android/server/vibrator/StepToRampAdapter;-><init>()V
+PLcom/android/server/vibrator/StepToRampAdapter;->adaptToVibrator(Landroid/os/VibratorInfo;Ljava/util/List;I)I
+PLcom/android/server/vibrator/TurnOffVibratorStep;-><init>(Lcom/android/server/vibrator/VibrationStepConductor;JLcom/android/server/vibrator/VibratorController;)V
+PLcom/android/server/vibrator/TurnOffVibratorStep;->isCleanUp()Z
+PLcom/android/server/vibrator/TurnOffVibratorStep;->play()Ljava/util/List;
+PLcom/android/server/vibrator/Vibration$CallerInfo;-><init>(Landroid/os/VibrationAttributes;IILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/vibrator/Vibration$DebugInfo;-><init>(Lcom/android/server/vibrator/Vibration$Status;Lcom/android/server/vibrator/VibrationStats;Landroid/os/CombinedVibration;Landroid/os/CombinedVibration;FLcom/android/server/vibrator/Vibration$CallerInfo;)V
+PLcom/android/server/vibrator/Vibration$EndInfo;-><init>(Lcom/android/server/vibrator/Vibration$Status;)V
+PLcom/android/server/vibrator/Vibration$EndInfo;-><init>(Lcom/android/server/vibrator/Vibration$Status;Lcom/android/server/vibrator/Vibration$CallerInfo;)V
+PLcom/android/server/vibrator/Vibration$Status;->$values()[Lcom/android/server/vibrator/Vibration$Status;
+HPLcom/android/server/vibrator/Vibration$Status;-><clinit>()V
+PLcom/android/server/vibrator/Vibration$Status;-><init>(Ljava/lang/String;II)V
+PLcom/android/server/vibrator/Vibration$Status;->getProtoEnumValue()I
+PLcom/android/server/vibrator/Vibration$Status;->values()[Lcom/android/server/vibrator/Vibration$Status;
+PLcom/android/server/vibrator/Vibration;-><clinit>()V
+PLcom/android/server/vibrator/Vibration;-><init>(Landroid/os/IBinder;Lcom/android/server/vibrator/Vibration$CallerInfo;)V
+PLcom/android/server/vibrator/VibrationScaler$ScaleLevel;-><init>(F)V
+PLcom/android/server/vibrator/VibrationScaler;-><init>(Landroid/content/Context;Lcom/android/server/vibrator/VibrationSettings;)V
+PLcom/android/server/vibrator/VibrationScaler;->intensityToEffectStrength(I)I
+PLcom/android/server/vibrator/VibrationScaler;->scale(Landroid/os/VibrationEffect;I)Landroid/os/VibrationEffect;
+PLcom/android/server/vibrator/VibrationSettings$1;-><init>(Lcom/android/server/vibrator/VibrationSettings;)V
+PLcom/android/server/vibrator/VibrationSettings$2;-><init>(Lcom/android/server/vibrator/VibrationSettings;)V
+PLcom/android/server/vibrator/VibrationSettings$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/vibrator/VibrationSettings$MyUidObserver;-><init>(Lcom/android/server/vibrator/VibrationSettings;)V
+PLcom/android/server/vibrator/VibrationSettings$MyUidObserver;->isUidForeground(I)Z
+PLcom/android/server/vibrator/VibrationSettings$MyUidObserver;->onUidGone(IZ)V
+HPLcom/android/server/vibrator/VibrationSettings$MyUidObserver;->onUidStateChanged(IIJI)V
+PLcom/android/server/vibrator/VibrationSettings$SettingsBroadcastReceiver;-><init>(Lcom/android/server/vibrator/VibrationSettings;)V
+PLcom/android/server/vibrator/VibrationSettings$SettingsBroadcastReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/vibrator/VibrationSettings$SettingsContentObserver;-><init>(Lcom/android/server/vibrator/VibrationSettings;Landroid/os/Handler;)V
+PLcom/android/server/vibrator/VibrationSettings;->-$$Nest$mnotifyListeners(Lcom/android/server/vibrator/VibrationSettings;)V
+PLcom/android/server/vibrator/VibrationSettings;->-$$Nest$mupdateBatteryInfo(Lcom/android/server/vibrator/VibrationSettings;Landroid/content/Intent;)V
+PLcom/android/server/vibrator/VibrationSettings;->-$$Nest$mupdateRingerMode(Lcom/android/server/vibrator/VibrationSettings;)V
+PLcom/android/server/vibrator/VibrationSettings;-><clinit>()V
+PLcom/android/server/vibrator/VibrationSettings;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/vibrator/VibrationSettings;-><init>(Landroid/content/Context;Landroid/os/Handler;Landroid/os/vibrator/VibrationConfig;)V
+PLcom/android/server/vibrator/VibrationSettings;->addListener(Lcom/android/server/vibrator/VibrationSettings$OnVibratorSettingsChanged;)V
+PLcom/android/server/vibrator/VibrationSettings;->createEffectFromResource(I)Landroid/os/VibrationEffect;
+PLcom/android/server/vibrator/VibrationSettings;->createEffectFromResource(Landroid/content/res/Resources;I)Landroid/os/VibrationEffect;
+PLcom/android/server/vibrator/VibrationSettings;->createEffectFromTimings([J)Landroid/os/VibrationEffect;
+PLcom/android/server/vibrator/VibrationSettings;->getCurrentIntensity(I)I
+PLcom/android/server/vibrator/VibrationSettings;->getDefaultIntensity(I)I
+PLcom/android/server/vibrator/VibrationSettings;->getLongIntArray(Landroid/content/res/Resources;I)[J
+PLcom/android/server/vibrator/VibrationSettings;->getRampDownDuration()I
+PLcom/android/server/vibrator/VibrationSettings;->getRampStepDuration()I
+PLcom/android/server/vibrator/VibrationSettings;->getRequestVibrationParamsForUsages()[I
+PLcom/android/server/vibrator/VibrationSettings;->loadBooleanSetting(Ljava/lang/String;)Z
+PLcom/android/server/vibrator/VibrationSettings;->loadSystemSetting(Ljava/lang/String;I)I
+PLcom/android/server/vibrator/VibrationSettings;->notifyListeners()V
+PLcom/android/server/vibrator/VibrationSettings;->onSystemReady()V
+PLcom/android/server/vibrator/VibrationSettings;->registerSettingsChangeReceiver(Landroid/content/IntentFilter;)V
+PLcom/android/server/vibrator/VibrationSettings;->registerSettingsObserver(Landroid/net/Uri;)V
+PLcom/android/server/vibrator/VibrationSettings;->shouldIgnoreVibration(Lcom/android/server/vibrator/Vibration$CallerInfo;)Lcom/android/server/vibrator/Vibration$Status;
+PLcom/android/server/vibrator/VibrationSettings;->shouldVibrateForRingerModeLocked(I)Z
+PLcom/android/server/vibrator/VibrationSettings;->shouldVibrateForUserSetting(Lcom/android/server/vibrator/Vibration$CallerInfo;)Z
+PLcom/android/server/vibrator/VibrationSettings;->shouldVibrateInputDevices()Z
+PLcom/android/server/vibrator/VibrationSettings;->toIntensity(II)I
+PLcom/android/server/vibrator/VibrationSettings;->toPositiveIntensity(II)I
+PLcom/android/server/vibrator/VibrationSettings;->update()V
+PLcom/android/server/vibrator/VibrationSettings;->updateBatteryInfo(Landroid/content/Intent;)V
+PLcom/android/server/vibrator/VibrationSettings;->updateRingerMode()V
+HPLcom/android/server/vibrator/VibrationSettings;->updateSettings()V
+PLcom/android/server/vibrator/VibrationStats$StatsInfo;-><init>(IIILcom/android/server/vibrator/Vibration$Status;Lcom/android/server/vibrator/VibrationStats;J)V
+PLcom/android/server/vibrator/VibrationStats$StatsInfo;->filteredKeys(Landroid/util/SparseBooleanArray;Z)[I
+PLcom/android/server/vibrator/VibrationStats$StatsInfo;->writeVibrationReported()V
+PLcom/android/server/vibrator/VibrationStats;->-$$Nest$fgetmCreateUptimeMillis(Lcom/android/server/vibrator/VibrationStats;)J
+PLcom/android/server/vibrator/VibrationStats;->-$$Nest$fgetmEndUptimeMillis(Lcom/android/server/vibrator/VibrationStats;)J
+PLcom/android/server/vibrator/VibrationStats;->-$$Nest$fgetmEndedByUid(Lcom/android/server/vibrator/VibrationStats;)I
+PLcom/android/server/vibrator/VibrationStats;->-$$Nest$fgetmEndedByUsage(Lcom/android/server/vibrator/VibrationStats;)I
+PLcom/android/server/vibrator/VibrationStats;->-$$Nest$fgetmInterruptedUsage(Lcom/android/server/vibrator/VibrationStats;)I
+PLcom/android/server/vibrator/VibrationStats;->-$$Nest$fgetmRepeatCount(Lcom/android/server/vibrator/VibrationStats;)I
+PLcom/android/server/vibrator/VibrationStats;->-$$Nest$fgetmStartUptimeMillis(Lcom/android/server/vibrator/VibrationStats;)J
+PLcom/android/server/vibrator/VibrationStats;->-$$Nest$fgetmVibrationCompositionTotalSize(Lcom/android/server/vibrator/VibrationStats;)I
+PLcom/android/server/vibrator/VibrationStats;->-$$Nest$fgetmVibrationPwleTotalSize(Lcom/android/server/vibrator/VibrationStats;)I
+PLcom/android/server/vibrator/VibrationStats;->-$$Nest$fgetmVibratorComposeCount(Lcom/android/server/vibrator/VibrationStats;)I
+PLcom/android/server/vibrator/VibrationStats;->-$$Nest$fgetmVibratorComposePwleCount(Lcom/android/server/vibrator/VibrationStats;)I
+PLcom/android/server/vibrator/VibrationStats;->-$$Nest$fgetmVibratorEffectsUsed(Lcom/android/server/vibrator/VibrationStats;)Landroid/util/SparseBooleanArray;
+PLcom/android/server/vibrator/VibrationStats;->-$$Nest$fgetmVibratorOffCount(Lcom/android/server/vibrator/VibrationStats;)I
+PLcom/android/server/vibrator/VibrationStats;->-$$Nest$fgetmVibratorOnCount(Lcom/android/server/vibrator/VibrationStats;)I
+PLcom/android/server/vibrator/VibrationStats;->-$$Nest$fgetmVibratorOnTotalDurationMillis(Lcom/android/server/vibrator/VibrationStats;)I
+PLcom/android/server/vibrator/VibrationStats;->-$$Nest$fgetmVibratorPerformCount(Lcom/android/server/vibrator/VibrationStats;)I
+PLcom/android/server/vibrator/VibrationStats;->-$$Nest$fgetmVibratorPrimitivesUsed(Lcom/android/server/vibrator/VibrationStats;)Landroid/util/SparseBooleanArray;
+PLcom/android/server/vibrator/VibrationStats;->-$$Nest$fgetmVibratorSetAmplitudeCount(Lcom/android/server/vibrator/VibrationStats;)I
+PLcom/android/server/vibrator/VibrationStats;->-$$Nest$fgetmVibratorSetExternalControlCount(Lcom/android/server/vibrator/VibrationStats;)I
+PLcom/android/server/vibrator/VibrationStats;-><init>()V
+PLcom/android/server/vibrator/VibrationStats;->getCreateTimeDebug()J
+PLcom/android/server/vibrator/VibrationStats;->getDurationDebug()J
+PLcom/android/server/vibrator/VibrationStats;->getEndTimeDebug()J
+PLcom/android/server/vibrator/VibrationStats;->getStartTimeDebug()J
+PLcom/android/server/vibrator/VibrationStats;->hasEnded()Z
+PLcom/android/server/vibrator/VibrationStats;->hasStarted()Z
+PLcom/android/server/vibrator/VibrationStats;->reportComposePrimitives(J[Landroid/os/vibrator/PrimitiveSegment;)V
+PLcom/android/server/vibrator/VibrationStats;->reportEnded(Lcom/android/server/vibrator/Vibration$CallerInfo;)Z
+PLcom/android/server/vibrator/VibrationStats;->reportStarted()V
+PLcom/android/server/vibrator/VibrationStats;->reportVibratorOff()V
+PLcom/android/server/vibrator/VibrationStepConductor$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/vibrator/VibrationScaler;)V
+PLcom/android/server/vibrator/VibrationStepConductor$$ExternalSyntheticLambda0;->transform(Landroid/os/VibrationEffect;Ljava/lang/Object;)Landroid/os/VibrationEffect;
+PLcom/android/server/vibrator/VibrationStepConductor;-><clinit>()V
+PLcom/android/server/vibrator/VibrationStepConductor;-><init>(Lcom/android/server/vibrator/HalVibration;Lcom/android/server/vibrator/VibrationSettings;Lcom/android/server/vibrator/DeviceAdapter;Lcom/android/server/vibrator/VibrationScaler;Ljava/util/concurrent/CompletableFuture;Lcom/android/server/vibrator/VibrationThread$VibratorManagerHooks;)V
+PLcom/android/server/vibrator/VibrationStepConductor;->calculateVibrationEndInfo()Lcom/android/server/vibrator/Vibration$EndInfo;
+PLcom/android/server/vibrator/VibrationStepConductor;->expectIsVibrationThread(Z)V
+PLcom/android/server/vibrator/VibrationStepConductor;->getVibration()Lcom/android/server/vibrator/HalVibration;
+PLcom/android/server/vibrator/VibrationStepConductor;->getVibrators()Landroid/util/SparseArray;
+PLcom/android/server/vibrator/VibrationStepConductor;->hasPendingNotifySignalLocked()Z
+PLcom/android/server/vibrator/VibrationStepConductor;->isFinished()Z
+PLcom/android/server/vibrator/VibrationStepConductor;->nextVibrateStep(JLcom/android/server/vibrator/VibratorController;Landroid/os/VibrationEffect$Composed;IJ)Lcom/android/server/vibrator/AbstractVibratorStep;
+PLcom/android/server/vibrator/VibrationStepConductor;->notifyVibratorComplete(I)V
+PLcom/android/server/vibrator/VibrationStepConductor;->pollNext()Lcom/android/server/vibrator/Step;
+PLcom/android/server/vibrator/VibrationStepConductor;->prepareToStart()V
+PLcom/android/server/vibrator/VibrationStepConductor;->processAllNotifySignals()V
+PLcom/android/server/vibrator/VibrationStepConductor;->processVibratorsComplete([I)V
+PLcom/android/server/vibrator/VibrationStepConductor;->runNextStep()V
+PLcom/android/server/vibrator/VibrationStepConductor;->toSequential(Landroid/os/CombinedVibration;)Landroid/os/CombinedVibration$Sequential;
+PLcom/android/server/vibrator/VibrationStepConductor;->waitForVibrationParamsIfRequired()V
+PLcom/android/server/vibrator/VibrationStepConductor;->waitUntilNextStepIsDue()Z
+PLcom/android/server/vibrator/VibrationThread;-><init>(Landroid/os/PowerManager$WakeLock;Lcom/android/server/vibrator/VibrationThread$VibratorManagerHooks;)V
+PLcom/android/server/vibrator/VibrationThread;->clientVibrationCompleteIfNotAlready(Lcom/android/server/vibrator/Vibration$EndInfo;)V
+PLcom/android/server/vibrator/VibrationThread;->playVibration()V
+PLcom/android/server/vibrator/VibrationThread;->run()V
+PLcom/android/server/vibrator/VibrationThread;->runCurrentVibrationWithWakeLock()V
+PLcom/android/server/vibrator/VibrationThread;->runCurrentVibrationWithWakeLockAndDeathLink()V
+PLcom/android/server/vibrator/VibrationThread;->runVibrationOnVibrationThread(Lcom/android/server/vibrator/VibrationStepConductor;)Z
+PLcom/android/server/vibrator/VibrationThread;->waitForVibrationRequest()Lcom/android/server/vibrator/VibrationStepConductor;
+PLcom/android/server/vibrator/VibratorControlService;-><init>(Lcom/android/server/vibrator/VibratorControllerHolder;Lcom/android/server/vibrator/VibrationScaler;Lcom/android/server/vibrator/VibrationSettings;Ljava/lang/Object;)V
+PLcom/android/server/vibrator/VibratorControlService;->shouldRequestVibrationParams(I)Z
+PLcom/android/server/vibrator/VibratorController$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/vibrator/VibratorController;Z)V
+PLcom/android/server/vibrator/VibratorController$NativeWrapper;-><init>()V
+PLcom/android/server/vibrator/VibratorController$NativeWrapper;->compose([Landroid/os/vibrator/PrimitiveSegment;J)J
+PLcom/android/server/vibrator/VibratorController$NativeWrapper;->getInfo(Landroid/os/VibratorInfo$Builder;)Z
+PLcom/android/server/vibrator/VibratorController$NativeWrapper;->init(ILcom/android/server/vibrator/VibratorController$OnVibrationCompleteListener;)V
+PLcom/android/server/vibrator/VibratorController$NativeWrapper;->off()V
+PLcom/android/server/vibrator/VibratorController;-><init>(ILcom/android/server/vibrator/VibratorController$OnVibrationCompleteListener;)V
+PLcom/android/server/vibrator/VibratorController;-><init>(ILcom/android/server/vibrator/VibratorController$OnVibrationCompleteListener;Lcom/android/server/vibrator/VibratorController$NativeWrapper;)V
+PLcom/android/server/vibrator/VibratorController;->getCurrentAmplitude()F
+PLcom/android/server/vibrator/VibratorController;->getVibratorInfo()Landroid/os/VibratorInfo;
+PLcom/android/server/vibrator/VibratorController;->isVibratorInfoLoadSuccessful()Z
+PLcom/android/server/vibrator/VibratorController;->notifyListenerOnVibrating(Z)V
+PLcom/android/server/vibrator/VibratorController;->off()V
+PLcom/android/server/vibrator/VibratorController;->on([Landroid/os/vibrator/PrimitiveSegment;J)J
+PLcom/android/server/vibrator/VibratorController;->reloadVibratorInfoIfNeeded()V
+PLcom/android/server/vibrator/VibratorController;->reset()V
+PLcom/android/server/vibrator/VibratorController;->setExternalControl(Z)V
+PLcom/android/server/vibrator/VibratorControllerHolder;-><init>()V
+PLcom/android/server/vibrator/VibratorControllerHolder;->getVibratorController()Landroid/frameworks/vibrator/IVibratorController;
+PLcom/android/server/vibrator/VibratorFrameworkStatsLogger$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/vibrator/VibratorFrameworkStatsLogger;)V
+PLcom/android/server/vibrator/VibratorFrameworkStatsLogger$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/vibrator/VibratorFrameworkStatsLogger$$ExternalSyntheticLambda1;-><init>(IJ)V
+PLcom/android/server/vibrator/VibratorFrameworkStatsLogger$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/vibrator/VibratorFrameworkStatsLogger$$ExternalSyntheticLambda2;-><init>(I)V
+PLcom/android/server/vibrator/VibratorFrameworkStatsLogger$$ExternalSyntheticLambda2;->run()V
+PLcom/android/server/vibrator/VibratorFrameworkStatsLogger;->$r8$lambda$3clAp4KeKtl_6LJMNjTyvIQT3s8(IJ)V
+PLcom/android/server/vibrator/VibratorFrameworkStatsLogger;->$r8$lambda$6sCMCxdISmdoENm6LJ5XtEdSNaY(Lcom/android/server/vibrator/VibratorFrameworkStatsLogger;)V
+PLcom/android/server/vibrator/VibratorFrameworkStatsLogger;->$r8$lambda$e1LVOLtWrkBnktoOi9j1ZkWqiNw(I)V
+PLcom/android/server/vibrator/VibratorFrameworkStatsLogger;-><init>(Landroid/os/Handler;)V
+PLcom/android/server/vibrator/VibratorFrameworkStatsLogger;-><init>(Landroid/os/Handler;II)V
+PLcom/android/server/vibrator/VibratorFrameworkStatsLogger;->lambda$new$0()V
+PLcom/android/server/vibrator/VibratorFrameworkStatsLogger;->lambda$writeVibratorStateOffAsync$2(I)V
+PLcom/android/server/vibrator/VibratorFrameworkStatsLogger;->lambda$writeVibratorStateOnAsync$1(IJ)V
+PLcom/android/server/vibrator/VibratorFrameworkStatsLogger;->writeVibrationReportedAsync(Lcom/android/server/vibrator/VibrationStats$StatsInfo;)V
+PLcom/android/server/vibrator/VibratorFrameworkStatsLogger;->writeVibrationReportedFromQueue()V
+PLcom/android/server/vibrator/VibratorFrameworkStatsLogger;->writeVibratorStateOffAsync(I)V
+PLcom/android/server/vibrator/VibratorFrameworkStatsLogger;->writeVibratorStateOnAsync(IJ)V
+PLcom/android/server/vibrator/VibratorManagerService$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/vibrator/VibratorManagerService;)V
+PLcom/android/server/vibrator/VibratorManagerService$$ExternalSyntheticLambda1;->onChange()V
+PLcom/android/server/vibrator/VibratorManagerService$1;-><init>(Lcom/android/server/vibrator/VibratorManagerService;)V
+PLcom/android/server/vibrator/VibratorManagerService$2;-><clinit>()V
+PLcom/android/server/vibrator/VibratorManagerService$AggregatedVibrationRecord;-><init>(Lcom/android/server/vibrator/Vibration$DebugInfo;)V
+PLcom/android/server/vibrator/VibratorManagerService$ExternalVibratorService;-><init>(Lcom/android/server/vibrator/VibratorManagerService;)V
+PLcom/android/server/vibrator/VibratorManagerService$Injector;-><init>()V
+PLcom/android/server/vibrator/VibratorManagerService$Injector;->addService(Ljava/lang/String;Landroid/os/IBinder;)V
+PLcom/android/server/vibrator/VibratorManagerService$Injector;->createHandler(Landroid/os/Looper;)Landroid/os/Handler;
+PLcom/android/server/vibrator/VibratorManagerService$Injector;->createVibratorController(ILcom/android/server/vibrator/VibratorController$OnVibrationCompleteListener;)Lcom/android/server/vibrator/VibratorController;
+PLcom/android/server/vibrator/VibratorManagerService$Injector;->createVibratorControllerHolder()Lcom/android/server/vibrator/VibratorControllerHolder;
+PLcom/android/server/vibrator/VibratorManagerService$Injector;->getBatteryStatsService()Lcom/android/internal/app/IBatteryStats;
+PLcom/android/server/vibrator/VibratorManagerService$Injector;->getFrameworkStatsLogger(Landroid/os/Handler;)Lcom/android/server/vibrator/VibratorFrameworkStatsLogger;
+PLcom/android/server/vibrator/VibratorManagerService$Injector;->getNativeWrapper()Lcom/android/server/vibrator/VibratorManagerService$NativeWrapper;
+PLcom/android/server/vibrator/VibratorManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/vibrator/VibratorManagerService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/vibrator/VibratorManagerService$Lifecycle;->onStart()V
+PLcom/android/server/vibrator/VibratorManagerService$NativeWrapper;-><init>()V
+PLcom/android/server/vibrator/VibratorManagerService$NativeWrapper;->cancelSynced()V
+PLcom/android/server/vibrator/VibratorManagerService$NativeWrapper;->getCapabilities()J
+PLcom/android/server/vibrator/VibratorManagerService$NativeWrapper;->getVibratorIds()[I
+PLcom/android/server/vibrator/VibratorManagerService$NativeWrapper;->init(Lcom/android/server/vibrator/VibratorManagerService$OnSyncedVibrationCompleteListener;)V
+PLcom/android/server/vibrator/VibratorManagerService$VibrationCompleteListener;-><init>(Lcom/android/server/vibrator/VibratorManagerService;)V
+PLcom/android/server/vibrator/VibratorManagerService$VibrationCompleteListener;->onComplete(IJ)V
+PLcom/android/server/vibrator/VibratorManagerService$VibrationRecords;-><init>(II)V
+PLcom/android/server/vibrator/VibratorManagerService$VibrationRecords;->record(Lcom/android/server/vibrator/Vibration$DebugInfo;)Lcom/android/server/vibrator/VibratorManagerService$AggregatedVibrationRecord;
+PLcom/android/server/vibrator/VibratorManagerService$VibrationThreadCallbacks;-><init>(Lcom/android/server/vibrator/VibratorManagerService;)V
+PLcom/android/server/vibrator/VibratorManagerService$VibrationThreadCallbacks;-><init>(Lcom/android/server/vibrator/VibratorManagerService;Lcom/android/server/vibrator/VibratorManagerService$VibrationThreadCallbacks-IA;)V
+PLcom/android/server/vibrator/VibratorManagerService$VibrationThreadCallbacks;->noteVibratorOff(I)V
+PLcom/android/server/vibrator/VibratorManagerService$VibrationThreadCallbacks;->noteVibratorOn(IJ)V
+PLcom/android/server/vibrator/VibratorManagerService$VibrationThreadCallbacks;->onVibrationCompleted(JLcom/android/server/vibrator/Vibration$EndInfo;)V
+PLcom/android/server/vibrator/VibratorManagerService$VibrationThreadCallbacks;->onVibrationThreadReleased(J)V
+PLcom/android/server/vibrator/VibratorManagerService$VibratorManagerRecords;-><init>(III)V
+PLcom/android/server/vibrator/VibratorManagerService$VibratorManagerRecords;->record(Lcom/android/server/vibrator/HalVibration;)V
+PLcom/android/server/vibrator/VibratorManagerService$VibratorManagerRecords;->record(Lcom/android/server/vibrator/Vibration$DebugInfo;)V
+PLcom/android/server/vibrator/VibratorManagerService;->-$$Nest$fgetmBatteryStatsService(Lcom/android/server/vibrator/VibratorManagerService;)Lcom/android/internal/app/IBatteryStats;
+PLcom/android/server/vibrator/VibratorManagerService;->-$$Nest$fgetmCurrentVibration(Lcom/android/server/vibrator/VibratorManagerService;)Lcom/android/server/vibrator/VibrationStepConductor;
+PLcom/android/server/vibrator/VibratorManagerService;->-$$Nest$fgetmFrameworkStatsLogger(Lcom/android/server/vibrator/VibratorManagerService;)Lcom/android/server/vibrator/VibratorFrameworkStatsLogger;
+PLcom/android/server/vibrator/VibratorManagerService;->-$$Nest$fgetmLock(Lcom/android/server/vibrator/VibratorManagerService;)Ljava/lang/Object;
+PLcom/android/server/vibrator/VibratorManagerService;->-$$Nest$fgetmNextVibration(Lcom/android/server/vibrator/VibratorManagerService;)Lcom/android/server/vibrator/VibrationStepConductor;
+PLcom/android/server/vibrator/VibratorManagerService;->-$$Nest$fputmCurrentVibration(Lcom/android/server/vibrator/VibratorManagerService;Lcom/android/server/vibrator/VibrationStepConductor;)V
+PLcom/android/server/vibrator/VibratorManagerService;->-$$Nest$monVibrationComplete(Lcom/android/server/vibrator/VibratorManagerService;IJ)V
+PLcom/android/server/vibrator/VibratorManagerService;->-$$Nest$mreportFinishedVibrationLocked(Lcom/android/server/vibrator/VibratorManagerService;Lcom/android/server/vibrator/Vibration$EndInfo;)V
+PLcom/android/server/vibrator/VibratorManagerService;-><clinit>()V
+HPLcom/android/server/vibrator/VibratorManagerService;-><init>(Landroid/content/Context;Lcom/android/server/vibrator/VibratorManagerService$Injector;)V
+PLcom/android/server/vibrator/VibratorManagerService;->checkAppOpModeLocked(Lcom/android/server/vibrator/Vibration$CallerInfo;)I
+PLcom/android/server/vibrator/VibratorManagerService;->createVibrationStepConductor(Lcom/android/server/vibrator/HalVibration;)Lcom/android/server/vibrator/VibrationStepConductor;
+PLcom/android/server/vibrator/VibratorManagerService;->endVibrationLocked(Lcom/android/server/vibrator/HalVibration;Lcom/android/server/vibrator/Vibration$EndInfo;Z)V
+PLcom/android/server/vibrator/VibratorManagerService;->enforceUpdateAppOpsStatsPermission(I)V
+PLcom/android/server/vibrator/VibratorManagerService;->fillVibrationFallbacks(Lcom/android/server/vibrator/HalVibration;Landroid/os/CombinedVibration;)V
+PLcom/android/server/vibrator/VibratorManagerService;->fillVibrationFallbacks(Lcom/android/server/vibrator/HalVibration;Landroid/os/VibrationEffect;)V
+PLcom/android/server/vibrator/VibratorManagerService;->finishAppOpModeLocked(Lcom/android/server/vibrator/Vibration$CallerInfo;)V
+PLcom/android/server/vibrator/VibratorManagerService;->fixupAppOpModeLocked(ILandroid/os/VibrationAttributes;)I
+PLcom/android/server/vibrator/VibratorManagerService;->fixupVibrationAttributes(Landroid/os/VibrationAttributes;Landroid/os/CombinedVibration;)Landroid/os/VibrationAttributes;
+PLcom/android/server/vibrator/VibratorManagerService;->getVibratorIds()[I
+PLcom/android/server/vibrator/VibratorManagerService;->getVibratorInfo(I)Landroid/os/VibratorInfo;
+PLcom/android/server/vibrator/VibratorManagerService;->isEffectValid(Landroid/os/CombinedVibration;)Z
+PLcom/android/server/vibrator/VibratorManagerService;->logVibrationStatus(ILandroid/os/VibrationAttributes;Lcom/android/server/vibrator/Vibration$Status;)V
+PLcom/android/server/vibrator/VibratorManagerService;->onVibrationComplete(IJ)V
+PLcom/android/server/vibrator/VibratorManagerService;->reportFinishedVibrationLocked(Lcom/android/server/vibrator/Vibration$EndInfo;)V
+PLcom/android/server/vibrator/VibratorManagerService;->shouldIgnoreVibrationForOngoingLocked(Lcom/android/server/vibrator/Vibration;)Lcom/android/server/vibrator/Vibration$EndInfo;
+PLcom/android/server/vibrator/VibratorManagerService;->shouldIgnoreVibrationLocked(Lcom/android/server/vibrator/Vibration$CallerInfo;)Lcom/android/server/vibrator/Vibration$EndInfo;
+PLcom/android/server/vibrator/VibratorManagerService;->startAppOpModeLocked(Lcom/android/server/vibrator/Vibration$CallerInfo;)I
+PLcom/android/server/vibrator/VibratorManagerService;->startVibrationLocked(Lcom/android/server/vibrator/HalVibration;)Lcom/android/server/vibrator/Vibration$EndInfo;
+PLcom/android/server/vibrator/VibratorManagerService;->startVibrationOnThreadLocked(Lcom/android/server/vibrator/VibrationStepConductor;)Lcom/android/server/vibrator/Vibration$EndInfo;
+PLcom/android/server/vibrator/VibratorManagerService;->systemReady()V
+PLcom/android/server/vibrator/VibratorManagerService;->updateServiceState()V
+PLcom/android/server/vibrator/VibratorManagerService;->vibrate(IILjava/lang/String;Landroid/os/CombinedVibration;Landroid/os/VibrationAttributes;Ljava/lang/String;Landroid/os/IBinder;)V
+PLcom/android/server/vibrator/VibratorManagerService;->vibrateInternal(IILjava/lang/String;Landroid/os/CombinedVibration;Landroid/os/VibrationAttributes;Ljava/lang/String;Landroid/os/IBinder;)Lcom/android/server/vibrator/HalVibration;
+PLcom/android/server/vibrator/VibratorManagerService;->vibrateWithPermissionCheck(IILjava/lang/String;Landroid/os/CombinedVibration;Landroid/os/VibrationAttributes;Ljava/lang/String;Landroid/os/IBinder;)Lcom/android/server/vibrator/HalVibration;
+PLcom/android/server/voiceinteraction/DatabaseHelper;-><init>(Landroid/content/Context;)V
+PLcom/android/server/voiceinteraction/RecognitionServiceInfo;->getAvailableServices(Landroid/content/Context;I)Ljava/util/List;
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$1;-><init>(Lcom/android/server/voiceinteraction/VoiceInteractionManagerService;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$2;-><init>(Lcom/android/server/voiceinteraction/VoiceInteractionManagerService;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$3;-><init>(Lcom/android/server/voiceinteraction/VoiceInteractionManagerService;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$3;->asBinder()Landroid/os/IBinder;
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$LocalService;-><init>(Lcom/android/server/voiceinteraction/VoiceInteractionManagerService;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$2;-><init>(Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$2;->onHandleForceStop(Landroid/content/Intent;[Ljava/lang/String;IZ)Z
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$RoleObserver;-><init>(Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;Ljava/util/concurrent/Executor;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$RoleObserver;->onRoleHoldersChanged(Ljava/lang/String;Landroid/os/UserHandle;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$SettingsObserver;-><init>(Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;Landroid/os/Handler;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->-$$Nest$mqueryInteractorServices(Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;ILjava/lang/String;)Ljava/util/List;
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;-><init>(Lcom/android/server/voiceinteraction/VoiceInteractionManagerService;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->findAvailRecognizer(Ljava/lang/String;I)Landroid/content/ComponentName;
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->getActiveServiceComponentName()Landroid/content/ComponentName;
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->getCurInteractor(I)Landroid/content/ComponentName;
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->getCurRecognizer(I)Landroid/content/ComponentName;
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->getDefaultRecognizer()Ljava/lang/String;
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->getForceVoiceInteractionServicePackage(Landroid/content/res/Resources;)Ljava/lang/String;
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->initForUser(I)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->initForUserNoTracing(I)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->initRecognizer(I)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->notifyActivityEventChanged(Landroid/os/IBinder;I)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->queryInteractorServices(ILjava/lang/String;)Ljava/util/List;
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->registerVoiceInteractionSessionListener(Lcom/android/internal/app/IVoiceInteractionSessionListener;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->setCurInteractor(Landroid/content/ComponentName;I)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->setCurrentUserLocked(I)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->setImplLocked(Lcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->shouldEnableService(Landroid/content/Context;)Z
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->switchImplementationIfNeeded(Z)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->switchImplementationIfNeededLocked(Z)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->switchImplementationIfNeededNoTracingLocked(Z)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->systemRunning(Z)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->unloadAllKeyphraseModels()V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService;->-$$Nest$fgetmServiceStub(Lcom/android/server/voiceinteraction/VoiceInteractionManagerService;)Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService;->-$$Nest$fgetmVoiceInteractionSessionListeners(Lcom/android/server/voiceinteraction/VoiceInteractionManagerService;)Landroid/os/RemoteCallbackList;
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService;->-$$Nest$misUserSupported(Lcom/android/server/voiceinteraction/VoiceInteractionManagerService;Landroid/content/pm/UserInfo;)Z
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService;->isUserSupported(Landroid/content/pm/UserInfo;)Z
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService;->isUserSupported(Lcom/android/server/SystemService$TargetUser;)Z
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService;->onBootPhase(I)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService;->onStart()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/wallpaper/LocalColorRepository;-><init>()V
+PLcom/android/server/wallpaper/LocalColorRepository;->getAreasByDisplayId(I)Ljava/util/List;
+PLcom/android/server/wallpaper/WallpaperCropper;-><clinit>()V
+PLcom/android/server/wallpaper/WallpaperCropper;-><init>(Lcom/android/server/wallpaper/WallpaperDisplayHelper;)V
+PLcom/android/server/wallpaper/WallpaperData$BindSource;->$values()[Lcom/android/server/wallpaper/WallpaperData$BindSource;
+PLcom/android/server/wallpaper/WallpaperData$BindSource;-><clinit>()V
+PLcom/android/server/wallpaper/WallpaperData$BindSource;-><init>(Ljava/lang/String;I)V
+PLcom/android/server/wallpaper/WallpaperData$BindSource;->values()[Lcom/android/server/wallpaper/WallpaperData$BindSource;
+HPLcom/android/server/wallpaper/WallpaperData;-><init>(II)V
+PLcom/android/server/wallpaper/WallpaperData;-><init>(Lcom/android/server/wallpaper/WallpaperData;)V
+PLcom/android/server/wallpaper/WallpaperData;->cropExists()Z
+PLcom/android/server/wallpaper/WallpaperData;->getCropFile()Ljava/io/File;
+PLcom/android/server/wallpaper/WallpaperData;->getFile(Landroid/util/SparseArray;Ljava/lang/String;)Ljava/io/File;
+PLcom/android/server/wallpaper/WallpaperData;->getWallpaperFile()Ljava/io/File;
+PLcom/android/server/wallpaper/WallpaperData;->sourceExists()Z
+PLcom/android/server/wallpaper/WallpaperDataParser$WallpaperLoadingResult;-><init>(Lcom/android/server/wallpaper/WallpaperData;Lcom/android/server/wallpaper/WallpaperData;Z)V
+PLcom/android/server/wallpaper/WallpaperDataParser$WallpaperLoadingResult;-><init>(Lcom/android/server/wallpaper/WallpaperData;Lcom/android/server/wallpaper/WallpaperData;ZLcom/android/server/wallpaper/WallpaperDataParser$WallpaperLoadingResult-IA;)V
+PLcom/android/server/wallpaper/WallpaperDataParser$WallpaperLoadingResult;->getLockWallpaperData()Lcom/android/server/wallpaper/WallpaperData;
+PLcom/android/server/wallpaper/WallpaperDataParser$WallpaperLoadingResult;->getSystemWallpaperData()Lcom/android/server/wallpaper/WallpaperData;
+PLcom/android/server/wallpaper/WallpaperDataParser$WallpaperLoadingResult;->success()Z
+PLcom/android/server/wallpaper/WallpaperDataParser;-><clinit>()V
+PLcom/android/server/wallpaper/WallpaperDataParser;-><init>(Landroid/content/Context;Lcom/android/server/wallpaper/WallpaperDisplayHelper;Lcom/android/server/wallpaper/WallpaperCropper;)V
+PLcom/android/server/wallpaper/WallpaperDataParser;->ensureSaneWallpaperData(Lcom/android/server/wallpaper/WallpaperData;)V
+PLcom/android/server/wallpaper/WallpaperDataParser;->getAttributeFloat(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;F)F
+PLcom/android/server/wallpaper/WallpaperDataParser;->getAttributeInt(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;I)I
+PLcom/android/server/wallpaper/WallpaperDataParser;->getAttributeString(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/wallpaper/WallpaperDataParser;->loadSettingsLocked(IZZI)Lcom/android/server/wallpaper/WallpaperDataParser$WallpaperLoadingResult;
+PLcom/android/server/wallpaper/WallpaperDataParser;->makeJournaledFile(I)Lcom/android/internal/util/JournaledFile;
+PLcom/android/server/wallpaper/WallpaperDataParser;->migrateFromOld()V
+HPLcom/android/server/wallpaper/WallpaperDataParser;->parseWallpaperAttributes(Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/server/wallpaper/WallpaperData;Z)V
+PLcom/android/server/wallpaper/WallpaperDataParser;->saveSettingsLocked(ILcom/android/server/wallpaper/WallpaperData;Lcom/android/server/wallpaper/WallpaperData;)V
+HPLcom/android/server/wallpaper/WallpaperDataParser;->writeWallpaperAttributes(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/lang/String;Lcom/android/server/wallpaper/WallpaperData;)V
+PLcom/android/server/wallpaper/WallpaperDisplayHelper$DisplayData;-><init>(I)V
+PLcom/android/server/wallpaper/WallpaperDisplayHelper;-><clinit>()V
+PLcom/android/server/wallpaper/WallpaperDisplayHelper;-><init>(Landroid/hardware/display/DisplayManager;Landroid/view/WindowManager;Lcom/android/server/wm/WindowManagerInternal;Z)V
+PLcom/android/server/wallpaper/WallpaperDisplayHelper;->ensureSaneWallpaperDisplaySize(Lcom/android/server/wallpaper/WallpaperDisplayHelper$DisplayData;I)V
+PLcom/android/server/wallpaper/WallpaperDisplayHelper;->getDisplayDataOrCreate(I)Lcom/android/server/wallpaper/WallpaperDisplayHelper$DisplayData;
+PLcom/android/server/wallpaper/WallpaperDisplayHelper;->getDisplays()[Landroid/view/Display;
+PLcom/android/server/wallpaper/WallpaperDisplayHelper;->getMaximumSizeDimension(I)I
+PLcom/android/server/wallpaper/WallpaperDisplayHelper;->isUsableDisplay(Landroid/view/Display;I)Z
+PLcom/android/server/wallpaper/WallpaperManagerInternal;-><init>()V
+PLcom/android/server/wallpaper/WallpaperManagerService$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/wallpaper/WallpaperManagerService$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$$ExternalSyntheticLambda12;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;I)V
+PLcom/android/server/wallpaper/WallpaperManagerService$$ExternalSyntheticLambda12;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$$ExternalSyntheticLambda13;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;Ljava/lang/String;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$$ExternalSyntheticLambda13;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/wallpaper/WallpaperManagerService$$ExternalSyntheticLambda19;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;Lcom/android/server/wallpaper/WallpaperData;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$$ExternalSyntheticLambda19;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$$ExternalSyntheticLambda20;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;Lcom/android/server/wallpaper/WallpaperData;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$$ExternalSyntheticLambda20;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$$ExternalSyntheticLambda2;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wallpaper/WallpaperManagerService$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/wallpaper/WallpaperCropper;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$$ExternalSyntheticLambda6;-><init>(I)V
+PLcom/android/server/wallpaper/WallpaperManagerService$$ExternalSyntheticLambda6;->run()V
+PLcom/android/server/wallpaper/WallpaperManagerService$$ExternalSyntheticLambda7;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;Lcom/android/server/wallpaper/WallpaperData;Lcom/android/server/wallpaper/WallpaperData;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$$ExternalSyntheticLambda7;->run()V
+PLcom/android/server/wallpaper/WallpaperManagerService$$ExternalSyntheticLambda8;-><init>(IILandroid/os/Bundle;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$$ExternalSyntheticLambda8;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$1;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$1;->onDisplayChanged(I)V
+PLcom/android/server/wallpaper/WallpaperManagerService$3;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$4;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$5;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$DisplayConnector;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;I)V
+PLcom/android/server/wallpaper/WallpaperManagerService$DisplayConnector;->connectLocked(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;Lcom/android/server/wallpaper/WallpaperData;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$DisplayConnector;->ensureStatusHandled()V
+PLcom/android/server/wallpaper/WallpaperManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/wallpaper/WallpaperManagerService$Lifecycle;->onStart()V
+PLcom/android/server/wallpaper/WallpaperManagerService$Lifecycle;->onUserUnlocking(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$LocalService;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$LocalService;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;Lcom/android/server/wallpaper/WallpaperManagerService$LocalService-IA;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$LocalService;->onScreenTurnedOn(I)V
+PLcom/android/server/wallpaper/WallpaperManagerService$LocalService;->onScreenTurningOn(I)V
+PLcom/android/server/wallpaper/WallpaperManagerService$MyPackageMonitor;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$MyPackageMonitor;->doPackagesChangedLocked(ZLcom/android/server/wallpaper/WallpaperData;)Z
+PLcom/android/server/wallpaper/WallpaperManagerService$MyPackageMonitor;->onHandleForceStop(Landroid/content/Intent;[Ljava/lang/String;IZ)Z
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->-$$Nest$mappendConnectorWithCondition(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;Ljava/util/function/Predicate;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;Landroid/app/WallpaperInfo;Lcom/android/server/wallpaper/WallpaperData;I)V
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->appendConnectorWithCondition(Ljava/util/function/Predicate;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->attachEngine(Landroid/service/wallpaper/IWallpaperEngine;I)V
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->containsDisplay(I)Z
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->engineShown(Landroid/service/wallpaper/IWallpaperEngine;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->forEachDisplayConnector(Ljava/util/function/Consumer;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->getDisplayConnectorOrCreate(I)Lcom/android/server/wallpaper/WallpaperManagerService$DisplayConnector;
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->initDisplayState()V
+HPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->onWallpaperColorsChanged(Landroid/app/WallpaperColors;I)V
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperDestinationChangeHandler;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;Lcom/android/server/wallpaper/WallpaperData;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperDestinationChangeHandler;->complete()V
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperObserver;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;Lcom/android/server/wallpaper/WallpaperData;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperObserver;->dataForEvent(Z)Lcom/android/server/wallpaper/WallpaperData;
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperObserver;->onEvent(ILjava/lang/String;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperObserver;->updateWallpapers(ILjava/lang/String;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->$r8$lambda$5ErvDQXwaddOkf73QSp6u6kkQ9Y(Lcom/android/server/wallpaper/WallpaperManagerService;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;Landroid/view/Display;)Z
+PLcom/android/server/wallpaper/WallpaperManagerService;->$r8$lambda$70f6O3WniAL1EPYwIwKjPj9UKTo(IILandroid/os/Bundle;Lcom/android/server/wallpaper/WallpaperManagerService$DisplayConnector;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->$r8$lambda$HPV0skZunkb71zseMl_vk0jUzZ8(I)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->$r8$lambda$Klm5b07ADsYSKveShfQLaSU4BJU(Lcom/android/server/wallpaper/WallpaperManagerService;ILjava/lang/Integer;Ljava/lang/String;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->$r8$lambda$MtJzR9Tfzpn1ib32AAJG680ugdY(Lcom/android/server/wallpaper/WallpaperManagerService;Ljava/lang/String;)Ljava/lang/Boolean;
+PLcom/android/server/wallpaper/WallpaperManagerService;->$r8$lambda$NZufi7t-APbcRooDKxjzjfXjTj8(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;Lcom/android/server/wallpaper/WallpaperData;Lcom/android/server/wallpaper/WallpaperManagerService$DisplayConnector;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->$r8$lambda$S4jgCqwuOI416eRiQyNOsDygOVs(Lcom/android/server/wallpaper/WallpaperManagerService;Lcom/android/server/wallpaper/WallpaperData;Lcom/android/server/wallpaper/WallpaperData;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->$r8$lambda$mkcPPqQQi9_GWMzWCHYLmW8Mmmo(Lcom/android/server/wallpaper/WallpaperManagerService$DisplayConnector;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->$r8$lambda$pRbDlKnuXuH2cuSxUxGHR4zK0uM(Lcom/android/server/wallpaper/WallpaperManagerService;Lcom/android/server/wallpaper/WallpaperData;Lcom/android/server/wallpaper/WallpaperManagerService$DisplayConnector;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->-$$Nest$fgetmContext(Lcom/android/server/wallpaper/WallpaperManagerService;)Landroid/content/Context;
+PLcom/android/server/wallpaper/WallpaperManagerService;->-$$Nest$fgetmCurrentUserId(Lcom/android/server/wallpaper/WallpaperManagerService;)I
+PLcom/android/server/wallpaper/WallpaperManagerService;->-$$Nest$fgetmImageWallpaper(Lcom/android/server/wallpaper/WallpaperManagerService;)Landroid/content/ComponentName;
+PLcom/android/server/wallpaper/WallpaperManagerService;->-$$Nest$fgetmInAmbientMode(Lcom/android/server/wallpaper/WallpaperManagerService;)Z
+PLcom/android/server/wallpaper/WallpaperManagerService;->-$$Nest$fgetmLocalColorRepo(Lcom/android/server/wallpaper/WallpaperManagerService;)Lcom/android/server/wallpaper/LocalColorRepository;
+PLcom/android/server/wallpaper/WallpaperManagerService;->-$$Nest$fgetmLock(Lcom/android/server/wallpaper/WallpaperManagerService;)Ljava/lang/Object;
+PLcom/android/server/wallpaper/WallpaperManagerService;->-$$Nest$fgetmWallpaperMap(Lcom/android/server/wallpaper/WallpaperManagerService;)Landroid/util/SparseArray;
+PLcom/android/server/wallpaper/WallpaperManagerService;->-$$Nest$fgetmWindowManagerInternal(Lcom/android/server/wallpaper/WallpaperManagerService;)Lcom/android/server/wm/WindowManagerInternal;
+PLcom/android/server/wallpaper/WallpaperManagerService;->-$$Nest$mattachServiceLocked(Lcom/android/server/wallpaper/WallpaperManagerService;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;Lcom/android/server/wallpaper/WallpaperData;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->-$$Nest$mgetWallpapers(Lcom/android/server/wallpaper/WallpaperManagerService;)[Lcom/android/server/wallpaper/WallpaperData;
+PLcom/android/server/wallpaper/WallpaperManagerService;->-$$Nest$mnotifyScreenTurnedOn(Lcom/android/server/wallpaper/WallpaperManagerService;I)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->-$$Nest$mnotifyScreenTurningOn(Lcom/android/server/wallpaper/WallpaperManagerService;I)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->-$$Nest$mnotifyWallpaperColorsChangedOnDisplay(Lcom/android/server/wallpaper/WallpaperManagerService;Lcom/android/server/wallpaper/WallpaperData;I)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->-$$Nest$msupportsMultiDisplay(Lcom/android/server/wallpaper/WallpaperManagerService;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;)Z
+PLcom/android/server/wallpaper/WallpaperManagerService;-><clinit>()V
+HPLcom/android/server/wallpaper/WallpaperManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->attachServiceLocked(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;Lcom/android/server/wallpaper/WallpaperData;)V
+HPLcom/android/server/wallpaper/WallpaperManagerService;->bindWallpaperComponentLocked(Landroid/content/ComponentName;ZZLcom/android/server/wallpaper/WallpaperData;Landroid/os/IRemoteCallback;)Z
+PLcom/android/server/wallpaper/WallpaperManagerService;->changingToSame(Landroid/content/ComponentName;Lcom/android/server/wallpaper/WallpaperData;)Z
+PLcom/android/server/wallpaper/WallpaperManagerService;->checkCallerIsSystemOrSystemUi()V
+PLcom/android/server/wallpaper/WallpaperManagerService;->checkPermission(Ljava/lang/String;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->clearWallpaperBitmaps(II)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->clearWallpaperBitmaps(Lcom/android/server/wallpaper/WallpaperData;)Z
+PLcom/android/server/wallpaper/WallpaperManagerService;->emptyCallbackList(Landroid/os/RemoteCallbackList;)Z
+PLcom/android/server/wallpaper/WallpaperManagerService;->enforcePackageBelongsToUid(Ljava/lang/String;I)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->errorCheck(I)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->getActiveWallpapers()[Lcom/android/server/wallpaper/WallpaperData;
+PLcom/android/server/wallpaper/WallpaperManagerService;->getHandlerForBindingWallpaperLocked()Landroid/os/Handler;
+PLcom/android/server/wallpaper/WallpaperManagerService;->getWallpaperCallbacks(II)Landroid/os/RemoteCallbackList;
+PLcom/android/server/wallpaper/WallpaperManagerService;->getWallpaperInfoWithFlags(II)Landroid/app/WallpaperInfo;
+PLcom/android/server/wallpaper/WallpaperManagerService;->getWallpaperSafeLocked(II)Lcom/android/server/wallpaper/WallpaperData;
+PLcom/android/server/wallpaper/WallpaperManagerService;->getWallpapers()[Lcom/android/server/wallpaper/WallpaperData;
+PLcom/android/server/wallpaper/WallpaperManagerService;->hasPermission(Ljava/lang/String;)Z
+PLcom/android/server/wallpaper/WallpaperManagerService;->initialize()V
+PLcom/android/server/wallpaper/WallpaperManagerService;->initializeFallbackWallpaper()V
+PLcom/android/server/wallpaper/WallpaperManagerService;->isDefaultComponent(Landroid/content/ComponentName;)Z
+PLcom/android/server/wallpaper/WallpaperManagerService;->isFromForegroundApp(Ljava/lang/String;)Z
+PLcom/android/server/wallpaper/WallpaperManagerService;->isSetWallpaperAllowed(Ljava/lang/String;)Z
+PLcom/android/server/wallpaper/WallpaperManagerService;->isWallpaperSupported(Ljava/lang/String;)Z
+PLcom/android/server/wallpaper/WallpaperManagerService;->lambda$attachServiceLocked$17(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;Lcom/android/server/wallpaper/WallpaperData;Lcom/android/server/wallpaper/WallpaperManagerService$DisplayConnector;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->lambda$errorCheck$4(ILjava/lang/Integer;Ljava/lang/String;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->lambda$isFromForegroundApp$18(Ljava/lang/String;)Ljava/lang/Boolean;
+PLcom/android/server/wallpaper/WallpaperManagerService;->lambda$notifyWakingUp$10(IILandroid/os/Bundle;Lcom/android/server/wallpaper/WallpaperManagerService$DisplayConnector;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->lambda$notifyWallpaperColorsChanged$0(Lcom/android/server/wallpaper/WallpaperData;Lcom/android/server/wallpaper/WallpaperManagerService$DisplayConnector;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->lambda$onUnlockUser$5(I)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->lambda$setWallpaperComponentInternal$14(Lcom/android/server/wallpaper/WallpaperManagerService$DisplayConnector;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->lambda$switchUser$6(Lcom/android/server/wallpaper/WallpaperData;Lcom/android/server/wallpaper/WallpaperData;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->lambda$updateFallbackConnection$2(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;Landroid/view/Display;)Z
+PLcom/android/server/wallpaper/WallpaperManagerService;->loadSettingsLocked(IZI)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->maybeDetachLastWallpapers(Lcom/android/server/wallpaper/WallpaperData;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->notifyCallbacksLocked(Lcom/android/server/wallpaper/WallpaperData;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->notifyScreenTurnedOn(I)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->notifyScreenTurningOn(I)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->notifyWakingUp(IILandroid/os/Bundle;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->notifyWallpaperColorsChanged(Lcom/android/server/wallpaper/WallpaperData;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->notifyWallpaperColorsChangedOnDisplay(Lcom/android/server/wallpaper/WallpaperData;I)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->onBootPhase(I)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->onUnlockUser(I)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->packageBelongsToUid(Ljava/lang/String;I)Z
+PLcom/android/server/wallpaper/WallpaperManagerService;->registerWallpaperColorsCallback(Landroid/app/IWallpaperManagerCallback;II)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->saveSettingsLocked(I)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->setWallpaperComponent(Landroid/content/ComponentName;Ljava/lang/String;II)Z
+PLcom/android/server/wallpaper/WallpaperManagerService;->setWallpaperComponentChecked(Landroid/content/ComponentName;Ljava/lang/String;II)V
+HPLcom/android/server/wallpaper/WallpaperManagerService;->setWallpaperComponentInternal(Landroid/content/ComponentName;IIZZLandroid/os/IRemoteCallback;)Z
+PLcom/android/server/wallpaper/WallpaperManagerService;->supportsMultiDisplay(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;)Z
+PLcom/android/server/wallpaper/WallpaperManagerService;->switchUser(ILandroid/os/IRemoteCallback;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->switchWallpaper(Lcom/android/server/wallpaper/WallpaperData;Landroid/os/IRemoteCallback;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->systemReady()V
+PLcom/android/server/wallpaper/WallpaperManagerService;->updateCurrentWallpapers(Lcom/android/server/wallpaper/WallpaperData;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->updateFallbackConnection()V
+PLcom/android/server/wallpaper/WallpaperUtils;-><clinit>()V
+PLcom/android/server/wallpaper/WallpaperUtils;->getCurrentWallpaperId()I
+PLcom/android/server/wallpaper/WallpaperUtils;->getWallpaperDir(I)Ljava/io/File;
+PLcom/android/server/wallpaper/WallpaperUtils;->getWallpaperFiles(I)Ljava/util/List;
+PLcom/android/server/wallpaper/WallpaperUtils;->makeWallpaperIdLocked()I
+PLcom/android/server/wallpaper/WallpaperUtils;->setCurrentWallpaperId(I)V
+PLcom/android/server/wearable/WearableSensingManagerPerUserService;-><clinit>()V
+PLcom/android/server/wearable/WearableSensingManagerPerUserService;-><init>(Lcom/android/server/wearable/WearableSensingManagerService;Ljava/lang/Object;I)V
+PLcom/android/server/wearable/WearableSensingManagerPerUserService;->destroyLocked()V
+PLcom/android/server/wearable/WearableSensingManagerService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wearable/WearableSensingManagerService;)V
+PLcom/android/server/wearable/WearableSensingManagerService$WearableSensingManagerInternal;-><init>(Lcom/android/server/wearable/WearableSensingManagerService;)V
+PLcom/android/server/wearable/WearableSensingManagerService$WearableSensingManagerInternal;-><init>(Lcom/android/server/wearable/WearableSensingManagerService;Lcom/android/server/wearable/WearableSensingManagerService$WearableSensingManagerInternal-IA;)V
+PLcom/android/server/wearable/WearableSensingManagerService;-><clinit>()V
+PLcom/android/server/wearable/WearableSensingManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/wearable/WearableSensingManagerService;->newServiceLocked(IZ)Lcom/android/server/infra/AbstractPerUserSystemService;
+PLcom/android/server/wearable/WearableSensingManagerService;->newServiceLocked(IZ)Lcom/android/server/wearable/WearableSensingManagerPerUserService;
+PLcom/android/server/wearable/WearableSensingManagerService;->onBootPhase(I)V
+PLcom/android/server/wearable/WearableSensingManagerService;->onServiceRemoved(Lcom/android/server/infra/AbstractPerUserSystemService;I)V
+PLcom/android/server/wearable/WearableSensingManagerService;->onServiceRemoved(Lcom/android/server/wearable/WearableSensingManagerPerUserService;I)V
+PLcom/android/server/wearable/WearableSensingManagerService;->onStart()V
+PLcom/android/server/wm/AbsAppSnapshotController;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/AbsAppSnapshotController;->initSnapshotScale()F
+PLcom/android/server/wm/AbsAppSnapshotController;->initialize(Lcom/android/server/wm/SnapshotCache;)V
+PLcom/android/server/wm/AbsAppSnapshotController;->setSnapshotEnabled(Z)V
+PLcom/android/server/wm/AbsAppSnapshotController;->shouldDisableSnapshots()Z
+PLcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl$UiChangesForAccessibilityCallbacksDispatcher$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/WindowManagerInternal$AccessibilityControllerInternal$UiChangesForAccessibilityCallbacks;)V
+PLcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl$UiChangesForAccessibilityCallbacksDispatcher$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl$UiChangesForAccessibilityCallbacksDispatcher;-><init>(Lcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl;Landroid/os/Looper;Lcom/android/server/wm/WindowManagerInternal$AccessibilityControllerInternal$UiChangesForAccessibilityCallbacks;)V
+PLcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl$UiChangesForAccessibilityCallbacksDispatcher;->onRectangleOnScreenRequested(ILandroid/graphics/Rect;)V
+PLcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl;->getInstance(Lcom/android/server/wm/WindowManagerService;)Lcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl;
+PLcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl;->hasWindowManagerEventDispatcher()Z
+HPLcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl;->isTracingEnabled(J)Z
+PLcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl;->onRectangleOnScreenRequested(ILandroid/graphics/Rect;)V
+PLcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl;->setUiChangesForAccessibilityCallbacks(Lcom/android/server/wm/WindowManagerInternal$AccessibilityControllerInternal$UiChangesForAccessibilityCallbacks;)V
+PLcom/android/server/wm/AccessibilityController$AccessibilityTracing$LogHandler;-><init>(Lcom/android/server/wm/AccessibilityController$AccessibilityTracing;Landroid/os/Looper;)V
+PLcom/android/server/wm/AccessibilityController$AccessibilityTracing;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/AccessibilityController$AccessibilityTracing;->getInstance(Lcom/android/server/wm/WindowManagerService;)Lcom/android/server/wm/AccessibilityController$AccessibilityTracing;
+PLcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver$MyHandler;-><init>(Lcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver;Landroid/os/Looper;)V
+PLcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver;->-$$Nest$fgetmInitialized(Lcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver;)Z
+PLcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver;-><init>(Lcom/android/server/wm/WindowManagerService;ILcom/android/server/wm/WindowManagerInternal$WindowsForAccessibilityCallback;Lcom/android/server/wm/AccessibilityWindowsPopulator;)V
+PLcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver;->addPopulatedWindowInfo(Lcom/android/server/wm/AccessibilityWindowsPopulator$AccessibilityWindow;Landroid/graphics/Region;Ljava/util/List;Ljava/util/Set;)V
+PLcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver;->buildWindowInfoListLocked(Ljava/util/List;Landroid/graphics/Point;)Ljava/util/List;
+HPLcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver;->computeChangedWindows(Z)V
+PLcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver;->getTopFocusWindow()Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver;->performComputeChangedWindows(Z)V
+PLcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver;->updateUnaccountedSpace(Lcom/android/server/wm/AccessibilityWindowsPopulator$AccessibilityWindow;Landroid/graphics/Region;)V
+PLcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver;->windowMattersToAccessibility(Lcom/android/server/wm/AccessibilityWindowsPopulator$AccessibilityWindow;Landroid/graphics/Region;Landroid/graphics/Region;)Z
+PLcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver;->windowMattersToUnaccountedSpaceComputation(Lcom/android/server/wm/AccessibilityWindowsPopulator$AccessibilityWindow;)Z
+PLcom/android/server/wm/AccessibilityController;->-$$Nest$sfgetSTATIC_LOCK()Ljava/lang/Object;
+PLcom/android/server/wm/AccessibilityController;-><clinit>()V
+PLcom/android/server/wm/AccessibilityController;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/AccessibilityController;->getAccessibilityControllerInternal(Lcom/android/server/wm/WindowManagerService;)Lcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl;
+HPLcom/android/server/wm/AccessibilityController;->hasCallbacks()Z
+PLcom/android/server/wm/AccessibilityController;->onFocusChanged(Lcom/android/server/wm/InputTarget;Lcom/android/server/wm/InputTarget;)V
+PLcom/android/server/wm/AccessibilityController;->performComputeChangedWindowsNot(IZ)V
+PLcom/android/server/wm/AccessibilityController;->setFocusedDisplay(I)V
+PLcom/android/server/wm/AccessibilityController;->setWindowsForAccessibilityCallback(ILcom/android/server/wm/WindowManagerInternal$WindowsForAccessibilityCallback;)V
+PLcom/android/server/wm/AccessibilityWindowsPopulator$AccessibilityWindow;-><init>()V
+PLcom/android/server/wm/AccessibilityWindowsPopulator$AccessibilityWindow;->getTouchableRegionInScreen(Landroid/graphics/Region;)V
+PLcom/android/server/wm/AccessibilityWindowsPopulator$AccessibilityWindow;->getTouchableRegionInWindow(Landroid/graphics/Region;)V
+PLcom/android/server/wm/AccessibilityWindowsPopulator$AccessibilityWindow;->getTouchableRegionInWindow(ZLandroid/graphics/Region;Landroid/graphics/Region;Landroid/graphics/Rect;Landroid/graphics/Matrix;Landroid/graphics/Matrix;)V
+PLcom/android/server/wm/AccessibilityWindowsPopulator$AccessibilityWindow;->getType()I
+PLcom/android/server/wm/AccessibilityWindowsPopulator$AccessibilityWindow;->getUnMagnifiedTouchableRegion(ZLandroid/graphics/Region;Landroid/graphics/Region;Landroid/graphics/Matrix;Landroid/graphics/Matrix;)V
+PLcom/android/server/wm/AccessibilityWindowsPopulator$AccessibilityWindow;->getWindowInfo()Landroid/view/WindowInfo;
+PLcom/android/server/wm/AccessibilityWindowsPopulator$AccessibilityWindow;->ignoreRecentsAnimationForAccessibility()Z
+HPLcom/android/server/wm/AccessibilityWindowsPopulator$AccessibilityWindow;->initializeData(Lcom/android/server/wm/WindowManagerService;Landroid/view/InputWindowHandle;Landroid/graphics/Matrix;Landroid/os/IBinder;Landroid/graphics/Matrix;)Lcom/android/server/wm/AccessibilityWindowsPopulator$AccessibilityWindow;
+PLcom/android/server/wm/AccessibilityWindowsPopulator$AccessibilityWindow;->isFocused()Z
+PLcom/android/server/wm/AccessibilityWindowsPopulator$AccessibilityWindow;->isTouchable()Z
+PLcom/android/server/wm/AccessibilityWindowsPopulator$AccessibilityWindow;->shouldMagnify()Z
+PLcom/android/server/wm/AccessibilityWindowsPopulator$MyHandler;-><init>(Lcom/android/server/wm/AccessibilityWindowsPopulator;Landroid/os/Looper;)V
+PLcom/android/server/wm/AccessibilityWindowsPopulator$MyHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/wm/AccessibilityWindowsPopulator;->-$$Nest$mnotifyWindowsChanged(Lcom/android/server/wm/AccessibilityWindowsPopulator;Ljava/util/List;)V
+PLcom/android/server/wm/AccessibilityWindowsPopulator;-><clinit>()V
+PLcom/android/server/wm/AccessibilityWindowsPopulator;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/AccessibilityController;)V
+PLcom/android/server/wm/AccessibilityWindowsPopulator;->findMagnificationSpecInverseMatrixIfNeeded(Landroid/util/SparseArray;)V
+PLcom/android/server/wm/AccessibilityWindowsPopulator;->getDisplaysForWindowsChanged(Ljava/util/List;Landroid/util/SparseArray;Landroid/util/SparseArray;)V
+PLcom/android/server/wm/AccessibilityWindowsPopulator;->getWindowsTransformMatrix(Ljava/util/List;)Ljava/util/HashMap;
+PLcom/android/server/wm/AccessibilityWindowsPopulator;->hasWindowsChanged(Ljava/util/List;Ljava/util/List;)Z
+PLcom/android/server/wm/AccessibilityWindowsPopulator;->notifyWindowsChanged(Ljava/util/List;)V
+PLcom/android/server/wm/AccessibilityWindowsPopulator;->onWindowInfosChangedInternal([Landroid/view/InputWindowHandle;[Landroid/window/WindowInfosListener$DisplayInfo;)V
+PLcom/android/server/wm/AccessibilityWindowsPopulator;->populateVisibleWindowHandlesAndNotifyWindowsChangeIfNeeded()V
+PLcom/android/server/wm/AccessibilityWindowsPopulator;->populateVisibleWindowsOnScreenLocked(ILjava/util/List;)V
+PLcom/android/server/wm/AccessibilityWindowsPopulator;->setWindowsNotification(Z)V
+PLcom/android/server/wm/ActivityCallerState$CallerInfo;-><init>()V
+PLcom/android/server/wm/ActivityCallerState;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V
+PLcom/android/server/wm/ActivityCallerState;->addUriIfContentUri(Landroid/net/Uri;Landroid/util/ArraySet;)V
+PLcom/android/server/wm/ActivityCallerState;->computeCallerInfo(Landroid/os/IBinder;Landroid/content/Intent;I)V
+PLcom/android/server/wm/ActivityCallerState;->getContentUrisFromIntent(Landroid/content/Intent;)Landroid/util/ArraySet;
+HSPLcom/android/server/wm/ActivityClientController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V
+PLcom/android/server/wm/ActivityClientController;->activityIdle(Landroid/os/IBinder;Landroid/content/res/Configuration;Z)V
+PLcom/android/server/wm/ActivityClientController;->activityPaused(Landroid/os/IBinder;)V
+PLcom/android/server/wm/ActivityClientController;->activityResumed(Landroid/os/IBinder;Z)V
+PLcom/android/server/wm/ActivityClientController;->activityStopped(Landroid/os/IBinder;Landroid/os/Bundle;Landroid/os/PersistableBundle;Ljava/lang/CharSequence;)V
+PLcom/android/server/wm/ActivityClientController;->activityTopResumedStateLost()V
+PLcom/android/server/wm/ActivityClientController;->getDisplayId(Landroid/os/IBinder;)I
+PLcom/android/server/wm/ActivityClientController;->getTaskForActivity(Landroid/os/IBinder;Z)I
+PLcom/android/server/wm/ActivityClientController;->onSystemReady()V
+PLcom/android/server/wm/ActivityClientController;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLcom/android/server/wm/ActivityClientController;->reportActivityFullyDrawn(Landroid/os/IBinder;Z)V
+PLcom/android/server/wm/ActivityClientController;->reportSizeConfigurations(Landroid/os/IBinder;Landroid/window/SizeConfigurationBuckets;)V
+PLcom/android/server/wm/ActivityClientController;->setTaskDescription(Landroid/os/IBinder;Landroid/app/ActivityManager$TaskDescription;)V
+PLcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;->-$$Nest$fgetmActivityInfo(Lcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;)Landroid/content/pm/ActivityInfo;
+PLcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;->-$$Nest$fgetmCallingFeatureId(Lcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;)Ljava/lang/String;
+PLcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;->-$$Nest$fgetmCallingPackage(Lcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;)Ljava/lang/String;
+PLcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;->-$$Nest$fgetmCallingPid(Lcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;)I
+PLcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;->-$$Nest$fgetmCallingUid(Lcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;)I
+PLcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;->-$$Nest$fgetmCheckedOptions(Lcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;)Landroid/app/ActivityOptions;
+PLcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;->-$$Nest$fgetmClearOptionsAnimation(Lcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;)Ljava/lang/Runnable;
+PLcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;->-$$Nest$fgetmIntent(Lcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;)Landroid/content/Intent;
+PLcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;->-$$Nest$fgetmRealCallingPid(Lcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;)I
+PLcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;->-$$Nest$fgetmRealCallingUid(Lcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;)I
+PLcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;->-$$Nest$fgetmResolveInfo(Lcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;)Landroid/content/pm/ResolveInfo;
+PLcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;->-$$Nest$fgetmResolvedType(Lcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;)Ljava/lang/String;
+PLcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;->-$$Nest$fgetmUserId(Lcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;)I
+PLcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;-><init>(IIIIILandroid/content/Intent;Landroid/content/pm/ResolveInfo;Landroid/content/pm/ActivityInfo;)V
+PLcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;->build()Lcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo;
+PLcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;->setCallingFeatureId(Ljava/lang/String;)Lcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;
+PLcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;->setCallingPackage(Ljava/lang/String;)Lcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;
+PLcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;->setCheckedOptions(Landroid/app/ActivityOptions;)Lcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;
+PLcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;->setClearOptionsAnimationRunnable(Ljava/lang/Runnable;)Lcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;
+PLcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;->setResolvedType(Ljava/lang/String;)Lcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;
+HPLcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo;-><init>(Lcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;)V
+PLcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo;->getActivityInfo()Landroid/content/pm/ActivityInfo;
+PLcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo;->getCallingPackage()Ljava/lang/String;
+PLcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo;->getCallingUid()I
+PLcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo;->getCheckedOptions()Landroid/app/ActivityOptions;
+PLcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo;->getIntent()Landroid/content/Intent;
+PLcom/android/server/wm/ActivityInterceptorCallback;->isValidMainlineOrderId(I)Z
+PLcom/android/server/wm/ActivityInterceptorCallback;->isValidOrderId(I)Z
+PLcom/android/server/wm/ActivityInterceptorCallback;->onActivityLaunched(Landroid/app/TaskInfo;Landroid/content/pm/ActivityInfo;Lcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo;)V
+PLcom/android/server/wm/ActivityInterceptorCallbackRegistry;-><clinit>()V
+PLcom/android/server/wm/ActivityInterceptorCallbackRegistry;-><init>()V
+PLcom/android/server/wm/ActivityInterceptorCallbackRegistry;->getCallingUid()I
+PLcom/android/server/wm/ActivityInterceptorCallbackRegistry;->getInstance()Lcom/android/server/wm/ActivityInterceptorCallbackRegistry;
+PLcom/android/server/wm/ActivityInterceptorCallbackRegistry;->registerActivityInterceptorCallback(ILcom/android/server/wm/ActivityInterceptorCallback;)V
+HSPLcom/android/server/wm/ActivityMetricsLaunchObserver;-><init>()V
+PLcom/android/server/wm/ActivityMetricsLogger$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/ActivityMetricsLogger;Lcom/android/server/wm/ActivityRecord;ZLcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;)V
+PLcom/android/server/wm/ActivityMetricsLogger$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/wm/ActivityMetricsLogger$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/wm/ActivityMetricsLogger;Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;)V
+PLcom/android/server/wm/ActivityMetricsLogger$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/wm/ActivityMetricsLogger$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/wm/ActivityMetricsLogger;Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;ZLcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;)V
+PLcom/android/server/wm/ActivityMetricsLogger$$ExternalSyntheticLambda2;->run()V
+PLcom/android/server/wm/ActivityMetricsLogger$$ExternalSyntheticLambda3;-><init>()V
+PLcom/android/server/wm/ActivityMetricsLogger$$ExternalSyntheticLambda3;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/ActivityMetricsLogger$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/wm/ActivityMetricsLogger;Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;JILcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;ZIIZ)V
+PLcom/android/server/wm/ActivityMetricsLogger$$ExternalSyntheticLambda4;->run()V
+PLcom/android/server/wm/ActivityMetricsLogger$LaunchingState;->-$$Nest$fgetmAssociatedTransitionInfo(Lcom/android/server/wm/ActivityMetricsLogger$LaunchingState;)Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;
+PLcom/android/server/wm/ActivityMetricsLogger$LaunchingState;->-$$Nest$fputmAssociatedTransitionInfo(Lcom/android/server/wm/ActivityMetricsLogger$LaunchingState;Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;)V
+PLcom/android/server/wm/ActivityMetricsLogger$LaunchingState;-><init>()V
+PLcom/android/server/wm/ActivityMetricsLogger$LaunchingState;->stopTrace(ZLcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;)V
+PLcom/android/server/wm/ActivityMetricsLogger$PackageCompatStateInfo;-><init>()V
+PLcom/android/server/wm/ActivityMetricsLogger$PackageCompatStateInfo;-><init>(Lcom/android/server/wm/ActivityMetricsLogger$PackageCompatStateInfo-IA;)V
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;-><init>(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityMetricsLogger$LaunchingState;Landroid/app/ActivityOptions;IZZIIZ)V
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;->calculateCurrentDelay()I
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;->calculateDelay(J)I
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;->contains(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;->create(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityMetricsLogger$LaunchingState;Landroid/app/ActivityOptions;ZZIIZZI)Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;->isInterestingToLoggerAndObserver()Z
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;->setLatestLaunchedActivity(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;->-$$Nest$fgetapplicationInfo(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;)Landroid/content/pm/ApplicationInfo;
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;->-$$Nest$fgetbindApplicationDelayMs(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;)I
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;->-$$Nest$fgetlaunchedActivityLaunchToken(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;)Ljava/lang/String;
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;->-$$Nest$fgetlaunchedActivityLaunchedFromPackage(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;)Ljava/lang/String;
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;->-$$Nest$fgetprocessName(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;)Ljava/lang/String;
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;->-$$Nest$fgetprocessRecord(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;)Lcom/android/server/wm/WindowProcessController;
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;->-$$Nest$fgetreason(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;)I
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;->-$$Nest$fgetstartingWindowDelayMs(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;)I
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;-><init>(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;)V
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;-><init>(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot-IA;)V
+HPLcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;-><init>(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;Lcom/android/server/wm/ActivityRecord;I)V
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;-><init>(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;Lcom/android/server/wm/ActivityRecord;ILcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot-IA;)V
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;->getLaunchState()I
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;->getPackageOptimizationInfo(Landroid/content/pm/dex/ArtManagerInternal;)Landroid/content/pm/dex/PackageOptimizationInfo;
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;->isInterestedToEventLog()Z
+PLcom/android/server/wm/ActivityMetricsLogger;->$r8$lambda$9Znu_naMY0TaDnbVNjFqSyiTkcc(Lcom/android/server/wm/ActivityMetricsLogger;Lcom/android/server/wm/ActivityRecord;ZLcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->$r8$lambda$E5bzb-1VyhAtO6RVNt8gP38XELI(Lcom/android/server/wm/ActivityMetricsLogger;Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;JILcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;ZIIZ)V
+PLcom/android/server/wm/ActivityMetricsLogger;->$r8$lambda$MDDCoWK980XoH_6bZLWfXzhTwEY(Lcom/android/server/wm/ActivityMetricsLogger;Ljava/lang/String;I)V
+PLcom/android/server/wm/ActivityMetricsLogger;->$r8$lambda$kVd50LR3bWCXX7Lj8BYMTU-bGdY(Lcom/android/server/wm/ActivityMetricsLogger;Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;ZLcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->$r8$lambda$yb4ber5HhUmLvhJHcMEn3T962l0(Lcom/android/server/wm/ActivityMetricsLogger;Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;)V
+HSPLcom/android/server/wm/ActivityMetricsLogger;-><clinit>()V
+HSPLcom/android/server/wm/ActivityMetricsLogger;-><init>(Lcom/android/server/wm/ActivityTaskSupervisor;Landroid/os/Looper;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->convertTransitionTypeToLaunchObserverTemperature(I)I
+PLcom/android/server/wm/ActivityMetricsLogger;->done(ZLcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;Ljava/lang/String;J)V
+PLcom/android/server/wm/ActivityMetricsLogger;->getActiveTransitionInfo(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;
+PLcom/android/server/wm/ActivityMetricsLogger;->getAppHibernationManagerInternal()Lcom/android/server/apphibernation/AppHibernationManagerInternal;
+PLcom/android/server/wm/ActivityMetricsLogger;->getAppStartTransitionType(IZ)I
+PLcom/android/server/wm/ActivityMetricsLogger;->getArtManagerInternal()Landroid/content/pm/dex/ArtManagerInternal;
+PLcom/android/server/wm/ActivityMetricsLogger;->getLaunchObserverRegistry()Lcom/android/server/wm/ActivityMetricsLaunchObserverRegistry;
+PLcom/android/server/wm/ActivityMetricsLogger;->isAppCompateStateChangedToLetterboxed(I)Z
+PLcom/android/server/wm/ActivityMetricsLogger;->lambda$logAppTransitionFinished$1(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;JILcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;ZIIZ)V
+PLcom/android/server/wm/ActivityMetricsLogger;->lambda$notifyFullyDrawn$3(Lcom/android/server/wm/ActivityRecord;ZLcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->lambda$notifyFullyDrawn$4(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->lambda$notifyFullyDrawn$5(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;ZLcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->launchObserverNotifyActivityLaunchFinished(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;J)V
+PLcom/android/server/wm/ActivityMetricsLogger;->launchObserverNotifyActivityLaunched(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->launchObserverNotifyIntentStarted(Landroid/content/Intent;J)V
+PLcom/android/server/wm/ActivityMetricsLogger;->launchObserverNotifyReportFullyDrawn(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;J)V
+HPLcom/android/server/wm/ActivityMetricsLogger;->logAppCompatState(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->logAppCompatStateInternal(Lcom/android/server/wm/ActivityRecord;ILcom/android/server/wm/ActivityMetricsLogger$PackageCompatStateInfo;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->logAppDisplayed(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->logAppFullyDrawn(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->logAppFullyDrawnMetrics(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;ZZ)V
+PLcom/android/server/wm/ActivityMetricsLogger;->logAppStartMemoryStateCapture(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;)V
+HPLcom/android/server/wm/ActivityMetricsLogger;->logAppTransition(JILcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;ZII)V
+PLcom/android/server/wm/ActivityMetricsLogger;->logAppTransitionFinished(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;Z)V
+PLcom/android/server/wm/ActivityMetricsLogger;->logInTaskActivityStart(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;ZI)V
+PLcom/android/server/wm/ActivityMetricsLogger;->logWindowState()V
+PLcom/android/server/wm/ActivityMetricsLogger;->logWindowState(Ljava/lang/String;I)V
+PLcom/android/server/wm/ActivityMetricsLogger;->notifyActivityLaunched(Lcom/android/server/wm/ActivityMetricsLogger$LaunchingState;IZLcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->notifyActivityLaunching(Landroid/content/Intent;Lcom/android/server/wm/ActivityRecord;I)Lcom/android/server/wm/ActivityMetricsLogger$LaunchingState;
+PLcom/android/server/wm/ActivityMetricsLogger;->notifyBeforePackageUnstopped(Ljava/lang/String;)V
+HPLcom/android/server/wm/ActivityMetricsLogger;->notifyBindApplication(Landroid/content/pm/ApplicationInfo;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->notifyFullyDrawn(Lcom/android/server/wm/ActivityRecord;Z)Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;
+PLcom/android/server/wm/ActivityMetricsLogger;->notifyStartingWindowDrawn(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->notifyTransitionStarting(Landroid/util/ArrayMap;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->notifyVisibilityChanged(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->notifyWindowsDrawn(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;
+PLcom/android/server/wm/ActivityMetricsLogger;->scheduleCheckActivityToBeDrawnIfSleeping(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->startLaunchTrace(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->stopLaunchTrace(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;)V
+PLcom/android/server/wm/ActivityRecord$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/ActivityRecord$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/ActivityRecord$$ExternalSyntheticLambda12;-><init>()V
+PLcom/android/server/wm/ActivityRecord$$ExternalSyntheticLambda14;-><init>()V
+PLcom/android/server/wm/ActivityRecord$$ExternalSyntheticLambda14;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/ActivityRecord$$ExternalSyntheticLambda15;-><init>()V
+HPLcom/android/server/wm/ActivityRecord$$ExternalSyntheticLambda16;-><init>(Lcom/android/server/wm/ActivityRecord;Landroid/graphics/Rect;)V
+HPLcom/android/server/wm/ActivityRecord$$ExternalSyntheticLambda16;->get()Ljava/lang/Object;
+PLcom/android/server/wm/ActivityRecord$$ExternalSyntheticLambda17;-><init>(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityRecord$$ExternalSyntheticLambda20;-><init>(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityRecord$$ExternalSyntheticLambda21;-><init>(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityRecord$$ExternalSyntheticLambda21;->get()Ljava/lang/Object;
+PLcom/android/server/wm/ActivityRecord$$ExternalSyntheticLambda2;-><init>()V
+PLcom/android/server/wm/ActivityRecord$$ExternalSyntheticLambda2;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/ActivityRecord$$ExternalSyntheticLambda31;-><init>(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityRecord$$ExternalSyntheticLambda31;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/ActivityRecord$1;-><init>(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityRecord$2;-><init>(Lcom/android/server/wm/ActivityRecord;)V
+HPLcom/android/server/wm/ActivityRecord$2;->run()V
+PLcom/android/server/wm/ActivityRecord$3;-><init>(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityRecord$4;-><init>(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityRecord$5;-><init>(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityRecord$6;-><clinit>()V
+PLcom/android/server/wm/ActivityRecord$AddStartingWindow;-><init>(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityRecord$AddStartingWindow;-><init>(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord$AddStartingWindow-IA;)V
+PLcom/android/server/wm/ActivityRecord$AddStartingWindow;->run()V
+PLcom/android/server/wm/ActivityRecord$Builder;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V
+PLcom/android/server/wm/ActivityRecord$Builder;->build()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/ActivityRecord$Builder;->setActivityInfo(Landroid/content/pm/ActivityInfo;)Lcom/android/server/wm/ActivityRecord$Builder;
+PLcom/android/server/wm/ActivityRecord$Builder;->setActivityOptions(Landroid/app/ActivityOptions;)Lcom/android/server/wm/ActivityRecord$Builder;
+PLcom/android/server/wm/ActivityRecord$Builder;->setCaller(Lcom/android/server/wm/WindowProcessController;)Lcom/android/server/wm/ActivityRecord$Builder;
+PLcom/android/server/wm/ActivityRecord$Builder;->setComponentSpecified(Z)Lcom/android/server/wm/ActivityRecord$Builder;
+PLcom/android/server/wm/ActivityRecord$Builder;->setConfiguration(Landroid/content/res/Configuration;)Lcom/android/server/wm/ActivityRecord$Builder;
+PLcom/android/server/wm/ActivityRecord$Builder;->setIntent(Landroid/content/Intent;)Lcom/android/server/wm/ActivityRecord$Builder;
+PLcom/android/server/wm/ActivityRecord$Builder;->setLaunchedFromFeature(Ljava/lang/String;)Lcom/android/server/wm/ActivityRecord$Builder;
+PLcom/android/server/wm/ActivityRecord$Builder;->setLaunchedFromPackage(Ljava/lang/String;)Lcom/android/server/wm/ActivityRecord$Builder;
+PLcom/android/server/wm/ActivityRecord$Builder;->setLaunchedFromPid(I)Lcom/android/server/wm/ActivityRecord$Builder;
+PLcom/android/server/wm/ActivityRecord$Builder;->setLaunchedFromUid(I)Lcom/android/server/wm/ActivityRecord$Builder;
+PLcom/android/server/wm/ActivityRecord$Builder;->setRequestCode(I)Lcom/android/server/wm/ActivityRecord$Builder;
+PLcom/android/server/wm/ActivityRecord$Builder;->setResolvedType(Ljava/lang/String;)Lcom/android/server/wm/ActivityRecord$Builder;
+PLcom/android/server/wm/ActivityRecord$Builder;->setResultTo(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityRecord$Builder;
+PLcom/android/server/wm/ActivityRecord$Builder;->setResultWho(Ljava/lang/String;)Lcom/android/server/wm/ActivityRecord$Builder;
+PLcom/android/server/wm/ActivityRecord$Builder;->setRootVoiceInteraction(Z)Lcom/android/server/wm/ActivityRecord$Builder;
+PLcom/android/server/wm/ActivityRecord$Builder;->setSourceRecord(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityRecord$Builder;
+PLcom/android/server/wm/ActivityRecord$State;->$values()[Lcom/android/server/wm/ActivityRecord$State;
+PLcom/android/server/wm/ActivityRecord$State;-><clinit>()V
+PLcom/android/server/wm/ActivityRecord$State;-><init>(Ljava/lang/String;I)V
+PLcom/android/server/wm/ActivityRecord$State;->values()[Lcom/android/server/wm/ActivityRecord$State;
+PLcom/android/server/wm/ActivityRecord$Token;-><init>()V
+PLcom/android/server/wm/ActivityRecord$Token;-><init>(Lcom/android/server/wm/ActivityRecord$Token-IA;)V
+PLcom/android/server/wm/ActivityRecord;->$r8$lambda$0OfvhI5TUgQo6Y024Yo0FylceBE(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/ActivityRecord;->$r8$lambda$I1MSNY3CpU-e9WIQbLSkEsRUKEo(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityRecord;->$r8$lambda$tbbQczlHwYJa84Bl3WvoMl7sYRg(Lcom/android/server/wm/ActivityRecord;)Landroid/content/Context;
+HPLcom/android/server/wm/ActivityRecord;->$r8$lambda$y0npCffze-hoyeHGzAjmpNlZO0Y(Lcom/android/server/wm/ActivityRecord;Landroid/graphics/Rect;)Landroid/graphics/Rect;
+PLcom/android/server/wm/ActivityRecord;->-$$Nest$mcontinueLaunchTicking(Lcom/android/server/wm/ActivityRecord;)Z
+HPLcom/android/server/wm/ActivityRecord;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/WindowProcessController;IILjava/lang/String;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/pm/ActivityInfo;Landroid/content/res/Configuration;Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;IZZLcom/android/server/wm/ActivityTaskSupervisor;Landroid/app/ActivityOptions;Lcom/android/server/wm/ActivityRecord;Landroid/os/PersistableBundle;Landroid/app/ActivityManager$TaskDescription;J)V
+PLcom/android/server/wm/ActivityRecord;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/WindowProcessController;IILjava/lang/String;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/pm/ActivityInfo;Landroid/content/res/Configuration;Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;IZZLcom/android/server/wm/ActivityTaskSupervisor;Landroid/app/ActivityOptions;Lcom/android/server/wm/ActivityRecord;Landroid/os/PersistableBundle;Landroid/app/ActivityManager$TaskDescription;JLcom/android/server/wm/ActivityRecord-IA;)V
+PLcom/android/server/wm/ActivityRecord;->activityPaused(Z)V
+PLcom/android/server/wm/ActivityRecord;->activityResumedLocked(Landroid/os/IBinder;Z)V
+PLcom/android/server/wm/ActivityRecord;->activityStopped(Landroid/os/Bundle;Landroid/os/PersistableBundle;Ljava/lang/CharSequence;)V
+PLcom/android/server/wm/ActivityRecord;->addStartingWindow(Ljava/lang/String;ILcom/android/server/wm/ActivityRecord;ZZZZZZZ)Z
+PLcom/android/server/wm/ActivityRecord;->addToStopping(ZZLjava/lang/String;)V
+PLcom/android/server/wm/ActivityRecord;->addWindow(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/ActivityRecord;->allDrawnStatesConsidered()Z
+PLcom/android/server/wm/ActivityRecord;->allowMoveToFront()Z
+PLcom/android/server/wm/ActivityRecord;->allowTaskSnapshot()Z
+PLcom/android/server/wm/ActivityRecord;->applyAspectRatio(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
+PLcom/android/server/wm/ActivityRecord;->applyAspectRatio(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;F)Z
+PLcom/android/server/wm/ActivityRecord;->applyLocaleOverrideIfNeeded(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/ActivityRecord;->applyOptionsAnimation()V
+PLcom/android/server/wm/ActivityRecord;->applyOptionsAnimation(Landroid/app/ActivityOptions;Landroid/content/Intent;)V
+HPLcom/android/server/wm/ActivityRecord;->areBoundsLetterboxed()Z
+PLcom/android/server/wm/ActivityRecord;->asActivityRecord()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/ActivityRecord;->attachStartingWindow(Lcom/android/server/wm/WindowState;)V
+HPLcom/android/server/wm/ActivityRecord;->attachedToProcess()Z
+HPLcom/android/server/wm/ActivityRecord;->canAffectSystemUiFlags()Z
+PLcom/android/server/wm/ActivityRecord;->canBeLaunchedOnDisplay(I)Z
+HPLcom/android/server/wm/ActivityRecord;->canBeTopRunning()Z
+PLcom/android/server/wm/ActivityRecord;->canForceResizeNonResizable(I)Z
+PLcom/android/server/wm/ActivityRecord;->canLaunchHomeActivity(ILcom/android/server/wm/ActivityRecord;)Z
+HPLcom/android/server/wm/ActivityRecord;->canReceiveKeys()Z
+HPLcom/android/server/wm/ActivityRecord;->canResumeByCompat()Z
+HPLcom/android/server/wm/ActivityRecord;->canShowWhenLocked()Z
+HPLcom/android/server/wm/ActivityRecord;->canShowWhenLocked(Lcom/android/server/wm/ActivityRecord;)Z
+HPLcom/android/server/wm/ActivityRecord;->canShowWhenLockedInner(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityRecord;->canShowWindows()Z
+PLcom/android/server/wm/ActivityRecord;->canTurnScreenOn()Z
+PLcom/android/server/wm/ActivityRecord;->checkAppWindowsReadyToShow()V
+PLcom/android/server/wm/ActivityRecord;->checkEnterPictureInPictureState(Ljava/lang/String;Z)Z
+PLcom/android/server/wm/ActivityRecord;->checkKeyguardFlagsChanged()V
+PLcom/android/server/wm/ActivityRecord;->clearAllDrawn()V
+PLcom/android/server/wm/ActivityRecord;->clearOptionsAnimation()V
+PLcom/android/server/wm/ActivityRecord;->clearOptionsAnimationForSiblings()V
+PLcom/android/server/wm/ActivityRecord;->clearThumbnail()V
+PLcom/android/server/wm/ActivityRecord;->commitFinishDrawing(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/ActivityRecord;->commitVisibility(ZZ)V
+HPLcom/android/server/wm/ActivityRecord;->commitVisibility(ZZZ)V
+PLcom/android/server/wm/ActivityRecord;->completeResumeLocked()V
+PLcom/android/server/wm/ActivityRecord;->computeCallerInfo(Landroid/os/IBinder;Landroid/content/Intent;I)V
+PLcom/android/server/wm/ActivityRecord;->computeInitialCallerInfo()V
+PLcom/android/server/wm/ActivityRecord;->computeTaskAffinity(Ljava/lang/String;I)Ljava/lang/String;
+HPLcom/android/server/wm/ActivityRecord;->containsDismissKeyguardWindow()Z
+HPLcom/android/server/wm/ActivityRecord;->containsShowWhenLockedWindow()Z
+HPLcom/android/server/wm/ActivityRecord;->containsTurnScreenOnWindow()Z
+PLcom/android/server/wm/ActivityRecord;->continueLaunchTicking()Z
+PLcom/android/server/wm/ActivityRecord;->deferCommitVisibilityChange(Z)Z
+PLcom/android/server/wm/ActivityRecord;->destroySurfaces()V
+PLcom/android/server/wm/ActivityRecord;->destroySurfaces(Z)V
+PLcom/android/server/wm/ActivityRecord;->determineLaunchSourceType(ILcom/android/server/wm/WindowProcessController;)I
+HPLcom/android/server/wm/ActivityRecord;->ensureActivityConfiguration(Z)Z
+PLcom/android/server/wm/ActivityRecord;->evaluateStartingWindowTheme(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;II)I
+PLcom/android/server/wm/ActivityRecord;->fillsParent()Z
+PLcom/android/server/wm/ActivityRecord;->findMainWindow()Lcom/android/server/wm/WindowState;
+HPLcom/android/server/wm/ActivityRecord;->findMainWindow(Z)Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/ActivityRecord;->finishLaunchTickingLocked()V
+PLcom/android/server/wm/ActivityRecord;->finishOrAbortReplacingWindow()V
+PLcom/android/server/wm/ActivityRecord;->finishSync(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;Z)V
+PLcom/android/server/wm/ActivityRecord;->forAllActivities(Ljava/util/function/Consumer;Z)V
+HPLcom/android/server/wm/ActivityRecord;->forAllActivities(Ljava/util/function/Predicate;Z)Z
+HPLcom/android/server/wm/ActivityRecord;->forToken(Landroid/os/IBinder;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/ActivityRecord;->forTokenLocked(Landroid/os/IBinder;)Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/ActivityRecord;->getActivity(Ljava/util/function/Predicate;ZLcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/ActivityRecord;->getAllowUntrustedEmbeddingStateSharingProperty()Z
+PLcom/android/server/wm/ActivityRecord;->getAppCompatState()I
+HPLcom/android/server/wm/ActivityRecord;->getAppCompatState(Z)I
+HPLcom/android/server/wm/ActivityRecord;->getBounds()Landroid/graphics/Rect;
+PLcom/android/server/wm/ActivityRecord;->getCameraCompatControlState()I
+HPLcom/android/server/wm/ActivityRecord;->getCompatDisplayInsets()Lcom/android/server/wm/ActivityRecord$CompatDisplayInsets;
+PLcom/android/server/wm/ActivityRecord;->getConfigurationChanges(Landroid/content/res/Configuration;)I
+PLcom/android/server/wm/ActivityRecord;->getDisplayArea()Lcom/android/server/wm/DisplayArea;
+PLcom/android/server/wm/ActivityRecord;->getDisplayArea()Lcom/android/server/wm/TaskDisplayArea;
+HPLcom/android/server/wm/ActivityRecord;->getDisplayId()I
+PLcom/android/server/wm/ActivityRecord;->getFilteredReferrer(Ljava/lang/String;)Ljava/lang/String;
+HPLcom/android/server/wm/ActivityRecord;->getInputApplicationHandle(Z)Landroid/view/InputApplicationHandle;
+PLcom/android/server/wm/ActivityRecord;->getLastParentBeforePip()Lcom/android/server/wm/Task;
+PLcom/android/server/wm/ActivityRecord;->getLaunchedFromBubble()Z
+HPLcom/android/server/wm/ActivityRecord;->getLetterboxInnerBounds(Landroid/graphics/Rect;)V
+PLcom/android/server/wm/ActivityRecord;->getLockTaskLaunchMode(Landroid/content/pm/ActivityInfo;Landroid/app/ActivityOptions;)I
+PLcom/android/server/wm/ActivityRecord;->getLocusId()Landroid/content/LocusId;
+HPLcom/android/server/wm/ActivityRecord;->getMaxAspectRatio()F
+HPLcom/android/server/wm/ActivityRecord;->getMinAspectRatio()F
+PLcom/android/server/wm/ActivityRecord;->getOrCreateServiceConnectionsHolder()Lcom/android/server/wm/ActivityServiceConnectionsHolder;
+HPLcom/android/server/wm/ActivityRecord;->getOrganizedTask()Lcom/android/server/wm/Task;
+HPLcom/android/server/wm/ActivityRecord;->getOrganizedTaskFragment()Lcom/android/server/wm/TaskFragment;
+HPLcom/android/server/wm/ActivityRecord;->getOrientation(I)I
+HPLcom/android/server/wm/ActivityRecord;->getOverrideOrientation()I
+PLcom/android/server/wm/ActivityRecord;->getPersistentSavedState()Landroid/os/PersistableBundle;
+PLcom/android/server/wm/ActivityRecord;->getProcessGlobalConfiguration()Landroid/content/res/Configuration;
+PLcom/android/server/wm/ActivityRecord;->getProcessName()Ljava/lang/String;
+PLcom/android/server/wm/ActivityRecord;->getRequestedConfigurationOrientation(Z)I
+PLcom/android/server/wm/ActivityRecord;->getRequestedConfigurationOrientation(ZI)I
+PLcom/android/server/wm/ActivityRecord;->getRequestedOrientation()I
+HPLcom/android/server/wm/ActivityRecord;->getRootTask()Lcom/android/server/wm/Task;
+PLcom/android/server/wm/ActivityRecord;->getRootTask(Landroid/os/IBinder;)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/ActivityRecord;->getSavedState()Landroid/os/Bundle;
+PLcom/android/server/wm/ActivityRecord;->getSplashscreenTheme(Landroid/app/ActivityOptions;)I
+PLcom/android/server/wm/ActivityRecord;->getStartingWindowType(ZZZZZZLandroid/window/TaskSnapshot;)I
+PLcom/android/server/wm/ActivityRecord;->getState()Lcom/android/server/wm/ActivityRecord$State;
+HPLcom/android/server/wm/ActivityRecord;->getTask()Lcom/android/server/wm/Task;
+HPLcom/android/server/wm/ActivityRecord;->getTaskFragment()Lcom/android/server/wm/TaskFragment;
+HPLcom/android/server/wm/ActivityRecord;->getTurnScreenOnFlag()Z
+PLcom/android/server/wm/ActivityRecord;->getUid()I
+PLcom/android/server/wm/ActivityRecord;->getUriPermissionsLocked()Lcom/android/server/uri/UriPermissionOwner;
+HPLcom/android/server/wm/ActivityRecord;->handleAlreadyVisible()V
+HPLcom/android/server/wm/ActivityRecord;->handleCompleteDeferredRemoval()Z
+PLcom/android/server/wm/ActivityRecord;->handlesOrientationChangeFromDescendant(I)Z
+PLcom/android/server/wm/ActivityRecord;->hasActivity()Z
+HPLcom/android/server/wm/ActivityRecord;->hasFixedAspectRatio()Z
+HPLcom/android/server/wm/ActivityRecord;->hasOverlayOverUntrustedModeEmbedded()Z
+HPLcom/android/server/wm/ActivityRecord;->hasProcess()Z
+PLcom/android/server/wm/ActivityRecord;->hasSizeCompatBounds()Z
+PLcom/android/server/wm/ActivityRecord;->hasStartingWindow()Z
+PLcom/android/server/wm/ActivityRecord;->hasWallpaperBackgroundForLetterbox()Z
+PLcom/android/server/wm/ActivityRecord;->inSizeCompatMode()Z
+PLcom/android/server/wm/ActivityRecord;->isAlwaysOnTop()Z
+HPLcom/android/server/wm/ActivityRecord;->isConfigurationDispatchPaused()Z
+PLcom/android/server/wm/ActivityRecord;->isDisplaySleepingAndSwapping()Z
+PLcom/android/server/wm/ActivityRecord;->isEligibleForLetterboxEducation()Z
+HPLcom/android/server/wm/ActivityRecord;->isEmbedded()Z
+HPLcom/android/server/wm/ActivityRecord;->isEmbeddedInUntrustedMode()Z
+PLcom/android/server/wm/ActivityRecord;->isFirstChildWindowGreaterThanSecond(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)Z
+HPLcom/android/server/wm/ActivityRecord;->isFocusable()Z
+PLcom/android/server/wm/ActivityRecord;->isFreezingScreen()Z
+PLcom/android/server/wm/ActivityRecord;->isHomeIntent(Landroid/content/Intent;)Z
+PLcom/android/server/wm/ActivityRecord;->isIconStylePreferred(I)Z
+PLcom/android/server/wm/ActivityRecord;->isInHistory()Z
+HPLcom/android/server/wm/ActivityRecord;->isInLetterboxAnimation()Z
+PLcom/android/server/wm/ActivityRecord;->isInRootTaskLocked(Landroid/os/IBinder;)Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/ActivityRecord;->isInTransition()Z
+PLcom/android/server/wm/ActivityRecord;->isKeyguardLocked()Z
+PLcom/android/server/wm/ActivityRecord;->isLastWindow(Lcom/android/server/wm/WindowState;)Z
+HPLcom/android/server/wm/ActivityRecord;->isLetterboxedForFixedOrientationAndAspectRatio()Z
+PLcom/android/server/wm/ActivityRecord;->isNoHistory()Z
+PLcom/android/server/wm/ActivityRecord;->isPersistable()Z
+PLcom/android/server/wm/ActivityRecord;->isProcessRunning()Z
+HPLcom/android/server/wm/ActivityRecord;->isRelaunching()Z
+PLcom/android/server/wm/ActivityRecord;->isReportedDrawn()Z
+HPLcom/android/server/wm/ActivityRecord;->isResizeable()Z
+HPLcom/android/server/wm/ActivityRecord;->isResizeable(Z)Z
+PLcom/android/server/wm/ActivityRecord;->isResolverActivity(Ljava/lang/String;)Z
+PLcom/android/server/wm/ActivityRecord;->isResolverOrDelegateActivity()Z
+PLcom/android/server/wm/ActivityRecord;->isRootOfTask()Z
+PLcom/android/server/wm/ActivityRecord;->isSleeping()Z
+HPLcom/android/server/wm/ActivityRecord;->isState(Lcom/android/server/wm/ActivityRecord$State;)Z
+PLcom/android/server/wm/ActivityRecord;->isState(Lcom/android/server/wm/ActivityRecord$State;Lcom/android/server/wm/ActivityRecord$State;)Z
+HPLcom/android/server/wm/ActivityRecord;->isState(Lcom/android/server/wm/ActivityRecord$State;Lcom/android/server/wm/ActivityRecord$State;Lcom/android/server/wm/ActivityRecord$State;Lcom/android/server/wm/ActivityRecord$State;Lcom/android/server/wm/ActivityRecord$State;)Z
+PLcom/android/server/wm/ActivityRecord;->isSyncFinished(Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;)Z
+PLcom/android/server/wm/ActivityRecord;->isTaskOverlay()Z
+PLcom/android/server/wm/ActivityRecord;->isTopRunningActivity()Z
+PLcom/android/server/wm/ActivityRecord;->isTransitionForward()Z
+HPLcom/android/server/wm/ActivityRecord;->isUid(I)Z
+HPLcom/android/server/wm/ActivityRecord;->isVisible()Z
+HPLcom/android/server/wm/ActivityRecord;->isWaitingForTransitionStart()Z
+HPLcom/android/server/wm/ActivityRecord;->lambda$getBounds$22(Landroid/graphics/Rect;)Landroid/graphics/Rect;
+PLcom/android/server/wm/ActivityRecord;->lambda$new$2()Landroid/content/Context;
+PLcom/android/server/wm/ActivityRecord;->lambda$showAllWindowsLocked$14(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/ActivityRecord;->lambda$transferStartingWindowFromHiddenAboveTokenIfNeeded$8(Lcom/android/server/wm/ActivityRecord;)Z
+HPLcom/android/server/wm/ActivityRecord;->layoutLetterbox(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/ActivityRecord;->logAppCompatState()V
+PLcom/android/server/wm/ActivityRecord;->logStartActivity(ILcom/android/server/wm/Task;)V
+HPLcom/android/server/wm/ActivityRecord;->makeActiveIfNeeded(Lcom/android/server/wm/ActivityRecord;)Z
+HPLcom/android/server/wm/ActivityRecord;->makeInvisible()V
+PLcom/android/server/wm/ActivityRecord;->makeVisibleIfNeeded(Lcom/android/server/wm/ActivityRecord;Z)V
+PLcom/android/server/wm/ActivityRecord;->needsZBoost()Z
+PLcom/android/server/wm/ActivityRecord;->notifyUnknownVisibilityLaunchedForKeyguardTransition()V
+HPLcom/android/server/wm/ActivityRecord;->occludesParent()Z
+HPLcom/android/server/wm/ActivityRecord;->occludesParent(Z)Z
+PLcom/android/server/wm/ActivityRecord;->onAnimationFinished(ILcom/android/server/wm/AnimationAdapter;)V
+PLcom/android/server/wm/ActivityRecord;->onChildVisibleRequestedChanged(Lcom/android/server/wm/WindowContainer;)Z
+PLcom/android/server/wm/ActivityRecord;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/ActivityRecord;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/ActivityRecord;->onFirstWindowDrawn(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/ActivityRecord;->onParentChanged(Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ConfigurationContainer;)V
+PLcom/android/server/wm/ActivityRecord;->onStartingWindowDrawn()V
+PLcom/android/server/wm/ActivityRecord;->onSyncTransactionCommitted(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/ActivityRecord;->onWindowsDrawn()V
+PLcom/android/server/wm/ActivityRecord;->onWindowsGone()V
+PLcom/android/server/wm/ActivityRecord;->onWindowsVisible()V
+PLcom/android/server/wm/ActivityRecord;->orientationRespectedWithInsets(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
+PLcom/android/server/wm/ActivityRecord;->pauseKeyDispatchingLocked()V
+PLcom/android/server/wm/ActivityRecord;->postApplyAnimation(ZZ)V
+PLcom/android/server/wm/ActivityRecord;->postWindowRemoveStartingWindowCleanup(Lcom/android/server/wm/WindowState;)V
+HPLcom/android/server/wm/ActivityRecord;->prepareSurfaces()V
+PLcom/android/server/wm/ActivityRecord;->providesMaxBounds()Z
+PLcom/android/server/wm/ActivityRecord;->providesOrientation()Z
+PLcom/android/server/wm/ActivityRecord;->removeChild(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/ActivityRecord;->removeChild(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/ActivityRecord;->removeLaunchTickRunnable()V
+PLcom/android/server/wm/ActivityRecord;->removePauseTimeout()V
+PLcom/android/server/wm/ActivityRecord;->removeStartingWindow()V
+PLcom/android/server/wm/ActivityRecord;->removeStartingWindowAnimation(Z)V
+PLcom/android/server/wm/ActivityRecord;->removeStopTimeout()V
+PLcom/android/server/wm/ActivityRecord;->reportDescendantOrientationChangeIfNeeded()V
+PLcom/android/server/wm/ActivityRecord;->requestUpdateWallpaperIfNeeded()V
+PLcom/android/server/wm/ActivityRecord;->resolveAspectRatioRestriction(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/ActivityRecord;->resolveFixedOrientationConfiguration(Landroid/content/res/Configuration;)V
+HPLcom/android/server/wm/ActivityRecord;->resolveOverrideConfiguration(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/ActivityRecord;->resumeKeyDispatchingLocked()V
+PLcom/android/server/wm/ActivityRecord;->scheduleAddStartingWindow()V
+PLcom/android/server/wm/ActivityRecord;->schedulePauseTimeout()V
+PLcom/android/server/wm/ActivityRecord;->scheduleTopResumedActivityChanged(Z)Z
+PLcom/android/server/wm/ActivityRecord;->searchCandidateLaunchingActivity()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/ActivityRecord;->setActivityType(ZILandroid/content/Intent;Landroid/app/ActivityOptions;Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityRecord;->setAppLayoutChanges(ILjava/lang/String;)V
+PLcom/android/server/wm/ActivityRecord;->setClientVisible(Z)V
+PLcom/android/server/wm/ActivityRecord;->setCurrentLaunchCanTurnScreenOn(Z)V
+PLcom/android/server/wm/ActivityRecord;->setCustomizeSplashScreenExitAnimation(Z)V
+PLcom/android/server/wm/ActivityRecord;->setDeferHidingClient(Z)V
+PLcom/android/server/wm/ActivityRecord;->setDropInputMode(I)V
+PLcom/android/server/wm/ActivityRecord;->setLastReportedConfiguration(Landroid/content/res/Configuration;Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/ActivityRecord;->setLastReportedGlobalConfiguration(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/ActivityRecord;->setOptions(Landroid/app/ActivityOptions;)V
+PLcom/android/server/wm/ActivityRecord;->setProcess(Lcom/android/server/wm/WindowProcessController;)V
+PLcom/android/server/wm/ActivityRecord;->setSavedState(Landroid/os/Bundle;)V
+PLcom/android/server/wm/ActivityRecord;->setSizeConfigurations(Landroid/window/SizeConfigurationBuckets;)V
+HPLcom/android/server/wm/ActivityRecord;->setState(Lcom/android/server/wm/ActivityRecord$State;Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityRecord;->setSurfaceControl(Landroid/view/SurfaceControl;)V
+PLcom/android/server/wm/ActivityRecord;->setTaskDescription(Landroid/app/ActivityManager$TaskDescription;)V
+PLcom/android/server/wm/ActivityRecord;->setTaskHasBeenVisible()Z
+HPLcom/android/server/wm/ActivityRecord;->setVisibility(Z)V
+HPLcom/android/server/wm/ActivityRecord;->setVisibility(ZZ)V
+PLcom/android/server/wm/ActivityRecord;->setVisible(Z)V
+PLcom/android/server/wm/ActivityRecord;->setVisibleRequested(Z)Z
+PLcom/android/server/wm/ActivityRecord;->setWillCloseOrEnterPip(Z)V
+HPLcom/android/server/wm/ActivityRecord;->shouldBeResumed(Lcom/android/server/wm/ActivityRecord;)Z
+HPLcom/android/server/wm/ActivityRecord;->shouldBeVisibleUnchecked()Z
+HPLcom/android/server/wm/ActivityRecord;->shouldCreateCompatDisplayInsets()Z
+PLcom/android/server/wm/ActivityRecord;->shouldIgnoreOrientationRequests()Z
+HPLcom/android/server/wm/ActivityRecord;->shouldMakeActive(Lcom/android/server/wm/ActivityRecord;)Z
+HPLcom/android/server/wm/ActivityRecord;->shouldPauseActivity(Lcom/android/server/wm/ActivityRecord;)Z
+HPLcom/android/server/wm/ActivityRecord;->shouldResumeActivity(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityRecord;->shouldSendCompatFakeFocus()Z
+HPLcom/android/server/wm/ActivityRecord;->shouldStartActivity()Z
+PLcom/android/server/wm/ActivityRecord;->shouldStartChangeTransition(Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;)Z
+PLcom/android/server/wm/ActivityRecord;->shouldUpdateConfigForDisplayChanged()Z
+PLcom/android/server/wm/ActivityRecord;->shouldUseSolidColorSplashScreen(Lcom/android/server/wm/ActivityRecord;ZLandroid/app/ActivityOptions;I)Z
+PLcom/android/server/wm/ActivityRecord;->showAllWindowsLocked()V
+PLcom/android/server/wm/ActivityRecord;->showStartingWindow(Lcom/android/server/wm/ActivityRecord;ZZZLcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityRecord;->showStartingWindow(Lcom/android/server/wm/ActivityRecord;ZZZZLcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;)V
+PLcom/android/server/wm/ActivityRecord;->showSurfaceOnCreation()Z
+HPLcom/android/server/wm/ActivityRecord;->showToCurrentUser()Z
+PLcom/android/server/wm/ActivityRecord;->startLaunchTickingLocked()V
+PLcom/android/server/wm/ActivityRecord;->stopFreezingScreen(ZZ)V
+PLcom/android/server/wm/ActivityRecord;->stopIfPossible()V
+PLcom/android/server/wm/ActivityRecord;->supportsMultiWindow()Z
+PLcom/android/server/wm/ActivityRecord;->supportsMultiWindowInDisplayArea(Lcom/android/server/wm/TaskDisplayArea;)Z
+PLcom/android/server/wm/ActivityRecord;->supportsPictureInPicture()Z
+HPLcom/android/server/wm/ActivityRecord;->supportsSizeChanges()I
+PLcom/android/server/wm/ActivityRecord;->takeRemoteTransition()Landroid/window/RemoteTransition;
+PLcom/android/server/wm/ActivityRecord;->takeSceneTransitionInfo()Landroid/app/ActivityOptions$SceneTransitionInfo;
+HPLcom/android/server/wm/ActivityRecord;->toString()Ljava/lang/String;
+PLcom/android/server/wm/ActivityRecord;->transferSplashScreenIfNeeded()Z
+PLcom/android/server/wm/ActivityRecord;->transferStartingWindowFromHiddenAboveTokenIfNeeded()V
+PLcom/android/server/wm/ActivityRecord;->updateAllDrawn()V
+PLcom/android/server/wm/ActivityRecord;->updateAnimatingActivityRegistry()V
+PLcom/android/server/wm/ActivityRecord;->updateColorTransform()V
+HPLcom/android/server/wm/ActivityRecord;->updateCompatDisplayInsets()V
+HPLcom/android/server/wm/ActivityRecord;->updateDrawnWindowStates(Lcom/android/server/wm/WindowState;)Z
+HPLcom/android/server/wm/ActivityRecord;->updateLetterboxSurface(Lcom/android/server/wm/WindowState;)V
+HPLcom/android/server/wm/ActivityRecord;->updateReportedConfigurationAndSend()Z
+HPLcom/android/server/wm/ActivityRecord;->updateReportedVisibilityLocked()V
+PLcom/android/server/wm/ActivityRecord;->updateResolvedBoundsPosition(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/ActivityRecord;->updateTaskDescription(Ljava/lang/CharSequence;)V
+PLcom/android/server/wm/ActivityRecord;->updateUntrustedEmbeddingInputProtection()V
+HPLcom/android/server/wm/ActivityRecord;->updateVisibilityIgnoringKeyguard(Z)V
+PLcom/android/server/wm/ActivityRecord;->updateVisibleForServiceConnection()V
+PLcom/android/server/wm/ActivityRecord;->validateStartingWindowTheme(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;I)Z
+PLcom/android/server/wm/ActivityRecord;->waitForSyncTransactionCommit(Landroid/util/ArraySet;)V
+PLcom/android/server/wm/ActivityRecord;->windowsAreFocusable()Z
+HPLcom/android/server/wm/ActivityRecord;->windowsAreFocusable(Z)Z
+PLcom/android/server/wm/ActivityRecordInputSink;-><init>(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;)V
+HPLcom/android/server/wm/ActivityRecordInputSink;->applyChangesToSurfaceIfChanged(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/ActivityRecordInputSink;->createInputWindowHandle()Landroid/view/InputWindowHandle;
+PLcom/android/server/wm/ActivityRecordInputSink;->createSurface(Landroid/view/SurfaceControl$Transaction;)Landroid/view/SurfaceControl;
+HPLcom/android/server/wm/ActivityRecordInputSink;->getInputWindowHandleWrapper()Lcom/android/server/wm/InputWindowHandleWrapper;
+PLcom/android/server/wm/ActivitySecurityModelFeatureFlags$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/wm/ActivitySecurityModelFeatureFlags;-><clinit>()V
+PLcom/android/server/wm/ActivitySecurityModelFeatureFlags;->initialize(Ljava/util/concurrent/Executor;Landroid/content/pm/PackageManager;)V
+PLcom/android/server/wm/ActivitySecurityModelFeatureFlags;->updateFromDeviceConfig()V
+PLcom/android/server/wm/ActivityServiceConnectionsHolder;-><init>(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivitySnapshotCache;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/ActivitySnapshotController$$ExternalSyntheticLambda1;-><init>()V
+PLcom/android/server/wm/ActivitySnapshotController$$ExternalSyntheticLambda1;->getSystemDirectoryForUser(I)Ljava/io/File;
+PLcom/android/server/wm/ActivitySnapshotController;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/SnapshotPersistQueue;)V
+PLcom/android/server/wm/ActivitySnapshotController;->beginSnapshotProcess()V
+PLcom/android/server/wm/ActivitySnapshotController;->createPersistInfoProvider(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/BaseAppSnapshotPersister$DirectoryResolver;)Lcom/android/server/wm/BaseAppSnapshotPersister$PersistInfoProvider;
+PLcom/android/server/wm/ActivitySnapshotController;->endSnapshotProcess()V
+PLcom/android/server/wm/ActivitySnapshotController;->handleTaskTransition(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/ActivitySnapshotController;->handleTransitionFinish(Ljava/util/ArrayList;)V
+PLcom/android/server/wm/ActivitySnapshotController;->initSnapshotScale()F
+PLcom/android/server/wm/ActivitySnapshotController;->isSnapshotEnabled()Z
+PLcom/android/server/wm/ActivitySnapshotController;->notifyAppVisibilityChanged(Lcom/android/server/wm/ActivityRecord;Z)V
+HSPLcom/android/server/wm/ActivityStartController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V
+HSPLcom/android/server/wm/ActivityStartController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityStarter$Factory;)V
+PLcom/android/server/wm/ActivityStartController;->checkTargetUser(IZIILjava/lang/String;)I
+PLcom/android/server/wm/ActivityStartController;->getPendingRemoteAnimationRegistry()Lcom/android/server/wm/PendingRemoteAnimationRegistry;
+PLcom/android/server/wm/ActivityStartController;->obtainStarter(Landroid/content/Intent;Ljava/lang/String;)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStartController;->onExecutionComplete(Lcom/android/server/wm/ActivityStarter;)V
+PLcom/android/server/wm/ActivityStartController;->onExecutionStarted()V
+PLcom/android/server/wm/ActivityStartController;->startHomeActivity(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Ljava/lang/String;Lcom/android/server/wm/TaskDisplayArea;)V
+PLcom/android/server/wm/ActivityStartController;->startSetupActivity()V
+PLcom/android/server/wm/ActivityStartInterceptor$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/ActivityRecord;)V
+HSPLcom/android/server/wm/ActivityStartInterceptor;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskSupervisor;)V
+HSPLcom/android/server/wm/ActivityStartInterceptor;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskSupervisor;Landroid/content/Context;)V
+HPLcom/android/server/wm/ActivityStartInterceptor;->getInterceptorInfo(Ljava/lang/Runnable;)Lcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo;
+PLcom/android/server/wm/ActivityStartInterceptor;->intercept(Landroid/content/Intent;Landroid/content/pm/ResolveInfo;Landroid/content/pm/ActivityInfo;Ljava/lang/String;Lcom/android/server/wm/Task;Lcom/android/server/wm/TaskFragment;IILandroid/app/ActivityOptions;Lcom/android/server/wm/TaskDisplayArea;)Z
+PLcom/android/server/wm/ActivityStartInterceptor;->interceptHarmfulAppIfNeeded()Z
+PLcom/android/server/wm/ActivityStartInterceptor;->interceptHomeIfNeeded()Z
+PLcom/android/server/wm/ActivityStartInterceptor;->interceptLockTaskModeViolationPackageIfNeeded()Z
+PLcom/android/server/wm/ActivityStartInterceptor;->interceptLockedProfileIfNeeded()Z
+PLcom/android/server/wm/ActivityStartInterceptor;->interceptQuietProfileIfNeeded()Z
+PLcom/android/server/wm/ActivityStartInterceptor;->interceptSuspendedPackageIfNeeded()Z
+PLcom/android/server/wm/ActivityStartInterceptor;->interceptWithConfirmCredentialsIfNeeded(Landroid/content/pm/ActivityInfo;I)Landroid/content/Intent;
+PLcom/android/server/wm/ActivityStartInterceptor;->isPackageSuspended()Z
+PLcom/android/server/wm/ActivityStartInterceptor;->onActivityLaunched(Landroid/app/TaskInfo;Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStartInterceptor;->setStates(IIIILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityStarter$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/TaskFragment;)V
+HSPLcom/android/server/wm/ActivityStarter$DefaultFactory;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityStartInterceptor;)V
+PLcom/android/server/wm/ActivityStarter$DefaultFactory;->obtain()Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter$DefaultFactory;->recycle(Lcom/android/server/wm/ActivityStarter;)V
+HSPLcom/android/server/wm/ActivityStarter$DefaultFactory;->setController(Lcom/android/server/wm/ActivityStartController;)V
+PLcom/android/server/wm/ActivityStarter$Request;-><init>()V
+HPLcom/android/server/wm/ActivityStarter$Request;->reset()V
+HPLcom/android/server/wm/ActivityStarter$Request;->resolveActivity(Lcom/android/server/wm/ActivityTaskSupervisor;)V
+HPLcom/android/server/wm/ActivityStarter$Request;->set(Lcom/android/server/wm/ActivityStarter$Request;)V
+PLcom/android/server/wm/ActivityStarter;-><init>(Lcom/android/server/wm/ActivityStartController;Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityStartInterceptor;)V
+PLcom/android/server/wm/ActivityStarter;->addOrReparentStartingActivity(Lcom/android/server/wm/Task;Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityStarter;->adjustLaunchFlagsToDocumentMode(Lcom/android/server/wm/ActivityRecord;ZZI)I
+PLcom/android/server/wm/ActivityStarter;->avoidMoveToFront()Z
+PLcom/android/server/wm/ActivityStarter;->computeLaunchParams(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/ActivityStarter;->computeLaunchingTaskFlags()V
+PLcom/android/server/wm/ActivityStarter;->computeResolveFilterUid(III)I
+PLcom/android/server/wm/ActivityStarter;->computeSuggestedLaunchDisplayArea(Lcom/android/server/wm/Task;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;)Lcom/android/server/wm/TaskDisplayArea;
+PLcom/android/server/wm/ActivityStarter;->computeTargetTask()Lcom/android/server/wm/Task;
+PLcom/android/server/wm/ActivityStarter;->deliverToCurrentTopIfNeeded(Lcom/android/server/wm/Task;Lcom/android/server/uri/NeededUriGrants;)I
+HPLcom/android/server/wm/ActivityStarter;->execute()I
+HPLcom/android/server/wm/ActivityStarter;->executeRequest(Lcom/android/server/wm/ActivityStarter$Request;)I
+PLcom/android/server/wm/ActivityStarter;->getExternalResult(I)I
+PLcom/android/server/wm/ActivityStarter;->getOrCreateRootTask(Lcom/android/server/wm/ActivityRecord;ILcom/android/server/wm/Task;Landroid/app/ActivityOptions;)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/ActivityStarter;->getReusableTask()Lcom/android/server/wm/Task;
+PLcom/android/server/wm/ActivityStarter;->handleStartResult(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;ILcom/android/server/wm/Transition;Landroid/window/RemoteTransition;)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/ActivityStarter;->isAllowedToStart(Lcom/android/server/wm/ActivityRecord;ZLcom/android/server/wm/Task;)I
+PLcom/android/server/wm/ActivityStarter;->onExecutionComplete()V
+PLcom/android/server/wm/ActivityStarter;->onExecutionStarted()V
+PLcom/android/server/wm/ActivityStarter;->postStartActivityProcessing(Lcom/android/server/wm/ActivityRecord;ILcom/android/server/wm/Task;)V
+PLcom/android/server/wm/ActivityStarter;->recordTransientLaunchIfNeeded(Lcom/android/server/wm/ActivityRecord;)V
+HPLcom/android/server/wm/ActivityStarter;->reset(Z)V
+PLcom/android/server/wm/ActivityStarter;->resolveToHeavyWeightSwitcherIfNeeded()I
+PLcom/android/server/wm/ActivityStarter;->sendNewTaskResultRequestIfNeeded()V
+HPLcom/android/server/wm/ActivityStarter;->set(Lcom/android/server/wm/ActivityStarter;)V
+PLcom/android/server/wm/ActivityStarter;->setActivityInfo(Landroid/content/pm/ActivityInfo;)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setActivityOptions(Landroid/os/Bundle;)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setActivityOptions(Lcom/android/server/wm/SafeActivityOptions;)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setCaller(Landroid/app/IApplicationThread;)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setCallingFeatureId(Ljava/lang/String;)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setCallingPackage(Ljava/lang/String;)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setCallingUid(I)Lcom/android/server/wm/ActivityStarter;
+HPLcom/android/server/wm/ActivityStarter;->setInitialState(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/Task;Lcom/android/server/wm/TaskFragment;ILcom/android/server/wm/ActivityRecord;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;II)V
+PLcom/android/server/wm/ActivityStarter;->setIntent(Landroid/content/Intent;)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setNewTask(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/ActivityStarter;->setOutActivity([Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setProfilerInfo(Landroid/app/ProfilerInfo;)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setReason(Ljava/lang/String;)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setRequestCode(I)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setResolvedType(Ljava/lang/String;)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setResultTo(Landroid/os/IBinder;)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setResultWho(Ljava/lang/String;)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setStartFlags(I)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setUserId(I)Lcom/android/server/wm/ActivityStarter;
+HPLcom/android/server/wm/ActivityStarter;->startActivityInner(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;ILandroid/app/ActivityOptions;Lcom/android/server/wm/Task;Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/BackgroundActivityStartController$BalVerdict;Lcom/android/server/uri/NeededUriGrants;I)I
+PLcom/android/server/wm/ActivityStarter;->startActivityUnchecked(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;ILandroid/app/ActivityOptions;Lcom/android/server/wm/Task;Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/BackgroundActivityStartController$BalVerdict;Lcom/android/server/uri/NeededUriGrants;I)I
+HSPLcom/android/server/wm/ActivityTaskManagerInternal;-><init>()V
+PLcom/android/server/wm/ActivityTaskManagerService$$ExternalSyntheticLambda12;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;ZLcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityTaskManagerService$$ExternalSyntheticLambda12;->run()V
+PLcom/android/server/wm/ActivityTaskManagerService$$ExternalSyntheticLambda13;-><init>()V
+PLcom/android/server/wm/ActivityTaskManagerService$$ExternalSyntheticLambda13;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/ActivityTaskManagerService$$ExternalSyntheticLambda18;-><init>(Landroid/app/ActivityManagerInternal;)V
+PLcom/android/server/wm/ActivityTaskManagerService$$ExternalSyntheticLambda18;->run()V
+PLcom/android/server/wm/ActivityTaskManagerService$$ExternalSyntheticLambda19;-><init>()V
+PLcom/android/server/wm/ActivityTaskManagerService$$ExternalSyntheticLambda19;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/ActivityTaskManagerService$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;ZZ)V
+PLcom/android/server/wm/ActivityTaskManagerService$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/ActivityTaskManagerService$$ExternalSyntheticLambda20;-><init>()V
+PLcom/android/server/wm/ActivityTaskManagerService$$ExternalSyntheticLambda20;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/ActivityTaskManagerService$$ExternalSyntheticLambda21;-><init>()V
+PLcom/android/server/wm/ActivityTaskManagerService$$ExternalSyntheticLambda21;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/ActivityTaskManagerService$$ExternalSyntheticLambda22;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V
+PLcom/android/server/wm/ActivityTaskManagerService$$ExternalSyntheticLambda22;->run()V
+PLcom/android/server/wm/ActivityTaskManagerService$$ExternalSyntheticLambda23;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;ZZ)V
+PLcom/android/server/wm/ActivityTaskManagerService$$ExternalSyntheticLambda23;->run()V
+PLcom/android/server/wm/ActivityTaskManagerService$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Z)V
+PLcom/android/server/wm/ActivityTaskManagerService$$ExternalSyntheticLambda2;->run()V
+PLcom/android/server/wm/ActivityTaskManagerService$$ExternalSyntheticLambda8;-><init>()V
+PLcom/android/server/wm/ActivityTaskManagerService$$ExternalSyntheticLambda8;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+HSPLcom/android/server/wm/ActivityTaskManagerService$1;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)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;
+HSPLcom/android/server/wm/ActivityTaskManagerService$Lifecycle;->onStart()V
+PLcom/android/server/wm/ActivityTaskManagerService$Lifecycle;->onUserUnlocked(Lcom/android/server/SystemService$TargetUser;)V
+HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V
+HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->attachApplication(Lcom/android/server/wm/WindowProcessController;)Z
+HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->clearHeavyWeightProcessIfEquals(Lcom/android/server/wm/WindowProcessController;)V
+HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->compatibilityInfoForPackage(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo;
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->createSleepTokenAcquirer(Ljava/lang/String;)Lcom/android/server/wm/ActivityTaskManagerInternal$SleepTokenAcquirer;
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->dumpActivity(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/lang/String;[Ljava/lang/String;IZZZII)Z
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->enableScreenAfterBoot(Z)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getLaunchObserverRegistry()Lcom/android/server/wm/ActivityMetricsLaunchObserverRegistry;
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getServiceConnectionsHolder(Landroid/os/IBinder;)Lcom/android/server/wm/ActivityServiceConnectionsHolder;
+HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getTaskToShowPermissionDialogOn(Ljava/lang/String;I)I
+HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getTopApp()Lcom/android/server/wm/WindowProcessController;
+HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getTopProcessState()I
+HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->handleAppDied(Lcom/android/server/wm/WindowProcessController;ZLjava/lang/Runnable;)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->hasSystemAlertWindowPermission(IILjava/lang/String;)Z
+HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isCallerRecents(I)Z
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isGetTasksAllowed(Ljava/lang/String;II)Z
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isShuttingDown()Z
+HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isSleeping()Z
+HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isUidForeground(I)Z
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->loadRecentTasksForUser(I)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->notifyActiveVoiceInteractionServiceChanged(Landroid/content/ComponentName;)V
+HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onCleanUpApplicationRecord(Lcom/android/server/wm/WindowProcessController;)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onForceStopPackage(Ljava/lang/String;ZZI)Z
+HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onProcessAdded(Lcom/android/server/wm/WindowProcessController;)V
+HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onProcessMapped(ILcom/android/server/wm/WindowProcessController;)V
+HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onProcessRemoved(Ljava/lang/String;I)V
+HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onProcessUnMapped(I)V
+HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onUidActive(II)V
+HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onUidInactive(I)V
+HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onUidProcStateChanged(II)V
+HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->preBindApplication(Lcom/android/server/wm/WindowProcessController;)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->registerActivityStartInterceptor(ILcom/android/server/wm/ActivityInterceptorCallback;)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->registerCompatScaleProvider(ILcom/android/server/wm/CompatScaleProvider;)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->registerScreenObserver(Lcom/android/server/wm/ActivityTaskManagerInternal$ScreenObserver;)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->resumeTopActivities(Z)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->setAccessibilityServiceUids(Landroid/util/IntArray;)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->setAllowAppSwitches(Ljava/lang/String;II)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->setBackgroundActivityStartCallback(Lcom/android/server/wm/BackgroundActivityStartCallback;)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->setCompanionAppUids(ILjava/util/Set;)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->setDeviceOwnerUid(I)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->setProfileOwnerUids(Ljava/util/Set;)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->showSystemReadyErrorDialogsIfNeeded()V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->startHomeOnAllDisplays(ILjava/lang/String;)Z
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->updateTopComponentForFactoryTest()V
+HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->useTopSchedGroupForTopProcess()Z
+PLcom/android/server/wm/ActivityTaskManagerService$SettingObserver;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V
+HSPLcom/android/server/wm/ActivityTaskManagerService$SleepTokenAcquirerImpl;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityTaskManagerService$SleepTokenAcquirerImpl;->release(I)V
+HSPLcom/android/server/wm/ActivityTaskManagerService$UiHandler;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V
+HSPLcom/android/server/wm/ActivityTaskManagerService$UpdateConfigurationResult;-><init>()V
+PLcom/android/server/wm/ActivityTaskManagerService;->$r8$lambda$G-ZVGkJnOiiiPtzNWf__-3fwOz0(Lcom/android/server/wm/ActivityTaskManagerService;Z)V
+PLcom/android/server/wm/ActivityTaskManagerService;->$r8$lambda$gl_rL-Uj8MkGoxcvZAtiOobhr1U(Lcom/android/server/wm/ActivityTaskManagerService;ZZLcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->$r8$lambda$o1LyOlG7Bjhnk6ihNjw6qxiRkiM(Lcom/android/server/wm/ActivityTaskManagerService;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->$r8$lambda$xw3oVmq5ZU_M2JzNhcLEohfHV_4(Lcom/android/server/wm/ActivityTaskManagerService;ZLcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->$r8$lambda$zamvtNbvmh2J_IeaFnbzAisM5zY(Lcom/android/server/wm/ActivityTaskManagerService;ZZ)V
+PLcom/android/server/wm/ActivityTaskManagerService;->-$$Nest$fgetmActivityInterceptorCallbacks(Lcom/android/server/wm/ActivityTaskManagerService;)Landroid/util/SparseArray;
+PLcom/android/server/wm/ActivityTaskManagerService;->-$$Nest$fgetmCompanionAppUidsMap(Lcom/android/server/wm/ActivityTaskManagerService;)Ljava/util/Map;
+PLcom/android/server/wm/ActivityTaskManagerService;->-$$Nest$fgetmRecentTasks(Lcom/android/server/wm/ActivityTaskManagerService;)Lcom/android/server/wm/RecentTasks;
+HPLcom/android/server/wm/ActivityTaskManagerService;->-$$Nest$fgetmRetainPowerModeAndTopProcessState(Lcom/android/server/wm/ActivityTaskManagerService;)Z
+HSPLcom/android/server/wm/ActivityTaskManagerService;->-$$Nest$fgetmSleeping(Lcom/android/server/wm/ActivityTaskManagerService;)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->-$$Nest$fputmAccessibilityServiceUids(Lcom/android/server/wm/ActivityTaskManagerService;[I)V
+PLcom/android/server/wm/ActivityTaskManagerService;->-$$Nest$fputmBackgroundActivityStartCallback(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/BackgroundActivityStartCallback;)V
+HSPLcom/android/server/wm/ActivityTaskManagerService;->-$$Nest$mstart(Lcom/android/server/wm/ActivityTaskManagerService;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->-$$Nest$mupdateEventDispatchingLocked(Lcom/android/server/wm/ActivityTaskManagerService;Z)V
+HSPLcom/android/server/wm/ActivityTaskManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->addWindowLayoutReasons(I)V
+PLcom/android/server/wm/ActivityTaskManagerService;->applyUpdateLockStateLocked(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->assertPackageMatchesCallingUid(Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->checkCallingPermission(Ljava/lang/String;)I
+PLcom/android/server/wm/ActivityTaskManagerService;->checkComponentPermission(Ljava/lang/String;IIIZ)I
+PLcom/android/server/wm/ActivityTaskManagerService;->checkPermission(Ljava/lang/String;II)I
+PLcom/android/server/wm/ActivityTaskManagerService;->clearHeavyWeightProcessIfEquals(Lcom/android/server/wm/WindowProcessController;)V
+HPLcom/android/server/wm/ActivityTaskManagerService;->compatibilityInfoForPackageLocked(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo;
+HPLcom/android/server/wm/ActivityTaskManagerService;->continueWindowLayout()V
+HSPLcom/android/server/wm/ActivityTaskManagerService;->createAppWarnings(Landroid/content/Context;Landroid/os/Handler;Landroid/os/Handler;Ljava/io/File;)Lcom/android/server/wm/AppWarnings;
+HSPLcom/android/server/wm/ActivityTaskManagerService;->createTaskSupervisor()Lcom/android/server/wm/ActivityTaskSupervisor;
+HPLcom/android/server/wm/ActivityTaskManagerService;->deferWindowLayout()V
+HPLcom/android/server/wm/ActivityTaskManagerService;->dumpActivity(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/lang/String;[Ljava/lang/String;IZZZII)Z
+HPLcom/android/server/wm/ActivityTaskManagerService;->dumpActivity(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Lcom/android/server/wm/ActivityRecord;[Ljava/lang/String;Z)V
+PLcom/android/server/wm/ActivityTaskManagerService;->endPowerMode(I)V
+PLcom/android/server/wm/ActivityTaskManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->enforceTaskPermission(Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->ensureConfigAndVisibilityAfterUpdate(Lcom/android/server/wm/ActivityRecord;I)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->finishRunningVoiceLocked()V
+PLcom/android/server/wm/ActivityTaskManagerService;->getActivityClientController()Landroid/app/IActivityClientController;
+PLcom/android/server/wm/ActivityTaskManagerService;->getActivityInterceptorCallbacks()Landroid/util/SparseArray;
+PLcom/android/server/wm/ActivityTaskManagerService;->getActivityStartController()Lcom/android/server/wm/ActivityStartController;
+PLcom/android/server/wm/ActivityTaskManagerService;->getAllRootTaskInfosOnDisplay(I)Ljava/util/List;
+PLcom/android/server/wm/ActivityTaskManagerService;->getAnrController(Landroid/content/pm/ApplicationInfo;)Landroid/app/AnrController;
+PLcom/android/server/wm/ActivityTaskManagerService;->getAppInfoForUser(Landroid/content/pm/ApplicationInfo;I)Landroid/content/pm/ApplicationInfo;
+PLcom/android/server/wm/ActivityTaskManagerService;->getAppOpsManager()Landroid/app/AppOpsManager;
+PLcom/android/server/wm/ActivityTaskManagerService;->getAppWarningsLocked()Lcom/android/server/wm/AppWarnings;
+HPLcom/android/server/wm/ActivityTaskManagerService;->getBackgroundActivityStartCallback()Lcom/android/server/wm/BackgroundActivityStartCallback;
+HPLcom/android/server/wm/ActivityTaskManagerService;->getBalAppSwitchesState()I
+PLcom/android/server/wm/ActivityTaskManagerService;->getConfiguration()Landroid/content/res/Configuration;
+HPLcom/android/server/wm/ActivityTaskManagerService;->getCurrentUserId()I
+HPLcom/android/server/wm/ActivityTaskManagerService;->getDeviceConfigurationInfo()Landroid/content/pm/ConfigurationInfo;
+HPLcom/android/server/wm/ActivityTaskManagerService;->getGlobalConfiguration()Landroid/content/res/Configuration;
+PLcom/android/server/wm/ActivityTaskManagerService;->getGlobalConfigurationForCallingPid()Landroid/content/res/Configuration;
+HPLcom/android/server/wm/ActivityTaskManagerService;->getGlobalConfigurationForPid(I)Landroid/content/res/Configuration;
+HSPLcom/android/server/wm/ActivityTaskManagerService;->getGlobalLock()Lcom/android/server/wm/WindowManagerGlobalLock;
+PLcom/android/server/wm/ActivityTaskManagerService;->getHomeIntent()Landroid/content/Intent;
+PLcom/android/server/wm/ActivityTaskManagerService;->getInputDispatchingTimeoutMillisLocked(Lcom/android/server/wm/ActivityRecord;)J
+PLcom/android/server/wm/ActivityTaskManagerService;->getInputDispatchingTimeoutMillisLocked(Lcom/android/server/wm/WindowProcessController;)J
+HPLcom/android/server/wm/ActivityTaskManagerService;->getLastStopAppSwitchesTime()J
+HPLcom/android/server/wm/ActivityTaskManagerService;->getLifecycleManager()Lcom/android/server/wm/ClientLifecycleManager;
+PLcom/android/server/wm/ActivityTaskManagerService;->getLockTaskController()Lcom/android/server/wm/LockTaskController;
+PLcom/android/server/wm/ActivityTaskManagerService;->getPackageManager()Landroid/content/pm/IPackageManager;
+PLcom/android/server/wm/ActivityTaskManagerService;->getPackageManagerInternalLocked()Landroid/content/pm/PackageManagerInternal;
+PLcom/android/server/wm/ActivityTaskManagerService;->getPackageNameIfUnique(II)Ljava/lang/String;
+HPLcom/android/server/wm/ActivityTaskManagerService;->getPermissionPolicyInternal()Lcom/android/server/policy/PermissionPolicyInternal;
+PLcom/android/server/wm/ActivityTaskManagerService;->getProcessController(II)Lcom/android/server/wm/WindowProcessController;
+HPLcom/android/server/wm/ActivityTaskManagerService;->getProcessController(Landroid/app/IApplicationThread;)Lcom/android/server/wm/WindowProcessController;
+PLcom/android/server/wm/ActivityTaskManagerService;->getProcessController(Ljava/lang/String;I)Lcom/android/server/wm/WindowProcessController;
+PLcom/android/server/wm/ActivityTaskManagerService;->getRecentTasks()Lcom/android/server/wm/RecentTasks;
+PLcom/android/server/wm/ActivityTaskManagerService;->getRecentTasks(III)Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/wm/ActivityTaskManagerService;->getSysUiServiceComponentLocked()Landroid/content/ComponentName;
+PLcom/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;->getTasks(IZZI)Ljava/util/List;
+HPLcom/android/server/wm/ActivityTaskManagerService;->getTransitionController()Lcom/android/server/wm/TransitionController;
+PLcom/android/server/wm/ActivityTaskManagerService;->getUiContext()Landroid/content/Context;
+PLcom/android/server/wm/ActivityTaskManagerService;->getUserManager()Lcom/android/server/pm/UserManagerService;
+PLcom/android/server/wm/ActivityTaskManagerService;->getWindowOrganizerController()Landroid/window/IWindowOrganizerController;
+PLcom/android/server/wm/ActivityTaskManagerService;->handleIncomingUser(IIILjava/lang/String;)I
+HPLcom/android/server/wm/ActivityTaskManagerService;->hasActiveVisibleWindow(I)Z
+HPLcom/android/server/wm/ActivityTaskManagerService;->hasSystemAlertWindowPermission(IILjava/lang/String;)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->increaseAssetConfigurationSeq()I
+PLcom/android/server/wm/ActivityTaskManagerService;->increaseConfigurationSeqLocked()I
+HSPLcom/android/server/wm/ActivityTaskManagerService;->initialize(Lcom/android/server/firewall/IntentFirewall;Lcom/android/server/am/PendingIntentController;Landroid/os/Looper;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->installSystemProviders()V
+PLcom/android/server/wm/ActivityTaskManagerService;->isBooted()Z
+PLcom/android/server/wm/ActivityTaskManagerService;->isBooting()Z
+HPLcom/android/server/wm/ActivityTaskManagerService;->isCallerRecents(I)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->isControllerAMonkey()Z
+PLcom/android/server/wm/ActivityTaskManagerService;->isCrossUserAllowed(II)Z
+HPLcom/android/server/wm/ActivityTaskManagerService;->isGetTasksAllowed(Ljava/lang/String;II)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->isPip2ExperimentEnabled()Z
+PLcom/android/server/wm/ActivityTaskManagerService;->isSameApp(ILjava/lang/String;)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->isSdkSandboxActivityIntent(Landroid/content/Context;Landroid/content/Intent;)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->isSleepingLocked()Z
+PLcom/android/server/wm/ActivityTaskManagerService;->isSleepingOrShuttingDownLocked()Z
+PLcom/android/server/wm/ActivityTaskManagerService;->lambda$applyUpdateLockStateLocked$0(ZLcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->lambda$postFinishBooting$12(ZZ)V
+PLcom/android/server/wm/ActivityTaskManagerService;->lambda$scheduleAppGcsLocked$13()V
+PLcom/android/server/wm/ActivityTaskManagerService;->lambda$setLockScreenShown$3(ZZLcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->lambda$setLockScreenShown$4(Z)V
+PLcom/android/server/wm/ActivityTaskManagerService;->logAppTooSlow(Lcom/android/server/wm/WindowProcessController;JLjava/lang/String;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->maybeHideLockedProfileActivityLocked()V
+PLcom/android/server/wm/ActivityTaskManagerService;->notifyTaskPersisterLocked(Lcom/android/server/wm/Task;Z)V
+HSPLcom/android/server/wm/ActivityTaskManagerService;->onActivityManagerInternalAdded()V
+PLcom/android/server/wm/ActivityTaskManagerService;->onImeWindowSetOnDisplayArea(ILcom/android/server/wm/DisplayArea;)V
+HSPLcom/android/server/wm/ActivityTaskManagerService;->onInitPowerManagement()V
+PLcom/android/server/wm/ActivityTaskManagerService;->onSystemReady()V
+PLcom/android/server/wm/ActivityTaskManagerService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->postFinishBooting(ZZ)V
+PLcom/android/server/wm/ActivityTaskManagerService;->printDisplayInfoAndNewLine(Ljava/io/PrintWriter;Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->registerAnrController(Landroid/app/AnrController;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->registerCompatScaleProvider(ILcom/android/server/wm/CompatScaleProvider;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->registerTaskStackListener(Landroid/app/ITaskStackListener;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->resumeAppSwitches()V
+HPLcom/android/server/wm/ActivityTaskManagerService;->retrieveSettings(Landroid/content/ContentResolver;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->scheduleAppGcsLocked()V
+PLcom/android/server/wm/ActivityTaskManagerService;->setBooted(Z)V
+PLcom/android/server/wm/ActivityTaskManagerService;->setBooting(Z)V
+PLcom/android/server/wm/ActivityTaskManagerService;->setDeviceOwnerUid(I)V
+PLcom/android/server/wm/ActivityTaskManagerService;->setLastResumedActivityUncheckLocked(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->setLockScreenShown(ZZ)V
+PLcom/android/server/wm/ActivityTaskManagerService;->setProfileOwnerUids(Ljava/util/Set;)V
+HSPLcom/android/server/wm/ActivityTaskManagerService;->setRecentTasks(Lcom/android/server/wm/RecentTasks;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->setUsageStatsManager(Landroid/app/usage/UsageStatsManagerInternal;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V
+HSPLcom/android/server/wm/ActivityTaskManagerService;->start()V
+PLcom/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
+PLcom/android/server/wm/ActivityTaskManagerService;->startActivityAsUser(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
+PLcom/android/server/wm/ActivityTaskManagerService;->startActivityAsUser(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;IZ)I
+PLcom/android/server/wm/ActivityTaskManagerService;->startPowerMode(I)V
+PLcom/android/server/wm/ActivityTaskManagerService;->startProcessAsync(Lcom/android/server/wm/ActivityRecord;ZZLjava/lang/String;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->startTimeTrackingFocusedActivityLocked()V
+PLcom/android/server/wm/ActivityTaskManagerService;->updateActivityApplicationInfo(ILandroid/util/ArrayMap;)V
+HPLcom/android/server/wm/ActivityTaskManagerService;->updateActivityUsageStats(Lcom/android/server/wm/ActivityRecord;I)V
+PLcom/android/server/wm/ActivityTaskManagerService;->updateAssetConfiguration(Ljava/util/List;Z)V
+PLcom/android/server/wm/ActivityTaskManagerService;->updateBatteryStats(Lcom/android/server/wm/ActivityRecord;Z)V
+PLcom/android/server/wm/ActivityTaskManagerService;->updateConfiguration(Landroid/content/res/Configuration;)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->updateConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/wm/ActivityRecord;Z)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->updateConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/wm/ActivityRecord;ZZ)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->updateConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/wm/ActivityRecord;ZZIZ)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->updateCpuStats()V
+PLcom/android/server/wm/ActivityTaskManagerService;->updateEventDispatchingLocked(Z)V
+HPLcom/android/server/wm/ActivityTaskManagerService;->updateGlobalConfigurationLocked(Landroid/content/res/Configuration;ZZI)I
+PLcom/android/server/wm/ActivityTaskManagerService;->updatePreviousProcess(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->updateResumedAppTrace(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->updateShouldShowDialogsLocked(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->updateSleepIfNeededLocked()V
+PLcom/android/server/wm/ActivityTaskManagerService;->updateTopApp(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityTaskSupervisor$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/ActivityTaskSupervisor;)V
+PLcom/android/server/wm/ActivityTaskSupervisor$$ExternalSyntheticLambda0;->run()V
+HSPLcom/android/server/wm/ActivityTaskSupervisor$ActivityTaskSupervisorHandler;-><init>(Lcom/android/server/wm/ActivityTaskSupervisor;Landroid/os/Looper;)V
+PLcom/android/server/wm/ActivityTaskSupervisor$ActivityTaskSupervisorHandler;->activityIdleFromMessage(Lcom/android/server/wm/ActivityRecord;Z)V
+PLcom/android/server/wm/ActivityTaskSupervisor$ActivityTaskSupervisorHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/wm/ActivityTaskSupervisor$ActivityTaskSupervisorHandler;->handleMessageInner(Landroid/os/Message;)Z
+HSPLcom/android/server/wm/ActivityTaskSupervisor$OpaqueActivityHelper;-><init>()V
+PLcom/android/server/wm/ActivityTaskSupervisor$OpaqueActivityHelper;->getOpaqueActivity(Lcom/android/server/wm/WindowContainer;Z)Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/ActivityTaskSupervisor$OpaqueActivityHelper;->getVisibleOpaqueActivity(Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;Z)Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/ActivityTaskSupervisor$OpaqueActivityHelper;->test(Lcom/android/server/wm/ActivityRecord;)Z
+HPLcom/android/server/wm/ActivityTaskSupervisor$OpaqueActivityHelper;->test(Ljava/lang/Object;)Z
+HSPLcom/android/server/wm/ActivityTaskSupervisor$TaskInfoHelper;-><init>()V
+HPLcom/android/server/wm/ActivityTaskSupervisor$TaskInfoHelper;->accept(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityTaskSupervisor$TaskInfoHelper;->accept(Ljava/lang/Object;)V
+HPLcom/android/server/wm/ActivityTaskSupervisor$TaskInfoHelper;->fillAndReturnTop(Lcom/android/server/wm/Task;Landroid/app/TaskInfo;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/ActivityTaskSupervisor;->$r8$lambda$NOf6mVLk7SRVOwt1P5P1njNo27o(Lcom/android/server/wm/ActivityTaskSupervisor;)V
+PLcom/android/server/wm/ActivityTaskSupervisor;->-$$Nest$fgetmHandler(Lcom/android/server/wm/ActivityTaskSupervisor;)Lcom/android/server/wm/ActivityTaskSupervisor$ActivityTaskSupervisorHandler;
+HSPLcom/android/server/wm/ActivityTaskSupervisor;-><clinit>()V
+HSPLcom/android/server/wm/ActivityTaskSupervisor;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Landroid/os/Looper;)V
+PLcom/android/server/wm/ActivityTaskSupervisor;->acquireLaunchWakelock()V
+HPLcom/android/server/wm/ActivityTaskSupervisor;->activityIdleInternal(Lcom/android/server/wm/ActivityRecord;ZZLandroid/content/res/Configuration;)V
+HPLcom/android/server/wm/ActivityTaskSupervisor;->beginActivityVisibilityUpdate()V
+HPLcom/android/server/wm/ActivityTaskSupervisor;->beginDeferResume()V
+PLcom/android/server/wm/ActivityTaskSupervisor;->canPlaceEntityOnDisplay(IIILandroid/content/pm/ActivityInfo;)Z
+PLcom/android/server/wm/ActivityTaskSupervisor;->canPlaceEntityOnDisplay(IIILcom/android/server/wm/Task;Landroid/content/pm/ActivityInfo;)Z
+PLcom/android/server/wm/ActivityTaskSupervisor;->canUseActivityOptionsLaunchBounds(Landroid/app/ActivityOptions;)Z
+PLcom/android/server/wm/ActivityTaskSupervisor;->checkFinishBootingLocked()V
+PLcom/android/server/wm/ActivityTaskSupervisor;->checkReadyForSleepLocked(Z)V
+PLcom/android/server/wm/ActivityTaskSupervisor;->checkStartAnyActivityPermission(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Ljava/lang/String;IIILjava/lang/String;Ljava/lang/String;ZZLcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/Task;)Z
+HPLcom/android/server/wm/ActivityTaskSupervisor;->computeProcessActivityStateBatch()V
+HPLcom/android/server/wm/ActivityTaskSupervisor;->endActivityVisibilityUpdate()V
+HPLcom/android/server/wm/ActivityTaskSupervisor;->endDeferResume()V
+PLcom/android/server/wm/ActivityTaskSupervisor;->getActionRestrictionForCallingPackage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)I
+PLcom/android/server/wm/ActivityTaskSupervisor;->getActivityMetricsLogger()Lcom/android/server/wm/ActivityMetricsLogger;
+PLcom/android/server/wm/ActivityTaskSupervisor;->getBackgroundActivityLaunchController()Lcom/android/server/wm/BackgroundActivityStartController;
+PLcom/android/server/wm/ActivityTaskSupervisor;->getComponentRestrictionForCallingPackage(Landroid/content/pm/ActivityInfo;Ljava/lang/String;Ljava/lang/String;IIZ)I
+PLcom/android/server/wm/ActivityTaskSupervisor;->getDeviceIdForDisplayId(I)I
+HSPLcom/android/server/wm/ActivityTaskSupervisor;->getKeyguardController()Lcom/android/server/wm/KeyguardController;
+PLcom/android/server/wm/ActivityTaskSupervisor;->getLaunchParamsController()Lcom/android/server/wm/LaunchParamsController;
+PLcom/android/server/wm/ActivityTaskSupervisor;->getNextTaskIdForUser()I
+PLcom/android/server/wm/ActivityTaskSupervisor;->getNextTaskIdForUser(I)I
+PLcom/android/server/wm/ActivityTaskSupervisor;->getRunningTasks()Lcom/android/server/wm/RunningTasks;
+PLcom/android/server/wm/ActivityTaskSupervisor;->getSystemChooserActivity()Landroid/content/ComponentName;
+PLcom/android/server/wm/ActivityTaskSupervisor;->handleForcedResizableTaskIfNeeded(Lcom/android/server/wm/Task;I)V
+PLcom/android/server/wm/ActivityTaskSupervisor;->handleNonResizableTaskIfNeeded(Lcom/android/server/wm/Task;ILcom/android/server/wm/TaskDisplayArea;Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/ActivityTaskSupervisor;->handleNonResizableTaskIfNeeded(Lcom/android/server/wm/Task;ILcom/android/server/wm/TaskDisplayArea;Lcom/android/server/wm/Task;Z)V
+PLcom/android/server/wm/ActivityTaskSupervisor;->handleTopResumedStateReleased(Z)V
+HPLcom/android/server/wm/ActivityTaskSupervisor;->inActivityVisibilityUpdate()Z
+HSPLcom/android/server/wm/ActivityTaskSupervisor;->initPowerManagement()V
+HSPLcom/android/server/wm/ActivityTaskSupervisor;->initialize()V
+PLcom/android/server/wm/ActivityTaskSupervisor;->isCallerAllowedToLaunchOnDisplay(IIILandroid/content/pm/ActivityInfo;)Z
+PLcom/android/server/wm/ActivityTaskSupervisor;->isCallerAllowedToLaunchOnTaskDisplayArea(IILcom/android/server/wm/TaskDisplayArea;Landroid/content/pm/ActivityInfo;)Z
+HPLcom/android/server/wm/ActivityTaskSupervisor;->isRootVisibilityUpdateDeferred()Z
+PLcom/android/server/wm/ActivityTaskSupervisor;->lambda$activityIdleInternal$2()V
+PLcom/android/server/wm/ActivityTaskSupervisor;->logIfTransactionTooLarge(Landroid/content/Intent;Landroid/os/Bundle;)V
+PLcom/android/server/wm/ActivityTaskSupervisor;->nextTaskIdForUser(II)I
+PLcom/android/server/wm/ActivityTaskSupervisor;->onProcessActivityStateChanged(Lcom/android/server/wm/WindowProcessController;Z)V
+PLcom/android/server/wm/ActivityTaskSupervisor;->onRecentTaskAdded(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/ActivityTaskSupervisor;->onRecentTaskRemoved(Lcom/android/server/wm/Task;ZZ)V
+PLcom/android/server/wm/ActivityTaskSupervisor;->onSystemReady()V
+PLcom/android/server/wm/ActivityTaskSupervisor;->onUserUnlocked(I)V
+PLcom/android/server/wm/ActivityTaskSupervisor;->processStoppingAndFinishingActivities(Lcom/android/server/wm/ActivityRecord;ZLjava/lang/String;)V
+HPLcom/android/server/wm/ActivityTaskSupervisor;->readyToResume()Z
+HPLcom/android/server/wm/ActivityTaskSupervisor;->realStartActivityLocked(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/WindowProcessController;ZZ)Z
+HPLcom/android/server/wm/ActivityTaskSupervisor;->removeHistoryRecords(Lcom/android/server/wm/WindowProcessController;)V
+PLcom/android/server/wm/ActivityTaskSupervisor;->removeHistoryRecords(Ljava/util/ArrayList;Lcom/android/server/wm/WindowProcessController;Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityTaskSupervisor;->reportActivityLaunched(ZLcom/android/server/wm/ActivityRecord;JI)V
+PLcom/android/server/wm/ActivityTaskSupervisor;->reportResumedActivityLocked(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityTaskSupervisor;->reportWaitingActivityLaunchedIfNeeded(Lcom/android/server/wm/ActivityRecord;I)V
+PLcom/android/server/wm/ActivityTaskSupervisor;->resolveActivity(Landroid/content/Intent;Landroid/content/pm/ResolveInfo;ILandroid/app/ProfilerInfo;)Landroid/content/pm/ActivityInfo;
+PLcom/android/server/wm/ActivityTaskSupervisor;->resolveIntent(Landroid/content/Intent;Ljava/lang/String;IIII)Landroid/content/pm/ResolveInfo;
+PLcom/android/server/wm/ActivityTaskSupervisor;->scheduleIdle()V
+PLcom/android/server/wm/ActivityTaskSupervisor;->scheduleIdleTimeout(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityTaskSupervisor;->scheduleProcessStoppingAndFinishingActivitiesIfNeeded()V
+PLcom/android/server/wm/ActivityTaskSupervisor;->scheduleStartHome(Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityTaskSupervisor;->scheduleTopResumedActivityStateIfNeeded()V
+PLcom/android/server/wm/ActivityTaskSupervisor;->scheduleTopResumedActivityStateLossIfNeeded()V
+PLcom/android/server/wm/ActivityTaskSupervisor;->scheduleTopResumedStateLossTimeout(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityTaskSupervisor;->setDeferRootVisibilityUpdate(Z)V
+PLcom/android/server/wm/ActivityTaskSupervisor;->setLaunchSource(I)V
+PLcom/android/server/wm/ActivityTaskSupervisor;->setNextTaskIdForUser(II)V
+HSPLcom/android/server/wm/ActivityTaskSupervisor;->setRecentTasks(Lcom/android/server/wm/RecentTasks;)V
+HSPLcom/android/server/wm/ActivityTaskSupervisor;->setRunningTasks(Lcom/android/server/wm/RunningTasks;)V
+PLcom/android/server/wm/ActivityTaskSupervisor;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/ActivityTaskSupervisor;->startSpecificActivity(Lcom/android/server/wm/ActivityRecord;ZZ)V
+PLcom/android/server/wm/ActivityTaskSupervisor;->stopWaitingForActivityVisible(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityTaskSupervisor;->updateHomeProcess(Lcom/android/server/wm/WindowProcessController;)V
+HPLcom/android/server/wm/ActivityTaskSupervisor;->updateTopResumedActivityIfNeeded(Ljava/lang/String;)V
+PLcom/android/server/wm/AnimatingActivityRegistry;-><init>()V
+PLcom/android/server/wm/AnimationAdapter;->shouldDeferAnimationFinish(Ljava/lang/Runnable;)Z
+PLcom/android/server/wm/AnrController;-><clinit>()V
+PLcom/android/server/wm/AnrController;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/AnrController;->onFocusChanged(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/AppSnapshotLoader;-><init>(Lcom/android/server/wm/BaseAppSnapshotPersister$PersistInfoProvider;)V
+PLcom/android/server/wm/AppTransition$$ExternalSyntheticLambda1;-><init>()V
+PLcom/android/server/wm/AppTransition$$ExternalSyntheticLambda1;->test(Ljava/lang/Object;Ljava/lang/Object;)Z
+PLcom/android/server/wm/AppTransition$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/wm/AppTransition;)V
+PLcom/android/server/wm/AppTransition;-><clinit>()V
+PLcom/android/server/wm/AppTransition;-><init>(Landroid/content/Context;Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/AppTransition;->clear()V
+PLcom/android/server/wm/AppTransition;->clear(Z)V
+PLcom/android/server/wm/AppTransition;->containsTransitRequest(I)Z
+PLcom/android/server/wm/AppTransition;->fetchAppTransitionSpecsFromFuture()V
+PLcom/android/server/wm/AppTransition;->getFirstAppTransition()I
+PLcom/android/server/wm/AppTransition;->getKeyguardTransition()I
+PLcom/android/server/wm/AppTransition;->getRemoteAnimationController()Lcom/android/server/wm/RemoteAnimationController;
+PLcom/android/server/wm/AppTransition;->getTransitFlags()I
+PLcom/android/server/wm/AppTransition;->goodToGo(ILcom/android/server/wm/ActivityRecord;)I
+PLcom/android/server/wm/AppTransition;->isFetchingAppTransitionsSpecs()Z
+PLcom/android/server/wm/AppTransition;->isKeyguardGoingAwayTransitOld(I)Z
+PLcom/android/server/wm/AppTransition;->isKeyguardTransit(I)Z
+PLcom/android/server/wm/AppTransition;->isNormalTransit(I)Z
+HPLcom/android/server/wm/AppTransition;->isReady()Z
+HPLcom/android/server/wm/AppTransition;->isRunning()Z
+PLcom/android/server/wm/AppTransition;->isTaskOpenTransitOld(I)Z
+PLcom/android/server/wm/AppTransition;->isTimeout()Z
+HPLcom/android/server/wm/AppTransition;->isTransitionSet()Z
+PLcom/android/server/wm/AppTransition;->loadAnimationAttr(Landroid/view/WindowManager$LayoutParams;II)Landroid/view/animation/Animation;
+PLcom/android/server/wm/AppTransition;->needsBoosting()Z
+PLcom/android/server/wm/AppTransition;->notifyAppTransitionFinishedLocked(Landroid/os/IBinder;)V
+PLcom/android/server/wm/AppTransition;->notifyAppTransitionPendingLocked()V
+PLcom/android/server/wm/AppTransition;->notifyAppTransitionStartingLocked(JJ)I
+PLcom/android/server/wm/AppTransition;->postAnimationCallback()V
+PLcom/android/server/wm/AppTransition;->prepare()Z
+PLcom/android/server/wm/AppTransition;->prepareAppTransition(II)Z
+PLcom/android/server/wm/AppTransition;->registerListenerLocked(Lcom/android/server/wm/WindowManagerInternal$AppTransitionListener;)V
+PLcom/android/server/wm/AppTransition;->removeAppTransitionTimeoutCallbacks()V
+PLcom/android/server/wm/AppTransition;->setAppTransitionState(I)V
+PLcom/android/server/wm/AppTransition;->setIdle()V
+PLcom/android/server/wm/AppTransition;->setLastAppTransition(ILcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/AppTransition;->setReady()V
+PLcom/android/server/wm/AppTransition;->updateBooster()V
+PLcom/android/server/wm/AppTransitionController$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/wm/AppTransitionController$$ExternalSyntheticLambda1;-><init>()V
+PLcom/android/server/wm/AppTransitionController$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/AppTransitionController$$ExternalSyntheticLambda2;-><init>(ILandroid/util/ArraySet;)V
+PLcom/android/server/wm/AppTransitionController$$ExternalSyntheticLambda3;-><init>()V
+PLcom/android/server/wm/AppTransitionController$$ExternalSyntheticLambda4;-><init>()V
+PLcom/android/server/wm/AppTransitionController;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/AppTransitionController;->applyAnimations(Landroid/util/ArraySet;Landroid/util/ArraySet;ILandroid/view/WindowManager$LayoutParams;Z)V
+PLcom/android/server/wm/AppTransitionController;->canBeWallpaperTarget(Landroid/util/ArraySet;)Z
+PLcom/android/server/wm/AppTransitionController;->collectActivityTypes(Landroid/util/ArraySet;Landroid/util/ArraySet;Landroid/util/ArraySet;)Landroid/util/ArraySet;
+PLcom/android/server/wm/AppTransitionController;->containsVoiceInteraction(Landroid/util/ArraySet;)Z
+PLcom/android/server/wm/AppTransitionController;->findAnimLayoutParamsToken(ILandroid/util/ArraySet;Landroid/util/ArraySet;Landroid/util/ArraySet;Landroid/util/ArraySet;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/AppTransitionController;->getAnimLp(Lcom/android/server/wm/ActivityRecord;)Landroid/view/WindowManager$LayoutParams;
+PLcom/android/server/wm/AppTransitionController;->getAnimationTargets(Landroid/util/ArraySet;Landroid/util/ArraySet;Z)Landroid/util/ArraySet;
+PLcom/android/server/wm/AppTransitionController;->getOldWallpaper()Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/AppTransitionController;->getRemoteAnimationOverride(Lcom/android/server/wm/WindowContainer;ILandroid/util/ArraySet;)Landroid/view/RemoteAnimationAdapter;
+PLcom/android/server/wm/AppTransitionController;->getTopApp(Landroid/util/ArraySet;Z)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/AppTransitionController;->getTransitCompatType(Lcom/android/server/wm/AppTransition;Landroid/util/ArraySet;Landroid/util/ArraySet;Landroid/util/ArraySet;Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;Z)I
+PLcom/android/server/wm/AppTransitionController;->getTransitContainerType(Lcom/android/server/wm/WindowContainer;)I
+HPLcom/android/server/wm/AppTransitionController;->handleAppTransitionReady()V
+PLcom/android/server/wm/AppTransitionController;->handleChangingApps(I)V
+PLcom/android/server/wm/AppTransitionController;->handleClosingApps()V
+PLcom/android/server/wm/AppTransitionController;->handleClosingChangingContainers()V
+PLcom/android/server/wm/AppTransitionController;->handleOpeningApps()V
+PLcom/android/server/wm/AppTransitionController;->lookForHighestTokenWithFilter(Landroid/util/ArraySet;Landroid/util/ArraySet;Landroid/util/ArraySet;Ljava/util/function/Predicate;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/AppTransitionController;->overrideWithRemoteAnimationIfSet(Lcom/android/server/wm/ActivityRecord;ILandroid/util/ArraySet;)V
+PLcom/android/server/wm/AppTransitionController;->overrideWithTaskFragmentRemoteAnimation(ILandroid/util/ArraySet;)Z
+PLcom/android/server/wm/AppTransitionController;->transitionContainsTaskFragmentWithBoundsOverride()Z
+PLcom/android/server/wm/AppTransitionController;->transitionGoodToGo(Landroid/util/ArraySet;Landroid/util/ArrayMap;)Z
+PLcom/android/server/wm/AppTransitionController;->transitionGoodToGoForTaskFragments()Z
+PLcom/android/server/wm/AppTransitionController;->transitionMayContainNonAppWindows(I)Z
+PLcom/android/server/wm/AppTransitionController;->unfreezeEmbeddedChangingWindows()V
+PLcom/android/server/wm/AppWarnings$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/wm/AppWarnings$$ExternalSyntheticLambda0;->test(Ljava/lang/Object;)Z
+HSPLcom/android/server/wm/AppWarnings$UiHandler;-><init>(Lcom/android/server/wm/AppWarnings;Landroid/os/Looper;)V
+PLcom/android/server/wm/AppWarnings$UiHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/wm/AppWarnings$UiHandler;->hideUnsupportedDisplaySizeDialog()V
+HSPLcom/android/server/wm/AppWarnings$WriteConfigTask;-><init>(Lcom/android/server/wm/AppWarnings;)V
+HSPLcom/android/server/wm/AppWarnings$WriteConfigTask;-><init>(Lcom/android/server/wm/AppWarnings;Lcom/android/server/wm/AppWarnings$WriteConfigTask-IA;)V
+PLcom/android/server/wm/AppWarnings;->$r8$lambda$H4JMXMIkLrrC65qIRbXEOcg8UtQ(Ljava/lang/String;)Z
+PLcom/android/server/wm/AppWarnings;->-$$Nest$mhideUnsupportedDisplaySizeDialogUiThread(Lcom/android/server/wm/AppWarnings;)V
+HSPLcom/android/server/wm/AppWarnings;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Landroid/content/Context;Landroid/os/Handler;Landroid/os/Handler;Ljava/io/File;)V
+PLcom/android/server/wm/AppWarnings;->hideUnsupportedDisplaySizeDialogUiThread()V
+PLcom/android/server/wm/AppWarnings;->lambda$showDeprecatedAbiDialogIfNeeded$0(Ljava/lang/String;)Z
+PLcom/android/server/wm/AppWarnings;->onDensityChanged()V
+PLcom/android/server/wm/AppWarnings;->onStartActivity(Lcom/android/server/wm/ActivityRecord;)V
+HSPLcom/android/server/wm/AppWarnings;->readConfigFromFileAmsThread()V
+PLcom/android/server/wm/AppWarnings;->showDeprecatedAbiDialogIfNeeded(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/AppWarnings;->showDeprecatedTargetDialogIfNeeded(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/AppWarnings;->showUnsupportedCompileSdkDialogIfNeeded(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/AppWarnings;->showUnsupportedDisplaySizeDialogIfNeeded(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/BLASTSyncEngine$SyncGroup$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/BLASTSyncEngine$SyncGroup$1CommitCallback;)V
+PLcom/android/server/wm/BLASTSyncEngine$SyncGroup$$ExternalSyntheticLambda0;->onTransactionCommitted()V
+PLcom/android/server/wm/BLASTSyncEngine$SyncGroup$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;)V
+PLcom/android/server/wm/BLASTSyncEngine$SyncGroup$1CommitCallback;-><init>(Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;Landroid/util/ArraySet;Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/BLASTSyncEngine$SyncGroup$1CommitCallback;->onCommitted(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/BLASTSyncEngine$SyncGroup;->$r8$lambda$BHN96tvxB7fo1aLu6vPwwYkPzqU(Lcom/android/server/wm/BLASTSyncEngine$SyncGroup$1CommitCallback;)V
+PLcom/android/server/wm/BLASTSyncEngine$SyncGroup;->-$$Nest$maddToSync(Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/BLASTSyncEngine$SyncGroup;->-$$Nest$msetReady(Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;Z)Z
+PLcom/android/server/wm/BLASTSyncEngine$SyncGroup;->-$$Nest$mtryFinish(Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;)Z
+PLcom/android/server/wm/BLASTSyncEngine$SyncGroup;-><clinit>()V
+PLcom/android/server/wm/BLASTSyncEngine$SyncGroup;-><init>(Lcom/android/server/wm/BLASTSyncEngine;Lcom/android/server/wm/BLASTSyncEngine$TransactionReadyListener;ILjava/lang/String;)V
+PLcom/android/server/wm/BLASTSyncEngine$SyncGroup;-><init>(Lcom/android/server/wm/BLASTSyncEngine;Lcom/android/server/wm/BLASTSyncEngine$TransactionReadyListener;ILjava/lang/String;Lcom/android/server/wm/BLASTSyncEngine$SyncGroup-IA;)V
+PLcom/android/server/wm/BLASTSyncEngine$SyncGroup;->addToSync(Lcom/android/server/wm/WindowContainer;)V
+HPLcom/android/server/wm/BLASTSyncEngine$SyncGroup;->finishNow()V
+PLcom/android/server/wm/BLASTSyncEngine$SyncGroup;->isIgnoring(Lcom/android/server/wm/WindowContainer;)Z
+PLcom/android/server/wm/BLASTSyncEngine$SyncGroup;->lambda$finishNow$1(Lcom/android/server/wm/BLASTSyncEngine$SyncGroup$1CommitCallback;)V
+PLcom/android/server/wm/BLASTSyncEngine$SyncGroup;->setReady(Z)Z
+PLcom/android/server/wm/BLASTSyncEngine$SyncGroup;->tryFinish()Z
+PLcom/android/server/wm/BLASTSyncEngine;->-$$Nest$fgetmActiveSyncs(Lcom/android/server/wm/BLASTSyncEngine;)Ljava/util/ArrayList;
+PLcom/android/server/wm/BLASTSyncEngine;->-$$Nest$fgetmHandler(Lcom/android/server/wm/BLASTSyncEngine;)Landroid/os/Handler;
+PLcom/android/server/wm/BLASTSyncEngine;->-$$Nest$fgetmOnIdleListeners(Lcom/android/server/wm/BLASTSyncEngine;)Ljava/util/ArrayList;
+PLcom/android/server/wm/BLASTSyncEngine;->-$$Nest$fgetmPendingSyncSets(Lcom/android/server/wm/BLASTSyncEngine;)Ljava/util/ArrayList;
+PLcom/android/server/wm/BLASTSyncEngine;->-$$Nest$fgetmWm(Lcom/android/server/wm/BLASTSyncEngine;)Lcom/android/server/wm/WindowManagerService;
+PLcom/android/server/wm/BLASTSyncEngine;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/BLASTSyncEngine;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/os/Handler;)V
+PLcom/android/server/wm/BLASTSyncEngine;->addOnIdleListener(Ljava/lang/Runnable;)V
+PLcom/android/server/wm/BLASTSyncEngine;->addToSyncSet(ILcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/BLASTSyncEngine;->getSyncGroup(I)Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;
+PLcom/android/server/wm/BLASTSyncEngine;->getSyncSet(I)Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;
+PLcom/android/server/wm/BLASTSyncEngine;->hasActiveSync()Z
+HPLcom/android/server/wm/BLASTSyncEngine;->onSurfacePlacement()V
+PLcom/android/server/wm/BLASTSyncEngine;->prepareSyncSet(Lcom/android/server/wm/BLASTSyncEngine$TransactionReadyListener;Ljava/lang/String;)Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;
+PLcom/android/server/wm/BLASTSyncEngine;->scheduleTimeout(Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;J)V
+PLcom/android/server/wm/BLASTSyncEngine;->setReady(IZ)Z
+PLcom/android/server/wm/BLASTSyncEngine;->setSyncMethod(II)V
+PLcom/android/server/wm/BLASTSyncEngine;->startSyncSet(Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;JZ)V
+PLcom/android/server/wm/BLASTSyncEngine;->startSyncSet(Lcom/android/server/wm/BLASTSyncEngine$TransactionReadyListener;JLjava/lang/String;Z)I
+PLcom/android/server/wm/BackNavigationController$AnimationHandler;->-$$Nest$fgetmComposed(Lcom/android/server/wm/BackNavigationController$AnimationHandler;)Z
+PLcom/android/server/wm/BackNavigationController$AnimationHandler;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/BackNavigationController$NavigationMonitor;->-$$Nest$monFocusWindowChanged(Lcom/android/server/wm/BackNavigationController$NavigationMonitor;Lcom/android/server/wm/WindowState;)V
+HSPLcom/android/server/wm/BackNavigationController$NavigationMonitor;-><init>(Lcom/android/server/wm/BackNavigationController;)V
+HSPLcom/android/server/wm/BackNavigationController$NavigationMonitor;-><init>(Lcom/android/server/wm/BackNavigationController;Lcom/android/server/wm/BackNavigationController$NavigationMonitor-IA;)V
+PLcom/android/server/wm/BackNavigationController$NavigationMonitor;->atSameDisplay(Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/BackNavigationController$NavigationMonitor;->isMonitorForRemote()Z
+PLcom/android/server/wm/BackNavigationController$NavigationMonitor;->onFocusWindowChanged(Lcom/android/server/wm/WindowState;)V
+HSPLcom/android/server/wm/BackNavigationController;-><clinit>()V
+HSPLcom/android/server/wm/BackNavigationController;-><init>()V
+PLcom/android/server/wm/BackNavigationController;->checkAnimationReady(Lcom/android/server/wm/WallpaperController;)V
+PLcom/android/server/wm/BackNavigationController;->isMonitorTransitionTarget(Lcom/android/server/wm/WindowContainer;)Z
+PLcom/android/server/wm/BackNavigationController;->isMonitoringTransition()Z
+PLcom/android/server/wm/BackNavigationController;->isWaitBackTransition()Z
+PLcom/android/server/wm/BackNavigationController;->isWallpaperVisible(Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/BackNavigationController;->onFocusChanged(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/BackNavigationController;->onTransactionReady(Lcom/android/server/wm/Transition;Ljava/util/ArrayList;Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/BackNavigationController;->onTransitionFinish(Ljava/util/ArrayList;Lcom/android/server/wm/Transition;)Z
+PLcom/android/server/wm/BackNavigationController;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/BackgroundActivityStartController$BalState;->-$$Nest$fgetmCallerApp(Lcom/android/server/wm/BackgroundActivityStartController$BalState;)Lcom/android/server/wm/WindowProcessController;
+PLcom/android/server/wm/BackgroundActivityStartController$BalState;->-$$Nest$fgetmCallingPackage(Lcom/android/server/wm/BackgroundActivityStartController$BalState;)Ljava/lang/String;
+PLcom/android/server/wm/BackgroundActivityStartController$BalState;->-$$Nest$fgetmCallingPid(Lcom/android/server/wm/BackgroundActivityStartController$BalState;)I
+PLcom/android/server/wm/BackgroundActivityStartController$BalState;->-$$Nest$fgetmCallingUid(Lcom/android/server/wm/BackgroundActivityStartController$BalState;)I
+PLcom/android/server/wm/BackgroundActivityStartController$BalState;->-$$Nest$fgetmIntent(Lcom/android/server/wm/BackgroundActivityStartController$BalState;)Landroid/content/Intent;
+PLcom/android/server/wm/BackgroundActivityStartController$BalState;->-$$Nest$fgetmRealCallingUid(Lcom/android/server/wm/BackgroundActivityStartController$BalState;)I
+PLcom/android/server/wm/BackgroundActivityStartController$BalState;->-$$Nest$fgetmResultForCaller(Lcom/android/server/wm/BackgroundActivityStartController$BalState;)Lcom/android/server/wm/BackgroundActivityStartController$BalVerdict;
+PLcom/android/server/wm/BackgroundActivityStartController$BalState;->-$$Nest$mcallerIsRealCaller(Lcom/android/server/wm/BackgroundActivityStartController$BalState;)Z
+PLcom/android/server/wm/BackgroundActivityStartController$BalState;->-$$Nest$mhasRealCaller(Lcom/android/server/wm/BackgroundActivityStartController$BalState;)Z
+PLcom/android/server/wm/BackgroundActivityStartController$BalState;->-$$Nest$misPendingIntent(Lcom/android/server/wm/BackgroundActivityStartController$BalState;)Z
+HPLcom/android/server/wm/BackgroundActivityStartController$BalState;-><init>(Lcom/android/server/wm/BackgroundActivityStartController;IILjava/lang/String;IILcom/android/server/wm/WindowProcessController;Lcom/android/server/am/PendingIntentRecord;Landroid/app/BackgroundStartPrivileges;Lcom/android/server/wm/ActivityRecord;Landroid/content/Intent;Landroid/app/ActivityOptions;)V
+PLcom/android/server/wm/BackgroundActivityStartController$BalState;-><init>(Lcom/android/server/wm/BackgroundActivityStartController;IILjava/lang/String;IILcom/android/server/wm/WindowProcessController;Lcom/android/server/am/PendingIntentRecord;Landroid/app/BackgroundStartPrivileges;Lcom/android/server/wm/ActivityRecord;Landroid/content/Intent;Landroid/app/ActivityOptions;Lcom/android/server/wm/BackgroundActivityStartController$BalState-IA;)V
+PLcom/android/server/wm/BackgroundActivityStartController$BalState;->callerExplicitOptInOrAutoOptIn()Z
+PLcom/android/server/wm/BackgroundActivityStartController$BalState;->callerIsRealCaller()Z
+PLcom/android/server/wm/BackgroundActivityStartController$BalState;->hasRealCaller()Z
+PLcom/android/server/wm/BackgroundActivityStartController$BalState;->isPendingIntent()Z
+PLcom/android/server/wm/BackgroundActivityStartController$BalState;->setResultForCaller(Lcom/android/server/wm/BackgroundActivityStartController$BalVerdict;)V
+PLcom/android/server/wm/BackgroundActivityStartController$BalState;->setResultForRealCaller(Lcom/android/server/wm/BackgroundActivityStartController$BalVerdict;)V
+PLcom/android/server/wm/BackgroundActivityStartController$BalVerdict;-><clinit>()V
+HPLcom/android/server/wm/BackgroundActivityStartController$BalVerdict;-><init>(IZLjava/lang/String;)V
+HPLcom/android/server/wm/BackgroundActivityStartController$BalVerdict;->allows()Z
+HPLcom/android/server/wm/BackgroundActivityStartController$BalVerdict;->blocks()Z
+PLcom/android/server/wm/BackgroundActivityStartController$BalVerdict;->getCode()I
+PLcom/android/server/wm/BackgroundActivityStartController$BalVerdict;->toString()Ljava/lang/String;
+PLcom/android/server/wm/BackgroundActivityStartController;->-$$Nest$fgetmService(Lcom/android/server/wm/BackgroundActivityStartController;)Lcom/android/server/wm/ActivityTaskManagerService;
+HSPLcom/android/server/wm/BackgroundActivityStartController;-><clinit>()V
+HSPLcom/android/server/wm/BackgroundActivityStartController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskSupervisor;)V
+PLcom/android/server/wm/BackgroundActivityStartController;->allowBasedOnCaller(Lcom/android/server/wm/BackgroundActivityStartController$BalState;)Lcom/android/server/wm/BackgroundActivityStartController$BalVerdict;
+PLcom/android/server/wm/BackgroundActivityStartController;->balCodeToString(I)Ljava/lang/String;
+PLcom/android/server/wm/BackgroundActivityStartController;->checkActivityAllowedToStart(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;ZZLcom/android/server/wm/Task;IIII)Z
+PLcom/android/server/wm/BackgroundActivityStartController;->checkBackgroundActivityStart(IILjava/lang/String;IILcom/android/server/wm/WindowProcessController;Lcom/android/server/am/PendingIntentRecord;Landroid/app/BackgroundStartPrivileges;Lcom/android/server/wm/ActivityRecord;Landroid/content/Intent;Landroid/app/ActivityOptions;)Lcom/android/server/wm/BackgroundActivityStartController$BalVerdict;
+PLcom/android/server/wm/BackgroundActivityStartController;->checkBackgroundActivityStartAllowedByCaller(Lcom/android/server/wm/BackgroundActivityStartController$BalState;)Lcom/android/server/wm/BackgroundActivityStartController$BalVerdict;
+PLcom/android/server/wm/BackgroundActivityStartController;->isHomeApp(ILjava/lang/String;)Z
+PLcom/android/server/wm/BackgroundActivityStartController;->onNewActivityLaunched(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/BackgroundActivityStartController;->statsLog(Lcom/android/server/wm/BackgroundActivityStartController$BalVerdict;Lcom/android/server/wm/BackgroundActivityStartController$BalState;)Lcom/android/server/wm/BackgroundActivityStartController$BalVerdict;
+HPLcom/android/server/wm/BackgroundLaunchProcessController;-><init>(Ljava/util/function/IntPredicate;Lcom/android/server/wm/BackgroundActivityStartCallback;)V
+HPLcom/android/server/wm/BackgroundLaunchProcessController;->addBoundClientUid(ILjava/lang/String;J)V
+HPLcom/android/server/wm/BackgroundLaunchProcessController;->addOrUpdateAllowBackgroundStartPrivileges(Landroid/os/Binder;Landroid/app/BackgroundStartPrivileges;)V
+HPLcom/android/server/wm/BackgroundLaunchProcessController;->areBackgroundActivityStartsAllowed(IILjava/lang/String;IZZZJJJ)Lcom/android/server/wm/BackgroundActivityStartController$BalVerdict;
+HPLcom/android/server/wm/BackgroundLaunchProcessController;->clearBalOptInBoundClientUids()V
+HPLcom/android/server/wm/BackgroundLaunchProcessController;->isBackgroundStartAllowedByToken(ILjava/lang/String;Z)Z
+HPLcom/android/server/wm/BackgroundLaunchProcessController;->isBoundByForegroundUid()Z
+HPLcom/android/server/wm/BackgroundLaunchProcessController;->removeAllowBackgroundStartPrivileges(Landroid/os/Binder;)V
+PLcom/android/server/wm/BaseAppSnapshotPersister$PersistInfoProvider;-><init>(Lcom/android/server/wm/BaseAppSnapshotPersister$DirectoryResolver;Ljava/lang/String;ZFZ)V
+PLcom/android/server/wm/BaseAppSnapshotPersister$PersistInfoProvider;->getDirectory(I)Ljava/io/File;
+PLcom/android/server/wm/BaseAppSnapshotPersister$PersistInfoProvider;->getHighResolutionBitmapFile(II)Ljava/io/File;
+PLcom/android/server/wm/BaseAppSnapshotPersister$PersistInfoProvider;->getLowResolutionBitmapFile(II)Ljava/io/File;
+PLcom/android/server/wm/BaseAppSnapshotPersister$PersistInfoProvider;->getProtoFile(II)Ljava/io/File;
+PLcom/android/server/wm/BaseAppSnapshotPersister;-><init>(Lcom/android/server/wm/SnapshotPersistQueue;Lcom/android/server/wm/BaseAppSnapshotPersister$PersistInfoProvider;)V
+PLcom/android/server/wm/BaseAppSnapshotPersister;->removeSnapshot(II)V
+PLcom/android/server/wm/BlurController$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/BlurController;)V
+PLcom/android/server/wm/BlurController$$ExternalSyntheticLambda0;->onThermalStatusChanged(I)V
+PLcom/android/server/wm/BlurController$1;-><init>(Lcom/android/server/wm/BlurController;Ljava/util/concurrent/Executor;)V
+PLcom/android/server/wm/BlurController$1;->onTunnelModeEnabledChanged(Z)V
+PLcom/android/server/wm/BlurController$2;-><init>(Lcom/android/server/wm/BlurController;Landroid/os/PowerManager;)V
+PLcom/android/server/wm/BlurController$3;-><init>(Lcom/android/server/wm/BlurController;Landroid/os/Handler;)V
+PLcom/android/server/wm/BlurController;->$r8$lambda$d37IvBCG5pB02WzIgDv5RCisrMc(Lcom/android/server/wm/BlurController;I)V
+PLcom/android/server/wm/BlurController;->-$$Nest$fputmTunnelModeEnabled(Lcom/android/server/wm/BlurController;Z)V
+PLcom/android/server/wm/BlurController;->-$$Nest$mupdateBlurEnabled(Lcom/android/server/wm/BlurController;)V
+PLcom/android/server/wm/BlurController;-><init>(Landroid/content/Context;Landroid/os/PowerManager;)V
+PLcom/android/server/wm/BlurController;->getBlurDisabledSetting()Z
+PLcom/android/server/wm/BlurController;->lambda$new$0(I)V
+PLcom/android/server/wm/BlurController;->notifyBlurEnabledChangedLocked(Z)V
+PLcom/android/server/wm/BlurController;->updateBlurEnabled()V
+HSPLcom/android/server/wm/ClientLifecycleManager;-><init>()V
+HPLcom/android/server/wm/ClientLifecycleManager;->dispatchPendingTransactions()V
+PLcom/android/server/wm/ClientLifecycleManager;->getOrCreatePendingTransaction(Landroid/app/IApplicationThread;)Landroid/app/servertransaction/ClientTransaction;
+PLcom/android/server/wm/ClientLifecycleManager;->onClientTransactionItemScheduled(Landroid/app/servertransaction/ClientTransaction;Z)V
+PLcom/android/server/wm/ClientLifecycleManager;->onLayoutContinued()V
+PLcom/android/server/wm/ClientLifecycleManager;->scheduleTransaction(Landroid/app/servertransaction/ClientTransaction;)V
+PLcom/android/server/wm/ClientLifecycleManager;->scheduleTransactionAndLifecycleItems(Landroid/app/IApplicationThread;Landroid/app/servertransaction/ClientTransactionItem;Landroid/app/servertransaction/ActivityLifecycleItem;Z)V
+PLcom/android/server/wm/ClientLifecycleManager;->scheduleTransactionItem(Landroid/app/IApplicationThread;Landroid/app/servertransaction/ClientTransactionItem;)V
+PLcom/android/server/wm/ClientLifecycleManager;->scheduleTransactionItemNow(Landroid/app/IApplicationThread;Landroid/app/servertransaction/ClientTransactionItem;)V
+PLcom/android/server/wm/ClientLifecycleManager;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V
+HPLcom/android/server/wm/ClientLifecycleManager;->shouldDispatchPendingTransactionsImmediately()Z
+HSPLcom/android/server/wm/CompatModePackages$CompatHandler;-><init>(Lcom/android/server/wm/CompatModePackages;Landroid/os/Looper;)V
+HSPLcom/android/server/wm/CompatModePackages;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Ljava/io/File;Landroid/os/Handler;)V
+HPLcom/android/server/wm/CompatModePackages;->compatibilityInfoForPackageLocked(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo;
+PLcom/android/server/wm/CompatModePackages;->getCompatScale(Ljava/lang/String;I)F
+HPLcom/android/server/wm/CompatModePackages;->getCompatScale(Ljava/lang/String;IZ)F
+HPLcom/android/server/wm/CompatModePackages;->getCompatScaleFromProvider(Ljava/lang/String;I)Landroid/content/res/CompatibilityInfo$CompatScale;
+HPLcom/android/server/wm/CompatModePackages;->getPackageCompatModeEnabledLocked(Landroid/content/pm/ApplicationInfo;)Z
+HPLcom/android/server/wm/CompatModePackages;->getPackageFlags(Ljava/lang/String;)I
+PLcom/android/server/wm/CompatModePackages;->registerCompatScaleProvider(ILcom/android/server/wm/CompatScaleProvider;)V
+PLcom/android/server/wm/CompatModePackages;->useLegacyScreenCompatMode(Ljava/lang/String;)Z
+PLcom/android/server/wm/CompatScaleProvider;->isValidOrderId(I)Z
+HPLcom/android/server/wm/ConfigurationContainer;-><init>()V
+PLcom/android/server/wm/ConfigurationContainer;->containsListener(Lcom/android/server/wm/ConfigurationContainerListener;)Z
+PLcom/android/server/wm/ConfigurationContainer;->diffRequestedOverrideBounds(Landroid/graphics/Rect;)I
+PLcom/android/server/wm/ConfigurationContainer;->diffRequestedOverrideMaxBounds(Landroid/graphics/Rect;)I
+HPLcom/android/server/wm/ConfigurationContainer;->dispatchConfigurationToChild(Lcom/android/server/wm/ConfigurationContainer;Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/ConfigurationContainer;->equivalentBounds(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
+PLcom/android/server/wm/ConfigurationContainer;->equivalentRequestedOverrideBounds(Landroid/graphics/Rect;)Z
+PLcom/android/server/wm/ConfigurationContainer;->equivalentRequestedOverrideMaxBounds(Landroid/graphics/Rect;)Z
+HPLcom/android/server/wm/ConfigurationContainer;->getActivityType()I
+HPLcom/android/server/wm/ConfigurationContainer;->getBounds()Landroid/graphics/Rect;
+PLcom/android/server/wm/ConfigurationContainer;->getBounds(Landroid/graphics/Rect;)V
+PLcom/android/server/wm/ConfigurationContainer;->getConfiguration()Landroid/content/res/Configuration;
+PLcom/android/server/wm/ConfigurationContainer;->getMergedOverrideConfiguration()Landroid/content/res/Configuration;
+HPLcom/android/server/wm/ConfigurationContainer;->getRequestedOverrideBounds()Landroid/graphics/Rect;
+PLcom/android/server/wm/ConfigurationContainer;->getRequestedOverrideConfiguration()Landroid/content/res/Configuration;
+PLcom/android/server/wm/ConfigurationContainer;->getRequestedOverrideMaxBounds()Landroid/graphics/Rect;
+PLcom/android/server/wm/ConfigurationContainer;->getRequestedOverrideWindowingMode()I
+HPLcom/android/server/wm/ConfigurationContainer;->getResolvedOverrideBounds()Landroid/graphics/Rect;
+PLcom/android/server/wm/ConfigurationContainer;->getResolvedOverrideConfiguration()Landroid/content/res/Configuration;
+HPLcom/android/server/wm/ConfigurationContainer;->getWindowConfiguration()Landroid/app/WindowConfiguration;
+HPLcom/android/server/wm/ConfigurationContainer;->getWindowingMode()I
+HPLcom/android/server/wm/ConfigurationContainer;->hasChild()Z
+PLcom/android/server/wm/ConfigurationContainer;->hasOverrideBounds()Z
+HPLcom/android/server/wm/ConfigurationContainer;->inFreeformWindowingMode()Z
+HPLcom/android/server/wm/ConfigurationContainer;->inMultiWindowMode()Z
+HPLcom/android/server/wm/ConfigurationContainer;->inPinnedWindowingMode()Z
+PLcom/android/server/wm/ConfigurationContainer;->isActivityTypeAssistant()Z
+PLcom/android/server/wm/ConfigurationContainer;->isActivityTypeDream()Z
+PLcom/android/server/wm/ConfigurationContainer;->isActivityTypeHome()Z
+HPLcom/android/server/wm/ConfigurationContainer;->isActivityTypeHomeOrRecents()Z
+PLcom/android/server/wm/ConfigurationContainer;->isActivityTypeRecents()Z
+PLcom/android/server/wm/ConfigurationContainer;->isActivityTypeStandard()Z
+PLcom/android/server/wm/ConfigurationContainer;->isActivityTypeStandardOrUndefined()Z
+HPLcom/android/server/wm/ConfigurationContainer;->isAlwaysOnTop()Z
+HPLcom/android/server/wm/ConfigurationContainer;->isCompatible(II)Z
+PLcom/android/server/wm/ConfigurationContainer;->isCompatibleActivityType(II)Z
+PLcom/android/server/wm/ConfigurationContainer;->matchParentBounds()Z
+HPLcom/android/server/wm/ConfigurationContainer;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+HPLcom/android/server/wm/ConfigurationContainer;->onMergedOverrideConfigurationChanged()V
+PLcom/android/server/wm/ConfigurationContainer;->onParentChanged(Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ConfigurationContainer;)V
+PLcom/android/server/wm/ConfigurationContainer;->onRequestedOverrideConfigurationChanged(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/ConfigurationContainer;->providesMaxBounds()Z
+PLcom/android/server/wm/ConfigurationContainer;->registerConfigurationChangeListener(Lcom/android/server/wm/ConfigurationContainerListener;)V
+HPLcom/android/server/wm/ConfigurationContainer;->registerConfigurationChangeListener(Lcom/android/server/wm/ConfigurationContainerListener;Z)V
+HPLcom/android/server/wm/ConfigurationContainer;->resolveOverrideConfiguration(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/ConfigurationContainer;->setActivityType(I)V
+PLcom/android/server/wm/ConfigurationContainer;->setBounds(Landroid/graphics/Rect;)I
+PLcom/android/server/wm/ConfigurationContainer;->setWindowingMode(I)V
+PLcom/android/server/wm/ConfigurationContainer;->unregisterConfigurationChangeListener(Lcom/android/server/wm/ConfigurationContainerListener;)V
+HPLcom/android/server/wm/ConfigurationContainer;->updateRequestedOverrideConfiguration(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/ConfigurationContainerListener;->onMergedOverrideConfigurationChanged(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/ConfigurationContainerListener;->onRequestedOverrideConfigurationChanged(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/ContentRecordingController;-><init>()V
+PLcom/android/server/wm/DeferredDisplayUpdater$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/wm/DeferredDisplayUpdater$$ExternalSyntheticLambda0;->setFields(Landroid/view/DisplayInfo;Landroid/view/DisplayInfo;)V
+PLcom/android/server/wm/DeferredDisplayUpdater;->$r8$lambda$--t3mf11gpWn1Uw3-b-B1MpXHHQ(Landroid/view/DisplayInfo;Landroid/view/DisplayInfo;)V
+PLcom/android/server/wm/DeferredDisplayUpdater;-><clinit>()V
+PLcom/android/server/wm/DeferredDisplayUpdater;-><init>(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/DeferredDisplayUpdater;->applyLatestDisplayInfo()V
+HPLcom/android/server/wm/DeferredDisplayUpdater;->calculateDisplayInfoDiff(Landroid/view/DisplayInfo;Landroid/view/DisplayInfo;)I
+PLcom/android/server/wm/DeferredDisplayUpdater;->getCurrentDisplayInfo()Landroid/view/DisplayInfo;
+PLcom/android/server/wm/DeferredDisplayUpdater;->isPhysicalDisplayUpdated(Landroid/view/DisplayInfo;Landroid/view/DisplayInfo;)Z
+PLcom/android/server/wm/DeferredDisplayUpdater;->lambda$static$0(Landroid/view/DisplayInfo;Landroid/view/DisplayInfo;)V
+PLcom/android/server/wm/DeferredDisplayUpdater;->updateDisplayInfo(Ljava/lang/Runnable;)V
+HSPLcom/android/server/wm/DesktopModeLaunchParamsModifier;-><clinit>()V
+HSPLcom/android/server/wm/DesktopModeLaunchParamsModifier;->isDesktopModeSupported()Z
+PLcom/android/server/wm/DeviceStateController$DeviceState;->$values()[Lcom/android/server/wm/DeviceStateController$DeviceState;
+PLcom/android/server/wm/DeviceStateController$DeviceState;-><clinit>()V
+PLcom/android/server/wm/DeviceStateController$DeviceState;-><init>(Ljava/lang/String;I)V
+PLcom/android/server/wm/DeviceStateController;-><init>(Landroid/content/Context;Lcom/android/server/wm/WindowManagerGlobalLock;)V
+PLcom/android/server/wm/DeviceStateController;->onDeviceStateReceivedByDisplayManager(I)V
+PLcom/android/server/wm/DeviceStateController;->registerDeviceStateCallback(Ljava/util/function/Consumer;Ljava/util/concurrent/Executor;)V
+PLcom/android/server/wm/DeviceStateController;->shouldReverseRotationDirectionAroundZAxis(Lcom/android/server/wm/DisplayContent;)Z
+PLcom/android/server/wm/Dimmer;-><clinit>()V
+PLcom/android/server/wm/Dimmer;-><init>(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/Dimmer;->create(Lcom/android/server/wm/WindowContainer;)Lcom/android/server/wm/Dimmer;
+PLcom/android/server/wm/DimmerAnimationHelper$AnimationAdapterFactory;-><init>()V
+PLcom/android/server/wm/DisplayArea$1;-><clinit>()V
+PLcom/android/server/wm/DisplayArea$Dimmable$$ExternalSyntheticLambda0;-><init>()V
+HPLcom/android/server/wm/DisplayArea$Dimmable$$ExternalSyntheticLambda0;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/DisplayArea$Dimmable;->$r8$lambda$ewKAhLF3xnwcZneP-cgTtyNykBo(Lcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/DisplayArea$Dimmable;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayArea$Type;Ljava/lang/String;I)V
+PLcom/android/server/wm/DisplayArea$Dimmable;->lambda$prepareSurfaces$0(Lcom/android/server/wm/Task;)Z
+HPLcom/android/server/wm/DisplayArea$Dimmable;->prepareSurfaces()V
+PLcom/android/server/wm/DisplayArea$Tokens$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/wm/DisplayArea$Tokens$$ExternalSyntheticLambda0;->applyAsInt(Ljava/lang/Object;)I
+PLcom/android/server/wm/DisplayArea$Tokens$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/wm/DisplayArea$Tokens;)V
+HPLcom/android/server/wm/DisplayArea$Tokens$$ExternalSyntheticLambda1;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/DisplayArea$Tokens;->$r8$lambda$2Q0eZgOlf9COHBhGcrk7N74DbDw(Lcom/android/server/wm/DisplayArea$Tokens;Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/DisplayArea$Tokens;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayArea$Type;Ljava/lang/String;)V
+HPLcom/android/server/wm/DisplayArea$Tokens;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayArea$Type;Ljava/lang/String;I)V
+PLcom/android/server/wm/DisplayArea$Tokens;->addChild(Lcom/android/server/wm/WindowToken;)V
+PLcom/android/server/wm/DisplayArea$Tokens;->asTokens()Lcom/android/server/wm/DisplayArea$Tokens;
+HPLcom/android/server/wm/DisplayArea$Tokens;->getOrientation(I)I
+PLcom/android/server/wm/DisplayArea$Tokens;->getPendingTransaction()Landroid/view/SurfaceControl$Transaction;
+PLcom/android/server/wm/DisplayArea$Tokens;->getSurfaceControl()Landroid/view/SurfaceControl;
+PLcom/android/server/wm/DisplayArea$Tokens;->getSyncTransaction()Landroid/view/SurfaceControl$Transaction;
+PLcom/android/server/wm/DisplayArea$Tokens;->lambda$new$0(Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/DisplayArea$Type;->$values()[Lcom/android/server/wm/DisplayArea$Type;
+PLcom/android/server/wm/DisplayArea$Type;-><clinit>()V
+PLcom/android/server/wm/DisplayArea$Type;-><init>(Ljava/lang/String;I)V
+HPLcom/android/server/wm/DisplayArea$Type;->checkChild(Lcom/android/server/wm/DisplayArea$Type;Lcom/android/server/wm/DisplayArea$Type;)V
+HPLcom/android/server/wm/DisplayArea$Type;->checkSiblings(Lcom/android/server/wm/DisplayArea$Type;Lcom/android/server/wm/DisplayArea$Type;)V
+HPLcom/android/server/wm/DisplayArea$Type;->typeOf(Lcom/android/server/wm/WindowContainer;)Lcom/android/server/wm/DisplayArea$Type;
+PLcom/android/server/wm/DisplayArea$Type;->typeOf(Lcom/android/server/wm/WindowToken;)Lcom/android/server/wm/DisplayArea$Type;
+PLcom/android/server/wm/DisplayArea$Type;->values()[Lcom/android/server/wm/DisplayArea$Type;
+HPLcom/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;->asDisplayArea()Lcom/android/server/wm/DisplayArea;
+PLcom/android/server/wm/DisplayArea;->asTokens()Lcom/android/server/wm/DisplayArea$Tokens;
+PLcom/android/server/wm/DisplayArea;->fillsParent()Z
+PLcom/android/server/wm/DisplayArea;->findMaxPositionForChildDisplayArea(Lcom/android/server/wm/DisplayArea;)I
+PLcom/android/server/wm/DisplayArea;->findMinPositionForChildDisplayArea(Lcom/android/server/wm/DisplayArea;)I
+HPLcom/android/server/wm/DisplayArea;->findPositionForChildDisplayArea(ILcom/android/server/wm/DisplayArea;)I
+PLcom/android/server/wm/DisplayArea;->forAllActivities(Ljava/util/function/Consumer;Z)V
+PLcom/android/server/wm/DisplayArea;->forAllActivities(Ljava/util/function/Predicate;Z)Z
+PLcom/android/server/wm/DisplayArea;->forAllDisplayAreas(Ljava/util/function/Consumer;)V
+HPLcom/android/server/wm/DisplayArea;->forAllLeafTaskFragments(Ljava/util/function/Predicate;)Z
+HPLcom/android/server/wm/DisplayArea;->forAllLeafTasks(Ljava/util/function/Consumer;Z)V
+PLcom/android/server/wm/DisplayArea;->forAllLeafTasks(Ljava/util/function/Predicate;)Z
+PLcom/android/server/wm/DisplayArea;->forAllRootTasks(Ljava/util/function/Predicate;Z)Z
+PLcom/android/server/wm/DisplayArea;->forAllTaskDisplayAreas(Ljava/util/function/Consumer;Z)V
+PLcom/android/server/wm/DisplayArea;->forAllTaskDisplayAreas(Ljava/util/function/Predicate;Z)Z
+HPLcom/android/server/wm/DisplayArea;->forAllTasks(Ljava/util/function/Predicate;)Z
+PLcom/android/server/wm/DisplayArea;->getActivity(Ljava/util/function/Predicate;ZLcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/DisplayArea;->getDisplayArea()Lcom/android/server/wm/DisplayArea;
+PLcom/android/server/wm/DisplayArea;->getDisplayAreaInfo()Landroid/window/DisplayAreaInfo;
+HPLcom/android/server/wm/DisplayArea;->getIgnoreOrientationRequest()Z
+HPLcom/android/server/wm/DisplayArea;->getItemFromTaskDisplayAreas(Ljava/util/function/Function;Z)Ljava/lang/Object;
+PLcom/android/server/wm/DisplayArea;->getName()Ljava/lang/String;
+PLcom/android/server/wm/DisplayArea;->getOrientation(I)I
+HPLcom/android/server/wm/DisplayArea;->getPendingTransaction()Landroid/view/SurfaceControl$Transaction;
+HPLcom/android/server/wm/DisplayArea;->getRootTask(Ljava/util/function/Predicate;Z)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/DisplayArea;->getStableRect(Landroid/graphics/Rect;)V
+PLcom/android/server/wm/DisplayArea;->getSurfaceControl()Landroid/view/SurfaceControl;
+HPLcom/android/server/wm/DisplayArea;->getSyncTransaction()Landroid/view/SurfaceControl$Transaction;
+PLcom/android/server/wm/DisplayArea;->getTask(Ljava/util/function/Predicate;Z)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/DisplayArea;->handlesOrientationChangeFromDescendant(I)Z
+HPLcom/android/server/wm/DisplayArea;->isOrganized()Z
+PLcom/android/server/wm/DisplayArea;->needsZBoost()Z
+HPLcom/android/server/wm/DisplayArea;->onChildPositionChanged(Lcom/android/server/wm/WindowContainer;)V
+HPLcom/android/server/wm/DisplayArea;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/DisplayArea;->onDescendantOrientationChanged(Lcom/android/server/wm/WindowContainer;)Z
+PLcom/android/server/wm/DisplayArea;->onRequestedOverrideConfigurationChanged(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/DisplayArea;->onUnfrozen()V
+PLcom/android/server/wm/DisplayArea;->positionChildAt(ILcom/android/server/wm/WindowContainer;Z)V
+PLcom/android/server/wm/DisplayArea;->providesMaxBounds()Z
+PLcom/android/server/wm/DisplayArea;->reduceOnAllTaskDisplayAreas(Ljava/util/function/BiFunction;Ljava/lang/Object;Z)Ljava/lang/Object;
+HPLcom/android/server/wm/DisplayArea;->resolveOverrideConfiguration(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/DisplayArea;->sendDisplayAreaVanished(Landroid/window/IDisplayAreaOrganizer;)V
+PLcom/android/server/wm/DisplayArea;->setOrganizer(Landroid/window/IDisplayAreaOrganizer;Z)V
+PLcom/android/server/wm/DisplayArea;->shouldIgnoreOrientationRequest(I)Z
+PLcom/android/server/wm/DisplayArea;->toString()Ljava/lang/String;
+PLcom/android/server/wm/DisplayAreaOrganizerController$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/wm/DisplayAreaOrganizerController;ILjava/util/List;Landroid/window/IDisplayAreaOrganizer;)V
+PLcom/android/server/wm/DisplayAreaOrganizerController$$ExternalSyntheticLambda3;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/DisplayAreaOrganizerController$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/wm/DisplayAreaOrganizerController;ILjava/util/List;Landroid/window/IDisplayAreaOrganizer;)V
+PLcom/android/server/wm/DisplayAreaOrganizerController$$ExternalSyntheticLambda5;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/DisplayAreaOrganizerController$DeathRecipient;-><init>(Lcom/android/server/wm/DisplayAreaOrganizerController;Landroid/window/IDisplayAreaOrganizer;I)V
+PLcom/android/server/wm/DisplayAreaOrganizerController$DisplayAreaOrganizerState;-><init>(Lcom/android/server/wm/DisplayAreaOrganizerController;Landroid/window/IDisplayAreaOrganizer;I)V
+PLcom/android/server/wm/DisplayAreaOrganizerController;->$r8$lambda$CvQU9LqFTmbUEmALsGj5S7UV_PU(Lcom/android/server/wm/DisplayAreaOrganizerController;ILjava/util/List;Landroid/window/IDisplayAreaOrganizer;Lcom/android/server/wm/DisplayArea;)V
+PLcom/android/server/wm/DisplayAreaOrganizerController;->$r8$lambda$wSnU_Pe7TXl_HhzB7fVcyiY4FP4(Lcom/android/server/wm/DisplayAreaOrganizerController;ILjava/util/List;Landroid/window/IDisplayAreaOrganizer;Lcom/android/server/wm/DisplayContent;)V
+HSPLcom/android/server/wm/DisplayAreaOrganizerController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V
+PLcom/android/server/wm/DisplayAreaOrganizerController;->enforceTaskPermission(Ljava/lang/String;)V
+PLcom/android/server/wm/DisplayAreaOrganizerController;->getOrganizerByFeature(I)Landroid/window/IDisplayAreaOrganizer;
+PLcom/android/server/wm/DisplayAreaOrganizerController;->lambda$registerOrganizer$0(ILjava/util/List;Landroid/window/IDisplayAreaOrganizer;Lcom/android/server/wm/DisplayArea;)V
+PLcom/android/server/wm/DisplayAreaOrganizerController;->lambda$registerOrganizer$1(ILjava/util/List;Landroid/window/IDisplayAreaOrganizer;Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/DisplayAreaOrganizerController;->organizeDisplayArea(Landroid/window/IDisplayAreaOrganizer;Lcom/android/server/wm/DisplayArea;Ljava/lang/String;)Landroid/window/DisplayAreaAppearedInfo;
+PLcom/android/server/wm/DisplayAreaOrganizerController;->registerOrganizer(Landroid/window/IDisplayAreaOrganizer;I)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/wm/DisplayAreaPolicy$DefaultProvider$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/wm/DisplayAreaPolicy$DefaultProvider$$ExternalSyntheticLambda0;->create(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayArea$Type;Ljava/lang/String;I)Lcom/android/server/wm/DisplayArea;
+PLcom/android/server/wm/DisplayAreaPolicy$DefaultProvider;-><init>()V
+PLcom/android/server/wm/DisplayAreaPolicy$DefaultProvider;->configureTrustedHierarchyBuilder(Lcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/DisplayAreaPolicy$DefaultProvider;->instantiate(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/RootDisplayArea;Lcom/android/server/wm/DisplayArea$Tokens;)Lcom/android/server/wm/DisplayAreaPolicy;
+PLcom/android/server/wm/DisplayAreaPolicy$Provider;->fromResources(Landroid/content/res/Resources;)Lcom/android/server/wm/DisplayAreaPolicy$Provider;
+PLcom/android/server/wm/DisplayAreaPolicy;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/RootDisplayArea;)V
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$DefaultSelectRootForWindowFunction;-><init>(Lcom/android/server/wm/RootDisplayArea;Ljava/util/List;)V
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$DefaultSelectRootForWindowFunction;->apply(Ljava/lang/Integer;Landroid/os/Bundle;)Lcom/android/server/wm/RootDisplayArea;
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$DefaultSelectRootForWindowFunction;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$DefaultSelectTaskDisplayAreaFunction;-><init>(Lcom/android/server/wm/TaskDisplayArea;)V
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature$Builder$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature$Builder$$ExternalSyntheticLambda0;->create(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayArea$Type;Ljava/lang/String;I)Lcom/android/server/wm/DisplayArea;
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature$Builder;-><init>(Lcom/android/server/policy/WindowManagerPolicy;Ljava/lang/String;I)V
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature$Builder;->all()Lcom/android/server/wm/DisplayAreaPolicyBuilder$Feature$Builder;
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature$Builder;->and([I)Lcom/android/server/wm/DisplayAreaPolicyBuilder$Feature$Builder;
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature$Builder;->build()Lcom/android/server/wm/DisplayAreaPolicyBuilder$Feature;
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature$Builder;->except([I)Lcom/android/server/wm/DisplayAreaPolicyBuilder$Feature$Builder;
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature$Builder;->layerFromType(IZ)I
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature$Builder;->set(IZ)V
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature$Builder;->setNewDisplayAreaSupplier(Lcom/android/server/wm/DisplayAreaPolicyBuilder$NewDisplayAreaSupplier;)Lcom/android/server/wm/DisplayAreaPolicyBuilder$Feature$Builder;
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature$Builder;->upTo(I)Lcom/android/server/wm/DisplayAreaPolicyBuilder$Feature$Builder;
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature;->-$$Nest$fgetmId(Lcom/android/server/wm/DisplayAreaPolicyBuilder$Feature;)I
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature;->-$$Nest$fgetmName(Lcom/android/server/wm/DisplayAreaPolicyBuilder$Feature;)Ljava/lang/String;
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature;->-$$Nest$fgetmNewDisplayAreaSupplier(Lcom/android/server/wm/DisplayAreaPolicyBuilder$Feature;)Lcom/android/server/wm/DisplayAreaPolicyBuilder$NewDisplayAreaSupplier;
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature;->-$$Nest$fgetmWindowLayers(Lcom/android/server/wm/DisplayAreaPolicyBuilder$Feature;)[Z
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature;-><init>(Ljava/lang/String;I[ZLcom/android/server/wm/DisplayAreaPolicyBuilder$NewDisplayAreaSupplier;)V
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature;-><init>(Ljava/lang/String;I[ZLcom/android/server/wm/DisplayAreaPolicyBuilder$NewDisplayAreaSupplier;Lcom/android/server/wm/DisplayAreaPolicyBuilder$Feature-IA;)V
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature;->getId()I
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;->-$$Nest$fgetmFeatures(Lcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;)Ljava/util/ArrayList;
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;->-$$Nest$fgetmImeContainer(Lcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;)Lcom/android/server/wm/DisplayArea$Tokens;
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;->-$$Nest$fgetmRoot(Lcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;)Lcom/android/server/wm/RootDisplayArea;
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;->-$$Nest$fgetmTaskDisplayAreas(Lcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;)Ljava/util/ArrayList;
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;->-$$Nest$mbuild(Lcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;Ljava/util/List;)V
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;-><init>(Lcom/android/server/wm/RootDisplayArea;)V
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;->addDisplayAreaGroupsToApplicationLayer(Lcom/android/server/wm/DisplayAreaPolicyBuilder$PendingArea;Ljava/util/List;)V
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;->addFeature(Lcom/android/server/wm/DisplayAreaPolicyBuilder$Feature;)Lcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;->addTaskDisplayAreasToApplicationLayer(Lcom/android/server/wm/DisplayAreaPolicyBuilder$PendingArea;)V
+HPLcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;->build(Ljava/util/List;)V
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;->setImeContainer(Lcom/android/server/wm/DisplayArea$Tokens;)Lcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;->setTaskDisplayAreas(Ljava/util/List;)Lcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;->typeOfLayer(Lcom/android/server/policy/WindowManagerPolicy;I)I
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$PendingArea$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$PendingArea$$ExternalSyntheticLambda0;->applyAsInt(Ljava/lang/Object;)I
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$PendingArea;->$r8$lambda$VwU16eW1PmOKwR0U1Wij7qH1PtU(Lcom/android/server/wm/DisplayAreaPolicyBuilder$PendingArea;)I
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$PendingArea;-><init>(Lcom/android/server/wm/DisplayAreaPolicyBuilder$Feature;ILcom/android/server/wm/DisplayAreaPolicyBuilder$PendingArea;)V
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$PendingArea;->computeMaxLayer()I
+HPLcom/android/server/wm/DisplayAreaPolicyBuilder$PendingArea;->createArea(Lcom/android/server/wm/DisplayArea;[Lcom/android/server/wm/DisplayArea$Tokens;)Lcom/android/server/wm/DisplayArea;
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$PendingArea;->fillAreaForLayers(Lcom/android/server/wm/DisplayArea$Tokens;[Lcom/android/server/wm/DisplayArea$Tokens;)V
+HPLcom/android/server/wm/DisplayAreaPolicyBuilder$PendingArea;->instantiateChildren(Lcom/android/server/wm/DisplayArea;[Lcom/android/server/wm/DisplayArea$Tokens;ILjava/util/Map;)V
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$PendingArea;->lambda$instantiateChildren$0(Lcom/android/server/wm/DisplayAreaPolicyBuilder$PendingArea;)I
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$Result$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$Result$$ExternalSyntheticLambda0;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$Result;->$r8$lambda$YTS6mATtwOUjwC_PPe0TcCmppOQ(Lcom/android/server/wm/TaskDisplayArea;)Lcom/android/server/wm/TaskDisplayArea;
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$Result;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/RootDisplayArea;Ljava/util/List;Ljava/util/function/BiFunction;Ljava/util/function/Function;)V
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$Result;->findAreaForWindowType(ILandroid/os/Bundle;ZZ)Lcom/android/server/wm/DisplayArea$Tokens;
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$Result;->getDefaultTaskDisplayArea()Lcom/android/server/wm/TaskDisplayArea;
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$Result;->getDisplayAreas(I)Ljava/util/List;
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$Result;->getDisplayAreas(Lcom/android/server/wm/RootDisplayArea;ILjava/util/List;)V
+PLcom/android/server/wm/DisplayAreaPolicyBuilder$Result;->lambda$new$0(Lcom/android/server/wm/TaskDisplayArea;)Lcom/android/server/wm/TaskDisplayArea;
+PLcom/android/server/wm/DisplayAreaPolicyBuilder;-><init>()V
+PLcom/android/server/wm/DisplayAreaPolicyBuilder;->build(Lcom/android/server/wm/WindowManagerService;)Lcom/android/server/wm/DisplayAreaPolicyBuilder$Result;
+PLcom/android/server/wm/DisplayAreaPolicyBuilder;->containsDefaultTaskDisplayArea(Lcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;)Z
+PLcom/android/server/wm/DisplayAreaPolicyBuilder;->setRootHierarchy(Lcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;)Lcom/android/server/wm/DisplayAreaPolicyBuilder;
+PLcom/android/server/wm/DisplayAreaPolicyBuilder;->validate()V
+PLcom/android/server/wm/DisplayAreaPolicyBuilder;->validateIds(Lcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;Ljava/util/Set;Ljava/util/Set;)V
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda10;-><init>()V
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda10;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda12;-><init>(Z)V
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda12;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HPLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda14;-><init>(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/RecentsAnimationController;Landroid/graphics/Region;Landroid/graphics/Region;Landroid/graphics/Region;[ILandroid/graphics/Region;Landroid/graphics/Region;)V
+HPLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda14;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda18;-><init>(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda18;->run()V
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda19;-><init>([I)V
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda19;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda20;-><init>()V
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda20;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HPLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda24;-><init>(Lcom/android/server/wm/ActivityRecord;Z)V
+HPLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda24;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda30;-><init>(Lcom/android/server/wm/DisplayContent;Landroid/util/SparseBooleanArray;)V
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda30;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda32;-><init>(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda32;->compute(Ljava/lang/Object;I)Ljava/lang/Object;
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda33;-><init>(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda33;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda34;-><init>(Lcom/android/server/wm/DisplayContent;)V
+HPLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda34;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda35;-><init>(Lcom/android/server/wm/DisplayContent;)V
+HPLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda35;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda36;-><init>(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda37;-><init>(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda37;->compute(Ljava/lang/Object;I)Ljava/lang/Object;
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda38;-><init>(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda38;->compute(Ljava/lang/Object;I)Ljava/lang/Object;
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda39;-><init>(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda39;->compute(Ljava/lang/Object;I)Ljava/lang/Object;
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda40;-><init>(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda41;-><init>(Lcom/android/server/wm/DisplayContent;)V
+HPLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda41;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda42;-><init>(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda42;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda43;-><init>(Lcom/android/server/wm/DisplayContent;)V
+HPLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda43;->apply(Ljava/lang/Object;)Z
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda44;-><init>(Lcom/android/server/wm/DisplayContent;)V
+HPLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda44;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda45;-><init>(Lcom/android/server/wm/DisplayContent;)V
+HPLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda45;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda46;-><init>(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda46;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda47;-><init>(Landroid/os/IBinder;)V
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda47;->run()V
+HPLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/wm/RecentsAnimationController;Ljava/util/Set;Ljava/util/Set;Landroid/graphics/Matrix;[F)V
+HPLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda4;->apply(Ljava/lang/Object;)Z
+HPLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda50;-><init>([I[ILandroid/graphics/Region;)V
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda54;-><init>([Z)V
+PLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda54;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/DisplayContent$1;-><init>()V
+PLcom/android/server/wm/DisplayContent$2;-><init>(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayContent$ApplySurfaceChangesTransactionState;-><init>()V
+PLcom/android/server/wm/DisplayContent$ApplySurfaceChangesTransactionState;-><init>(Lcom/android/server/wm/DisplayContent$ApplySurfaceChangesTransactionState-IA;)V
+HPLcom/android/server/wm/DisplayContent$ApplySurfaceChangesTransactionState;->reset()V
+PLcom/android/server/wm/DisplayContent$FixedRotationTransitionListener;-><init>(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/DisplayContent$FixedRotationTransitionListener;->onAppTransitionFinishedLocked(Landroid/os/IBinder;)V
+PLcom/android/server/wm/DisplayContent$FixedRotationTransitionListener;->shouldDeferRotation()Z
+PLcom/android/server/wm/DisplayContent$ImeContainer;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/DisplayContent$ImeContainer;->assignLayer(Landroid/view/SurfaceControl$Transaction;I)V
+PLcom/android/server/wm/DisplayContent$ImeContainer;->assignRelativeLayer(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;IZ)V
+HPLcom/android/server/wm/DisplayContent$ImeContainer;->forAllWindowForce(Lcom/android/internal/util/ToBooleanFunction;Z)Z
+HPLcom/android/server/wm/DisplayContent$ImeContainer;->forAllWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
+PLcom/android/server/wm/DisplayContent$ImeContainer;->getOrientation(I)I
+PLcom/android/server/wm/DisplayContent$ImeContainer;->setNeedsLayer()V
+HPLcom/android/server/wm/DisplayContent$ImeContainer;->skipImeWindowsDuringTraversal(Lcom/android/server/wm/DisplayContent;)Z
+PLcom/android/server/wm/DisplayContent$ImeContainer;->updateAboveInsetsState(Landroid/view/InsetsState;Landroid/util/SparseArray;Landroid/util/ArraySet;)V
+PLcom/android/server/wm/DisplayContent$RemoteInsetsControlTarget;-><init>(Lcom/android/server/wm/DisplayContent;Landroid/view/IDisplayWindowInsetsController;)V
+PLcom/android/server/wm/DisplayContent$TaskForResizePointSearchResult;-><init>()V
+PLcom/android/server/wm/DisplayContent;->$r8$lambda$-dBz3LtsWovWVT0SE5m__EwNfT4(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayContent;->$r8$lambda$-uN73aqsI8TZanC60X9G06a6GDM(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayArea;)V
+PLcom/android/server/wm/DisplayContent;->$r8$lambda$09LjI9IPIDqkx6xQRSSpO0paSaI(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/DisplayContent;->$r8$lambda$0qT6GYhjGguOWMyvPDOpZD9lW8A(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/DisplayContent;->$r8$lambda$5VVSLdls3hPPHQhvQRptGbZEU1E(Lcom/android/server/wm/DisplayContent;Landroid/view/DisplayShape;I)Landroid/view/DisplayShape;
+PLcom/android/server/wm/DisplayContent;->$r8$lambda$5vVpESsNA57k_2CBS_VsBrdc5Qo(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/DisplayContent;->$r8$lambda$ODoFFvXsuJpa6DBeEVK2Nh28Xc0(Lcom/android/server/wm/DisplayContent;Landroid/util/SparseBooleanArray;Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/DisplayContent;->$r8$lambda$OlRwH3_Eqb403xPL7MPG5vhH0aE(Lcom/android/server/wm/DisplayContent;Landroid/view/DisplayCutout;I)Lcom/android/server/wm/utils/WmDisplayCutout;
+HPLcom/android/server/wm/DisplayContent;->$r8$lambda$YbN3cIeEsM0DLZIuG7yQvhoeuNM(Lcom/android/server/wm/ActivityRecord;ZLcom/android/server/wm/Task;)V
+PLcom/android/server/wm/DisplayContent;->$r8$lambda$_tz4aBALPch7QAqA8f5IEbuIfEE(ZLcom/android/server/wm/TaskDisplayArea;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/DisplayContent;->$r8$lambda$f7tHAwMP7F9Y6GRaAF8mvZCW4p4(Lcom/android/server/wm/DisplayContent;Landroid/view/RoundedCorners;I)Landroid/view/RoundedCorners;
+HPLcom/android/server/wm/DisplayContent;->$r8$lambda$fxEggzNsTLRHb7So7DIvQvSPsEo(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/RecentsAnimationController;Landroid/graphics/Region;Landroid/graphics/Region;Landroid/graphics/Region;[ILandroid/graphics/Region;Landroid/graphics/Region;Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayContent;->$r8$lambda$g3NtyUymxIbR0_Zt8BGLWPTUWWk(Lcom/android/server/wm/DisplayContent;Landroid/view/PrivacyIndicatorBounds;I)Landroid/view/PrivacyIndicatorBounds;
+PLcom/android/server/wm/DisplayContent;->$r8$lambda$gxfy_OQnZiuljU-tl2O5KLP4WJI([ZLcom/android/server/wm/ActivityRecord;)V
+HPLcom/android/server/wm/DisplayContent;->$r8$lambda$hkBcv35oI_sDzJ-r3_1RUH-fcfo(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayContent;->$r8$lambda$jZHjGh_d804t67Tg169ZuvciwD4(Landroid/os/IBinder;)V
+PLcom/android/server/wm/DisplayContent;->$r8$lambda$jsLbkOO-i9uxdPcBuBSaATpXXAQ([ILcom/android/server/wm/Task;)V
+HPLcom/android/server/wm/DisplayContent;->$r8$lambda$m3_QfYVQ2X5TCCaPfidklMmlJ3A(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayContent;->$r8$lambda$nSzlgovjqO6D-KA1rputZkWgFOY(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowState;)V
+HPLcom/android/server/wm/DisplayContent;->$r8$lambda$ro8qyeDvIUnuK9S-Ac1Fs1DW7Pc(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowState;)V
+HPLcom/android/server/wm/DisplayContent;->$r8$lambda$viMLDYZeNr6UfQB2dUSXkWvClEk(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayContent;->$r8$lambda$wQPrC0OEjFFleCp1VlzlAyiSCm4(Lcom/android/server/wm/RecentsAnimationController;Ljava/util/Set;Ljava/util/Set;Landroid/graphics/Matrix;[FLcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/DisplayContent;->-$$Nest$fgetmFixedRotationLaunchingApp(Lcom/android/server/wm/DisplayContent;)Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/DisplayContent;->-$$Nest$fgetmImeLayeringTarget(Lcom/android/server/wm/DisplayContent;)Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/DisplayContent;-><clinit>()V
+HPLcom/android/server/wm/DisplayContent;-><init>(Landroid/view/Display;Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/DeviceStateController;)V
+HPLcom/android/server/wm/DisplayContent;->addToGlobalAndConsumeLimit(Landroid/graphics/Region;Landroid/graphics/Region;Landroid/graphics/Rect;ILcom/android/server/wm/WindowState;I)I
+HPLcom/android/server/wm/DisplayContent;->addWindowToken(Landroid/os/IBinder;Lcom/android/server/wm/WindowToken;)V
+HPLcom/android/server/wm/DisplayContent;->adjustDisplaySizeRanges(Landroid/view/DisplayInfo;III)V
+PLcom/android/server/wm/DisplayContent;->adjustForImeIfNeeded()V
+PLcom/android/server/wm/DisplayContent;->alwaysCreateRootTask(II)Z
+HPLcom/android/server/wm/DisplayContent;->applySurfaceChangesTransaction()V
+PLcom/android/server/wm/DisplayContent;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V
+HPLcom/android/server/wm/DisplayContent;->assignRelativeLayerForIme(Landroid/view/SurfaceControl$Transaction;Z)V
+PLcom/android/server/wm/DisplayContent;->assignWindowLayers(Z)V
+PLcom/android/server/wm/DisplayContent;->beginHoldScreenUpdate()V
+HPLcom/android/server/wm/DisplayContent;->calculateDisplayCutoutForRotation(I)Landroid/view/DisplayCutout;
+PLcom/android/server/wm/DisplayContent;->calculateDisplayCutoutForRotationAndDisplaySizeUncached(Landroid/view/DisplayCutout;III)Lcom/android/server/wm/utils/WmDisplayCutout;
+PLcom/android/server/wm/DisplayContent;->calculateDisplayCutoutForRotationUncached(Landroid/view/DisplayCutout;I)Lcom/android/server/wm/utils/WmDisplayCutout;
+PLcom/android/server/wm/DisplayContent;->calculateDisplayShapeForRotation(I)Landroid/view/DisplayShape;
+PLcom/android/server/wm/DisplayContent;->calculateDisplayShapeForRotationUncached(Landroid/view/DisplayShape;I)Landroid/view/DisplayShape;
+PLcom/android/server/wm/DisplayContent;->calculatePrivacyIndicatorBoundsForRotation(I)Landroid/view/PrivacyIndicatorBounds;
+PLcom/android/server/wm/DisplayContent;->calculatePrivacyIndicatorBoundsForRotationUncached(Landroid/view/PrivacyIndicatorBounds;I)Landroid/view/PrivacyIndicatorBounds;
+HPLcom/android/server/wm/DisplayContent;->calculateRoundedCornersForRotation(I)Landroid/view/RoundedCorners;
+PLcom/android/server/wm/DisplayContent;->calculateRoundedCornersForRotationUncached(Landroid/view/RoundedCorners;I)Landroid/view/RoundedCorners;
+HPLcom/android/server/wm/DisplayContent;->calculateSystemGestureExclusion(Landroid/graphics/Region;Landroid/graphics/Region;)Z
+PLcom/android/server/wm/DisplayContent;->canShowTasksInHostDeviceRecents()Z
+HPLcom/android/server/wm/DisplayContent;->canShowWithInsecureKeyguard()Z
+PLcom/android/server/wm/DisplayContent;->canStealTopFocus()Z
+PLcom/android/server/wm/DisplayContent;->canUpdateImeTarget()Z
+PLcom/android/server/wm/DisplayContent;->clearFixedRotationLaunchingApp()V
+PLcom/android/server/wm/DisplayContent;->clearLayoutNeeded()V
+PLcom/android/server/wm/DisplayContent;->computeCompatSmallestWidth(ZII)I
+PLcom/android/server/wm/DisplayContent;->computeImeControlTarget()Lcom/android/server/wm/InsetsControlTarget;
+PLcom/android/server/wm/DisplayContent;->computeImeParent()Landroid/view/SurfaceControl;
+PLcom/android/server/wm/DisplayContent;->computeImeTarget(Z)Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/DisplayContent;->computeImeTargetIfNeeded(Lcom/android/server/wm/ActivityRecord;)V
+HPLcom/android/server/wm/DisplayContent;->computeScreenAppConfiguration(Landroid/content/res/Configuration;III)V
+HPLcom/android/server/wm/DisplayContent;->computeScreenConfiguration(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/DisplayContent;->computeSizeRanges(Landroid/view/DisplayInfo;ZIIFLandroid/content/res/Configuration;)V
+PLcom/android/server/wm/DisplayContent;->configureDisplayPolicy()V
+HPLcom/android/server/wm/DisplayContent;->configureSurfaces(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/DisplayContent;->enableHighFrameRate(Z)V
+PLcom/android/server/wm/DisplayContent;->enableHighPerfTransition(Z)V
+HPLcom/android/server/wm/DisplayContent;->ensureActivitiesVisible(Lcom/android/server/wm/ActivityRecord;Z)V
+PLcom/android/server/wm/DisplayContent;->executeAppTransition()V
+PLcom/android/server/wm/DisplayContent;->fillsParent()Z
+PLcom/android/server/wm/DisplayContent;->findAreaForToken(Lcom/android/server/wm/WindowToken;)Lcom/android/server/wm/DisplayArea;
+PLcom/android/server/wm/DisplayContent;->findAreaForWindowType(ILandroid/os/Bundle;ZZ)Lcom/android/server/wm/DisplayArea;
+HPLcom/android/server/wm/DisplayContent;->findFocusedWindow()Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/DisplayContent;->findFocusedWindowIfNeeded(I)Lcom/android/server/wm/WindowState;
+HPLcom/android/server/wm/DisplayContent;->finishHoldScreenUpdate()V
+HPLcom/android/server/wm/DisplayContent;->forAllImeWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
+PLcom/android/server/wm/DisplayContent;->forceDesktopMode()Z
+HPLcom/android/server/wm/DisplayContent;->getAsyncRotationController()Lcom/android/server/wm/AsyncRotationController;
+HPLcom/android/server/wm/DisplayContent;->getDefaultTaskDisplayArea()Lcom/android/server/wm/TaskDisplayArea;
+PLcom/android/server/wm/DisplayContent;->getDisplay()Landroid/view/Display;
+HPLcom/android/server/wm/DisplayContent;->getDisplayId()I
+HPLcom/android/server/wm/DisplayContent;->getDisplayInfo()Landroid/view/DisplayInfo;
+HPLcom/android/server/wm/DisplayContent;->getDisplayPolicy()Lcom/android/server/wm/DisplayPolicy;
+PLcom/android/server/wm/DisplayContent;->getDisplayRotation()Lcom/android/server/wm/DisplayRotation;
+PLcom/android/server/wm/DisplayContent;->getDisplayUiContext()Landroid/content/Context;
+HPLcom/android/server/wm/DisplayContent;->getFocusedRootTask()Lcom/android/server/wm/Task;
+PLcom/android/server/wm/DisplayContent;->getImeContainer()Lcom/android/server/wm/DisplayArea$Tokens;
+PLcom/android/server/wm/DisplayContent;->getImeHostOrFallback(Lcom/android/server/wm/WindowState;)Lcom/android/server/wm/InsetsControlTarget;
+HPLcom/android/server/wm/DisplayContent;->getImeInputTarget()Lcom/android/server/wm/InputTarget;
+PLcom/android/server/wm/DisplayContent;->getImePolicy()I
+HPLcom/android/server/wm/DisplayContent;->getImeTarget(I)Lcom/android/server/wm/InsetsControlTarget;
+PLcom/android/server/wm/DisplayContent;->getInitialDisplayDensity()I
+PLcom/android/server/wm/DisplayContent;->getInputMethodWindowVisibleHeight()I
+HPLcom/android/server/wm/DisplayContent;->getInputMonitor()Lcom/android/server/wm/InputMonitor;
+PLcom/android/server/wm/DisplayContent;->getInputOverlayLayer()Landroid/view/SurfaceControl;
+HPLcom/android/server/wm/DisplayContent;->getInsetsPolicy()Lcom/android/server/wm/InsetsPolicy;
+HPLcom/android/server/wm/DisplayContent;->getInsetsStateController()Lcom/android/server/wm/InsetsStateController;
+HPLcom/android/server/wm/DisplayContent;->getKeepClearAreas(Ljava/util/Set;Ljava/util/Set;)V
+PLcom/android/server/wm/DisplayContent;->getLastHasContent()Z
+PLcom/android/server/wm/DisplayContent;->getMetricsLogger()Lcom/android/internal/logging/MetricsLogger;
+PLcom/android/server/wm/DisplayContent;->getMinimalTaskSizeDp()I
+PLcom/android/server/wm/DisplayContent;->getName()Ljava/lang/String;
+HPLcom/android/server/wm/DisplayContent;->getOrientation()I
+PLcom/android/server/wm/DisplayContent;->getOrientationRequestingTaskDisplayArea()Lcom/android/server/wm/TaskDisplayArea;
+PLcom/android/server/wm/DisplayContent;->getRelativeDisplayRotation()I
+PLcom/android/server/wm/DisplayContent;->getRootTaskCount()I
+PLcom/android/server/wm/DisplayContent;->getRotation()I
+PLcom/android/server/wm/DisplayContent;->getRotationAnimation()Lcom/android/server/wm/ScreenRotationAnimation;
+PLcom/android/server/wm/DisplayContent;->getSession()Landroid/view/SurfaceSession;
+PLcom/android/server/wm/DisplayContent;->getStableRect(Landroid/graphics/Rect;)V
+HPLcom/android/server/wm/DisplayContent;->getWindowToken(Landroid/os/IBinder;)Lcom/android/server/wm/WindowToken;
+PLcom/android/server/wm/DisplayContent;->handleActivitySizeCompatModeIfNeeded(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/DisplayContent;->handleAnimatingStoppedAndTransition()V
+HPLcom/android/server/wm/DisplayContent;->handleCompleteDeferredRemoval()Z
+HPLcom/android/server/wm/DisplayContent;->handleTopActivityLaunchingInDifferentOrientation(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Z)Z
+HPLcom/android/server/wm/DisplayContent;->handlesOrientationChangeFromDescendant(I)Z
+PLcom/android/server/wm/DisplayContent;->hasAccess(I)Z
+HPLcom/android/server/wm/DisplayContent;->hasOwnFocus()Z
+HPLcom/android/server/wm/DisplayContent;->inTransition()Z
+PLcom/android/server/wm/DisplayContent;->initializeDisplayBaseInfo()V
+PLcom/android/server/wm/DisplayContent;->isHomeSupported()Z
+PLcom/android/server/wm/DisplayContent;->isImeControlledByApp()Z
+PLcom/android/server/wm/DisplayContent;->isInTouchMode()Z
+PLcom/android/server/wm/DisplayContent;->isInputMethodClientFocus(II)Z
+PLcom/android/server/wm/DisplayContent;->isKeyguardAlwaysUnlocked()Z
+HPLcom/android/server/wm/DisplayContent;->isKeyguardGoingAway()Z
+HPLcom/android/server/wm/DisplayContent;->isKeyguardLocked()Z
+HPLcom/android/server/wm/DisplayContent;->isLayoutNeeded()Z
+PLcom/android/server/wm/DisplayContent;->isNextTransitionForward()Z
+PLcom/android/server/wm/DisplayContent;->isPrivate()Z
+PLcom/android/server/wm/DisplayContent;->isReady()Z
+HPLcom/android/server/wm/DisplayContent;->isRemoved()Z
+HPLcom/android/server/wm/DisplayContent;->isRemoving()Z
+PLcom/android/server/wm/DisplayContent;->isRotationChanging()Z
+HPLcom/android/server/wm/DisplayContent;->isSleeping()Z
+PLcom/android/server/wm/DisplayContent;->isTrusted()Z
+PLcom/android/server/wm/DisplayContent;->isVisible()Z
+PLcom/android/server/wm/DisplayContent;->isVisibleRequested()Z
+HPLcom/android/server/wm/DisplayContent;->lambda$calculateSystemGestureExclusion$34(Lcom/android/server/wm/RecentsAnimationController;Landroid/graphics/Region;Landroid/graphics/Region;Landroid/graphics/Region;[ILandroid/graphics/Region;Landroid/graphics/Region;Lcom/android/server/wm/WindowState;)V
+HPLcom/android/server/wm/DisplayContent;->lambda$ensureActivitiesVisible$47(Lcom/android/server/wm/ActivityRecord;ZLcom/android/server/wm/Task;)V
+HPLcom/android/server/wm/DisplayContent;->lambda$getKeepClearAreas$37(Lcom/android/server/wm/RecentsAnimationController;Ljava/util/Set;Ljava/util/Set;Landroid/graphics/Matrix;[FLcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/DisplayContent;->lambda$getRootTaskCount$15([ILcom/android/server/wm/Task;)V
+HPLcom/android/server/wm/DisplayContent;->lambda$new$1(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayContent;->lambda$new$2(Lcom/android/server/wm/WindowState;)V
+HPLcom/android/server/wm/DisplayContent;->lambda$new$3(Lcom/android/server/wm/WindowState;)Z
+HPLcom/android/server/wm/DisplayContent;->lambda$new$4(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayContent;->lambda$new$5(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayContent;->lambda$new$6(Lcom/android/server/wm/WindowState;)Z
+HPLcom/android/server/wm/DisplayContent;->lambda$new$7(Lcom/android/server/wm/WindowState;)V
+HPLcom/android/server/wm/DisplayContent;->lambda$new$8(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayContent;->lambda$onImeInsetsClientVisibilityUpdate$27([ZLcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/DisplayContent;->lambda$shouldWaitForSystemDecorWindowsOnBoot$31(Landroid/util/SparseBooleanArray;Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/DisplayContent;->lambda$topRunningActivity$40(ZLcom/android/server/wm/TaskDisplayArea;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/DisplayContent;->lambda$updateDisplayAreaOrganizers$17(Lcom/android/server/wm/DisplayArea;)V
+PLcom/android/server/wm/DisplayContent;->lambda$updateImeControlTarget$28(Landroid/os/IBinder;)V
+PLcom/android/server/wm/DisplayContent;->lambda$updateImeParent$29()V
+PLcom/android/server/wm/DisplayContent;->logsGestureExclusionRestrictions(Lcom/android/server/wm/WindowState;)Z
+HPLcom/android/server/wm/DisplayContent;->makeChildSurface(Lcom/android/server/wm/WindowContainer;)Landroid/view/SurfaceControl$Builder;
+HPLcom/android/server/wm/DisplayContent;->needsGestureExclusionRestrictions(Lcom/android/server/wm/WindowState;Z)Z
+PLcom/android/server/wm/DisplayContent;->notifyInsetsChanged(Ljava/util/function/Consumer;)V
+PLcom/android/server/wm/DisplayContent;->okToAnimate(ZZ)Z
+PLcom/android/server/wm/DisplayContent;->okToDisplay()Z
+HPLcom/android/server/wm/DisplayContent;->okToDisplay(ZZ)Z
+PLcom/android/server/wm/DisplayContent;->onAppTransitionDone()V
+HPLcom/android/server/wm/DisplayContent;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/DisplayContent;->onDescendantOrientationChanged(Lcom/android/server/wm/WindowContainer;)Z
+PLcom/android/server/wm/DisplayContent;->onDescendantOverrideConfigurationChanged()V
+PLcom/android/server/wm/DisplayContent;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V
+HPLcom/android/server/wm/DisplayContent;->onDisplayInfoChanged()V
+PLcom/android/server/wm/DisplayContent;->onDisplayInfoUpdated(Landroid/view/DisplayInfo;)V
+PLcom/android/server/wm/DisplayContent;->onImeInsetsClientVisibilityUpdate()Z
+PLcom/android/server/wm/DisplayContent;->onLastFocusedTaskDisplayAreaChanged(Lcom/android/server/wm/TaskDisplayArea;)V
+PLcom/android/server/wm/DisplayContent;->onParentChanged(Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ConfigurationContainer;)V
+PLcom/android/server/wm/DisplayContent;->onRequestedOverrideConfigurationChanged(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/DisplayContent;->onResize()V
+PLcom/android/server/wm/DisplayContent;->onRunningActivityChanged()V
+PLcom/android/server/wm/DisplayContent;->onTransitionFinished()V
+PLcom/android/server/wm/DisplayContent;->onWindowAnimationFinished(Lcom/android/server/wm/WindowContainer;I)V
+HPLcom/android/server/wm/DisplayContent;->performDisplayOverrideConfigUpdate(Landroid/content/res/Configuration;)I
+HPLcom/android/server/wm/DisplayContent;->performLayout(ZZ)V
+HPLcom/android/server/wm/DisplayContent;->performLayoutNoTrace(ZZ)V
+PLcom/android/server/wm/DisplayContent;->prepareAppTransition(I)V
+PLcom/android/server/wm/DisplayContent;->prepareAppTransition(II)V
+HPLcom/android/server/wm/DisplayContent;->prepareSurfaces()V
+PLcom/android/server/wm/DisplayContent;->providesMaxBounds()Z
+PLcom/android/server/wm/DisplayContent;->reParentWindowToken(Lcom/android/server/wm/WindowToken;)V
+PLcom/android/server/wm/DisplayContent;->reapplyMagnificationSpec()V
+PLcom/android/server/wm/DisplayContent;->reconfigureDisplayLocked()V
+PLcom/android/server/wm/DisplayContent;->reduceCompatConfigWidthSize(IILandroid/util/DisplayMetrics;II)I
+PLcom/android/server/wm/DisplayContent;->refreshImeSecureFlag(Landroid/view/SurfaceControl$Transaction;)Z
+PLcom/android/server/wm/DisplayContent;->registerDecorViewGestureListener(Landroid/view/IDecorViewGestureListener;)V
+PLcom/android/server/wm/DisplayContent;->registerPointerEventListener(Landroid/view/WindowManagerPolicyConstants$PointerEventListener;)V
+PLcom/android/server/wm/DisplayContent;->registerSystemGestureExclusionListener(Landroid/view/ISystemGestureExclusionListener;)V
+PLcom/android/server/wm/DisplayContent;->removeImeSurfaceByTarget(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/DisplayContent;->removeImeSurfaceImmediately()V
+PLcom/android/server/wm/DisplayContent;->removeWindowToken(Landroid/os/IBinder;Z)Lcom/android/server/wm/WindowToken;
+PLcom/android/server/wm/DisplayContent;->requestDisplayUpdate(Ljava/lang/Runnable;)V
+PLcom/android/server/wm/DisplayContent;->rotationForActivityInDifferentOrientation(Lcom/android/server/wm/ActivityRecord;)I
+PLcom/android/server/wm/DisplayContent;->sandboxDisplayApis()Z
+PLcom/android/server/wm/DisplayContent;->scheduleToastWindowsTimeoutIfNeededLocked(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayContent;->sendNewConfiguration()Z
+PLcom/android/server/wm/DisplayContent;->setDisplayInfoOverride()V
+HPLcom/android/server/wm/DisplayContent;->setDisplayMirroring()Z
+PLcom/android/server/wm/DisplayContent;->setFocusedApp(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/DisplayContent;->setIgnoreOrientationRequest(Z)Z
+PLcom/android/server/wm/DisplayContent;->setImeInputTarget(Lcom/android/server/wm/InputTarget;)V
+PLcom/android/server/wm/DisplayContent;->setImeLayeringTargetInner(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayContent;->setInputMethodWindowLocked(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayContent;->setLayoutNeeded()V
+PLcom/android/server/wm/DisplayContent;->setRemoteInsetsController(Landroid/view/IDisplayWindowInsetsController;)V
+HPLcom/android/server/wm/DisplayContent;->shouldDeferRemoval()Z
+HPLcom/android/server/wm/DisplayContent;->shouldImeAttachedToApp()Z
+PLcom/android/server/wm/DisplayContent;->shouldRotateWithContent()Z
+PLcom/android/server/wm/DisplayContent;->shouldSleep()Z
+PLcom/android/server/wm/DisplayContent;->shouldSyncRotationChange(Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/DisplayContent;->shouldWaitForSystemDecorWindowsOnBoot()Z
+PLcom/android/server/wm/DisplayContent;->toString()Ljava/lang/String;
+PLcom/android/server/wm/DisplayContent;->topRunningActivity()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/DisplayContent;->topRunningActivity(Z)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/DisplayContent;->updateBaseDisplayMetrics(IIIFF)V
+HPLcom/android/server/wm/DisplayContent;->updateBaseDisplayMetricsIfNeeded(Landroid/view/DisplayInfo;)V
+HPLcom/android/server/wm/DisplayContent;->updateDisplayAndOrientation(Landroid/content/res/Configuration;)Landroid/view/DisplayInfo;
+PLcom/android/server/wm/DisplayContent;->updateDisplayAreaOrganizers()V
+PLcom/android/server/wm/DisplayContent;->updateDisplayFrames(Lcom/android/server/wm/DisplayFrames;III)Z
+PLcom/android/server/wm/DisplayContent;->updateDisplayFrames(Z)V
+PLcom/android/server/wm/DisplayContent;->updateDisplayInfo(Landroid/view/DisplayInfo;)V
+PLcom/android/server/wm/DisplayContent;->updateDisplayOverrideConfigurationLocked()Z
+HPLcom/android/server/wm/DisplayContent;->updateDisplayOverrideConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/wm/ActivityRecord;Z)Z
+HPLcom/android/server/wm/DisplayContent;->updateFocusedWindowLocked(IZI)Z
+PLcom/android/server/wm/DisplayContent;->updateImeControlTarget()V
+PLcom/android/server/wm/DisplayContent;->updateImeControlTarget(Z)V
+PLcom/android/server/wm/DisplayContent;->updateImeInputAndControlTarget(Lcom/android/server/wm/InputTarget;)V
+PLcom/android/server/wm/DisplayContent;->updateImeParent()V
+HPLcom/android/server/wm/DisplayContent;->updateKeepClearAreas()V
+PLcom/android/server/wm/DisplayContent;->updateOrientation()Z
+PLcom/android/server/wm/DisplayContent;->updateOrientation(Lcom/android/server/wm/WindowContainer;Z)Landroid/content/res/Configuration;
+HPLcom/android/server/wm/DisplayContent;->updateOrientation(Z)Z
+HPLcom/android/server/wm/DisplayContent;->updateRecording()V
+PLcom/android/server/wm/DisplayContent;->updateRotationUnchecked()Z
+HPLcom/android/server/wm/DisplayContent;->updateSystemGestureExclusion()Z
+PLcom/android/server/wm/DisplayContent;->updateSystemGestureExclusionLimit()V
+HPLcom/android/server/wm/DisplayContent;->updateTouchExcludeRegion()V
+HPLcom/android/server/wm/DisplayContent;->updateWindowsForAnimator()V
+PLcom/android/server/wm/DisplayFrames;-><clinit>()V
+PLcom/android/server/wm/DisplayFrames;-><init>()V
+PLcom/android/server/wm/DisplayFrames;-><init>(Landroid/view/InsetsState;Landroid/view/DisplayInfo;Landroid/view/DisplayCutout;Landroid/view/RoundedCorners;Landroid/view/PrivacyIndicatorBounds;Landroid/view/DisplayShape;)V
+HPLcom/android/server/wm/DisplayFrames;->update(IIILandroid/view/DisplayCutout;Landroid/view/RoundedCorners;Landroid/view/PrivacyIndicatorBounds;Landroid/view/DisplayShape;)Z
+PLcom/android/server/wm/DisplayHashController$Handler;-><init>(Lcom/android/server/wm/DisplayHashController;Landroid/os/Looper;)V
+PLcom/android/server/wm/DisplayHashController;-><init>(Landroid/content/Context;)V
+PLcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda12;-><init>(Lcom/android/server/wm/DisplayPolicy;)V
+PLcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda12;->apply(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda13;-><init>(Lcom/android/server/wm/DisplayPolicy;Ljava/util/function/Consumer;)V
+PLcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda13;->run()V
+PLcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda14;-><init>()V
+HPLcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda14;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/wm/DisplayPolicy;)V
+PLcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda2;-><init>(Lcom/android/internal/policy/GestureNavigationSettingsObserver;)V
+PLcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda2;->run()V
+PLcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/wm/DisplayPolicy;)V
+PLcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda4;-><init>(Lcom/android/internal/policy/ForceShowNavBarSettingsObserver;)V
+PLcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda4;->run()V
+PLcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda8;-><init>(II[Lcom/android/internal/view/AppearanceRegion;ZIILjava/lang/String;[Lcom/android/internal/statusbar/LetterboxDetails;)V
+PLcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda8;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/DisplayPolicy$1$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/DisplayPolicy$1;)V
+PLcom/android/server/wm/DisplayPolicy$1$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/wm/DisplayPolicy$1;)V
+PLcom/android/server/wm/DisplayPolicy$1$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/wm/DisplayPolicy$1;)V
+PLcom/android/server/wm/DisplayPolicy$1$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/wm/DisplayPolicy$1;)V
+PLcom/android/server/wm/DisplayPolicy$1;-><init>(Lcom/android/server/wm/DisplayPolicy;)V
+PLcom/android/server/wm/DisplayPolicy$2$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/DisplayPolicy$2;JJ)V
+PLcom/android/server/wm/DisplayPolicy$2$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/wm/DisplayPolicy$2$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/wm/DisplayPolicy$2;I)V
+PLcom/android/server/wm/DisplayPolicy$2$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/wm/DisplayPolicy$2$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/wm/DisplayPolicy$2;I)V
+PLcom/android/server/wm/DisplayPolicy$2$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/wm/DisplayPolicy$2;I)V
+PLcom/android/server/wm/DisplayPolicy$2$$ExternalSyntheticLambda3;->run()V
+PLcom/android/server/wm/DisplayPolicy$2;->$r8$lambda$LNgePaZheD4TlU5IrmvA1klqhxA(Lcom/android/server/wm/DisplayPolicy$2;I)V
+PLcom/android/server/wm/DisplayPolicy$2;->$r8$lambda$_oCBJp-Ybw1Pg_ZtEZnsleQENV8(Lcom/android/server/wm/DisplayPolicy$2;JJ)V
+PLcom/android/server/wm/DisplayPolicy$2;->$r8$lambda$qveQftqQbx73evHdRr8UoP4AtdU(Lcom/android/server/wm/DisplayPolicy$2;I)V
+PLcom/android/server/wm/DisplayPolicy$2;-><init>(Lcom/android/server/wm/DisplayPolicy;I)V
+PLcom/android/server/wm/DisplayPolicy$2;->lambda$$0(I)V
+PLcom/android/server/wm/DisplayPolicy$2;->lambda$$2(I)V
+PLcom/android/server/wm/DisplayPolicy$2;->lambda$onAppTransitionStartingLocked$3(JJ)V
+PLcom/android/server/wm/DisplayPolicy$2;->onAppTransitionFinishedLocked(Landroid/os/IBinder;)V
+PLcom/android/server/wm/DisplayPolicy$2;->onAppTransitionPendingLocked()V
+PLcom/android/server/wm/DisplayPolicy$2;->onAppTransitionStartingLocked(JJ)I
+PLcom/android/server/wm/DisplayPolicy$3;-><init>(Lcom/android/server/wm/DisplayPolicy;)V
+PLcom/android/server/wm/DisplayPolicy$DecorInsets$Info;->-$$Nest$fgetmNeedUpdate(Lcom/android/server/wm/DisplayPolicy$DecorInsets$Info;)Z
+PLcom/android/server/wm/DisplayPolicy$DecorInsets$Info;-><init>()V
+HPLcom/android/server/wm/DisplayPolicy$DecorInsets$Info;->update(Lcom/android/server/wm/DisplayContent;III)Landroid/view/InsetsState;
+PLcom/android/server/wm/DisplayPolicy$DecorInsets;-><init>(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/DisplayPolicy$DecorInsets;->get(III)Lcom/android/server/wm/DisplayPolicy$DecorInsets$Info;
+PLcom/android/server/wm/DisplayPolicy$PolicyHandler;-><init>(Lcom/android/server/wm/DisplayPolicy;Landroid/os/Looper;)V
+PLcom/android/server/wm/DisplayPolicy;->$r8$lambda$S9Cw3H7Au_8y1didKjHd-o8hjOw(II[Lcom/android/internal/view/AppearanceRegion;ZIILjava/lang/String;[Lcom/android/internal/statusbar/LetterboxDetails;Lcom/android/server/statusbar/StatusBarManagerInternal;)V
+PLcom/android/server/wm/DisplayPolicy;->$r8$lambda$apsBX7VdE-wGYMlb3sIKMcyPkLk(Lcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/DisplayPolicy;->$r8$lambda$qTqmnzax3qYvwsMFcbv6VpXmHVI(Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayFrames;Lcom/android/server/wm/WindowContainer;Landroid/graphics/Rect;)Ljava/lang/Integer;
+PLcom/android/server/wm/DisplayPolicy;->$r8$lambda$t_gphUvbhCH7Bf26xg6TpoLO9Jg(Lcom/android/server/wm/DisplayPolicy;Ljava/util/function/Consumer;)V
+PLcom/android/server/wm/DisplayPolicy;->-$$Nest$fgetmContext(Lcom/android/server/wm/DisplayPolicy;)Landroid/content/Context;
+PLcom/android/server/wm/DisplayPolicy;->-$$Nest$fgetmHandler(Lcom/android/server/wm/DisplayPolicy;)Landroid/os/Handler;
+PLcom/android/server/wm/DisplayPolicy;-><clinit>()V
+HPLcom/android/server/wm/DisplayPolicy;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/DisplayPolicy;->addWindowLw(Lcom/android/server/wm/WindowState;Landroid/view/WindowManager$LayoutParams;)V
+HPLcom/android/server/wm/DisplayPolicy;->adjustWindowParamsLw(Lcom/android/server/wm/WindowState;Landroid/view/WindowManager$LayoutParams;)V
+HPLcom/android/server/wm/DisplayPolicy;->applyKeyguardPolicy(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)V
+HPLcom/android/server/wm/DisplayPolicy;->applyPostLayoutPolicyLw(Lcom/android/server/wm/WindowState;Landroid/view/WindowManager$LayoutParams;Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayPolicy;->areSystemBarsForcedConsumedLw()Z
+HPLcom/android/server/wm/DisplayPolicy;->areTypesForciblyShownTransiently(I)Z
+HPLcom/android/server/wm/DisplayPolicy;->beginPostLayoutPolicyLw()V
+PLcom/android/server/wm/DisplayPolicy;->callStatusBarSafely(Ljava/util/function/Consumer;)V
+HPLcom/android/server/wm/DisplayPolicy;->chooseNavigationBackgroundWindow(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;I)Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/DisplayPolicy;->chooseNavigationColorWindowLw(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;I)Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/DisplayPolicy;->clearNavBarOpaqueFlag(I)I
+HPLcom/android/server/wm/DisplayPolicy;->configureNavBarOpacity(IZZ)I
+HPLcom/android/server/wm/DisplayPolicy;->configureStatusBarOpacity(I)I
+PLcom/android/server/wm/DisplayPolicy;->drawsBarBackground(Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/DisplayPolicy;->finishKeyguardDrawn()Z
+HPLcom/android/server/wm/DisplayPolicy;->finishPostLayoutPolicyLw()V
+PLcom/android/server/wm/DisplayPolicy;->finishScreenTurningOn()Z
+PLcom/android/server/wm/DisplayPolicy;->finishWindowsDrawn()Z
+PLcom/android/server/wm/DisplayPolicy;->focusChangedLw(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayPolicy;->getContext()Landroid/content/Context;
+PLcom/android/server/wm/DisplayPolicy;->getCurrentUserResources()Landroid/content/res/Resources;
+PLcom/android/server/wm/DisplayPolicy;->getDecorInsetsInfo(III)Lcom/android/server/wm/DisplayPolicy$DecorInsets$Info;
+HPLcom/android/server/wm/DisplayPolicy;->getDisplayId()I
+PLcom/android/server/wm/DisplayPolicy;->getDockMode()I
+PLcom/android/server/wm/DisplayPolicy;->getImeSourceFrameProvider()Lcom/android/internal/util/function/TriFunction;
+HPLcom/android/server/wm/DisplayPolicy;->getInsetsPolicy()Lcom/android/server/wm/InsetsPolicy;
+PLcom/android/server/wm/DisplayPolicy;->getLidState()I
+HPLcom/android/server/wm/DisplayPolicy;->getNotificationShade()Lcom/android/server/wm/WindowState;
+HPLcom/android/server/wm/DisplayPolicy;->getRefreshRatePolicy()Lcom/android/server/wm/RefreshRatePolicy;
+PLcom/android/server/wm/DisplayPolicy;->getScreenOnListener()Lcom/android/server/policy/WindowManagerPolicy$ScreenOnListener;
+PLcom/android/server/wm/DisplayPolicy;->getStatusBar()Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/DisplayPolicy;->getStatusBarManagerInternal()Lcom/android/server/statusbar/StatusBarManagerInternal;
+PLcom/android/server/wm/DisplayPolicy;->getSystemUiContext()Landroid/content/Context;
+PLcom/android/server/wm/DisplayPolicy;->getTopFullscreenOpaqueWindow()Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/DisplayPolicy;->getWindowCornerRadius()F
+PLcom/android/server/wm/DisplayPolicy;->hasNavigationBar()Z
+HPLcom/android/server/wm/DisplayPolicy;->intersectsAnyInsets(Landroid/graphics/Rect;Landroid/view/InsetsState;I)Z
+PLcom/android/server/wm/DisplayPolicy;->isAwake()Z
+PLcom/android/server/wm/DisplayPolicy;->isCarDockEnablesAccelerometer()Z
+PLcom/android/server/wm/DisplayPolicy;->isDeskDockEnablesAccelerometer()Z
+PLcom/android/server/wm/DisplayPolicy;->isForceShowNavigationBarEnabled()Z
+PLcom/android/server/wm/DisplayPolicy;->isFullyTransparentAllowed(Lcom/android/server/wm/WindowState;I)Z
+PLcom/android/server/wm/DisplayPolicy;->isHdmiPlugged()Z
+HPLcom/android/server/wm/DisplayPolicy;->isImmersiveMode(Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/DisplayPolicy;->isKeyguardDrawComplete()Z
+PLcom/android/server/wm/DisplayPolicy;->isKeyguardOccluded()Z
+HPLcom/android/server/wm/DisplayPolicy;->isKeyguardShowing()Z
+HPLcom/android/server/wm/DisplayPolicy;->isOverlappingWithNavBar(Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/DisplayPolicy;->isPersistentVrModeEnabled()Z
+PLcom/android/server/wm/DisplayPolicy;->isRemoteInsetsControllerControllingSystemBars()Z
+PLcom/android/server/wm/DisplayPolicy;->isScreenOnEarly()Z
+PLcom/android/server/wm/DisplayPolicy;->isScreenOnFully()Z
+HPLcom/android/server/wm/DisplayPolicy;->isShowingDreamLw()Z
+PLcom/android/server/wm/DisplayPolicy;->isWindowExcludedFromContent(Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/DisplayPolicy;->isWindowManagerDrawComplete()Z
+PLcom/android/server/wm/DisplayPolicy;->lambda$callStatusBarSafely$8(Ljava/util/function/Consumer;)V
+PLcom/android/server/wm/DisplayPolicy;->lambda$getImeSourceFrameProvider$2(Lcom/android/server/wm/DisplayFrames;Lcom/android/server/wm/WindowContainer;Landroid/graphics/Rect;)Ljava/lang/Integer;
+PLcom/android/server/wm/DisplayPolicy;->lambda$updateSystemBarAttributes$7(II[Lcom/android/internal/view/AppearanceRegion;ZIILjava/lang/String;[Lcom/android/internal/statusbar/LetterboxDetails;Lcom/android/server/statusbar/StatusBarManagerInternal;)V
+HPLcom/android/server/wm/DisplayPolicy;->lambda$updateSystemBarsLw$9(Lcom/android/server/wm/Task;)Z
+HPLcom/android/server/wm/DisplayPolicy;->layoutWindowLw(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;Lcom/android/server/wm/DisplayFrames;)V
+HPLcom/android/server/wm/DisplayPolicy;->onConfigurationChanged()V
+PLcom/android/server/wm/DisplayPolicy;->onDisplayInfoChanged(Landroid/view/DisplayInfo;)V
+PLcom/android/server/wm/DisplayPolicy;->onSystemUiSettingsChanged()Z
+PLcom/android/server/wm/DisplayPolicy;->removeRelaunchingApp(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/DisplayPolicy;->removeWindowLw(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayPolicy;->resetSystemBarAttributes()V
+PLcom/android/server/wm/DisplayPolicy;->screenTurnedOn()V
+PLcom/android/server/wm/DisplayPolicy;->screenTurningOn(Lcom/android/server/policy/WindowManagerPolicy$ScreenOnListener;)V
+PLcom/android/server/wm/DisplayPolicy;->selectAnimation(Lcom/android/server/wm/WindowState;I)I
+PLcom/android/server/wm/DisplayPolicy;->setAwake(Z)V
+PLcom/android/server/wm/DisplayPolicy;->setDropInputModePolicy(Lcom/android/server/wm/WindowState;Landroid/view/WindowManager$LayoutParams;)V
+PLcom/android/server/wm/DisplayPolicy;->setHdmiPlugged(ZZ)V
+PLcom/android/server/wm/DisplayPolicy;->setLidState(I)V
+HPLcom/android/server/wm/DisplayPolicy;->shouldBeHiddenByKeyguard(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/DisplayPolicy;->simulateLayoutDisplay(Lcom/android/server/wm/DisplayFrames;)V
+PLcom/android/server/wm/DisplayPolicy;->systemReady()V
+HPLcom/android/server/wm/DisplayPolicy;->topAppHidesSystemBar(I)Z
+HPLcom/android/server/wm/DisplayPolicy;->updateConfigurationAndScreenSizeDependentBehaviors()V
+PLcom/android/server/wm/DisplayPolicy;->updateCurrentUserResources()V
+PLcom/android/server/wm/DisplayPolicy;->updateLightNavigationBarLw(ILcom/android/server/wm/WindowState;)I
+HPLcom/android/server/wm/DisplayPolicy;->updateSystemBarAttributes()V
+HPLcom/android/server/wm/DisplayPolicy;->updateSystemBarsLw(Lcom/android/server/wm/WindowState;I)I
+PLcom/android/server/wm/DisplayPolicy;->validateAddingWindowLw(Landroid/view/WindowManager$LayoutParams;II)I
+PLcom/android/server/wm/DisplayRotation$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/DisplayRotation;)V
+PLcom/android/server/wm/DisplayRotation$OrientationListener;-><init>(Lcom/android/server/wm/DisplayRotation;Landroid/content/Context;Landroid/os/Handler;I)V
+PLcom/android/server/wm/DisplayRotation$OrientationListener;->disable()V
+PLcom/android/server/wm/DisplayRotation$OrientationListener;->run()V
+PLcom/android/server/wm/DisplayRotation$RotationAnimationPair;-><init>()V
+PLcom/android/server/wm/DisplayRotation$RotationAnimationPair;-><init>(Lcom/android/server/wm/DisplayRotation$RotationAnimationPair-IA;)V
+PLcom/android/server/wm/DisplayRotation$RotationHistory;-><init>()V
+PLcom/android/server/wm/DisplayRotation$RotationHistory;-><init>(Lcom/android/server/wm/DisplayRotation$RotationHistory-IA;)V
+PLcom/android/server/wm/DisplayRotation$RotationLockHistory$Record;-><init>(IILjava/lang/String;)V
+PLcom/android/server/wm/DisplayRotation$RotationLockHistory$Record;-><init>(IILjava/lang/String;Lcom/android/server/wm/DisplayRotation$RotationLockHistory$Record-IA;)V
+PLcom/android/server/wm/DisplayRotation$RotationLockHistory;-><init>()V
+PLcom/android/server/wm/DisplayRotation$RotationLockHistory;-><init>(Lcom/android/server/wm/DisplayRotation$RotationLockHistory-IA;)V
+PLcom/android/server/wm/DisplayRotation$RotationLockHistory;->addRecord(IILjava/lang/String;)V
+PLcom/android/server/wm/DisplayRotation$SettingsObserver;-><init>(Lcom/android/server/wm/DisplayRotation;Landroid/os/Handler;)V
+PLcom/android/server/wm/DisplayRotation$SettingsObserver;->observe()V
+PLcom/android/server/wm/DisplayRotation$SettingsObserver;->onChange(Z)V
+PLcom/android/server/wm/DisplayRotation;->-$$Nest$fgetmContext(Lcom/android/server/wm/DisplayRotation;)Landroid/content/Context;
+PLcom/android/server/wm/DisplayRotation;->-$$Nest$mupdateSettings(Lcom/android/server/wm/DisplayRotation;)Z
+PLcom/android/server/wm/DisplayRotation;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;Landroid/view/DisplayAddress;Lcom/android/server/wm/DeviceStateController;Lcom/android/server/wm/DisplayRotationCoordinator;)V
+PLcom/android/server/wm/DisplayRotation;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;Landroid/view/DisplayAddress;Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayWindowSettings;Landroid/content/Context;Ljava/lang/Object;Lcom/android/server/wm/DeviceStateController;Lcom/android/server/wm/DisplayRotationCoordinator;)V
+HPLcom/android/server/wm/DisplayRotation;->configure(II)V
+PLcom/android/server/wm/DisplayRotation;->freezeRotation(ILjava/lang/String;)V
+PLcom/android/server/wm/DisplayRotation;->getDisplayPolicy()Lcom/android/server/wm/DisplayPolicy;
+PLcom/android/server/wm/DisplayRotation;->getRotation()I
+PLcom/android/server/wm/DisplayRotation;->initImmersiveAppCompatPolicy(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)Lcom/android/server/wm/DisplayRotationImmersiveAppCompatPolicy;
+PLcom/android/server/wm/DisplayRotation;->isFixedToUserRotation()Z
+PLcom/android/server/wm/DisplayRotation;->isRotatingSeamlessly()Z
+PLcom/android/server/wm/DisplayRotation;->isRotationFrozen()Z
+PLcom/android/server/wm/DisplayRotation;->markForSeamlessRotation(Lcom/android/server/wm/WindowState;Z)V
+PLcom/android/server/wm/DisplayRotation;->needSensorRunning()Z
+PLcom/android/server/wm/DisplayRotation;->onUserSwitch()V
+PLcom/android/server/wm/DisplayRotation;->readDefaultDisplayRotation(Landroid/view/DisplayAddress;Lcom/android/server/wm/DisplayContent;)I
+PLcom/android/server/wm/DisplayRotation;->readRotation(I)I
+PLcom/android/server/wm/DisplayRotation;->resetAllowAllRotations()V
+PLcom/android/server/wm/DisplayRotation;->restoreSettings(III)V
+HPLcom/android/server/wm/DisplayRotation;->rotationForOrientation(II)I
+PLcom/android/server/wm/DisplayRotation;->setFixedToUserRotation(I)V
+PLcom/android/server/wm/DisplayRotation;->setUserRotation(IILjava/lang/String;)V
+PLcom/android/server/wm/DisplayRotation;->updateOrientation(IZ)Z
+PLcom/android/server/wm/DisplayRotation;->updateOrientationListener()V
+HPLcom/android/server/wm/DisplayRotation;->updateOrientationListenerLw()V
+HPLcom/android/server/wm/DisplayRotation;->updateRotationUnchecked(Z)Z
+PLcom/android/server/wm/DisplayRotation;->updateSettings()Z
+PLcom/android/server/wm/DisplayRotation;->updateUserDependentConfiguration(Landroid/content/res/Resources;)V
+PLcom/android/server/wm/DisplayRotation;->useDefaultSettingsProvider()Z
+PLcom/android/server/wm/DisplayRotationCoordinator;-><init>()V
+PLcom/android/server/wm/DisplayRotationCoordinator;->isSecondaryInternalDisplay(Lcom/android/server/wm/DisplayContent;)Z
+PLcom/android/server/wm/DisplayRotationCoordinator;->setDefaultDisplayDefaultRotation(I)V
+PLcom/android/server/wm/DisplayRotationImmersiveAppCompatPolicy;->createIfNeeded(Lcom/android/server/wm/LetterboxConfiguration;Lcom/android/server/wm/DisplayRotation;Lcom/android/server/wm/DisplayContent;)Lcom/android/server/wm/DisplayRotationImmersiveAppCompatPolicy;
+PLcom/android/server/wm/DisplayRotationReversionController;-><init>(Lcom/android/server/wm/DisplayContent;)V
+HPLcom/android/server/wm/DisplayRotationReversionController;->isRotationReversionEnabled()Z
+PLcom/android/server/wm/DisplayWindowListenerController$$ExternalSyntheticLambda0;-><init>(Landroid/util/IntArray;)V
+PLcom/android/server/wm/DisplayWindowListenerController$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/DisplayWindowListenerController;->$r8$lambda$P8K3uBbEYTKb3aHmbBwg4TPLVDk(Landroid/util/IntArray;Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/DisplayWindowListenerController;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/DisplayWindowListenerController;->dispatchDisplayAdded(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/DisplayWindowListenerController;->dispatchDisplayChanged(Lcom/android/server/wm/DisplayContent;Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/DisplayWindowListenerController;->lambda$registerListener$0(Landroid/util/IntArray;Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/DisplayWindowListenerController;->registerListener(Landroid/view/IDisplayWindowListener;)[I
+PLcom/android/server/wm/DisplayWindowPolicyControllerHelper;-><init>(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/DisplayWindowPolicyControllerHelper;->canActivityBeLaunched(Landroid/content/pm/ActivityInfo;Landroid/content/Intent;IIZ)Z
+PLcom/android/server/wm/DisplayWindowPolicyControllerHelper;->canShowTasksInHostDeviceRecents()Z
+PLcom/android/server/wm/DisplayWindowPolicyControllerHelper;->hasController()Z
+PLcom/android/server/wm/DisplayWindowPolicyControllerHelper;->hasDisplayCategory(Landroid/content/pm/ActivityInfo;)Z
+PLcom/android/server/wm/DisplayWindowPolicyControllerHelper;->onRunningActivityChanged()V
+PLcom/android/server/wm/DisplayWindowSettings$SettingsProvider$SettingsEntry;-><init>()V
+PLcom/android/server/wm/DisplayWindowSettings$SettingsProvider$SettingsEntry;-><init>(Lcom/android/server/wm/DisplayWindowSettings$SettingsProvider$SettingsEntry;)V
+HPLcom/android/server/wm/DisplayWindowSettings$SettingsProvider$SettingsEntry;->setTo(Lcom/android/server/wm/DisplayWindowSettings$SettingsProvider$SettingsEntry;)Z
+PLcom/android/server/wm/DisplayWindowSettings;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayWindowSettings$SettingsProvider;)V
+PLcom/android/server/wm/DisplayWindowSettings;->applyRotationSettingsToDisplayLocked(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/DisplayWindowSettings;->applySettingsToDisplayLocked(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/DisplayWindowSettings;->applySettingsToDisplayLocked(Lcom/android/server/wm/DisplayContent;Z)V
+PLcom/android/server/wm/DisplayWindowSettings;->getImePolicyLocked(Lcom/android/server/wm/DisplayContent;)I
+PLcom/android/server/wm/DisplayWindowSettings;->getWindowingModeLocked(Lcom/android/server/wm/DisplayContent;)I
+PLcom/android/server/wm/DisplayWindowSettings;->getWindowingModeLocked(Lcom/android/server/wm/DisplayWindowSettings$SettingsProvider$SettingsEntry;Lcom/android/server/wm/DisplayContent;)I
+PLcom/android/server/wm/DisplayWindowSettings;->isHomeSupportedLocked(Lcom/android/server/wm/DisplayContent;)Z
+PLcom/android/server/wm/DisplayWindowSettings;->updateSettingsForDisplay(Lcom/android/server/wm/DisplayContent;)Z
+PLcom/android/server/wm/DisplayWindowSettingsProvider$AtomicFileStorage;-><init>(Landroid/util/AtomicFile;)V
+PLcom/android/server/wm/DisplayWindowSettingsProvider$AtomicFileStorage;->openRead()Ljava/io/InputStream;
+PLcom/android/server/wm/DisplayWindowSettingsProvider$FileData;-><init>()V
+PLcom/android/server/wm/DisplayWindowSettingsProvider$FileData;-><init>(Lcom/android/server/wm/DisplayWindowSettingsProvider$FileData-IA;)V
+PLcom/android/server/wm/DisplayWindowSettingsProvider$ReadableSettings;-><init>(Lcom/android/server/wm/DisplayWindowSettingsProvider$ReadableSettingsStorage;)V
+PLcom/android/server/wm/DisplayWindowSettingsProvider$ReadableSettings;->getIdentifier(Landroid/view/DisplayInfo;)Ljava/lang/String;
+PLcom/android/server/wm/DisplayWindowSettingsProvider$ReadableSettings;->getSettingsEntry(Landroid/view/DisplayInfo;)Lcom/android/server/wm/DisplayWindowSettings$SettingsProvider$SettingsEntry;
+PLcom/android/server/wm/DisplayWindowSettingsProvider$ReadableSettings;->loadSettings(Lcom/android/server/wm/DisplayWindowSettingsProvider$ReadableSettingsStorage;)V
+PLcom/android/server/wm/DisplayWindowSettingsProvider$WritableSettings;-><init>(Lcom/android/server/wm/DisplayWindowSettingsProvider$WritableSettingsStorage;)V
+PLcom/android/server/wm/DisplayWindowSettingsProvider$WritableSettings;->getOrCreateSettingsEntry(Landroid/view/DisplayInfo;)Lcom/android/server/wm/DisplayWindowSettings$SettingsProvider$SettingsEntry;
+PLcom/android/server/wm/DisplayWindowSettingsProvider;->-$$Nest$smreadSettings(Lcom/android/server/wm/DisplayWindowSettingsProvider$ReadableSettingsStorage;)Lcom/android/server/wm/DisplayWindowSettingsProvider$FileData;
+PLcom/android/server/wm/DisplayWindowSettingsProvider;-><init>()V
+PLcom/android/server/wm/DisplayWindowSettingsProvider;-><init>(Lcom/android/server/wm/DisplayWindowSettingsProvider$ReadableSettingsStorage;Lcom/android/server/wm/DisplayWindowSettingsProvider$WritableSettingsStorage;)V
+PLcom/android/server/wm/DisplayWindowSettingsProvider;->getBooleanAttribute(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
+PLcom/android/server/wm/DisplayWindowSettingsProvider;->getIntAttribute(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;I)I
+PLcom/android/server/wm/DisplayWindowSettingsProvider;->getIntegerAttribute(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;Ljava/lang/Integer;)Ljava/lang/Integer;
+PLcom/android/server/wm/DisplayWindowSettingsProvider;->getOverrideSettingsFile()Landroid/util/AtomicFile;
+PLcom/android/server/wm/DisplayWindowSettingsProvider;->getSettings(Landroid/view/DisplayInfo;)Lcom/android/server/wm/DisplayWindowSettings$SettingsProvider$SettingsEntry;
+PLcom/android/server/wm/DisplayWindowSettingsProvider;->getVendorSettingsFile()Landroid/util/AtomicFile;
+PLcom/android/server/wm/DisplayWindowSettingsProvider;->readConfig(Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/server/wm/DisplayWindowSettingsProvider$FileData;)V
+PLcom/android/server/wm/DisplayWindowSettingsProvider;->readDisplay(Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/server/wm/DisplayWindowSettingsProvider$FileData;)V
+PLcom/android/server/wm/DisplayWindowSettingsProvider;->readSettings(Lcom/android/server/wm/DisplayWindowSettingsProvider$ReadableSettingsStorage;)Lcom/android/server/wm/DisplayWindowSettingsProvider$FileData;
+PLcom/android/server/wm/DragDropController$1;-><init>(Lcom/android/server/wm/DragDropController;)V
+PLcom/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;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/os/Looper;)V
+HPLcom/android/server/wm/DragDropController;->dragDropActiveLocked()Z
+PLcom/android/server/wm/EmbeddedWindowController$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/EmbeddedWindowController;Landroid/os/IBinder;Landroid/window/InputTransferToken;)V
+PLcom/android/server/wm/EmbeddedWindowController$EmbeddedWindow;-><init>(Lcom/android/server/wm/Session;Lcom/android/server/wm/WindowManagerService;Landroid/os/IBinder;Lcom/android/server/wm/WindowState;IIIILandroid/window/InputTransferToken;Ljava/lang/String;Z)V
+PLcom/android/server/wm/EmbeddedWindowController$EmbeddedWindow;->getApplicationHandle()Landroid/view/InputApplicationHandle;
+PLcom/android/server/wm/EmbeddedWindowController$EmbeddedWindow;->getInputTransferToken()Landroid/window/InputTransferToken;
+PLcom/android/server/wm/EmbeddedWindowController$EmbeddedWindow;->getWindowToken()Landroid/os/IBinder;
+PLcom/android/server/wm/EmbeddedWindowController$EmbeddedWindow;->openInputChannel(Landroid/view/InputChannel;)V
+PLcom/android/server/wm/EmbeddedWindowController$EmbeddedWindow;->toString()Ljava/lang/String;
+PLcom/android/server/wm/EmbeddedWindowController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V
+PLcom/android/server/wm/EmbeddedWindowController;->add(Landroid/os/IBinder;Lcom/android/server/wm/EmbeddedWindowController$EmbeddedWindow;)V
+PLcom/android/server/wm/EmbeddedWindowController;->get(Landroid/os/IBinder;)Lcom/android/server/wm/EmbeddedWindowController$EmbeddedWindow;
+PLcom/android/server/wm/EmbeddedWindowController;->onWindowRemoved(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/EmbeddedWindowController;->updateProcessController(Lcom/android/server/wm/EmbeddedWindowController$EmbeddedWindow;)V
+PLcom/android/server/wm/EnsureActivitiesVisibleHelper;-><init>(Lcom/android/server/wm/TaskFragment;)V
+PLcom/android/server/wm/EnsureActivitiesVisibleHelper;->makeVisibleAndRestartIfNeeded(Lcom/android/server/wm/ActivityRecord;ZLcom/android/server/wm/ActivityRecord;)V
+HPLcom/android/server/wm/EnsureActivitiesVisibleHelper;->process(Lcom/android/server/wm/ActivityRecord;Z)V
+HPLcom/android/server/wm/EnsureActivitiesVisibleHelper;->reset(Lcom/android/server/wm/ActivityRecord;Z)V
+HPLcom/android/server/wm/EnsureActivitiesVisibleHelper;->setActivityVisibilityState(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Z)V
+PLcom/android/server/wm/EventLogTags;->writeWmAddToStopping(IILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/wm/EventLogTags;->writeWmBootAnimationDone(J)V
+PLcom/android/server/wm/EventLogTags;->writeWmCreateTask(IIII)V
+PLcom/android/server/wm/EventLogTags;->writeWmPauseActivity(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/wm/EventLogTags;->writeWmRestartActivity(IIILjava/lang/String;)V
+PLcom/android/server/wm/EventLogTags;->writeWmSetResumedActivity(ILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/wm/EventLogTags;->writeWmStopActivity(IILjava/lang/String;)V
+PLcom/android/server/wm/EventLogTags;->writeWmTaskCreated(I)V
+PLcom/android/server/wm/EventLogTags;->writeWmTaskMoved(IIIII)V
+PLcom/android/server/wm/EventLogTags;->writeWmTaskToFront(III)V
+PLcom/android/server/wm/HighRefreshRateDenylist$OnPropertiesChangedListener;-><init>(Lcom/android/server/wm/HighRefreshRateDenylist;)V
+PLcom/android/server/wm/HighRefreshRateDenylist$OnPropertiesChangedListener;-><init>(Lcom/android/server/wm/HighRefreshRateDenylist;Lcom/android/server/wm/HighRefreshRateDenylist$OnPropertiesChangedListener-IA;)V
+PLcom/android/server/wm/HighRefreshRateDenylist;-><init>(Landroid/content/res/Resources;Landroid/provider/DeviceConfigInterface;)V
+PLcom/android/server/wm/HighRefreshRateDenylist;->create(Landroid/content/res/Resources;)Lcom/android/server/wm/HighRefreshRateDenylist;
+HPLcom/android/server/wm/HighRefreshRateDenylist;->isDenylisted(Ljava/lang/String;)Z
+PLcom/android/server/wm/HighRefreshRateDenylist;->updateDenylist(Ljava/lang/String;)V
+PLcom/android/server/wm/ImeInsetsSourceProvider;-><init>(Landroid/view/InsetsSource;Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/DisplayContent;)V
+HPLcom/android/server/wm/ImeInsetsSourceProvider;->checkShowImePostLayout()V
+PLcom/android/server/wm/ImeInsetsSourceProvider;->getControl(Lcom/android/server/wm/InsetsControlTarget;)Landroid/view/InsetsSourceControl;
+PLcom/android/server/wm/ImeInsetsSourceProvider;->isReadyToShowIme()Z
+PLcom/android/server/wm/ImeInsetsSourceProvider;->onSourceChanged()V
+PLcom/android/server/wm/ImeInsetsSourceProvider;->setClientVisible(Z)V
+PLcom/android/server/wm/ImeInsetsSourceProvider;->setFrozen(Z)V
+PLcom/android/server/wm/ImeInsetsSourceProvider;->setServerVisible(Z)V
+PLcom/android/server/wm/ImeInsetsSourceProvider;->updateClientVisibility(Lcom/android/server/wm/InsetsControlTarget;)Z
+PLcom/android/server/wm/ImeInsetsSourceProvider;->updateControlForTarget(Lcom/android/server/wm/InsetsControlTarget;Z)V
+PLcom/android/server/wm/ImeInsetsSourceProvider;->updateSourceFrame(Landroid/graphics/Rect;)V
+PLcom/android/server/wm/ImeInsetsSourceProvider;->updateVisibility()V
+PLcom/android/server/wm/ImeTargetVisibilityPolicy;-><init>()V
+PLcom/android/server/wm/ImeTargetVisibilityPolicy;->canComputeImeParent(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/InputTarget;)Z
+PLcom/android/server/wm/ImeTargetVisibilityPolicy;->shouldComputeImeParentForEmbeddedActivity(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/InputTarget;)Z
+PLcom/android/server/wm/ImmersiveModeConfirmation$1;-><init>(Lcom/android/server/wm/ImmersiveModeConfirmation;)V
+PLcom/android/server/wm/ImmersiveModeConfirmation$H;-><init>(Lcom/android/server/wm/ImmersiveModeConfirmation;Landroid/os/Looper;)V
+PLcom/android/server/wm/ImmersiveModeConfirmation;-><init>(Landroid/content/Context;Landroid/os/Looper;ZZ)V
+PLcom/android/server/wm/ImmersiveModeConfirmation;->loadSetting(ILandroid/content/Context;)Z
+PLcom/android/server/wm/ImmersiveModeConfirmation;->onSettingChanged(I)Z
+PLcom/android/server/wm/InputConfigAdapter$FlagMapping;-><init>(IIZ)V
+PLcom/android/server/wm/InputConfigAdapter;-><clinit>()V
+HPLcom/android/server/wm/InputConfigAdapter;->applyMapping(ILjava/util/List;)I
+PLcom/android/server/wm/InputConfigAdapter;->computeMask(Ljava/util/List;)I
+HPLcom/android/server/wm/InputConfigAdapter;->getInputConfigFromWindowParams(III)I
+HPLcom/android/server/wm/InputConfigAdapter;->getMask()I
+PLcom/android/server/wm/InputManagerCallback$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/wm/InputManagerCallback$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/InputManagerCallback$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/InputManagerCallback$$ExternalSyntheticLambda2;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/InputManagerCallback;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/InputManagerCallback;->createSurfaceForGestureMonitor(Ljava/lang/String;I)Landroid/view/SurfaceControl;
+PLcom/android/server/wm/InputManagerCallback;->getPointerDisplayId()I
+PLcom/android/server/wm/InputManagerCallback;->notifyConfigurationChanged()V
+PLcom/android/server/wm/InputManagerCallback;->notifyFocusChanged(Landroid/os/IBinder;Landroid/os/IBinder;)V
+PLcom/android/server/wm/InputManagerCallback;->notifyLidSwitchChanged(JZ)V
+PLcom/android/server/wm/InputManagerCallback;->notifyPointerLocationChanged(Z)V
+PLcom/android/server/wm/InputManagerCallback;->setEventDispatchingLw(Z)V
+PLcom/android/server/wm/InputManagerCallback;->updateInputDispatchModeLw()V
+PLcom/android/server/wm/InputManagerCallback;->waitForInputDevicesReady(J)Z
+PLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;->-$$Nest$mupdateInputWindows(Lcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;Z)V
+PLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;-><init>(Lcom/android/server/wm/InputMonitor;)V
+PLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;-><init>(Lcom/android/server/wm/InputMonitor;Lcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer-IA;)V
+HPLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;->accept(Lcom/android/server/wm/WindowState;)V
+HPLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;->accept(Ljava/lang/Object;)V
+HPLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;->updateInputWindows(Z)V
+PLcom/android/server/wm/InputMonitor$UpdateInputWindows;-><init>(Lcom/android/server/wm/InputMonitor;)V
+PLcom/android/server/wm/InputMonitor$UpdateInputWindows;-><init>(Lcom/android/server/wm/InputMonitor;Lcom/android/server/wm/InputMonitor$UpdateInputWindows-IA;)V
+HPLcom/android/server/wm/InputMonitor$UpdateInputWindows;->run()V
+PLcom/android/server/wm/InputMonitor;->-$$Nest$fgetmActiveRecentsActivity(Lcom/android/server/wm/InputMonitor;)Ljava/lang/ref/WeakReference;
+PLcom/android/server/wm/InputMonitor;->-$$Nest$fgetmDisplayContent(Lcom/android/server/wm/InputMonitor;)Lcom/android/server/wm/DisplayContent;
+PLcom/android/server/wm/InputMonitor;->-$$Nest$fgetmDisplayRemoved(Lcom/android/server/wm/InputMonitor;)Z
+HPLcom/android/server/wm/InputMonitor;->-$$Nest$fgetmInputTransaction(Lcom/android/server/wm/InputMonitor;)Landroid/view/SurfaceControl$Transaction;
+PLcom/android/server/wm/InputMonitor;->-$$Nest$fgetmService(Lcom/android/server/wm/InputMonitor;)Lcom/android/server/wm/WindowManagerService;
+PLcom/android/server/wm/InputMonitor;->-$$Nest$fgetmUpdateInputForAllWindowsConsumer(Lcom/android/server/wm/InputMonitor;)Lcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;
+PLcom/android/server/wm/InputMonitor;->-$$Nest$fgetmUpdateInputWindowsImmediately(Lcom/android/server/wm/InputMonitor;)Z
+PLcom/android/server/wm/InputMonitor;->-$$Nest$fputmUpdateInputWindowsNeeded(Lcom/android/server/wm/InputMonitor;Z)V
+PLcom/android/server/wm/InputMonitor;->-$$Nest$fputmUpdateInputWindowsPending(Lcom/android/server/wm/InputMonitor;Z)V
+PLcom/android/server/wm/InputMonitor;->-$$Nest$mupdateInputFocusRequest(Lcom/android/server/wm/InputMonitor;Lcom/android/server/wm/InputConsumerImpl;)V
+PLcom/android/server/wm/InputMonitor;->-$$Nest$smgetWeak(Ljava/lang/ref/WeakReference;)Ljava/lang/Object;
+PLcom/android/server/wm/InputMonitor;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
+HPLcom/android/server/wm/InputMonitor;->getInputConsumer(Ljava/lang/String;)Lcom/android/server/wm/InputConsumerImpl;
+PLcom/android/server/wm/InputMonitor;->getWeak(Ljava/lang/ref/WeakReference;)Ljava/lang/Object;
+PLcom/android/server/wm/InputMonitor;->isTrustedOverlay(I)Z
+PLcom/android/server/wm/InputMonitor;->layoutInputConsumers(II)V
+PLcom/android/server/wm/InputMonitor;->pauseDispatchingLw(Lcom/android/server/wm/WindowToken;)V
+HPLcom/android/server/wm/InputMonitor;->populateInputWindowHandle(Lcom/android/server/wm/InputWindowHandleWrapper;Lcom/android/server/wm/WindowState;)V
+HPLcom/android/server/wm/InputMonitor;->populateOverlayInputInfo(Lcom/android/server/wm/InputWindowHandleWrapper;)V
+PLcom/android/server/wm/InputMonitor;->populateOverlayInputInfo(Lcom/android/server/wm/InputWindowHandleWrapper;Lcom/android/server/wm/WindowState;)V
+HPLcom/android/server/wm/InputMonitor;->requestFocus(Landroid/os/IBinder;Ljava/lang/String;)V
+HPLcom/android/server/wm/InputMonitor;->resetInputConsumers(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/InputMonitor;->resumeDispatchingLw(Lcom/android/server/wm/WindowToken;)V
+HPLcom/android/server/wm/InputMonitor;->scheduleUpdateInputWindows()V
+PLcom/android/server/wm/InputMonitor;->setFocusedAppLw(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/InputMonitor;->setInputFocusLw(Lcom/android/server/wm/WindowState;Z)V
+HPLcom/android/server/wm/InputMonitor;->setInputWindowInfoIfNeeded(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;Lcom/android/server/wm/InputWindowHandleWrapper;)V
+PLcom/android/server/wm/InputMonitor;->setUpdateInputWindowsNeededLw()V
+HPLcom/android/server/wm/InputMonitor;->updateInputFocusRequest(Lcom/android/server/wm/InputConsumerImpl;)V
+HPLcom/android/server/wm/InputMonitor;->updateInputWindowsLw(Z)V
+PLcom/android/server/wm/InputWindowHandleWrapper;-><init>(Landroid/view/InputWindowHandle;)V
+PLcom/android/server/wm/InputWindowHandleWrapper;->applyChangesToSurface(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;)V
+PLcom/android/server/wm/InputWindowHandleWrapper;->clearTouchableRegion()V
+PLcom/android/server/wm/InputWindowHandleWrapper;->forceChange()V
+PLcom/android/server/wm/InputWindowHandleWrapper;->getInputApplicationHandle()Landroid/view/InputApplicationHandle;
+HPLcom/android/server/wm/InputWindowHandleWrapper;->hasWallpaper()Z
+PLcom/android/server/wm/InputWindowHandleWrapper;->isChanged()Z
+HPLcom/android/server/wm/InputWindowHandleWrapper;->isFocusable()Z
+HPLcom/android/server/wm/InputWindowHandleWrapper;->isPaused()Z
+HPLcom/android/server/wm/InputWindowHandleWrapper;->setDispatchingTimeoutMillis(J)V
+HPLcom/android/server/wm/InputWindowHandleWrapper;->setDisplayId(I)V
+HPLcom/android/server/wm/InputWindowHandleWrapper;->setFocusable(Z)V
+HPLcom/android/server/wm/InputWindowHandleWrapper;->setHasWallpaper(Z)V
+HPLcom/android/server/wm/InputWindowHandleWrapper;->setInputApplicationHandle(Landroid/view/InputApplicationHandle;)V
+HPLcom/android/server/wm/InputWindowHandleWrapper;->setInputConfigMasked(II)V
+HPLcom/android/server/wm/InputWindowHandleWrapper;->setLayoutParamsFlags(I)V
+HPLcom/android/server/wm/InputWindowHandleWrapper;->setLayoutParamsType(I)V
+HPLcom/android/server/wm/InputWindowHandleWrapper;->setName(Ljava/lang/String;)V
+PLcom/android/server/wm/InputWindowHandleWrapper;->setOwnerPid(I)V
+PLcom/android/server/wm/InputWindowHandleWrapper;->setOwnerUid(I)V
+PLcom/android/server/wm/InputWindowHandleWrapper;->setPackageName(Ljava/lang/String;)V
+HPLcom/android/server/wm/InputWindowHandleWrapper;->setPaused(Z)V
+HPLcom/android/server/wm/InputWindowHandleWrapper;->setReplaceTouchableRegionWithCrop(Z)V
+HPLcom/android/server/wm/InputWindowHandleWrapper;->setScaleFactor(F)V
+HPLcom/android/server/wm/InputWindowHandleWrapper;->setSurfaceInset(I)V
+HPLcom/android/server/wm/InputWindowHandleWrapper;->setToken(Landroid/os/IBinder;)V
+HPLcom/android/server/wm/InputWindowHandleWrapper;->setTouchOcclusionMode(I)V
+HPLcom/android/server/wm/InputWindowHandleWrapper;->setTouchableRegion(Landroid/graphics/Region;)V
+HPLcom/android/server/wm/InputWindowHandleWrapper;->setTouchableRegionCrop(Landroid/view/SurfaceControl;)V
+HPLcom/android/server/wm/InputWindowHandleWrapper;->setWindowToken(Landroid/os/IBinder;)V
+PLcom/android/server/wm/InsetsControlTarget;->asWindowOrNull(Lcom/android/server/wm/InsetsControlTarget;)Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/InsetsControlTarget;->getWindow()Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/InsetsControlTarget;->isRequestedVisible(I)Z
+PLcom/android/server/wm/InsetsPolicy$BarWindow;->-$$Nest$mupdateVisibility(Lcom/android/server/wm/InsetsPolicy$BarWindow;Lcom/android/server/wm/InsetsControlTarget;I)V
+PLcom/android/server/wm/InsetsPolicy$BarWindow;-><init>(Lcom/android/server/wm/InsetsPolicy;I)V
+PLcom/android/server/wm/InsetsPolicy$BarWindow;->setVisible(Z)V
+HPLcom/android/server/wm/InsetsPolicy$BarWindow;->updateVisibility(Lcom/android/server/wm/InsetsControlTarget;I)V
+PLcom/android/server/wm/InsetsPolicy$ControlTarget;-><init>(Lcom/android/server/wm/DisplayContent;Ljava/lang/String;)V
+PLcom/android/server/wm/InsetsPolicy$Host;-><init>(Landroid/os/Handler;Ljava/lang/String;)V
+PLcom/android/server/wm/InsetsPolicy$Host;->getHandler()Landroid/os/Handler;
+PLcom/android/server/wm/InsetsPolicy;-><clinit>()V
+PLcom/android/server/wm/InsetsPolicy;-><init>(Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/InsetsPolicy;->abortTransient()V
+HPLcom/android/server/wm/InsetsPolicy;->adjustInsetsForRoundedCorners(Lcom/android/server/wm/WindowToken;Landroid/view/InsetsState;Z)Landroid/view/InsetsState;
+HPLcom/android/server/wm/InsetsPolicy;->adjustInsetsForWindow(Lcom/android/server/wm/WindowState;Landroid/view/InsetsState;Z)Landroid/view/InsetsState;
+HPLcom/android/server/wm/InsetsPolicy;->adjustVisibilityForFakeControllingSources(Landroid/view/InsetsState;)Landroid/view/InsetsState;
+HPLcom/android/server/wm/InsetsPolicy;->adjustVisibilityForIme(Lcom/android/server/wm/WindowState;Landroid/view/InsetsState;Z)Landroid/view/InsetsState;
+HPLcom/android/server/wm/InsetsPolicy;->areTypesForciblyShowing(I)Z
+HPLcom/android/server/wm/InsetsPolicy;->canBeTopFullscreenOpaqueWindow(Lcom/android/server/wm/WindowState;)Z
+HPLcom/android/server/wm/InsetsPolicy;->enforceInsetsPolicyForTarget(Landroid/view/WindowManager$LayoutParams;IZLandroid/view/InsetsState;)Landroid/view/InsetsState;
+HPLcom/android/server/wm/InsetsPolicy;->forceShowingNavigationBars(Lcom/android/server/wm/WindowState;)Z
+HPLcom/android/server/wm/InsetsPolicy;->getNavControlTarget(Lcom/android/server/wm/WindowState;Z)Lcom/android/server/wm/InsetsControlTarget;
+HPLcom/android/server/wm/InsetsPolicy;->getStatusControlTarget(Lcom/android/server/wm/WindowState;Z)Lcom/android/server/wm/InsetsControlTarget;
+HPLcom/android/server/wm/InsetsPolicy;->hasHiddenSources(I)Z
+PLcom/android/server/wm/InsetsPolicy;->isTransient(I)Z
+HPLcom/android/server/wm/InsetsPolicy;->remoteInsetsControllerControlsSystemBars(Lcom/android/server/wm/WindowState;)Z
+HPLcom/android/server/wm/InsetsPolicy;->updateBarControlTarget(Lcom/android/server/wm/WindowState;)V
+HPLcom/android/server/wm/InsetsPolicy;->updateSystemBars(Lcom/android/server/wm/WindowState;ZZ)V
+PLcom/android/server/wm/InsetsSourceProvider$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/InsetsSourceProvider;)V
+PLcom/android/server/wm/InsetsSourceProvider$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/InsetsSourceProvider$ControlAdapter;->-$$Nest$fgetmCapturedLeash(Lcom/android/server/wm/InsetsSourceProvider$ControlAdapter;)Landroid/view/SurfaceControl;
+PLcom/android/server/wm/InsetsSourceProvider$ControlAdapter;-><init>(Lcom/android/server/wm/InsetsSourceProvider;Landroid/graphics/Point;)V
+PLcom/android/server/wm/InsetsSourceProvider$ControlAdapter;->onAnimationCancelled(Landroid/view/SurfaceControl;)V
+PLcom/android/server/wm/InsetsSourceProvider$ControlAdapter;->startAnimation(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl$Transaction;ILcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;)V
+PLcom/android/server/wm/InsetsSourceProvider;->$r8$lambda$Dei2KOKOm-G-kdAHiqmNNHB9JPM(Lcom/android/server/wm/InsetsSourceProvider;Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/InsetsSourceProvider;->-$$Nest$fgetmAdapter(Lcom/android/server/wm/InsetsSourceProvider;)Lcom/android/server/wm/InsetsSourceProvider$ControlAdapter;
+PLcom/android/server/wm/InsetsSourceProvider;->-$$Nest$fgetmCropToProvidingInsets(Lcom/android/server/wm/InsetsSourceProvider;)Z
+PLcom/android/server/wm/InsetsSourceProvider;-><clinit>()V
+PLcom/android/server/wm/InsetsSourceProvider;-><init>(Landroid/view/InsetsSource;Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/DisplayContent;)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;->getInsetsHint()Landroid/graphics/Insets;
+PLcom/android/server/wm/InsetsSourceProvider;->getSource()Landroid/view/InsetsSource;
+HPLcom/android/server/wm/InsetsSourceProvider;->getWindowFrameSurfacePosition()Landroid/graphics/Point;
+PLcom/android/server/wm/InsetsSourceProvider;->isClientVisible()Z
+PLcom/android/server/wm/InsetsSourceProvider;->isControllable()Z
+PLcom/android/server/wm/InsetsSourceProvider;->lambda$new$0(Landroid/view/SurfaceControl$Transaction;)V
+HPLcom/android/server/wm/InsetsSourceProvider;->onPostLayout()V
+PLcom/android/server/wm/InsetsSourceProvider;->onSurfaceTransactionApplied()V
+HPLcom/android/server/wm/InsetsSourceProvider;->overridesFrame(I)Z
+PLcom/android/server/wm/InsetsSourceProvider;->setClientVisible(Z)V
+PLcom/android/server/wm/InsetsSourceProvider;->setFlags(II)Z
+PLcom/android/server/wm/InsetsSourceProvider;->setServerVisible(Z)V
+PLcom/android/server/wm/InsetsSourceProvider;->setWindowContainer(Lcom/android/server/wm/WindowContainer;Lcom/android/internal/util/function/TriFunction;Landroid/util/SparseArray;)V
+PLcom/android/server/wm/InsetsSourceProvider;->updateClientVisibility(Lcom/android/server/wm/InsetsControlTarget;)Z
+HPLcom/android/server/wm/InsetsSourceProvider;->updateControlForTarget(Lcom/android/server/wm/InsetsControlTarget;Z)V
+HPLcom/android/server/wm/InsetsSourceProvider;->updateSourceFrame(Landroid/graphics/Rect;)V
+HPLcom/android/server/wm/InsetsSourceProvider;->updateSourceFrameForServerVisibility()V
+PLcom/android/server/wm/InsetsSourceProvider;->updateVisibility()V
+PLcom/android/server/wm/InsetsStateController$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/InsetsStateController;)V
+PLcom/android/server/wm/InsetsStateController$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/wm/InsetsStateController$$ExternalSyntheticLambda2;-><init>()V
+PLcom/android/server/wm/InsetsStateController$$ExternalSyntheticLambda3;-><init>()V
+PLcom/android/server/wm/InsetsStateController$$ExternalSyntheticLambda3;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/wm/InsetsStateController$1$$ExternalSyntheticLambda0;-><init>(I)V
+PLcom/android/server/wm/InsetsStateController$1$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/wm/InsetsStateController$1;->$r8$lambda$UjLlQbcGcYIO1UklJ0WxgRK60HM(I)V
+PLcom/android/server/wm/InsetsStateController$1;-><init>(Lcom/android/server/wm/InsetsStateController;)V
+PLcom/android/server/wm/InsetsStateController$1;->lambda$notifyInsetsControlChanged$0(I)V
+PLcom/android/server/wm/InsetsStateController$1;->notifyInsetsControlChanged(I)V
+PLcom/android/server/wm/InsetsStateController;->$r8$lambda$MnP7XA1MDcyrUwoj0hcoT5hTO8E(Lcom/android/server/wm/InsetsStateController;)V
+PLcom/android/server/wm/InsetsStateController;->$r8$lambda$TzYyjwJniEoBgyDjbMpQVgjWyYo(Lcom/android/server/wm/InsetsControlTarget;)Ljava/util/ArrayList;
+PLcom/android/server/wm/InsetsStateController;->-$$Nest$fgetmDisplayContent(Lcom/android/server/wm/InsetsStateController;)Lcom/android/server/wm/DisplayContent;
+PLcom/android/server/wm/InsetsStateController;-><init>(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/InsetsStateController;->addToControlMaps(Lcom/android/server/wm/InsetsControlTarget;Lcom/android/server/wm/InsetsSourceProvider;Z)V
+HPLcom/android/server/wm/InsetsStateController;->getControlsForDispatch(Lcom/android/server/wm/InsetsControlTarget;)[Landroid/view/InsetsSourceControl;
+HPLcom/android/server/wm/InsetsStateController;->getImeSourceProvider()Lcom/android/server/wm/ImeInsetsSourceProvider;
+HPLcom/android/server/wm/InsetsStateController;->getOrCreateSourceProvider(II)Lcom/android/server/wm/InsetsSourceProvider;
+PLcom/android/server/wm/InsetsStateController;->getRawInsetsState()Landroid/view/InsetsState;
+HPLcom/android/server/wm/InsetsStateController;->getSourceProviders()Landroid/util/SparseArray;
+PLcom/android/server/wm/InsetsStateController;->lambda$addToControlMaps$2(Lcom/android/server/wm/InsetsControlTarget;)Ljava/util/ArrayList;
+HPLcom/android/server/wm/InsetsStateController;->lambda$notifyPendingInsetsControlChanged$3()V
+PLcom/android/server/wm/InsetsStateController;->notifyControlChanged(Lcom/android/server/wm/InsetsControlTarget;)V
+PLcom/android/server/wm/InsetsStateController;->notifyInsetsChanged()V
+HPLcom/android/server/wm/InsetsStateController;->notifyPendingInsetsControlChanged()V
+HPLcom/android/server/wm/InsetsStateController;->onBarControlTargetChanged(Lcom/android/server/wm/InsetsControlTarget;Lcom/android/server/wm/InsetsControlTarget;Lcom/android/server/wm/InsetsControlTarget;Lcom/android/server/wm/InsetsControlTarget;)V
+PLcom/android/server/wm/InsetsStateController;->onControlTargetChanged(Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/InsetsControlTarget;Z)V
+PLcom/android/server/wm/InsetsStateController;->onImeControlTargetChanged(Lcom/android/server/wm/InsetsControlTarget;)V
+HPLcom/android/server/wm/InsetsStateController;->onPostLayout()V
+PLcom/android/server/wm/InsetsStateController;->onRequestedVisibleTypesChanged(Lcom/android/server/wm/InsetsControlTarget;)V
+PLcom/android/server/wm/InsetsStateController;->removeFromControlMaps(Lcom/android/server/wm/InsetsControlTarget;Lcom/android/server/wm/InsetsSourceProvider;Z)V
+PLcom/android/server/wm/InsetsStateController;->setForcedConsumingTypes(I)V
+HPLcom/android/server/wm/InsetsStateController;->updateAboveInsetsState(Z)V
+HSPLcom/android/server/wm/KeyguardController$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/KeyguardController;)V
+PLcom/android/server/wm/KeyguardController$KeyguardDisplayState$$ExternalSyntheticLambda0;-><init>()V
+HPLcom/android/server/wm/KeyguardController$KeyguardDisplayState$$ExternalSyntheticLambda0;->test(Ljava/lang/Object;)Z
+HPLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->$r8$lambda$UYxm3jSn5iwGFQ04QlWkFzJcydA(Lcom/android/server/wm/Task;)Z
+HPLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->-$$Nest$fgetmAodShowing(Lcom/android/server/wm/KeyguardController$KeyguardDisplayState;)Z
+PLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->-$$Nest$fgetmKeyguardGoingAway(Lcom/android/server/wm/KeyguardController$KeyguardDisplayState;)Z
+HPLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->-$$Nest$fgetmKeyguardShowing(Lcom/android/server/wm/KeyguardController$KeyguardDisplayState;)Z
+HPLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->-$$Nest$fgetmRequestDismissKeyguard(Lcom/android/server/wm/KeyguardController$KeyguardDisplayState;)Z
+PLcom/android/server/wm/KeyguardController$KeyguardDisplayState;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;ILcom/android/server/wm/ActivityTaskManagerInternal$SleepTokenAcquirer;)V
+HPLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->getRootTaskForControllingOccluding(Lcom/android/server/wm/DisplayContent;)Lcom/android/server/wm/Task;
+HPLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->lambda$getRootTaskForControllingOccluding$0(Lcom/android/server/wm/Task;)Z
+HPLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->updateVisibility(Lcom/android/server/wm/KeyguardController;Lcom/android/server/wm/DisplayContent;)V
+HPLcom/android/server/wm/KeyguardController;->-$$Nest$fgetmService(Lcom/android/server/wm/KeyguardController;)Lcom/android/server/wm/ActivityTaskManagerService;
+HPLcom/android/server/wm/KeyguardController;->-$$Nest$fgetmWindowManager(Lcom/android/server/wm/KeyguardController;)Lcom/android/server/wm/WindowManagerService;
+HSPLcom/android/server/wm/KeyguardController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskSupervisor;)V
+HPLcom/android/server/wm/KeyguardController;->checkKeyguardVisibility(Lcom/android/server/wm/ActivityRecord;)Z
+HPLcom/android/server/wm/KeyguardController;->getDisplayState(I)Lcom/android/server/wm/KeyguardController$KeyguardDisplayState;
+HPLcom/android/server/wm/KeyguardController;->isKeyguardGoingAway(I)Z
+HPLcom/android/server/wm/KeyguardController;->isKeyguardLocked(I)Z
+PLcom/android/server/wm/KeyguardController;->isKeyguardOccluded(I)Z
+HPLcom/android/server/wm/KeyguardController;->isKeyguardOrAodShowing(I)Z
+PLcom/android/server/wm/KeyguardController;->setKeyguardShown(IZZ)V
+PLcom/android/server/wm/KeyguardController;->setWakeTransitionReady()V
+PLcom/android/server/wm/KeyguardController;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/KeyguardController;->updateDeferTransitionForAod(Z)V
+HPLcom/android/server/wm/KeyguardController;->updateVisibility()V
+PLcom/android/server/wm/KeyguardDisableHandler$1;-><init>(Lcom/android/server/wm/KeyguardDisableHandler;)V
+PLcom/android/server/wm/KeyguardDisableHandler$2;-><init>(Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/pm/UserManagerInternal;)V
+PLcom/android/server/wm/KeyguardDisableHandler;-><init>(Lcom/android/server/wm/KeyguardDisableHandler$Injector;Landroid/os/Handler;)V
+PLcom/android/server/wm/KeyguardDisableHandler;->create(Landroid/content/Context;Lcom/android/server/policy/WindowManagerPolicy;Landroid/os/Handler;)Lcom/android/server/wm/KeyguardDisableHandler;
+PLcom/android/server/wm/LaunchObserverRegistryImpl$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/wm/LaunchObserverRegistryImpl$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl$$ExternalSyntheticLambda1;-><init>()V
+PLcom/android/server/wm/LaunchObserverRegistryImpl$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl$$ExternalSyntheticLambda2;-><init>()V
+PLcom/android/server/wm/LaunchObserverRegistryImpl$$ExternalSyntheticLambda2;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl$$ExternalSyntheticLambda3;-><init>()V
+PLcom/android/server/wm/LaunchObserverRegistryImpl$$ExternalSyntheticLambda3;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl$$ExternalSyntheticLambda6;-><init>()V
+PLcom/android/server/wm/LaunchObserverRegistryImpl$$ExternalSyntheticLambda6;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl;->$r8$lambda$43NtWuC87LQ3fIhORDtk6FguY_c(Lcom/android/server/wm/LaunchObserverRegistryImpl;Landroid/content/Intent;J)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl;->$r8$lambda$F9z4OJPJG8S6kWyjlSmFdBIxGAs(Lcom/android/server/wm/LaunchObserverRegistryImpl;JJ)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl;->$r8$lambda$HB46khtoGy2-lvZU6F6JCBo3THQ(Lcom/android/server/wm/LaunchObserverRegistryImpl;JLandroid/content/ComponentName;II)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl;->$r8$lambda$K44Q-L066e13h8I3JRSoRtnlKPw(Lcom/android/server/wm/LaunchObserverRegistryImpl;JLandroid/content/ComponentName;JI)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl;->$r8$lambda$ic9ginTismFOXJUj86YxV2Pnmpw(Lcom/android/server/wm/LaunchObserverRegistryImpl;Lcom/android/server/wm/ActivityMetricsLaunchObserver;)V
+HSPLcom/android/server/wm/LaunchObserverRegistryImpl;-><init>(Landroid/os/Looper;)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl;->handleOnActivityLaunchFinished(JLandroid/content/ComponentName;JI)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl;->handleOnActivityLaunched(JLandroid/content/ComponentName;II)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl;->handleOnIntentStarted(Landroid/content/Intent;J)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl;->handleOnReportFullyDrawn(JJ)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl;->handleRegisterLaunchObserver(Lcom/android/server/wm/ActivityMetricsLaunchObserver;)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl;->onActivityLaunchFinished(JLandroid/content/ComponentName;JI)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl;->onActivityLaunched(JLandroid/content/ComponentName;II)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl;->onIntentStarted(Landroid/content/Intent;J)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl;->onReportFullyDrawn(JJ)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl;->registerLaunchObserver(Lcom/android/server/wm/ActivityMetricsLaunchObserver;)V
+HSPLcom/android/server/wm/LaunchParamsController$LaunchParams;-><init>()V
+PLcom/android/server/wm/LaunchParamsController$LaunchParams;->hasPreferredTaskDisplayArea()Z
+PLcom/android/server/wm/LaunchParamsController$LaunchParams;->isEmpty()Z
+PLcom/android/server/wm/LaunchParamsController$LaunchParams;->reset()V
+HPLcom/android/server/wm/LaunchParamsController$LaunchParams;->set(Lcom/android/server/wm/LaunchParamsController$LaunchParams;)V
+HSPLcom/android/server/wm/LaunchParamsController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/LaunchParamsPersister;)V
+HPLcom/android/server/wm/LaunchParamsController;->calculate(Lcom/android/server/wm/Task;Landroid/content/pm/ActivityInfo$WindowLayout;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/ActivityStarter$Request;ILcom/android/server/wm/LaunchParamsController$LaunchParams;)V
+PLcom/android/server/wm/LaunchParamsController;->layoutTask(Lcom/android/server/wm/Task;Landroid/content/pm/ActivityInfo$WindowLayout;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;)Z
+HSPLcom/android/server/wm/LaunchParamsController;->registerDefaultModifiers(Lcom/android/server/wm/ActivityTaskSupervisor;)V
+HSPLcom/android/server/wm/LaunchParamsController;->registerModifier(Lcom/android/server/wm/LaunchParamsController$LaunchParamsModifier;)V
+HSPLcom/android/server/wm/LaunchParamsPersister$$ExternalSyntheticLambda2;-><init>()V
+PLcom/android/server/wm/LaunchParamsPersister$$ExternalSyntheticLambda2;->apply(I)Ljava/lang/Object;
+PLcom/android/server/wm/LaunchParamsPersister$PackageListObserver;-><init>(Lcom/android/server/wm/LaunchParamsPersister;)V
+PLcom/android/server/wm/LaunchParamsPersister$PackageListObserver;-><init>(Lcom/android/server/wm/LaunchParamsPersister;Lcom/android/server/wm/LaunchParamsPersister$PackageListObserver-IA;)V
+HSPLcom/android/server/wm/LaunchParamsPersister;-><init>(Lcom/android/server/wm/PersisterQueue;Lcom/android/server/wm/ActivityTaskSupervisor;)V
+HSPLcom/android/server/wm/LaunchParamsPersister;-><init>(Lcom/android/server/wm/PersisterQueue;Lcom/android/server/wm/ActivityTaskSupervisor;Ljava/util/function/IntFunction;)V
+PLcom/android/server/wm/LaunchParamsPersister;->getLaunchParamFolder(I)Ljava/io/File;
+PLcom/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;->loadLaunchParams(I)V
+PLcom/android/server/wm/LaunchParamsPersister;->onSystemReady()V
+PLcom/android/server/wm/LaunchParamsPersister;->onUnlockUser(I)V
+PLcom/android/server/wm/LaunchParamsUtil;-><clinit>()V
+HPLcom/android/server/wm/LaunchParamsUtil;->adjustBoundsToFitInDisplayArea(Lcom/android/server/wm/TaskDisplayArea;ILandroid/content/pm/ActivityInfo$WindowLayout;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/LaunchParamsUtil;->centerBounds(Lcom/android/server/wm/TaskDisplayArea;IILandroid/graphics/Rect;)V
+HPLcom/android/server/wm/LaunchParamsUtil;->getDefaultFreeformSize(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/TaskDisplayArea;Landroid/content/pm/ActivityInfo$WindowLayout;ILandroid/graphics/Rect;)Landroid/util/Size;
+PLcom/android/server/wm/LegacyTransitionTracer;-><init>()V
+PLcom/android/server/wm/LegacyTransitionTracer;->dumpTransitionTargetsToProto(Landroid/util/proto/ProtoOutputStream;Lcom/android/server/wm/Transition;Ljava/util/ArrayList;)V
+PLcom/android/server/wm/LegacyTransitionTracer;->logFinishedTransition(Lcom/android/server/wm/Transition;)V
+PLcom/android/server/wm/LegacyTransitionTracer;->logRemovingStartingWindow(Lcom/android/server/wm/StartingData;)V
+PLcom/android/server/wm/LegacyTransitionTracer;->logSentTransition(Lcom/android/server/wm/Transition;Ljava/util/ArrayList;)V
+PLcom/android/server/wm/LetterboxConfiguration$$ExternalSyntheticLambda0;-><init>(Landroid/content/Context;)V
+PLcom/android/server/wm/LetterboxConfiguration$$ExternalSyntheticLambda0;->get()Ljava/lang/Object;
+PLcom/android/server/wm/LetterboxConfiguration$$ExternalSyntheticLambda1;-><init>(Landroid/content/Context;)V
+PLcom/android/server/wm/LetterboxConfiguration$$ExternalSyntheticLambda1;->get()Ljava/lang/Object;
+PLcom/android/server/wm/LetterboxConfiguration$$ExternalSyntheticLambda2;-><init>(Landroid/content/Context;)V
+PLcom/android/server/wm/LetterboxConfiguration$$ExternalSyntheticLambda2;->get()Ljava/lang/Object;
+PLcom/android/server/wm/LetterboxConfiguration$$ExternalSyntheticLambda3;-><init>(Landroid/content/Context;)V
+PLcom/android/server/wm/LetterboxConfiguration$$ExternalSyntheticLambda3;->get()Ljava/lang/Object;
+PLcom/android/server/wm/LetterboxConfiguration;->$r8$lambda$2zQBjf58m1mXrJY8pdbqFLLuw2k(Landroid/content/Context;)Ljava/lang/Integer;
+PLcom/android/server/wm/LetterboxConfiguration;->$r8$lambda$82HcSBiBrA4v7cCNKfqg6uSnw3k(Landroid/content/Context;)Ljava/lang/Integer;
+PLcom/android/server/wm/LetterboxConfiguration;->$r8$lambda$I4U5QJpz5jHeQQ6aVj1Zi7Ry9X8(Landroid/content/Context;)Ljava/lang/Integer;
+PLcom/android/server/wm/LetterboxConfiguration;->$r8$lambda$klhGmHsmf4_NQnUJBD-o9X_HkDk(Landroid/content/Context;)Ljava/lang/Integer;
+PLcom/android/server/wm/LetterboxConfiguration;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/wm/LetterboxConfiguration;-><init>(Landroid/content/Context;Lcom/android/server/wm/LetterboxConfigurationPersister;)V
+HPLcom/android/server/wm/LetterboxConfiguration;->getDefaultLetterboxBackgroundType()I
+PLcom/android/server/wm/LetterboxConfiguration;->getIsEducationEnabled()Z
+PLcom/android/server/wm/LetterboxConfiguration;->getIsHorizontalReachabilityEnabled()Z
+PLcom/android/server/wm/LetterboxConfiguration;->getIsVerticalReachabilityEnabled()Z
+HPLcom/android/server/wm/LetterboxConfiguration;->getLetterboxBackgroundType()I
+PLcom/android/server/wm/LetterboxConfiguration;->isCameraCompatTreatmentEnabled()Z
+PLcom/android/server/wm/LetterboxConfiguration;->isCameraCompatTreatmentEnabledAtBuildTime()Z
+PLcom/android/server/wm/LetterboxConfiguration;->isCompatFakeFocusEnabled()Z
+PLcom/android/server/wm/LetterboxConfiguration;->isDisplayRotationImmersiveAppCompatPolicyEnabledAtBuildTime()Z
+PLcom/android/server/wm/LetterboxConfiguration;->isPolicyForIgnoringRequestedOrientationEnabled()Z
+PLcom/android/server/wm/LetterboxConfiguration;->isTranslucentLetterboxingEnabled()Z
+HPLcom/android/server/wm/LetterboxConfiguration;->isUserAppAspectRatioFullscreenEnabled()Z
+HPLcom/android/server/wm/LetterboxConfiguration;->isUserAppAspectRatioSettingsEnabled()Z
+PLcom/android/server/wm/LetterboxConfiguration;->lambda$new$0(Landroid/content/Context;)Ljava/lang/Integer;
+PLcom/android/server/wm/LetterboxConfiguration;->lambda$new$1(Landroid/content/Context;)Ljava/lang/Integer;
+PLcom/android/server/wm/LetterboxConfiguration;->lambda$new$2(Landroid/content/Context;)Ljava/lang/Integer;
+PLcom/android/server/wm/LetterboxConfiguration;->lambda$new$3(Landroid/content/Context;)Ljava/lang/Integer;
+PLcom/android/server/wm/LetterboxConfiguration;->readLetterboxBackgroundTypeFromConfig(Landroid/content/Context;)I
+PLcom/android/server/wm/LetterboxConfiguration;->readLetterboxHorizontalReachabilityPositionFromConfig(Landroid/content/Context;Z)I
+PLcom/android/server/wm/LetterboxConfiguration;->readLetterboxVerticalReachabilityPositionFromConfig(Landroid/content/Context;Z)I
+PLcom/android/server/wm/LetterboxConfiguration;->setDefaultMinAspectRatioForUnresizableApps(F)V
+PLcom/android/server/wm/LetterboxConfigurationPersister$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/LetterboxConfigurationPersister;)V
+PLcom/android/server/wm/LetterboxConfigurationPersister$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/wm/LetterboxConfigurationPersister;->$r8$lambda$SeaEJhhe6Vq36TZNPw0-amAMzIo(Lcom/android/server/wm/LetterboxConfigurationPersister;)V
+PLcom/android/server/wm/LetterboxConfigurationPersister;-><init>(Ljava/util/function/Supplier;Ljava/util/function/Supplier;Ljava/util/function/Supplier;Ljava/util/function/Supplier;)V
+PLcom/android/server/wm/LetterboxConfigurationPersister;-><init>(Ljava/util/function/Supplier;Ljava/util/function/Supplier;Ljava/util/function/Supplier;Ljava/util/function/Supplier;Ljava/io/File;Lcom/android/server/wm/PersisterQueue;Ljava/util/function/Consumer;Ljava/lang/String;)V
+PLcom/android/server/wm/LetterboxConfigurationPersister;->readCurrentConfiguration()V
+PLcom/android/server/wm/LetterboxConfigurationPersister;->runWithDiskReadsThreadPolicy(Ljava/lang/Runnable;)V
+PLcom/android/server/wm/LetterboxConfigurationPersister;->start()V
+PLcom/android/server/wm/LetterboxConfigurationPersister;->useDefaultValue()V
+PLcom/android/server/wm/LetterboxUiController$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/wm/LetterboxUiController$$ExternalSyntheticLambda10;-><init>()V
+HPLcom/android/server/wm/LetterboxUiController$$ExternalSyntheticLambda10;->getAsBoolean()Z
+PLcom/android/server/wm/LetterboxUiController$$ExternalSyntheticLambda15;-><init>()V
+PLcom/android/server/wm/LetterboxUiController$$ExternalSyntheticLambda15;->getAsBoolean()Z
+PLcom/android/server/wm/LetterboxUiController$$ExternalSyntheticLambda1;-><init>()V
+HPLcom/android/server/wm/LetterboxUiController$$ExternalSyntheticLambda1;->getAsBoolean()Z
+PLcom/android/server/wm/LetterboxUiController$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/wm/LetterboxConfiguration;)V
+PLcom/android/server/wm/LetterboxUiController$$ExternalSyntheticLambda3;->getAsBoolean()Z
+PLcom/android/server/wm/LetterboxUiController$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/wm/LetterboxConfiguration;)V
+PLcom/android/server/wm/LetterboxUiController$$ExternalSyntheticLambda4;->getAsBoolean()Z
+PLcom/android/server/wm/LetterboxUiController$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/wm/LetterboxUiController;)V
+PLcom/android/server/wm/LetterboxUiController$$ExternalSyntheticLambda5;->getAsBoolean()Z
+PLcom/android/server/wm/LetterboxUiController$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/wm/LetterboxUiController;)V
+PLcom/android/server/wm/LetterboxUiController$$ExternalSyntheticLambda6;->getAsBoolean()Z
+PLcom/android/server/wm/LetterboxUiController$$ExternalSyntheticLambda7;-><init>(Lcom/android/server/wm/LetterboxUiController;)V
+PLcom/android/server/wm/LetterboxUiController$$ExternalSyntheticLambda7;->getAsBoolean()Z
+PLcom/android/server/wm/LetterboxUiController$$ExternalSyntheticLambda8;-><init>(Lcom/android/server/wm/LetterboxUiController;)V
+PLcom/android/server/wm/LetterboxUiController$$ExternalSyntheticLambda8;->getAsBoolean()Z
+PLcom/android/server/wm/LetterboxUiController$$ExternalSyntheticLambda9;-><init>(Lcom/android/server/wm/LetterboxUiController;)V
+PLcom/android/server/wm/LetterboxUiController$$ExternalSyntheticLambda9;->getAsBoolean()Z
+PLcom/android/server/wm/LetterboxUiController;->$r8$lambda$8OuAb4WHYeErDUj6GqNmsPR-bzo()Z
+PLcom/android/server/wm/LetterboxUiController;->$r8$lambda$JuB8yLagMGFwDrrvd2UCn1C1pIY(Lcom/android/server/wm/LetterboxUiController;)Z
+PLcom/android/server/wm/LetterboxUiController;->$r8$lambda$U7dOvaWj01YWdYa2xRymir-u7iE(Lcom/android/server/wm/LetterboxUiController;)Z
+HPLcom/android/server/wm/LetterboxUiController;->$r8$lambda$_MsqrzePtlwGj7PFL530QpPbjUM()Z
+PLcom/android/server/wm/LetterboxUiController;->$r8$lambda$i72F-I0RxQu2oFPPqEHfVFbh7Yo(Lcom/android/server/wm/LetterboxUiController;)Z
+PLcom/android/server/wm/LetterboxUiController;->$r8$lambda$ps7jq1nOS9OFJPISgAx2C3dVkt8(Lcom/android/server/wm/LetterboxUiController;)Z
+HPLcom/android/server/wm/LetterboxUiController;->$r8$lambda$ueKG2MaFQ7lPhRN_jwsJxXdv0mE()Z
+PLcom/android/server/wm/LetterboxUiController;->$r8$lambda$w9WIA81i4GdEEHGpz0PCTw-RQ3w(Lcom/android/server/wm/LetterboxUiController;)Z
+PLcom/android/server/wm/LetterboxUiController;-><clinit>()V
+HPLcom/android/server/wm/LetterboxUiController;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/ActivityRecord;)V
+HPLcom/android/server/wm/LetterboxUiController;->findOpaqueNotFinishingActivityBelow()Ljava/util/Optional;
+HPLcom/android/server/wm/LetterboxUiController;->getCropBoundsIfNeeded(Lcom/android/server/wm/WindowState;)Landroid/graphics/Rect;
+HPLcom/android/server/wm/LetterboxUiController;->getLetterboxDetails()Lcom/android/internal/statusbar/LetterboxDetails;
+HPLcom/android/server/wm/LetterboxUiController;->getLetterboxInnerBounds(Landroid/graphics/Rect;)V
+HPLcom/android/server/wm/LetterboxUiController;->getRoundedCornersRadius(Lcom/android/server/wm/WindowState;)I
+HPLcom/android/server/wm/LetterboxUiController;->hasInheritedLetterboxBehavior()Z
+PLcom/android/server/wm/LetterboxUiController;->hasInheritedOrientation()Z
+PLcom/android/server/wm/LetterboxUiController;->hasWallpaperBackgroundForLetterbox()Z
+HPLcom/android/server/wm/LetterboxUiController;->isCompatChangeEnabled(J)Z
+PLcom/android/server/wm/LetterboxUiController;->isFromDoubleTap()Z
+HPLcom/android/server/wm/LetterboxUiController;->isHorizontalReachabilityEnabled()Z
+PLcom/android/server/wm/LetterboxUiController;->isHorizontalReachabilityEnabled(Landroid/content/res/Configuration;)Z
+PLcom/android/server/wm/LetterboxUiController;->isLetterboxDoubleTapEducationEnabled()Z
+HPLcom/android/server/wm/LetterboxUiController;->isLetterboxedNotForDisplayCutout(Lcom/android/server/wm/WindowState;)Z
+HPLcom/android/server/wm/LetterboxUiController;->isSurfaceVisible(Lcom/android/server/wm/WindowState;)Z
+HPLcom/android/server/wm/LetterboxUiController;->isSystemOverrideToFullscreenEnabled()Z
+HPLcom/android/server/wm/LetterboxUiController;->isUserFullscreenOverrideEnabled()Z
+HPLcom/android/server/wm/LetterboxUiController;->isVerticalReachabilityEnabled()Z
+PLcom/android/server/wm/LetterboxUiController;->isVerticalReachabilityEnabled(Landroid/content/res/Configuration;)Z
+PLcom/android/server/wm/LetterboxUiController;->lambda$new$0()Z
+PLcom/android/server/wm/LetterboxUiController;->lambda$new$1()Z
+PLcom/android/server/wm/LetterboxUiController;->lambda$new$2()Z
+PLcom/android/server/wm/LetterboxUiController;->lambda$new$3()Z
+PLcom/android/server/wm/LetterboxUiController;->lambda$new$4()Z
+PLcom/android/server/wm/LetterboxUiController;->lambda$shouldOverrideForceNonResizeApp$7()Z
+PLcom/android/server/wm/LetterboxUiController;->lambda$shouldOverrideForceResizeApp$6()Z
+PLcom/android/server/wm/LetterboxUiController;->lambda$shouldOverrideMinAspectRatio$5()Z
+HPLcom/android/server/wm/LetterboxUiController;->layoutLetterbox(Lcom/android/server/wm/WindowState;)V
+HPLcom/android/server/wm/LetterboxUiController;->overrideOrientationIfNeeded(I)I
+PLcom/android/server/wm/LetterboxUiController;->readComponentProperty(Landroid/content/pm/PackageManager;Ljava/lang/String;Ljava/util/function/BooleanSupplier;Ljava/lang/String;)Ljava/lang/Boolean;
+HPLcom/android/server/wm/LetterboxUiController;->requiresRoundedCorners(Lcom/android/server/wm/WindowState;)Z
+HPLcom/android/server/wm/LetterboxUiController;->shouldApplyUserFullscreenOverride()Z
+HPLcom/android/server/wm/LetterboxUiController;->shouldApplyUserMinAspectRatioOverride()Z
+HPLcom/android/server/wm/LetterboxUiController;->shouldEnableUserAspectRatioSettings()Z
+HPLcom/android/server/wm/LetterboxUiController;->shouldEnableWithOptInOverrideAndOptOutProperty(Ljava/util/function/BooleanSupplier;ZLjava/lang/Boolean;)Z
+PLcom/android/server/wm/LetterboxUiController;->shouldEnableWithOverrideAndProperty(Ljava/util/function/BooleanSupplier;ZLjava/lang/Boolean;)Z
+HPLcom/android/server/wm/LetterboxUiController;->shouldNotLayoutLetterbox(Lcom/android/server/wm/WindowState;)Z
+HPLcom/android/server/wm/LetterboxUiController;->shouldOverrideForceNonResizeApp()Z
+HPLcom/android/server/wm/LetterboxUiController;->shouldOverrideForceResizeApp()Z
+HPLcom/android/server/wm/LetterboxUiController;->shouldOverrideMinAspectRatio()Z
+PLcom/android/server/wm/LetterboxUiController;->shouldSendFakeFocus()Z
+HPLcom/android/server/wm/LetterboxUiController;->shouldShowLetterboxUi(Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/LetterboxUiController;->updateInheritedLetterbox()V
+HPLcom/android/server/wm/LetterboxUiController;->updateLetterboxSurface(Lcom/android/server/wm/WindowState;)V
+HPLcom/android/server/wm/LetterboxUiController;->updateLetterboxSurface(Lcom/android/server/wm/WindowState;Landroid/view/SurfaceControl$Transaction;)V
+HPLcom/android/server/wm/LetterboxUiController;->updateRoundedCornersIfNeeded(Lcom/android/server/wm/WindowState;)V
+HPLcom/android/server/wm/LetterboxUiController;->updateWallpaperForLetterbox(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/LocalAnimationAdapter$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/LocalAnimationAdapter;Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;I)V
+PLcom/android/server/wm/LocalAnimationAdapter$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/wm/LocalAnimationAdapter;->$r8$lambda$UaYzKKcZYGPfDd4JouVmDEKELq0(Lcom/android/server/wm/LocalAnimationAdapter;Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;I)V
+PLcom/android/server/wm/LocalAnimationAdapter;-><init>(Lcom/android/server/wm/LocalAnimationAdapter$AnimationSpec;Lcom/android/server/wm/SurfaceAnimationRunner;)V
+PLcom/android/server/wm/LocalAnimationAdapter;->lambda$startAnimation$0(Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;I)V
+PLcom/android/server/wm/LocalAnimationAdapter;->startAnimation(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl$Transaction;ILcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;)V
+HSPLcom/android/server/wm/LockTaskController$LockTaskToken;-><init>()V
+HSPLcom/android/server/wm/LockTaskController$LockTaskToken;-><init>(Lcom/android/server/wm/LockTaskController$LockTaskToken-IA;)V
+HSPLcom/android/server/wm/LockTaskController;-><clinit>()V
+HSPLcom/android/server/wm/LockTaskController;-><init>(Landroid/content/Context;Lcom/android/server/wm/ActivityTaskSupervisor;Landroid/os/Handler;Lcom/android/server/wm/TaskChangeNotificationController;)V
+PLcom/android/server/wm/LockTaskController;->getLockTaskAuth(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/Task;)I
+PLcom/android/server/wm/LockTaskController;->getLockTaskFeaturesForUser(I)I
+PLcom/android/server/wm/LockTaskController;->getRootTask()Lcom/android/server/wm/Task;
+PLcom/android/server/wm/LockTaskController;->isActivityAllowed(ILjava/lang/String;I)Z
+PLcom/android/server/wm/LockTaskController;->isKeyguardAllowed(I)Z
+PLcom/android/server/wm/LockTaskController;->isLockTaskModeViolationInternal(Lcom/android/server/wm/WindowContainer;ILandroid/content/Intent;I)Z
+PLcom/android/server/wm/LockTaskController;->isNewTaskLockTaskModeViolation(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/LockTaskController;->isPackageAllowlisted(ILjava/lang/String;)Z
+PLcom/android/server/wm/LockTaskController;->isTaskAuthAllowlisted(I)Z
+PLcom/android/server/wm/LockTaskController;->isWirelessEmergencyAlert(Landroid/content/Intent;)Z
+PLcom/android/server/wm/LockTaskController;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V
+HSPLcom/android/server/wm/MirrorActiveUids;-><init>()V
+PLcom/android/server/wm/MirrorActiveUids;->getUidState(I)I
+HPLcom/android/server/wm/MirrorActiveUids;->hasNonAppVisibleWindow(I)Z
+PLcom/android/server/wm/MirrorActiveUids;->onNonAppSurfaceVisibilityChanged(IZ)V
+HPLcom/android/server/wm/MirrorActiveUids;->onUidActive(II)V
+PLcom/android/server/wm/MirrorActiveUids;->onUidInactive(I)V
+HPLcom/android/server/wm/MirrorActiveUids;->onUidProcStateChanged(II)V
+PLcom/android/server/wm/NonAppWindowAnimationAdapter;->shouldAttachNavBarToApp(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;I)Z
+PLcom/android/server/wm/NonAppWindowAnimationAdapter;->shouldStartNonAppWindowAnimationsForKeyguardExit(I)Z
+HSPLcom/android/server/wm/PackageConfigPersister;-><clinit>()V
+HSPLcom/android/server/wm/PackageConfigPersister;-><init>(Lcom/android/server/wm/PersisterQueue;Lcom/android/server/wm/ActivityTaskManagerService;)V
+HPLcom/android/server/wm/PackageConfigPersister;->findRecord(Landroid/util/SparseArray;Ljava/lang/String;I)Lcom/android/server/wm/PackageConfigPersister$PackageConfigRecord;
+PLcom/android/server/wm/PackageConfigPersister;->getUserConfigsDir(I)Ljava/io/File;
+PLcom/android/server/wm/PackageConfigPersister;->loadUserPackages(I)V
+HPLcom/android/server/wm/PackageConfigPersister;->updateConfigIfNeeded(Lcom/android/server/wm/ConfigurationContainer;ILjava/lang/String;)V
+HSPLcom/android/server/wm/PendingRemoteAnimationRegistry;-><init>(Lcom/android/server/wm/WindowManagerGlobalLock;Landroid/os/Handler;)V
+PLcom/android/server/wm/PendingRemoteAnimationRegistry;->overrideOptionsIfNeeded(Ljava/lang/String;Landroid/app/ActivityOptions;)Landroid/app/ActivityOptions;
+HSPLcom/android/server/wm/PersisterQueue$$ExternalSyntheticLambda0;-><init>()V
+HSPLcom/android/server/wm/PersisterQueue$LazyTaskWriterThread;-><init>(Lcom/android/server/wm/PersisterQueue;Ljava/lang/String;)V
+HSPLcom/android/server/wm/PersisterQueue$LazyTaskWriterThread;-><init>(Lcom/android/server/wm/PersisterQueue;Ljava/lang/String;Lcom/android/server/wm/PersisterQueue$LazyTaskWriterThread-IA;)V
+PLcom/android/server/wm/PersisterQueue$LazyTaskWriterThread;->run()V
+PLcom/android/server/wm/PersisterQueue;->-$$Nest$fgetmListeners(Lcom/android/server/wm/PersisterQueue;)Ljava/util/ArrayList;
+PLcom/android/server/wm/PersisterQueue;->-$$Nest$fgetmWriteQueue(Lcom/android/server/wm/PersisterQueue;)Ljava/util/ArrayList;
+PLcom/android/server/wm/PersisterQueue;->-$$Nest$mprocessNextItem(Lcom/android/server/wm/PersisterQueue;)V
+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;->addItem(Lcom/android/server/wm/PersisterQueue$WriteQueueItem;Z)V
+HSPLcom/android/server/wm/PersisterQueue;->addListener(Lcom/android/server/wm/PersisterQueue$Listener;)V
+PLcom/android/server/wm/PersisterQueue;->findLastItem(Ljava/util/function/Predicate;Ljava/lang/Class;)Lcom/android/server/wm/PersisterQueue$WriteQueueItem;
+PLcom/android/server/wm/PersisterQueue;->processNextItem()V
+PLcom/android/server/wm/PersisterQueue;->removeItems(Ljava/util/function/Predicate;Ljava/lang/Class;)V
+PLcom/android/server/wm/PersisterQueue;->startPersisting()V
+PLcom/android/server/wm/PersisterQueue;->yieldIfQueueTooDeep()V
+PLcom/android/server/wm/PhysicalDisplaySwitchTransitionLauncher;-><init>(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/ActivityTaskManagerService;Landroid/content/Context;Lcom/android/server/wm/TransitionController;)V
+PLcom/android/server/wm/PhysicalDisplaySwitchTransitionLauncher;-><init>(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/TransitionController;)V
+PLcom/android/server/wm/PinnedTaskController$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/PinnedTaskController;)V
+PLcom/android/server/wm/PinnedTaskController$PinnedTaskListenerDeathHandler;-><init>(Lcom/android/server/wm/PinnedTaskController;)V
+PLcom/android/server/wm/PinnedTaskController$PinnedTaskListenerDeathHandler;-><init>(Lcom/android/server/wm/PinnedTaskController;Lcom/android/server/wm/PinnedTaskController$PinnedTaskListenerDeathHandler-IA;)V
+PLcom/android/server/wm/PinnedTaskController;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/PinnedTaskController;->isFreezingTaskConfig(Lcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/PinnedTaskController;->onActivityHidden(Landroid/content/ComponentName;)V
+PLcom/android/server/wm/PinnedTaskController;->onPostDisplayConfigurationChanged()V
+PLcom/android/server/wm/PinnedTaskController;->reloadResources()V
+PLcom/android/server/wm/PinnedTaskController;->setAdjustedForIme(ZI)V
+PLcom/android/server/wm/PointerEventDispatcher;-><init>(Landroid/view/InputChannel;)V
+PLcom/android/server/wm/PointerEventDispatcher;->registerInputEventListener(Landroid/view/WindowManagerPolicyConstants$PointerEventListener;)V
+PLcom/android/server/wm/PossibleDisplayInfoMapper;-><init>(Landroid/hardware/display/DisplayManagerInternal;)V
+PLcom/android/server/wm/PossibleDisplayInfoMapper;->removePossibleDisplayInfos(I)V
+PLcom/android/server/wm/ProtoLogCache$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/wm/ProtoLogCache;-><clinit>()V
+HPLcom/android/server/wm/ProtoLogCache;->update()V
+HSPLcom/android/server/wm/RecentTasks$$ExternalSyntheticLambda0;-><init>()V
+HSPLcom/android/server/wm/RecentTasks$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/wm/RecentTasks;)V
+HSPLcom/android/server/wm/RecentTasks$1;-><init>(Lcom/android/server/wm/RecentTasks;)V
+HSPLcom/android/server/wm/RecentTasks;-><clinit>()V
+HSPLcom/android/server/wm/RecentTasks;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskSupervisor;)V
+PLcom/android/server/wm/RecentTasks;->add(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/RecentTasks;->cleanupLocked(I)V
+PLcom/android/server/wm/RecentTasks;->containsTaskId(II)Z
+PLcom/android/server/wm/RecentTasks;->createRecentTaskInfo(Lcom/android/server/wm/Task;ZZ)Landroid/app/ActivityManager$RecentTaskInfo;
+PLcom/android/server/wm/RecentTasks;->findRemoveIndexForAddTask(Lcom/android/server/wm/Task;)I
+PLcom/android/server/wm/RecentTasks;->findRemoveIndexForTask(Lcom/android/server/wm/Task;Z)I
+PLcom/android/server/wm/RecentTasks;->getCurrentProfileIds()[I
+PLcom/android/server/wm/RecentTasks;->getInputListener()Landroid/view/WindowManagerPolicyConstants$PointerEventListener;
+PLcom/android/server/wm/RecentTasks;->getPersistableTaskIds(Landroid/util/ArraySet;)V
+PLcom/android/server/wm/RecentTasks;->getProfileIds(I)Ljava/util/Set;
+PLcom/android/server/wm/RecentTasks;->getRecentTasks(IIZII)Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/wm/RecentTasks;->getRecentTasksImpl(IIZII)Ljava/util/ArrayList;
+PLcom/android/server/wm/RecentTasks;->getRecentsComponentUid()I
+PLcom/android/server/wm/RecentTasks;->getTask(I)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/RecentTasks;->getTaskIdsForUser(I)Landroid/util/SparseBooleanArray;
+PLcom/android/server/wm/RecentTasks;->getUserInfo(I)Landroid/content/pm/UserInfo;
+PLcom/android/server/wm/RecentTasks;->hasCompatibleActivityTypeAndWindowingMode(Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/RecentTasks;->isActiveRecentTask(Lcom/android/server/wm/Task;Landroid/util/SparseBooleanArray;)Z
+HPLcom/android/server/wm/RecentTasks;->isCallerRecents(I)Z
+PLcom/android/server/wm/RecentTasks;->isInVisibleRange(Lcom/android/server/wm/Task;IIZ)Z
+PLcom/android/server/wm/RecentTasks;->isRecentsComponent(Landroid/content/ComponentName;I)Z
+PLcom/android/server/wm/RecentTasks;->isUserRunning(II)Z
+PLcom/android/server/wm/RecentTasks;->isVisibleRecentTask(Lcom/android/server/wm/Task;)Z
+HSPLcom/android/server/wm/RecentTasks;->loadParametersFromResources(Landroid/content/res/Resources;)V
+PLcom/android/server/wm/RecentTasks;->loadPersistedTaskIdsForUserLocked(I)V
+PLcom/android/server/wm/RecentTasks;->loadRecentsComponent(Landroid/content/res/Resources;)V
+PLcom/android/server/wm/RecentTasks;->loadUserRecentsLocked(I)V
+PLcom/android/server/wm/RecentTasks;->notifyTaskAdded(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/RecentTasks;->notifyTaskPersisterLocked(Lcom/android/server/wm/Task;Z)V
+PLcom/android/server/wm/RecentTasks;->notifyTaskRemoved(Lcom/android/server/wm/Task;ZZ)V
+PLcom/android/server/wm/RecentTasks;->onActivityIdle(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/RecentTasks;->onSystemReadyLocked()V
+PLcom/android/server/wm/RecentTasks;->processNextAffiliateChainLocked(I)I
+HSPLcom/android/server/wm/RecentTasks;->registerCallback(Lcom/android/server/wm/RecentTasks$Callbacks;)V
+PLcom/android/server/wm/RecentTasks;->removeForAddTask(Lcom/android/server/wm/Task;)I
+PLcom/android/server/wm/RecentTasks;->shouldPersistTaskLocked(Lcom/android/server/wm/Task;)Z
+HPLcom/android/server/wm/RecentTasks;->syncPersistentTaskIdsLocked()V
+PLcom/android/server/wm/RecentTasks;->trimInactiveRecentTasks()V
+PLcom/android/server/wm/RecentTasks;->usersWithRecentsLoadedLocked()[I
+PLcom/android/server/wm/RefreshRatePolicy$FrameRateVote;-><init>()V
+HPLcom/android/server/wm/RefreshRatePolicy$FrameRateVote;->refreshRateEquals(F)Z
+HPLcom/android/server/wm/RefreshRatePolicy$FrameRateVote;->reset()Z
+HPLcom/android/server/wm/RefreshRatePolicy$FrameRateVote;->update(FII)Z
+PLcom/android/server/wm/RefreshRatePolicy$PackageRefreshRate;-><init>(Lcom/android/server/wm/RefreshRatePolicy;)V
+HPLcom/android/server/wm/RefreshRatePolicy$PackageRefreshRate;->get(Ljava/lang/String;)Landroid/view/SurfaceControl$RefreshRateRange;
+PLcom/android/server/wm/RefreshRatePolicy;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/view/DisplayInfo;Lcom/android/server/wm/HighRefreshRateDenylist;)V
+HPLcom/android/server/wm/RefreshRatePolicy;->calculatePriority(Lcom/android/server/wm/WindowState;)I
+PLcom/android/server/wm/RefreshRatePolicy;->findLowRefreshRateMode(Landroid/view/DisplayInfo;Landroid/view/Display$Mode;)Landroid/view/Display$Mode;
+HPLcom/android/server/wm/RefreshRatePolicy;->getPreferredMaxRefreshRate(Lcom/android/server/wm/WindowState;)F
+HPLcom/android/server/wm/RefreshRatePolicy;->getPreferredMinRefreshRate(Lcom/android/server/wm/WindowState;)F
+HPLcom/android/server/wm/RefreshRatePolicy;->getPreferredModeId(Lcom/android/server/wm/WindowState;)I
+HPLcom/android/server/wm/RefreshRatePolicy;->updateFrameRateVote(Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/RemoteDisplayChangeController$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/RemoteDisplayChangeController;)V
+PLcom/android/server/wm/RemoteDisplayChangeController;-><init>(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/RemoteDisplayChangeController;->isWaitingForRemoteDisplayChange()Z
+PLcom/android/server/wm/ResetTargetTaskHelper;-><init>()V
+PLcom/android/server/wm/RootDisplayArea;-><init>(Lcom/android/server/wm/WindowManagerService;Ljava/lang/String;I)V
+PLcom/android/server/wm/RootDisplayArea;->findAreaForWindowTypeInLayer(IZZ)Lcom/android/server/wm/DisplayArea$Tokens;
+PLcom/android/server/wm/RootDisplayArea;->getRootDisplayArea()Lcom/android/server/wm/RootDisplayArea;
+PLcom/android/server/wm/RootDisplayArea;->isOrientationDifferentFromDisplay()Z
+PLcom/android/server/wm/RootDisplayArea;->onHierarchyBuilt(Ljava/util/ArrayList;[Lcom/android/server/wm/DisplayArea$Tokens;Ljava/util/Map;)V
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda13;-><init>(Lcom/android/server/wm/RootWindowContainer;)V
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda13;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda16;-><init>(Lcom/android/server/wm/Task;[Z[I)V
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda16;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda17;-><init>([ILandroid/app/ActivityTaskManager$RootTaskInfo;)V
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda17;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda18;-><init>([Z)V
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda18;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda21;-><init>(Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/TaskDisplayArea;)V
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda21;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda22;-><init>()V
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda22;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda23;-><init>([Z)V
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda23;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda24;-><init>(Lcom/android/server/wm/RootWindowContainer;Ljava/lang/String;)V
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda24;->accept(Ljava/lang/Object;)V
+HPLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda26;-><init>(Lcom/android/server/policy/PermissionPolicyInternal;ILjava/lang/String;[I)V
+HPLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda26;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda28;-><init>()V
+HPLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda28;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda29;-><init>(Lcom/android/server/wm/Task;[ZZLandroid/app/ActivityOptions;Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda29;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda33;-><init>(Lcom/android/server/wm/RootWindowContainer;I)V
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda33;->run()V
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda34;-><init>(I[Z)V
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda34;->apply(Ljava/lang/Object;)Z
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda37;-><init>(Lcom/android/server/wm/RootWindowContainer;)V
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda38;-><init>(Lcom/android/server/wm/RootWindowContainer;ILjava/lang/String;ZZ)V
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda38;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda39;-><init>(IZLjava/util/ArrayList;Ljava/lang/String;I)V
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda39;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda43;-><init>(Lcom/android/server/wm/RootWindowContainer;)V
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda43;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda49;-><init>(Lcom/android/server/policy/PermissionPolicyInternal;)V
+HPLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda49;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda6;-><init>(Landroid/util/ArrayMap;)V
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda6;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda8;-><init>(Lcom/android/server/wm/RootWindowContainer;Ljava/util/ArrayList;)V
+PLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda8;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/RootWindowContainer$1;-><init>(Lcom/android/server/wm/RootWindowContainer;)V
+PLcom/android/server/wm/RootWindowContainer$AttachApplicationHelper;-><init>(Lcom/android/server/wm/RootWindowContainer;)V
+PLcom/android/server/wm/RootWindowContainer$AttachApplicationHelper;-><init>(Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer$AttachApplicationHelper-IA;)V
+HPLcom/android/server/wm/RootWindowContainer$AttachApplicationHelper;->accept(Lcom/android/server/wm/Task;)V
+HPLcom/android/server/wm/RootWindowContainer$AttachApplicationHelper;->accept(Ljava/lang/Object;)V
+HPLcom/android/server/wm/RootWindowContainer$AttachApplicationHelper;->process(Lcom/android/server/wm/WindowProcessController;)Z
+HPLcom/android/server/wm/RootWindowContainer$AttachApplicationHelper;->reset()V
+HPLcom/android/server/wm/RootWindowContainer$AttachApplicationHelper;->test(Lcom/android/server/wm/ActivityRecord;)Z
+HPLcom/android/server/wm/RootWindowContainer$AttachApplicationHelper;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/RootWindowContainer$FindTaskResult;-><init>()V
+PLcom/android/server/wm/RootWindowContainer$FindTaskResult;->init(ILjava/lang/String;Landroid/content/Intent;Landroid/content/pm/ActivityInfo;)V
+PLcom/android/server/wm/RootWindowContainer$FindTaskResult;->process(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/RootWindowContainer$FindTaskResult;->test(Lcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/RootWindowContainer$FindTaskResult;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/RootWindowContainer$FinishDisabledPackageActivitiesHelper;-><init>(Lcom/android/server/wm/RootWindowContainer;)V
+PLcom/android/server/wm/RootWindowContainer$FinishDisabledPackageActivitiesHelper;->process(Ljava/lang/String;Ljava/util/Set;ZZIZ)Z
+PLcom/android/server/wm/RootWindowContainer$FinishDisabledPackageActivitiesHelper;->reset(Ljava/lang/String;Ljava/util/Set;ZZIZ)V
+PLcom/android/server/wm/RootWindowContainer$FinishDisabledPackageActivitiesHelper;->test(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/RootWindowContainer$FinishDisabledPackageActivitiesHelper;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/RootWindowContainer$MyHandler;-><init>(Lcom/android/server/wm/RootWindowContainer;Landroid/os/Looper;)V
+HPLcom/android/server/wm/RootWindowContainer$MyHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/wm/RootWindowContainer$RankTaskLayersRunnable;-><init>(Lcom/android/server/wm/RootWindowContainer;)V
+PLcom/android/server/wm/RootWindowContainer$RankTaskLayersRunnable;-><init>(Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer$RankTaskLayersRunnable-IA;)V
+PLcom/android/server/wm/RootWindowContainer$RankTaskLayersRunnable;->run()V
+PLcom/android/server/wm/RootWindowContainer;->$r8$lambda$1CWL2ckOwG2YY7rgrO99GUxebQw(Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/RootWindowContainer;->$r8$lambda$1PKw-jY8iC_kT9skcjP0rNvpTMU(Lcom/android/server/wm/RootWindowContainer;Ljava/util/ArrayList;Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/RootWindowContainer;->$r8$lambda$1y84R2j6aqQu7hhZU6_qdTFvwxk(Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/TaskDisplayArea;Lcom/android/server/wm/TaskDisplayArea;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/RootWindowContainer;->$r8$lambda$DFaa7QLApF8rlf4uiy_4K0Hxf2Y(Lcom/android/server/wm/RootWindowContainer;ILjava/lang/String;ZZLcom/android/server/wm/TaskDisplayArea;Ljava/lang/Boolean;)Ljava/lang/Boolean;
+PLcom/android/server/wm/RootWindowContainer;->$r8$lambda$GiNtNK8RPrGEtQpM7eTz88NTYLY(I[ZLcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/RootWindowContainer;->$r8$lambda$IE3IrglzO8K3AUkc78Ck4Lwua94(Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/RootWindowContainer;->$r8$lambda$OBluQOlE0gINhfaHzjBgNIe3b4E(IZLjava/util/ArrayList;Ljava/lang/String;ILcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/RootWindowContainer;->$r8$lambda$R79sBJymzrWJ0ntJ8XhLsNaaEiM(Lcom/android/server/wm/RootWindowContainer;Ljava/lang/String;Lcom/android/server/wm/TaskDisplayArea;)V
+PLcom/android/server/wm/RootWindowContainer;->$r8$lambda$ZWXgnb1KNcgfkLsPBW2m_vjAFaM(Lcom/android/server/wm/RootWindowContainer;I)V
+PLcom/android/server/wm/RootWindowContainer;->$r8$lambda$c2GqB8Z3BGGFuy9XgFrzk3ZupFM(Lcom/android/server/wm/Task;[ZZLandroid/app/ActivityOptions;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/RootWindowContainer;->$r8$lambda$cnDv250HlSET-GBlf9zK0KW0JGk(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/RootWindowContainer;->$r8$lambda$dBbdl9I9IH9cWk0Fetqaz9kLR_E(Lcom/android/server/policy/PermissionPolicyInternal;Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/RootWindowContainer;->$r8$lambda$eFO9OL6w_8O86IbHYLCIHm_G2rw(Landroid/util/ArrayMap;Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/RootWindowContainer;->$r8$lambda$hKjOcjgxM4mtNbo193fYs2CiS30(Lcom/android/server/wm/Task;[Z[ILcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/RootWindowContainer;->$r8$lambda$mFYBP9S0waFMJPTAOjY-WDY8Efs(Lcom/android/server/policy/PermissionPolicyInternal;ILjava/lang/String;[ILcom/android/server/wm/TaskFragment;)Z
+PLcom/android/server/wm/RootWindowContainer;->$r8$lambda$pWnnVvVtAcnTwGFZvVBYLFjOP64([ILandroid/app/ActivityTaskManager$RootTaskInfo;Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/RootWindowContainer;->$r8$lambda$sjhjsJnrwdp8YM512XyLr3LJaA0([ZLcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/RootWindowContainer;->$r8$lambda$w6CXK9g_LDMiMSu03H1dcm6ZUYs([ZLcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/RootWindowContainer;->-$$Nest$fgetmTaskLayersChanged(Lcom/android/server/wm/RootWindowContainer;)Z
+PLcom/android/server/wm/RootWindowContainer;->-$$Nest$fputmTaskLayersChanged(Lcom/android/server/wm/RootWindowContainer;Z)V
+HPLcom/android/server/wm/RootWindowContainer;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/RootWindowContainer;->allPausedActivitiesComplete()Z
+HPLcom/android/server/wm/RootWindowContainer;->allResumedActivitiesIdle()Z
+PLcom/android/server/wm/RootWindowContainer;->allResumedActivitiesVisible()Z
+PLcom/android/server/wm/RootWindowContainer;->anyTaskForId(II)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/RootWindowContainer;->anyTaskForId(IILandroid/app/ActivityOptions;Z)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/RootWindowContainer;->applySleepTokens(Z)V
+HPLcom/android/server/wm/RootWindowContainer;->applySurfaceChangesTransaction()V
+HPLcom/android/server/wm/RootWindowContainer;->attachApplication(Lcom/android/server/wm/WindowProcessController;)Z
+PLcom/android/server/wm/RootWindowContainer;->canLaunchOnDisplay(Lcom/android/server/wm/ActivityRecord;I)Z
+PLcom/android/server/wm/RootWindowContainer;->canStartHomeOnDisplayArea(Landroid/content/pm/ActivityInfo;Lcom/android/server/wm/TaskDisplayArea;Z)Z
+HPLcom/android/server/wm/RootWindowContainer;->checkAppTransitionReady(Lcom/android/server/wm/WindowSurfacePlacer;)V
+PLcom/android/server/wm/RootWindowContainer;->clearDisplayInfoCaches(I)V
+HPLcom/android/server/wm/RootWindowContainer;->clearFrameChangingWindows()V
+HPLcom/android/server/wm/RootWindowContainer;->copyAnimToLayoutParams()Z
+PLcom/android/server/wm/RootWindowContainer;->dispatchConfigurationToChild(Lcom/android/server/wm/ConfigurationContainer;Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/RootWindowContainer;->dispatchConfigurationToChild(Lcom/android/server/wm/DisplayContent;Landroid/content/res/Configuration;)V
+HPLcom/android/server/wm/RootWindowContainer;->ensureActivitiesVisible()V
+HPLcom/android/server/wm/RootWindowContainer;->ensureActivitiesVisible(Lcom/android/server/wm/ActivityRecord;)V
+HPLcom/android/server/wm/RootWindowContainer;->ensureActivitiesVisible(Lcom/android/server/wm/ActivityRecord;Z)V
+PLcom/android/server/wm/RootWindowContainer;->ensureVisibilityAndConfig(Lcom/android/server/wm/ActivityRecord;IZ)Z
+PLcom/android/server/wm/RootWindowContainer;->executeAppTransitionForAllDisplay()V
+PLcom/android/server/wm/RootWindowContainer;->findTask(ILjava/lang/String;Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Lcom/android/server/wm/TaskDisplayArea;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/RootWindowContainer;->findTask(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/TaskDisplayArea;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/RootWindowContainer;->finishDisabledPackageActivities(Ljava/lang/String;Ljava/util/Set;ZZIZ)Z
+PLcom/android/server/wm/RootWindowContainer;->forAllDisplayPolicies(Ljava/util/function/Consumer;)V
+HPLcom/android/server/wm/RootWindowContainer;->forAllDisplays(Ljava/util/function/Consumer;)V
+PLcom/android/server/wm/RootWindowContainer;->getAllRootTaskInfos(I)Ljava/util/ArrayList;
+PLcom/android/server/wm/RootWindowContainer;->getCurrentInputMethodWindow()Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/RootWindowContainer;->getDefaultDisplay()Lcom/android/server/wm/DisplayContent;
+PLcom/android/server/wm/RootWindowContainer;->getDefaultTaskDisplayArea()Lcom/android/server/wm/TaskDisplayArea;
+HPLcom/android/server/wm/RootWindowContainer;->getDisplayContent(I)Lcom/android/server/wm/DisplayContent;
+PLcom/android/server/wm/RootWindowContainer;->getDisplayContentOrCreate(I)Lcom/android/server/wm/DisplayContent;
+PLcom/android/server/wm/RootWindowContainer;->getDisplayRotationCoordinator()Lcom/android/server/wm/DisplayRotationCoordinator;
+PLcom/android/server/wm/RootWindowContainer;->getDumpActivities(Ljava/lang/String;ZZI)Ljava/util/ArrayList;
+PLcom/android/server/wm/RootWindowContainer;->getOrCreateRootTask(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;ZLcom/android/server/wm/LaunchParamsController$LaunchParams;I)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/RootWindowContainer;->getRootTaskInfo(Lcom/android/server/wm/Task;)Landroid/app/ActivityTaskManager$RootTaskInfo;
+PLcom/android/server/wm/RootWindowContainer;->getRunningTasks(ILjava/util/List;IILandroid/util/ArraySet;I)V
+HPLcom/android/server/wm/RootWindowContainer;->getTaskToShowPermissionDialogOn(Ljava/lang/String;I)I
+HPLcom/android/server/wm/RootWindowContainer;->getTopDisplayFocusedRootTask()Lcom/android/server/wm/Task;
+PLcom/android/server/wm/RootWindowContainer;->getTopFocusedDisplayContent()Lcom/android/server/wm/DisplayContent;
+PLcom/android/server/wm/RootWindowContainer;->getTopResumedActivity()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/RootWindowContainer;->getWindowToken(Landroid/os/IBinder;)Lcom/android/server/wm/WindowToken;
+PLcom/android/server/wm/RootWindowContainer;->getWindowTokenDisplay(Lcom/android/server/wm/WindowToken;)Lcom/android/server/wm/DisplayContent;
+HPLcom/android/server/wm/RootWindowContainer;->handleNotObscuredLocked(Lcom/android/server/wm/WindowState;ZZ)Z
+HPLcom/android/server/wm/RootWindowContainer;->handleResizingWindows()V
+PLcom/android/server/wm/RootWindowContainer;->hasAwakeDisplay()Z
+HPLcom/android/server/wm/RootWindowContainer;->hasPendingLayoutChanges(Lcom/android/server/wm/WindowAnimator;)Z
+PLcom/android/server/wm/RootWindowContainer;->hasVisibleWindowAboveButDoesNotOwnNotificationShade(I)Z
+PLcom/android/server/wm/RootWindowContainer;->invalidateTaskLayers()V
+PLcom/android/server/wm/RootWindowContainer;->isAttached()Z
+HPLcom/android/server/wm/RootWindowContainer;->isLayoutNeeded()Z
+PLcom/android/server/wm/RootWindowContainer;->isOnTop()Z
+PLcom/android/server/wm/RootWindowContainer;->isTopDisplayFocusedRootTask(Lcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/RootWindowContainer;->lambda$allPausedActivitiesComplete$38([ZLcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/RootWindowContainer;->lambda$allResumedActivitiesVisible$37([ZLcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/RootWindowContainer;->lambda$findTask$15(Lcom/android/server/wm/TaskDisplayArea;Lcom/android/server/wm/TaskDisplayArea;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/RootWindowContainer;->lambda$getAllRootTaskInfos$24(Ljava/util/ArrayList;Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/RootWindowContainer;->lambda$getDumpActivities$44(IZLjava/util/ArrayList;Ljava/lang/String;ILcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/RootWindowContainer;->lambda$getRootTaskInfo$21(Lcom/android/server/wm/Task;[Z[ILcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/RootWindowContainer;->lambda$getRootTaskInfo$22([ILandroid/app/ActivityTaskManager$RootTaskInfo;Lcom/android/server/wm/Task;)V
+HPLcom/android/server/wm/RootWindowContainer;->lambda$getTaskToShowPermissionDialogOn$42(Lcom/android/server/policy/PermissionPolicyInternal;Lcom/android/server/wm/ActivityRecord;)Z
+HPLcom/android/server/wm/RootWindowContainer;->lambda$getTaskToShowPermissionDialogOn$43(Lcom/android/server/policy/PermissionPolicyInternal;ILjava/lang/String;[ILcom/android/server/wm/TaskFragment;)Z
+PLcom/android/server/wm/RootWindowContainer;->lambda$hasVisibleWindowAboveButDoesNotOwnNotificationShade$33(I[ZLcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/RootWindowContainer;->lambda$onDisplayChanged$25(I)V
+HPLcom/android/server/wm/RootWindowContainer;->lambda$performSurfacePlacementNoTrace$7(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/RootWindowContainer;->lambda$rankTaskLayers$28(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/RootWindowContainer;->lambda$rankTaskLayers$29(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/RootWindowContainer;->lambda$resumeFocusedTasksTopActivities$17(Lcom/android/server/wm/Task;[ZZLandroid/app/ActivityOptions;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/RootWindowContainer;->lambda$startHomeOnDisplay$11(ILjava/lang/String;ZZLcom/android/server/wm/TaskDisplayArea;Ljava/lang/Boolean;)Ljava/lang/Boolean;
+PLcom/android/server/wm/RootWindowContainer;->lambda$startHomeOnEmptyDisplays$10(Ljava/lang/String;Lcom/android/server/wm/TaskDisplayArea;)V
+PLcom/android/server/wm/RootWindowContainer;->lambda$updateDisplayImePolicyCache$26(Landroid/util/ArrayMap;Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/RootWindowContainer;->onChildPositionChanged(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/RootWindowContainer;->onDisplayChanged(I)V
+PLcom/android/server/wm/RootWindowContainer;->onDisplayManagerReceivedDeviceState(I)V
+PLcom/android/server/wm/RootWindowContainer;->onSettingsRetrieved()V
+HPLcom/android/server/wm/RootWindowContainer;->performSurfacePlacement()V
+HPLcom/android/server/wm/RootWindowContainer;->performSurfacePlacementNoTrace()V
+PLcom/android/server/wm/RootWindowContainer;->rankTaskLayers()V
+PLcom/android/server/wm/RootWindowContainer;->resolveActivityType(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/Task;)I
+PLcom/android/server/wm/RootWindowContainer;->resolveHomeActivity(ILandroid/content/Intent;)Landroid/content/pm/ActivityInfo;
+PLcom/android/server/wm/RootWindowContainer;->resumeFocusedTasksTopActivities()Z
+PLcom/android/server/wm/RootWindowContainer;->resumeFocusedTasksTopActivities(Lcom/android/server/wm/Task;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;)Z
+HPLcom/android/server/wm/RootWindowContainer;->resumeFocusedTasksTopActivities(Lcom/android/server/wm/Task;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Z)Z
+PLcom/android/server/wm/RootWindowContainer;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/RootWindowContainer;->shouldPlacePrimaryHomeOnDisplay(I)Z
+PLcom/android/server/wm/RootWindowContainer;->startHomeOnAllDisplays(ILjava/lang/String;)Z
+PLcom/android/server/wm/RootWindowContainer;->startHomeOnDisplay(ILjava/lang/String;I)Z
+PLcom/android/server/wm/RootWindowContainer;->startHomeOnDisplay(ILjava/lang/String;IZZ)Z
+PLcom/android/server/wm/RootWindowContainer;->startHomeOnEmptyDisplays(Ljava/lang/String;)V
+PLcom/android/server/wm/RootWindowContainer;->startHomeOnTaskDisplayArea(ILjava/lang/String;Lcom/android/server/wm/TaskDisplayArea;ZZ)Z
+PLcom/android/server/wm/RootWindowContainer;->startPowerModeLaunchIfNeeded(ZLcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/RootWindowContainer;->topRunningActivity()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/RootWindowContainer;->updateDisplayImePolicyCache()V
+HPLcom/android/server/wm/RootWindowContainer;->updateFocusedWindowLocked(IZ)Z
+PLcom/android/server/wm/RootWindowContainer;->updateUIDsPresentOnDisplay()V
+PLcom/android/server/wm/RootWindowContainer;->updateUserRootTask(ILcom/android/server/wm/Task;)V
+PLcom/android/server/wm/RotationWatcherController;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/RunningTasks$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/RunningTasks;)V
+PLcom/android/server/wm/RunningTasks$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/RunningTasks;->$r8$lambda$MfBca7mzpEqQjGaOD89UUs0nLyk(Lcom/android/server/wm/RunningTasks;Lcom/android/server/wm/DisplayContent;)V
+HSPLcom/android/server/wm/RunningTasks;-><init>()V
+PLcom/android/server/wm/RunningTasks;->accept(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/RunningTasks;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/RunningTasks;->createRunningTaskInfo(Lcom/android/server/wm/Task;J)Landroid/app/ActivityManager$RunningTaskInfo;
+HPLcom/android/server/wm/RunningTasks;->getTasks(ILjava/util/List;ILcom/android/server/wm/RecentTasks;Lcom/android/server/wm/WindowContainer;ILandroid/util/ArraySet;)V
+PLcom/android/server/wm/RunningTasks;->lambda$getTasks$0(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/RunningTasks;->processTaskInWindowContainer(Lcom/android/server/wm/WindowContainer;)V
+HPLcom/android/server/wm/SafeActivityOptions;-><init>(Landroid/app/ActivityOptions;)V
+PLcom/android/server/wm/SafeActivityOptions;->checkPermissions(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/ActivityTaskSupervisor;Landroid/app/ActivityOptions;II)V
+PLcom/android/server/wm/SafeActivityOptions;->fromBundle(Landroid/os/Bundle;)Lcom/android/server/wm/SafeActivityOptions;
+PLcom/android/server/wm/SafeActivityOptions;->getLaunchTaskDisplayArea(Landroid/app/ActivityOptions;Lcom/android/server/wm/ActivityTaskSupervisor;)Lcom/android/server/wm/TaskDisplayArea;
+PLcom/android/server/wm/SafeActivityOptions;->getOptions(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/ActivityTaskSupervisor;)Landroid/app/ActivityOptions;
+PLcom/android/server/wm/SafeActivityOptions;->getOriginalOptions()Landroid/app/ActivityOptions;
+PLcom/android/server/wm/SafeActivityOptions;->isSystemOrSystemUI(II)Z
+PLcom/android/server/wm/SafeActivityOptions;->mergeActivityOptions(Landroid/app/ActivityOptions;Landroid/app/ActivityOptions;)Landroid/app/ActivityOptions;
+PLcom/android/server/wm/SafeActivityOptions;->popAppVerificationBundle()Landroid/os/Bundle;
+HPLcom/android/server/wm/SafeActivityOptions;->setCallerOptions(Landroid/app/ActivityOptions;)V
+PLcom/android/server/wm/SafeActivityOptions;->setCallingPidUidForRemoteAnimationAdapter(Landroid/app/ActivityOptions;II)V
+PLcom/android/server/wm/ScreenRecordingCallbackController;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/ScreenRecordingCallbackController;->onProcessActivityVisibilityChanged(IZ)V
+PLcom/android/server/wm/SensitiveContentPackages;-><init>()V
+PLcom/android/server/wm/Session$$ExternalSyntheticLambda3;-><init>(Z)V
+PLcom/android/server/wm/Session$$ExternalSyntheticLambda3;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/Session;->$r8$lambda$71MlbzHo9XQfq1o5frufHv-e65Q(ZLcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/Session;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/view/IWindowSessionCallback;)V
+HPLcom/android/server/wm/Session;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/view/IWindowSessionCallback;II)V
+PLcom/android/server/wm/Session;->actionOnWallpaper(Landroid/os/IBinder;Ljava/util/function/BiConsumer;)V
+PLcom/android/server/wm/Session;->addToDisplay(Landroid/view/IWindow;Landroid/view/WindowManager$LayoutParams;IIILandroid/view/InputChannel;Landroid/view/InsetsState;Landroid/view/InsetsSourceControl$Array;Landroid/graphics/Rect;[F)I
+PLcom/android/server/wm/Session;->addToDisplayAsUser(Landroid/view/IWindow;Landroid/view/WindowManager$LayoutParams;IIIILandroid/view/InputChannel;Landroid/view/InsetsState;Landroid/view/InsetsSourceControl$Array;Landroid/graphics/Rect;[F)I
+PLcom/android/server/wm/Session;->finishDrawing(Landroid/view/IWindow;Landroid/view/SurfaceControl$Transaction;I)V
+PLcom/android/server/wm/Session;->grantInputChannel(ILandroid/view/SurfaceControl;Landroid/os/IBinder;Landroid/window/InputTransferToken;IIIILandroid/os/IBinder;Landroid/window/InputTransferToken;Ljava/lang/String;Landroid/view/InputChannel;)V
+PLcom/android/server/wm/Session;->hasWindow()Z
+PLcom/android/server/wm/Session;->isClientDead()Z
+PLcom/android/server/wm/Session;->lambda$setShouldZoomOutWallpaper$2(ZLcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/Session;->onRectangleOnScreenRequested(Landroid/os/IBinder;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/Session;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLcom/android/server/wm/Session;->onWindowAdded(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/Session;->onWindowRemoved(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/Session;->onWindowSurfaceVisibilityChanged(Lcom/android/server/wm/WindowSurfaceController;ZI)V
+HPLcom/android/server/wm/Session;->relayout(Landroid/view/IWindow;Landroid/view/WindowManager$LayoutParams;IIIIIILandroid/window/ClientWindowFrames;Landroid/util/MergedConfiguration;Landroid/view/SurfaceControl;Landroid/view/InsetsState;Landroid/view/InsetsSourceControl$Array;Landroid/os/Bundle;)I
+PLcom/android/server/wm/Session;->relayoutAsync(Landroid/view/IWindow;Landroid/view/WindowManager$LayoutParams;IIIIII)V
+PLcom/android/server/wm/Session;->remove(Landroid/os/IBinder;)V
+PLcom/android/server/wm/Session;->setHasOverlayUi(Z)V
+PLcom/android/server/wm/Session;->setInsets(Landroid/view/IWindow;ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Region;)V
+PLcom/android/server/wm/Session;->setOnBackInvokedCallbackInfo(Landroid/view/IWindow;Landroid/window/OnBackInvokedCallbackInfo;)V
+PLcom/android/server/wm/Session;->setShouldZoomOutWallpaper(Landroid/os/IBinder;Z)V
+PLcom/android/server/wm/SmoothDimmer;-><init>(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/SmoothDimmer;-><init>(Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/DimmerAnimationHelper$AnimationAdapterFactory;)V
+HPLcom/android/server/wm/SmoothDimmer;->getDimBounds()Landroid/graphics/Rect;
+HPLcom/android/server/wm/SmoothDimmer;->resetDimStates()V
+PLcom/android/server/wm/SnapshotCache;-><init>(Lcom/android/server/wm/WindowManagerService;Ljava/lang/String;)V
+PLcom/android/server/wm/SnapshotCache;->clearRunningCache()V
+PLcom/android/server/wm/SnapshotCache;->getSnapshot(Ljava/lang/Integer;)Landroid/window/TaskSnapshot;
+PLcom/android/server/wm/SnapshotCache;->onIdRemoved(Ljava/lang/Integer;)V
+PLcom/android/server/wm/SnapshotCache;->removeRunningEntry(Ljava/lang/Integer;)V
+PLcom/android/server/wm/SnapshotController$ActivitiesByTask$OpenCloseActivities;-><init>()V
+PLcom/android/server/wm/SnapshotController$ActivitiesByTask$OpenCloseActivities;->add(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/SnapshotController$ActivitiesByTask$OpenCloseActivities;->allOpensOptInOnBackInvoked()Z
+PLcom/android/server/wm/SnapshotController$ActivitiesByTask$OpenCloseActivities;->recordSnapshot(Lcom/android/server/wm/ActivitySnapshotController;)V
+PLcom/android/server/wm/SnapshotController$ActivitiesByTask;-><init>()V
+PLcom/android/server/wm/SnapshotController$ActivitiesByTask;-><init>(Lcom/android/server/wm/SnapshotController$ActivitiesByTask-IA;)V
+PLcom/android/server/wm/SnapshotController$ActivitiesByTask;->put(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/SnapshotController$ActivitiesByTask;->recordSnapshot(Lcom/android/server/wm/ActivitySnapshotController;)V
+PLcom/android/server/wm/SnapshotController;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/SnapshotController;->isTransitionClose(I)Z
+PLcom/android/server/wm/SnapshotController;->isTransitionOpen(I)Z
+PLcom/android/server/wm/SnapshotController;->notifyAppVisibilityChanged(Lcom/android/server/wm/ActivityRecord;Z)V
+PLcom/android/server/wm/SnapshotController;->onTransactionReady(ILjava/util/ArrayList;)V
+PLcom/android/server/wm/SnapshotController;->onTransitionFinish(ILjava/util/ArrayList;)V
+PLcom/android/server/wm/SnapshotController;->onTransitionStarting(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/SnapshotController;->setPause(Z)V
+PLcom/android/server/wm/SnapshotController;->systemReady()V
+PLcom/android/server/wm/SnapshotPersistQueue$1;-><init>(Lcom/android/server/wm/SnapshotPersistQueue;Ljava/lang/String;)V
+PLcom/android/server/wm/SnapshotPersistQueue$1;->run()V
+PLcom/android/server/wm/SnapshotPersistQueue$DeleteWriteQueueItem;-><init>(Lcom/android/server/wm/SnapshotPersistQueue;IILcom/android/server/wm/BaseAppSnapshotPersister$PersistInfoProvider;)V
+PLcom/android/server/wm/SnapshotPersistQueue$DeleteWriteQueueItem;->write()V
+PLcom/android/server/wm/SnapshotPersistQueue$WriteQueueItem;-><init>(Lcom/android/server/wm/BaseAppSnapshotPersister$PersistInfoProvider;I)V
+PLcom/android/server/wm/SnapshotPersistQueue$WriteQueueItem;->isReady(Lcom/android/server/pm/UserManagerInternal;)Z
+PLcom/android/server/wm/SnapshotPersistQueue$WriteQueueItem;->onDequeuedLocked()V
+PLcom/android/server/wm/SnapshotPersistQueue$WriteQueueItem;->onQueuedLocked()V
+PLcom/android/server/wm/SnapshotPersistQueue;->-$$Nest$fgetmLock(Lcom/android/server/wm/SnapshotPersistQueue;)Ljava/lang/Object;
+PLcom/android/server/wm/SnapshotPersistQueue;->-$$Nest$fgetmPaused(Lcom/android/server/wm/SnapshotPersistQueue;)Z
+PLcom/android/server/wm/SnapshotPersistQueue;->-$$Nest$fgetmUserManagerInternal(Lcom/android/server/wm/SnapshotPersistQueue;)Lcom/android/server/pm/UserManagerInternal;
+PLcom/android/server/wm/SnapshotPersistQueue;->-$$Nest$fgetmWriteQueue(Lcom/android/server/wm/SnapshotPersistQueue;)Ljava/util/ArrayDeque;
+PLcom/android/server/wm/SnapshotPersistQueue;->-$$Nest$fputmQueueIdling(Lcom/android/server/wm/SnapshotPersistQueue;Z)V
+PLcom/android/server/wm/SnapshotPersistQueue;-><init>()V
+PLcom/android/server/wm/SnapshotPersistQueue;->addToQueueInternal(Lcom/android/server/wm/SnapshotPersistQueue$WriteQueueItem;Z)V
+PLcom/android/server/wm/SnapshotPersistQueue;->createDeleteWriteQueueItem(IILcom/android/server/wm/BaseAppSnapshotPersister$PersistInfoProvider;)Lcom/android/server/wm/SnapshotPersistQueue$DeleteWriteQueueItem;
+PLcom/android/server/wm/SnapshotPersistQueue;->deleteSnapshot(IILcom/android/server/wm/BaseAppSnapshotPersister$PersistInfoProvider;)V
+PLcom/android/server/wm/SnapshotPersistQueue;->ensureStoreQueueDepthLocked()V
+PLcom/android/server/wm/SnapshotPersistQueue;->getLock()Ljava/lang/Object;
+PLcom/android/server/wm/SnapshotPersistQueue;->sendToQueueLocked(Lcom/android/server/wm/SnapshotPersistQueue$WriteQueueItem;)V
+PLcom/android/server/wm/SnapshotPersistQueue;->setPaused(Z)V
+PLcom/android/server/wm/SnapshotPersistQueue;->start()V
+PLcom/android/server/wm/SnapshotPersistQueue;->systemReady()V
+PLcom/android/server/wm/SplashScreenExceptionList$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/SplashScreenExceptionList;)V
+PLcom/android/server/wm/SplashScreenExceptionList;-><clinit>()V
+PLcom/android/server/wm/SplashScreenExceptionList;-><init>(Ljava/util/concurrent/Executor;)V
+PLcom/android/server/wm/SplashScreenExceptionList;->isException(Ljava/lang/String;ILjava/util/function/Supplier;)Z
+PLcom/android/server/wm/SplashScreenExceptionList;->parseDeviceConfigPackageList(Ljava/lang/String;)V
+PLcom/android/server/wm/SplashScreenExceptionList;->updateDeviceConfig(Ljava/lang/String;)V
+PLcom/android/server/wm/SplashScreenStartingData;-><init>(Lcom/android/server/wm/WindowManagerService;II)V
+PLcom/android/server/wm/SplashScreenStartingData;->createStartingSurface(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/StartingSurfaceController$StartingSurface;
+PLcom/android/server/wm/SplashScreenStartingData;->needRevealAnimation()Z
+PLcom/android/server/wm/StartingData;-><init>(Lcom/android/server/wm/WindowManagerService;I)V
+PLcom/android/server/wm/StartingData;->hasImeSurface()Z
+PLcom/android/server/wm/StartingSurfaceController$StartingSurface;-><init>(Lcom/android/server/wm/StartingSurfaceController;Lcom/android/server/wm/Task;Landroid/window/ITaskOrganizer;)V
+PLcom/android/server/wm/StartingSurfaceController$StartingSurface;->remove(ZZ)V
+PLcom/android/server/wm/StartingSurfaceController;->-$$Nest$fgetmService(Lcom/android/server/wm/StartingSurfaceController;)Lcom/android/server/wm/WindowManagerService;
+PLcom/android/server/wm/StartingSurfaceController;-><clinit>()V
+PLcom/android/server/wm/StartingSurfaceController;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/StartingSurfaceController;->createSplashScreenStartingSurface(Lcom/android/server/wm/ActivityRecord;I)Lcom/android/server/wm/StartingSurfaceController$StartingSurface;
+PLcom/android/server/wm/StartingSurfaceController;->isExceptionApp(Ljava/lang/String;ILjava/util/function/Supplier;)Z
+PLcom/android/server/wm/StartingSurfaceController;->makeStartingWindowTypeParameter(ZZZZZZZZIZLjava/lang/String;I)I
+PLcom/android/server/wm/StartingSurfaceController;->showStartingWindow(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;ZZLcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/SurfaceAnimationRunner$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/SurfaceAnimationRunner;)V
+PLcom/android/server/wm/SurfaceAnimationRunner$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/wm/SurfaceAnimationRunner$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/wm/SurfaceAnimationRunner;)V
+PLcom/android/server/wm/SurfaceAnimationRunner$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/wm/SurfaceAnimationRunner$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/wm/SurfaceAnimationRunner;)V
+PLcom/android/server/wm/SurfaceAnimationRunner$$ExternalSyntheticLambda2;->makeAnimator()Landroid/animation/ValueAnimator;
+PLcom/android/server/wm/SurfaceAnimationRunner$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/wm/SurfaceAnimationRunner;)V
+PLcom/android/server/wm/SurfaceAnimationRunner$$ExternalSyntheticLambda5;->doFrame(J)V
+PLcom/android/server/wm/SurfaceAnimationRunner$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/wm/SurfaceAnimationRunner;Lcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;Landroid/animation/ValueAnimator;)V
+PLcom/android/server/wm/SurfaceAnimationRunner$$ExternalSyntheticLambda6;->onAnimationUpdate(Landroid/animation/ValueAnimator;)V
+PLcom/android/server/wm/SurfaceAnimationRunner$1;-><init>(Lcom/android/server/wm/SurfaceAnimationRunner;Lcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;)V
+PLcom/android/server/wm/SurfaceAnimationRunner$1;->onAnimationEnd(Landroid/animation/Animator;)V
+PLcom/android/server/wm/SurfaceAnimationRunner$1;->onAnimationStart(Landroid/animation/Animator;)V
+PLcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;->-$$Nest$fgetmCancelled(Lcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;)Z
+PLcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;-><init>(Lcom/android/server/wm/LocalAnimationAdapter$AnimationSpec;Landroid/view/SurfaceControl;Ljava/lang/Runnable;)V
+PLcom/android/server/wm/SurfaceAnimationRunner$SfValueAnimator;-><init>(Lcom/android/server/wm/SurfaceAnimationRunner;)V
+PLcom/android/server/wm/SurfaceAnimationRunner$SfValueAnimator;->getAnimationHandler()Landroid/animation/AnimationHandler;
+PLcom/android/server/wm/SurfaceAnimationRunner;->$r8$lambda$ToSJy1KwSRMhh9jEX86pHrCMpsM(Lcom/android/server/wm/SurfaceAnimationRunner;)V
+PLcom/android/server/wm/SurfaceAnimationRunner;->$r8$lambda$ZTJ0zv3TBWmm9N7PsMhXlrn1N_k(Lcom/android/server/wm/SurfaceAnimationRunner;J)V
+PLcom/android/server/wm/SurfaceAnimationRunner;->$r8$lambda$qJwhWRhUrmZXvj8AiaQY-79qSPU(Lcom/android/server/wm/SurfaceAnimationRunner;)Landroid/animation/ValueAnimator;
+PLcom/android/server/wm/SurfaceAnimationRunner;->$r8$lambda$rSMLySCWRN8MY7ZdHCaQcDy2620(Lcom/android/server/wm/SurfaceAnimationRunner;)V
+PLcom/android/server/wm/SurfaceAnimationRunner;->$r8$lambda$tBHqgETCQ96oQUzgbS-jgwe9EfU(Lcom/android/server/wm/SurfaceAnimationRunner;Lcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator;)V
+PLcom/android/server/wm/SurfaceAnimationRunner;->-$$Nest$fgetmAnimationHandler(Lcom/android/server/wm/SurfaceAnimationRunner;)Landroid/animation/AnimationHandler;
+PLcom/android/server/wm/SurfaceAnimationRunner;->-$$Nest$fgetmAnimationThreadHandler(Lcom/android/server/wm/SurfaceAnimationRunner;)Landroid/os/Handler;
+PLcom/android/server/wm/SurfaceAnimationRunner;->-$$Nest$fgetmCancelLock(Lcom/android/server/wm/SurfaceAnimationRunner;)Ljava/lang/Object;
+PLcom/android/server/wm/SurfaceAnimationRunner;->-$$Nest$fgetmFrameTransaction(Lcom/android/server/wm/SurfaceAnimationRunner;)Landroid/view/SurfaceControl$Transaction;
+PLcom/android/server/wm/SurfaceAnimationRunner;->-$$Nest$fgetmLock(Lcom/android/server/wm/SurfaceAnimationRunner;)Ljava/lang/Object;
+PLcom/android/server/wm/SurfaceAnimationRunner;-><clinit>()V
+PLcom/android/server/wm/SurfaceAnimationRunner;-><init>(Landroid/animation/AnimationHandler$AnimationFrameCallbackProvider;Lcom/android/server/wm/SurfaceAnimationRunner$AnimatorFactory;Landroid/view/SurfaceControl$Transaction;Landroid/os/PowerManagerInternal;)V
+PLcom/android/server/wm/SurfaceAnimationRunner;-><init>(Ljava/util/function/Supplier;Landroid/os/PowerManagerInternal;)V
+HPLcom/android/server/wm/SurfaceAnimationRunner;->applyTransaction()V
+PLcom/android/server/wm/SurfaceAnimationRunner;->applyTransformation(Lcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;Landroid/view/SurfaceControl$Transaction;J)V
+PLcom/android/server/wm/SurfaceAnimationRunner;->continueStartingAnimations()V
+PLcom/android/server/wm/SurfaceAnimationRunner;->deferStartingAnimations()V
+PLcom/android/server/wm/SurfaceAnimationRunner;->lambda$new$0()V
+PLcom/android/server/wm/SurfaceAnimationRunner;->lambda$new$1()Landroid/animation/ValueAnimator;
+HPLcom/android/server/wm/SurfaceAnimationRunner;->lambda$startAnimationLocked$4(Lcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator;)V
+PLcom/android/server/wm/SurfaceAnimationRunner;->onAnimationLeashLost(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/SurfaceAnimationRunner;->requiresEdgeExtension(Lcom/android/server/wm/LocalAnimationAdapter$AnimationSpec;)Z
+PLcom/android/server/wm/SurfaceAnimationRunner;->scheduleApplyTransaction()V
+PLcom/android/server/wm/SurfaceAnimationRunner;->startAnimation(Lcom/android/server/wm/LocalAnimationAdapter$AnimationSpec;Landroid/view/SurfaceControl;Landroid/view/SurfaceControl$Transaction;Ljava/lang/Runnable;)V
+PLcom/android/server/wm/SurfaceAnimationRunner;->startAnimationLocked(Lcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;)V
+PLcom/android/server/wm/SurfaceAnimationRunner;->startAnimations(J)V
+PLcom/android/server/wm/SurfaceAnimationRunner;->startPendingAnimationsLocked()V
+HSPLcom/android/server/wm/SurfaceAnimationThread;-><init>()V
+HSPLcom/android/server/wm/SurfaceAnimationThread;->ensureThreadLocked()V
+HSPLcom/android/server/wm/SurfaceAnimationThread;->get()Lcom/android/server/wm/SurfaceAnimationThread;
+HSPLcom/android/server/wm/SurfaceAnimationThread;->getHandler()Landroid/os/Handler;
+HPLcom/android/server/wm/SurfaceAnimator$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/SurfaceAnimator;Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;)V
+PLcom/android/server/wm/SurfaceAnimator$$ExternalSyntheticLambda0;->onAnimationFinished(ILcom/android/server/wm/AnimationAdapter;)V
+PLcom/android/server/wm/SurfaceAnimator$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/wm/SurfaceAnimator;Lcom/android/server/wm/AnimationAdapter;Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;I)V
+PLcom/android/server/wm/SurfaceAnimator$$ExternalSyntheticLambda1;->run()V
+PLcom/android/server/wm/SurfaceAnimator$Animatable;->onLeashAnimationStarting(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;)V
+PLcom/android/server/wm/SurfaceAnimator$Animatable;->shouldDeferAnimationFinish(Ljava/lang/Runnable;)Z
+PLcom/android/server/wm/SurfaceAnimator;->$r8$lambda$A_SDCtBYtLcYDAAdc6Nygk1chE0(Lcom/android/server/wm/SurfaceAnimator;Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;ILcom/android/server/wm/AnimationAdapter;)V
+PLcom/android/server/wm/SurfaceAnimator;->$r8$lambda$jpWLmdZ8WD7VMOkNht1QSuwzXVM(Lcom/android/server/wm/SurfaceAnimator;Lcom/android/server/wm/AnimationAdapter;Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;I)V
+HPLcom/android/server/wm/SurfaceAnimator;-><init>(Lcom/android/server/wm/SurfaceAnimator$Animatable;Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/SurfaceAnimator;->animationTypeToString(I)Ljava/lang/String;
+PLcom/android/server/wm/SurfaceAnimator;->cancelAnimation()V
+HPLcom/android/server/wm/SurfaceAnimator;->cancelAnimation(Landroid/view/SurfaceControl$Transaction;ZZ)V
+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;
+PLcom/android/server/wm/SurfaceAnimator;->getAnimation()Lcom/android/server/wm/AnimationAdapter;
+PLcom/android/server/wm/SurfaceAnimator;->getAnimationType()I
+HPLcom/android/server/wm/SurfaceAnimator;->getFinishedCallback(Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;)Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;
+HPLcom/android/server/wm/SurfaceAnimator;->hasLeash()Z
+HPLcom/android/server/wm/SurfaceAnimator;->isAnimating()Z
+PLcom/android/server/wm/SurfaceAnimator;->lambda$getFinishedCallback$0(Lcom/android/server/wm/AnimationAdapter;Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;I)V
+PLcom/android/server/wm/SurfaceAnimator;->lambda$getFinishedCallback$1(Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;ILcom/android/server/wm/AnimationAdapter;)V
+PLcom/android/server/wm/SurfaceAnimator;->removeLeash(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/SurfaceAnimator$Animatable;Landroid/view/SurfaceControl;Z)Z
+HPLcom/android/server/wm/SurfaceAnimator;->reset(Landroid/view/SurfaceControl$Transaction;Z)V
+HPLcom/android/server/wm/SurfaceAnimator;->setLayer(Landroid/view/SurfaceControl$Transaction;I)V
+PLcom/android/server/wm/SurfaceAnimator;->setRelativeLayer(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;I)V
+HPLcom/android/server/wm/SurfaceAnimator;->startAnimation(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/AnimationAdapter;ZILcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;Ljava/lang/Runnable;Lcom/android/server/wm/AnimationAdapter;Lcom/android/server/wm/SurfaceFreezer;)V
+HPLcom/android/server/wm/SurfaceFreezer;-><init>(Lcom/android/server/wm/SurfaceFreezer$Freezable;Lcom/android/server/wm/WindowManagerService;)V
+HPLcom/android/server/wm/SurfaceFreezer;->hasLeash()Z
+PLcom/android/server/wm/SurfaceFreezer;->takeLeashForAnimation()Landroid/view/SurfaceControl;
+PLcom/android/server/wm/SurfaceFreezer;->unfreeze(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/SurfaceFreezer;->unfreezeInner(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/SurfaceSyncGroupController;-><init>()V
+PLcom/android/server/wm/SynchedDeviceConfig$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/SynchedDeviceConfig;)V
+PLcom/android/server/wm/SynchedDeviceConfig$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/SynchedDeviceConfig$SynchedDeviceConfigBuilder;-><init>(Ljava/lang/String;Ljava/util/concurrent/Executor;)V
+PLcom/android/server/wm/SynchedDeviceConfig$SynchedDeviceConfigBuilder;-><init>(Ljava/lang/String;Ljava/util/concurrent/Executor;Lcom/android/server/wm/SynchedDeviceConfig$SynchedDeviceConfigBuilder-IA;)V
+PLcom/android/server/wm/SynchedDeviceConfig$SynchedDeviceConfigBuilder;->addDeviceConfigEntry(Ljava/lang/String;ZZ)Lcom/android/server/wm/SynchedDeviceConfig$SynchedDeviceConfigBuilder;
+PLcom/android/server/wm/SynchedDeviceConfig$SynchedDeviceConfigBuilder;->build()Lcom/android/server/wm/SynchedDeviceConfig;
+PLcom/android/server/wm/SynchedDeviceConfig$SynchedDeviceConfigEntry;->-$$Nest$fgetmDefaultValue(Lcom/android/server/wm/SynchedDeviceConfig$SynchedDeviceConfigEntry;)Z
+HPLcom/android/server/wm/SynchedDeviceConfig$SynchedDeviceConfigEntry;->-$$Nest$mgetValue(Lcom/android/server/wm/SynchedDeviceConfig$SynchedDeviceConfigEntry;)Z
+PLcom/android/server/wm/SynchedDeviceConfig$SynchedDeviceConfigEntry;->-$$Nest$misBuildTimeFlagEnabled(Lcom/android/server/wm/SynchedDeviceConfig$SynchedDeviceConfigEntry;)Z
+PLcom/android/server/wm/SynchedDeviceConfig$SynchedDeviceConfigEntry;->-$$Nest$mupdateValue(Lcom/android/server/wm/SynchedDeviceConfig$SynchedDeviceConfigEntry;Z)V
+PLcom/android/server/wm/SynchedDeviceConfig$SynchedDeviceConfigEntry;-><init>(Ljava/lang/String;ZZ)V
+PLcom/android/server/wm/SynchedDeviceConfig$SynchedDeviceConfigEntry;-><init>(Ljava/lang/String;ZZLcom/android/server/wm/SynchedDeviceConfig$SynchedDeviceConfigEntry-IA;)V
+HPLcom/android/server/wm/SynchedDeviceConfig$SynchedDeviceConfigEntry;->getValue()Z
+PLcom/android/server/wm/SynchedDeviceConfig$SynchedDeviceConfigEntry;->isBuildTimeFlagEnabled()Z
+PLcom/android/server/wm/SynchedDeviceConfig$SynchedDeviceConfigEntry;->updateValue(Z)V
+PLcom/android/server/wm/SynchedDeviceConfig;->$r8$lambda$wnSiPqxpYWD7zDbmlb4cH3CKru0(Lcom/android/server/wm/SynchedDeviceConfig;Ljava/lang/String;Lcom/android/server/wm/SynchedDeviceConfig$SynchedDeviceConfigEntry;)V
+PLcom/android/server/wm/SynchedDeviceConfig;->-$$Nest$mstart(Lcom/android/server/wm/SynchedDeviceConfig;)Lcom/android/server/wm/SynchedDeviceConfig;
+PLcom/android/server/wm/SynchedDeviceConfig;->-$$Nest$mupdateFlags(Lcom/android/server/wm/SynchedDeviceConfig;)Lcom/android/server/wm/SynchedDeviceConfig;
+PLcom/android/server/wm/SynchedDeviceConfig;-><init>(Ljava/lang/String;Ljava/util/concurrent/Executor;Ljava/util/Map;)V
+PLcom/android/server/wm/SynchedDeviceConfig;-><init>(Ljava/lang/String;Ljava/util/concurrent/Executor;Ljava/util/Map;Lcom/android/server/wm/SynchedDeviceConfig-IA;)V
+PLcom/android/server/wm/SynchedDeviceConfig;->builder(Ljava/lang/String;Ljava/util/concurrent/Executor;)Lcom/android/server/wm/SynchedDeviceConfig$SynchedDeviceConfigBuilder;
+HPLcom/android/server/wm/SynchedDeviceConfig;->getFlagValue(Ljava/lang/String;)Z
+PLcom/android/server/wm/SynchedDeviceConfig;->isBuildTimeFlagEnabled(Ljava/lang/String;)Z
+PLcom/android/server/wm/SynchedDeviceConfig;->isDeviceConfigFlagEnabled(Ljava/lang/String;Z)Z
+PLcom/android/server/wm/SynchedDeviceConfig;->lambda$updateFlags$0(Ljava/lang/String;Lcom/android/server/wm/SynchedDeviceConfig$SynchedDeviceConfigEntry;)V
+PLcom/android/server/wm/SynchedDeviceConfig;->start()Lcom/android/server/wm/SynchedDeviceConfig;
+PLcom/android/server/wm/SynchedDeviceConfig;->updateFlags()Lcom/android/server/wm/SynchedDeviceConfig;
+PLcom/android/server/wm/SystemGesturesPointerEventListener$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/SystemGesturesPointerEventListener;)V
+PLcom/android/server/wm/SystemGesturesPointerEventListener$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/wm/SystemGesturesPointerEventListener$1;-><init>(Lcom/android/server/wm/SystemGesturesPointerEventListener;Landroid/content/Context;Landroid/view/GestureDetector$OnGestureListener;Landroid/os/Handler;)V
+PLcom/android/server/wm/SystemGesturesPointerEventListener$FlingGestureDetector;-><init>(Lcom/android/server/wm/SystemGesturesPointerEventListener;)V
+PLcom/android/server/wm/SystemGesturesPointerEventListener;->$r8$lambda$ny76CjJQ3d_Eeus7bZqFDsxdevk(Lcom/android/server/wm/SystemGesturesPointerEventListener;)V
+PLcom/android/server/wm/SystemGesturesPointerEventListener;->-$$Nest$fgetmContext(Lcom/android/server/wm/SystemGesturesPointerEventListener;)Landroid/content/Context;
+PLcom/android/server/wm/SystemGesturesPointerEventListener;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/wm/SystemGesturesPointerEventListener$Callbacks;)V
+PLcom/android/server/wm/SystemGesturesPointerEventListener;->checkNull(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/wm/SystemGesturesPointerEventListener;->lambda$systemReady$0()V
+HPLcom/android/server/wm/SystemGesturesPointerEventListener;->onConfigurationChanged()V
+PLcom/android/server/wm/SystemGesturesPointerEventListener;->onDisplayInfoChanged(Landroid/view/DisplayInfo;)V
+PLcom/android/server/wm/SystemGesturesPointerEventListener;->systemReady()V
+PLcom/android/server/wm/Task$$ExternalSyntheticLambda12;-><init>()V
+PLcom/android/server/wm/Task$$ExternalSyntheticLambda12;->test(Ljava/lang/Object;Ljava/lang/Object;)Z
+PLcom/android/server/wm/Task$$ExternalSyntheticLambda13;-><init>()V
+HPLcom/android/server/wm/Task$$ExternalSyntheticLambda13;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/Task$$ExternalSyntheticLambda18;-><init>()V
+PLcom/android/server/wm/Task$$ExternalSyntheticLambda18;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/Task$$ExternalSyntheticLambda19;-><init>()V
+PLcom/android/server/wm/Task$$ExternalSyntheticLambda19;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/Task$$ExternalSyntheticLambda23;-><init>()V
+PLcom/android/server/wm/Task$$ExternalSyntheticLambda23;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/Task$$ExternalSyntheticLambda25;-><init>()V
+PLcom/android/server/wm/Task$$ExternalSyntheticLambda26;-><init>()V
+PLcom/android/server/wm/Task$$ExternalSyntheticLambda26;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/Task$$ExternalSyntheticLambda27;-><init>([Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/Task$$ExternalSyntheticLambda27;->test(Ljava/lang/Object;)Z
+HPLcom/android/server/wm/Task$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/wm/ActivityRecord;Z)V
+HPLcom/android/server/wm/Task$$ExternalSyntheticLambda2;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/Task$$ExternalSyntheticLambda30;-><init>()V
+PLcom/android/server/wm/Task$$ExternalSyntheticLambda30;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/Task$$ExternalSyntheticLambda31;-><init>()V
+PLcom/android/server/wm/Task$$ExternalSyntheticLambda31;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/Task$$ExternalSyntheticLambda34;-><init>(Lcom/android/server/wm/TaskFragment;[ZLcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Z)V
+PLcom/android/server/wm/Task$$ExternalSyntheticLambda34;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/Task$$ExternalSyntheticLambda38;-><init>([I)V
+PLcom/android/server/wm/Task$$ExternalSyntheticLambda38;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/Task$$ExternalSyntheticLambda3;-><init>()V
+PLcom/android/server/wm/Task$$ExternalSyntheticLambda3;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/Task$$ExternalSyntheticLambda40;-><init>()V
+PLcom/android/server/wm/Task$$ExternalSyntheticLambda40;->test(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
+PLcom/android/server/wm/Task$$ExternalSyntheticLambda42;-><init>(Lcom/android/server/am/ActivityManagerService$ItemMatcher;Ljava/util/ArrayList;)V
+PLcom/android/server/wm/Task$$ExternalSyntheticLambda42;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/Task$$ExternalSyntheticLambda8;-><init>(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;[I)V
+PLcom/android/server/wm/Task$$ExternalSyntheticLambda8;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/Task$$ExternalSyntheticLambda9;-><init>()V
+PLcom/android/server/wm/Task$$ExternalSyntheticLambda9;->test(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
+PLcom/android/server/wm/Task$ActivityTaskHandler;-><init>(Lcom/android/server/wm/Task;Landroid/os/Looper;)V
+PLcom/android/server/wm/Task$Builder;->-$$Nest$msetAffinity(Lcom/android/server/wm/Task$Builder;Ljava/lang/String;)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->-$$Nest$msetAffinityIntent(Lcom/android/server/wm/Task$Builder;Landroid/content/Intent;)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->-$$Nest$msetAutoRemoveRecents(Lcom/android/server/wm/Task$Builder;Z)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->-$$Nest$msetCallingFeatureId(Lcom/android/server/wm/Task$Builder;Ljava/lang/String;)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->-$$Nest$msetCallingPackage(Lcom/android/server/wm/Task$Builder;Ljava/lang/String;)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->-$$Nest$msetCallingUid(Lcom/android/server/wm/Task$Builder;I)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->-$$Nest$msetLastDescription(Lcom/android/server/wm/Task$Builder;Ljava/lang/String;)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->-$$Nest$msetLastSnapshotData(Lcom/android/server/wm/Task$Builder;Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData;)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->-$$Nest$msetLastTaskDescription(Lcom/android/server/wm/Task$Builder;Landroid/app/ActivityManager$TaskDescription;)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->-$$Nest$msetLastTimeMoved(Lcom/android/server/wm/Task$Builder;J)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->-$$Nest$msetNeverRelinquishIdentity(Lcom/android/server/wm/Task$Builder;Z)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->-$$Nest$msetNextAffiliateTaskId(Lcom/android/server/wm/Task$Builder;I)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->-$$Nest$msetOrigActivity(Lcom/android/server/wm/Task$Builder;Landroid/content/ComponentName;)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->-$$Nest$msetPrevAffiliateTaskId(Lcom/android/server/wm/Task$Builder;I)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->-$$Nest$msetRealActivitySuspended(Lcom/android/server/wm/Task$Builder;Z)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->-$$Nest$msetResizeMode(Lcom/android/server/wm/Task$Builder;I)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->-$$Nest$msetRootAffinity(Lcom/android/server/wm/Task$Builder;Ljava/lang/String;)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->-$$Nest$msetRootWasReset(Lcom/android/server/wm/Task$Builder;Z)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->-$$Nest$msetSupportsPictureInPicture(Lcom/android/server/wm/Task$Builder;Z)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->-$$Nest$msetTaskAffiliation(Lcom/android/server/wm/Task$Builder;I)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->-$$Nest$msetUserId(Lcom/android/server/wm/Task$Builder;I)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->-$$Nest$msetUserSetupComplete(Lcom/android/server/wm/Task$Builder;Z)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->-$$Nest$msetVoiceInteractor(Lcom/android/server/wm/Task$Builder;Lcom/android/internal/app/IVoiceInteractor;)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V
+HPLcom/android/server/wm/Task$Builder;->build()Lcom/android/server/wm/Task;
+HPLcom/android/server/wm/Task$Builder;->buildInner()Lcom/android/server/wm/Task;
+PLcom/android/server/wm/Task$Builder;->setActivityInfo(Landroid/content/pm/ActivityInfo;)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setActivityOptions(Landroid/app/ActivityOptions;)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setActivityType(I)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setAffinity(Ljava/lang/String;)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setAffinityIntent(Landroid/content/Intent;)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setAutoRemoveRecents(Z)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setCallingFeatureId(Ljava/lang/String;)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setCallingPackage(Ljava/lang/String;)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setCallingUid(I)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setEffectiveUid(I)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setIntent(Landroid/content/Intent;)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setLastDescription(Ljava/lang/String;)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setLastSnapshotData(Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData;)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setLastTaskDescription(Landroid/app/ActivityManager$TaskDescription;)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setLastTimeMoved(J)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setLaunchFlags(I)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setMinHeight(I)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setMinWidth(I)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setNeverRelinquishIdentity(Z)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setNextAffiliateTaskId(I)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setOnTop(Z)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setOrigActivity(Landroid/content/ComponentName;)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setParent(Lcom/android/server/wm/WindowContainer;)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setPrevAffiliateTaskId(I)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setRealActivity(Landroid/content/ComponentName;)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setRealActivitySuspended(Z)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setResizeMode(I)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setRootAffinity(Ljava/lang/String;)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setRootWasReset(Z)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setSourceTask(Lcom/android/server/wm/Task;)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setSupportsPictureInPicture(Z)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setTaskAffiliation(I)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setTaskId(I)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setUserId(I)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setUserSetupComplete(Z)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setVoiceInteractor(Lcom/android/internal/app/IVoiceInteractor;)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setVoiceSession(Landroid/service/voice/IVoiceInteractionSession;)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->setWindowingMode(I)Lcom/android/server/wm/Task$Builder;
+PLcom/android/server/wm/Task$Builder;->validateRootTask(Lcom/android/server/wm/TaskDisplayArea;)V
+PLcom/android/server/wm/Task$FindRootHelper;-><init>(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/Task$FindRootHelper;-><init>(Lcom/android/server/wm/Task;Lcom/android/server/wm/Task$FindRootHelper-IA;)V
+HPLcom/android/server/wm/Task$FindRootHelper;->findRoot(ZZ)Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/Task$FindRootHelper;->test(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/Task$FindRootHelper;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/Task;->$r8$lambda$16T_SxnYaCQXjj5Qiv_85QK8tNM([Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/TaskFragment;)Z
+PLcom/android/server/wm/Task;->$r8$lambda$4zsmVM6sEcyslE_Xq2B45vvi_PE(Lcom/android/server/wm/TaskFragment;[ZLcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;ZLcom/android/server/wm/TaskFragment;)V
+PLcom/android/server/wm/Task;->$r8$lambda$5TiwEo-YMpMik2pDaOLatEjRPl8(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/Task;->$r8$lambda$5kdOuobKsweeXF6gUQF93WfbSkc(Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/Task;->$r8$lambda$71YccE_AQP42Bwnq_wvEDeaMask(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityManager$TaskDescription;)Z
+HPLcom/android/server/wm/Task;->$r8$lambda$DbhuUlekQ2cVQp1TiLmGb_W7C-g(Lcom/android/server/wm/ActivityRecord;ZLcom/android/server/wm/Task;)V
+PLcom/android/server/wm/Task;->$r8$lambda$Hr9sWL6lAgfuIPdEeR0dqxlQnL4(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;[ILcom/android/server/wm/TaskFragment;)V
+PLcom/android/server/wm/Task;->$r8$lambda$MGdkroLlOek4EWRGZFVNRyZtNnY(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/Task;->$r8$lambda$RV6KjZIk2zFL0tBVbRRqDyUNDSM(Lcom/android/server/am/ActivityManagerService$ItemMatcher;Ljava/util/ArrayList;Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/Task;->$r8$lambda$Wnyj0mZCQymmNf74WH7X7NQELpQ(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/Task;->$r8$lambda$eRF5AQqEOlK-E-ZFx2bqmj1YY7o(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/Task;->$r8$lambda$mZnFDLY4z-d2CM7h_5X1sXJHhI8([ILcom/android/server/wm/Task;)V
+PLcom/android/server/wm/Task;->$r8$lambda$tVpkFMG2_bx-FznGmNjbpYswPyE(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Lcom/android/modules/utils/TypedXmlSerializer;)Z
+PLcom/android/server/wm/Task;->-$$Nest$fputmHasBeenVisible(Lcom/android/server/wm/Task;Z)V
+PLcom/android/server/wm/Task;->-$$Nest$maddChild(Lcom/android/server/wm/Task;Lcom/android/server/wm/WindowContainer;IZ)V
+PLcom/android/server/wm/Task;-><clinit>()V
+HPLcom/android/server/wm/Task;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;ILandroid/content/Intent;Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;Landroid/content/ComponentName;Landroid/content/ComponentName;ZZIILjava/lang/String;JZLandroid/app/ActivityManager$TaskDescription;Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData;IIIILjava/lang/String;Ljava/lang/String;IZZZIILandroid/content/pm/ActivityInfo;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;ZLandroid/os/IBinder;ZZ)V
+PLcom/android/server/wm/Task;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;ILandroid/content/Intent;Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;Landroid/content/ComponentName;Landroid/content/ComponentName;ZZIILjava/lang/String;JZLandroid/app/ActivityManager$TaskDescription;Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData;IIIILjava/lang/String;Ljava/lang/String;IZZZIILandroid/content/pm/ActivityInfo;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;ZLandroid/os/IBinder;ZZLcom/android/server/wm/Task-IA;)V
+PLcom/android/server/wm/Task;->addChild(Lcom/android/server/wm/WindowContainer;I)V
+PLcom/android/server/wm/Task;->addChild(Lcom/android/server/wm/WindowContainer;IZ)V
+PLcom/android/server/wm/Task;->adjustBoundsForDisplayChangeIfNeeded(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/Task;->adjustForMinimalTaskDimensions(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/Task;->asTask()Lcom/android/server/wm/Task;
+HPLcom/android/server/wm/Task;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V
+HPLcom/android/server/wm/Task;->canAffectSystemUiFlags()Z
+PLcom/android/server/wm/Task;->canBeOrganized()Z
+PLcom/android/server/wm/Task;->canReuseAsLeafTask()Z
+PLcom/android/server/wm/Task;->checkReadyForSleep()V
+HPLcom/android/server/wm/Task;->checkTranslucentActivityWaiting(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/Task;->clearRootProcess()V
+PLcom/android/server/wm/Task;->closeRecentsChain()V
+PLcom/android/server/wm/Task;->computeMinUserPosition(II)I
+HPLcom/android/server/wm/Task;->cropWindowsToRootTaskBounds()Z
+PLcom/android/server/wm/Task;->dispatchTaskInfoChangedIfNeeded(Z)V
+PLcom/android/server/wm/Task;->enableEnterPipOnTaskSwitch(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/Task;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;)V
+HPLcom/android/server/wm/Task;->ensureActivitiesVisible(Lcom/android/server/wm/ActivityRecord;Z)V
+PLcom/android/server/wm/Task;->executeAppTransition(Landroid/app/ActivityOptions;)V
+PLcom/android/server/wm/Task;->fillTaskInfo(Landroid/app/TaskInfo;)V
+PLcom/android/server/wm/Task;->fillTaskInfo(Landroid/app/TaskInfo;Z)V
+HPLcom/android/server/wm/Task;->fillTaskInfo(Landroid/app/TaskInfo;ZLcom/android/server/wm/TaskDisplayArea;)V
+PLcom/android/server/wm/Task;->findEnterPipOnTaskSwitchCandidate(Lcom/android/server/wm/Task;)Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/Task;->forAllLeafTasks(Ljava/util/function/Consumer;Z)V
+HPLcom/android/server/wm/Task;->forAllLeafTasks(Ljava/util/function/Predicate;)Z
+HPLcom/android/server/wm/Task;->forAllRootTasks(Ljava/util/function/Consumer;Z)V
+PLcom/android/server/wm/Task;->forAllRootTasks(Ljava/util/function/Predicate;Z)Z
+PLcom/android/server/wm/Task;->forAllTasks(Ljava/util/function/Consumer;Z)V
+HPLcom/android/server/wm/Task;->forAllTasks(Ljava/util/function/Predicate;)Z
+PLcom/android/server/wm/Task;->fromWindowContainerToken(Landroid/window/WindowContainerToken;)Lcom/android/server/wm/Task;
+HPLcom/android/server/wm/Task;->getAdjacentTask()Lcom/android/server/wm/Task;
+PLcom/android/server/wm/Task;->getAdjustedChildPosition(Lcom/android/server/wm/WindowContainer;I)I
+PLcom/android/server/wm/Task;->getAnimatingActivityRegistry()Lcom/android/server/wm/AnimatingActivityRegistry;
+PLcom/android/server/wm/Task;->getBaseIntent()Landroid/content/Intent;
+HPLcom/android/server/wm/Task;->getBounds(Landroid/graphics/Rect;)V
+PLcom/android/server/wm/Task;->getDescendantTaskCount()I
+HPLcom/android/server/wm/Task;->getDimBounds(Landroid/graphics/Rect;)V
+HPLcom/android/server/wm/Task;->getDisplayCutoutInsets()Landroid/graphics/Rect;
+PLcom/android/server/wm/Task;->getDisplayInfo()Landroid/view/DisplayInfo;
+PLcom/android/server/wm/Task;->getDumpActivitiesLocked(Ljava/lang/String;I)Ljava/util/ArrayList;
+PLcom/android/server/wm/Task;->getHasBeenVisible()Z
+PLcom/android/server/wm/Task;->getLaunchBounds()Landroid/graphics/Rect;
+PLcom/android/server/wm/Task;->getName()Ljava/lang/String;
+HPLcom/android/server/wm/Task;->getOrganizedTask()Lcom/android/server/wm/Task;
+PLcom/android/server/wm/Task;->getPictureInPictureParams(Lcom/android/server/wm/ActivityRecord;)Landroid/app/PictureInPictureParams;
+HPLcom/android/server/wm/Task;->getRelativePosition()Landroid/graphics/Point;
+PLcom/android/server/wm/Task;->getRootActivity()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/Task;->getRootActivity(Z)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/Task;->getRootActivity(ZZ)Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/Task;->getRootTask(Ljava/util/function/Predicate;Z)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/Task;->getRootTaskId()I
+PLcom/android/server/wm/Task;->getStartingWindowInfo(Lcom/android/server/wm/ActivityRecord;)Landroid/window/StartingWindowInfo;
+PLcom/android/server/wm/Task;->getTask(Ljava/util/function/Predicate;Z)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/Task;->getTaskDescription()Landroid/app/ActivityManager$TaskDescription;
+PLcom/android/server/wm/Task;->getTaskInfo()Landroid/app/ActivityManager$RunningTaskInfo;
+PLcom/android/server/wm/Task;->getTopFullscreenActivity()Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/Task;->getTopLeafTask()Lcom/android/server/wm/Task;
+HPLcom/android/server/wm/Task;->getTopPausingActivity()Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/Task;->getTopResumedActivity()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/Task;->getTopVisibleActivity()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/Task;->handlesOrientationChangeFromDescendant(I)Z
+HPLcom/android/server/wm/Task;->hasVisibleChildren()Z
+PLcom/android/server/wm/Task;->isAlwaysOnTop()Z
+PLcom/android/server/wm/Task;->isCompatible(II)Z
+PLcom/android/server/wm/Task;->isDragResizing()Z
+HPLcom/android/server/wm/Task;->isFocused()Z
+PLcom/android/server/wm/Task;->isForceHiddenForPinnedTask()Z
+PLcom/android/server/wm/Task;->isInTask(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/Task;->isLeafTask()Z
+HPLcom/android/server/wm/Task;->isOrganized()Z
+HPLcom/android/server/wm/Task;->isResizeable()Z
+HPLcom/android/server/wm/Task;->isResizeable(Z)Z
+HPLcom/android/server/wm/Task;->isRootTask()Z
+PLcom/android/server/wm/Task;->isTaskId(I)Z
+PLcom/android/server/wm/Task;->isTopRootTaskInDisplayArea()Z
+PLcom/android/server/wm/Task;->isTopRunningNonDelayed(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;)Z
+HPLcom/android/server/wm/Task;->lambda$ensureActivitiesVisible$19(Lcom/android/server/wm/ActivityRecord;ZLcom/android/server/wm/Task;)V
+PLcom/android/server/wm/Task;->lambda$findEnterPipOnTaskSwitchCandidate$22([Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/TaskFragment;)Z
+PLcom/android/server/wm/Task;->lambda$getDescendantTaskCount$5([ILcom/android/server/wm/Task;)V
+PLcom/android/server/wm/Task;->lambda$getDumpActivitiesLocked$29(Lcom/android/server/am/ActivityManagerService$ItemMatcher;Ljava/util/ArrayList;Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/Task;->lambda$getTopFullscreenActivity$9(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/Task;->lambda$getTopVisibleActivity$10(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/Task;->lambda$pauseActivityIfNeeded$0(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;[ILcom/android/server/wm/TaskFragment;)V
+PLcom/android/server/wm/Task;->lambda$resumeTopActivityInnerLocked$20(Lcom/android/server/wm/TaskFragment;[ZLcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;ZLcom/android/server/wm/TaskFragment;)V
+PLcom/android/server/wm/Task;->lambda$startActivityLocked$21(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/Task;->lambda$topStartingWindow$1(Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/Task;->makeAnimationLeash()Landroid/view/SurfaceControl$Builder;
+PLcom/android/server/wm/Task;->minimalResumeActivityLocked(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/Task;->moveToFront(Ljava/lang/String;)V
+PLcom/android/server/wm/Task;->moveToFront(Ljava/lang/String;Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/Task;->notifyActivityDrawnLocked(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/Task;->onAppFocusChanged(Z)V
+PLcom/android/server/wm/Task;->onChildPositionChanged(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/Task;->onChildVisibleRequestedChanged(Lcom/android/server/wm/WindowContainer;)Z
+HPLcom/android/server/wm/Task;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+HPLcom/android/server/wm/Task;->onConfigurationChangedInner(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/Task;->onDescendantActivityAdded(ZILcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/Task;->onDescendantOrientationChanged(Lcom/android/server/wm/WindowContainer;)Z
+HPLcom/android/server/wm/Task;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V
+HPLcom/android/server/wm/Task;->onParentChanged(Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ConfigurationContainer;)V
+PLcom/android/server/wm/Task;->pauseActivityIfNeeded(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;)Z
+PLcom/android/server/wm/Task;->positionChildAt(ILcom/android/server/wm/WindowContainer;Z)V
+PLcom/android/server/wm/Task;->positionChildAtTop(Lcom/android/server/wm/Task;)V
+HPLcom/android/server/wm/Task;->prepareSurfaces()V
+PLcom/android/server/wm/Task;->removeLaunchTickMessages()V
+PLcom/android/server/wm/Task;->removedFromRecents()V
+HPLcom/android/server/wm/Task;->resolveLeafTaskOnlyOverrideConfigs(Landroid/content/res/Configuration;Landroid/graphics/Rect;)V
+HPLcom/android/server/wm/Task;->restoreFromXml(Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/server/wm/ActivityTaskSupervisor;)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/Task;->resumeTopActivityInnerLocked(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Z)Z
+PLcom/android/server/wm/Task;->resumeTopActivityUncheckedLocked(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;)Z
+HPLcom/android/server/wm/Task;->resumeTopActivityUncheckedLocked(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Z)Z
+PLcom/android/server/wm/Task;->returnsToHomeRootTask()Z
+PLcom/android/server/wm/Task;->reuseAsLeafTask(Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/Task;->reuseOrCreateTask(Landroid/content/pm/ActivityInfo;Landroid/content/Intent;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;ZLcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/Task;->saveActivityToXml(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Lcom/android/modules/utils/TypedXmlSerializer;)Z
+PLcom/android/server/wm/Task;->saveLaunchingStateIfNeeded()V
+PLcom/android/server/wm/Task;->saveLaunchingStateIfNeeded(Lcom/android/server/wm/DisplayContent;)V
+HPLcom/android/server/wm/Task;->saveToXml(Lcom/android/modules/utils/TypedXmlSerializer;)V
+PLcom/android/server/wm/Task;->sendTaskAppeared()V
+PLcom/android/server/wm/Task;->sendTaskFragmentParentInfoChangedIfNeeded()V
+PLcom/android/server/wm/Task;->sendTaskVanished(Landroid/window/ITaskOrganizer;)V
+PLcom/android/server/wm/Task;->setBounds(Landroid/graphics/Rect;)I
+PLcom/android/server/wm/Task;->setBounds(Landroid/graphics/Rect;Landroid/graphics/Rect;)I
+PLcom/android/server/wm/Task;->setBoundsUnchecked(Landroid/graphics/Rect;)I
+PLcom/android/server/wm/Task;->setDeferTaskAppear(Z)V
+PLcom/android/server/wm/Task;->setHasBeenVisible(Z)V
+PLcom/android/server/wm/Task;->setInitialSurfaceControlProperties(Landroid/view/SurfaceControl$Builder;)V
+HPLcom/android/server/wm/Task;->setIntent(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;)V
+PLcom/android/server/wm/Task;->setIntent(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/Task;->setIntent(Lcom/android/server/wm/ActivityRecord;Landroid/content/Intent;Landroid/content/pm/ActivityInfo;)V
+PLcom/android/server/wm/Task;->setLastNonFullscreenBounds(Landroid/graphics/Rect;)V
+PLcom/android/server/wm/Task;->setLockTaskAuth(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/Task;->setMinDimensions(Landroid/content/pm/ActivityInfo;)V
+PLcom/android/server/wm/Task;->setNextAffiliate(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/Task;->setPrevAffiliate(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/Task;->setRootProcess(Lcom/android/server/wm/WindowProcessController;)V
+PLcom/android/server/wm/Task;->setSurfaceControl(Landroid/view/SurfaceControl;)V
+PLcom/android/server/wm/Task;->setTaskDescription(Landroid/app/ActivityManager$TaskDescription;)V
+HPLcom/android/server/wm/Task;->setTaskDescriptionFromActivityAboveRoot(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityManager$TaskDescription;)Z
+PLcom/android/server/wm/Task;->setTaskOrganizer(Landroid/window/ITaskOrganizer;)Z
+PLcom/android/server/wm/Task;->setTaskOrganizer(Landroid/window/ITaskOrganizer;Z)Z
+HPLcom/android/server/wm/Task;->shouldIgnoreInput()Z
+HPLcom/android/server/wm/Task;->shouldSleepActivities()Z
+PLcom/android/server/wm/Task;->shouldStartChangeTransition(ILandroid/graphics/Rect;)Z
+PLcom/android/server/wm/Task;->showForAllUsers()Z
+PLcom/android/server/wm/Task;->showSurfaceOnCreation()Z
+PLcom/android/server/wm/Task;->showToCurrentUser()Z
+PLcom/android/server/wm/Task;->startActivityLocked(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/Task;ZZLandroid/app/ActivityOptions;Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/Task;->taskAppearedReady()Z
+PLcom/android/server/wm/Task;->toString()Ljava/lang/String;
+PLcom/android/server/wm/Task;->topActivityContainsStartingWindow()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/Task;->topRunningActivityLocked()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/Task;->topRunningNonDelayedActivityLocked(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/Task;->topStartingWindow()Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/Task;->touchActiveTime()V
+PLcom/android/server/wm/Task;->updateEffectiveIntent()V
+PLcom/android/server/wm/Task;->updateOverrideConfigurationFromLaunchBounds()Landroid/graphics/Rect;
+PLcom/android/server/wm/Task;->updateSurfaceBounds()V
+PLcom/android/server/wm/Task;->updateSurfaceSize(Landroid/view/SurfaceControl$Transaction;)V
+HPLcom/android/server/wm/Task;->updateTaskDescription()V
+PLcom/android/server/wm/Task;->updateTaskMovement(ZZI)V
+PLcom/android/server/wm/Task;->updateTaskOrganizerState()Z
+PLcom/android/server/wm/Task;->updateTaskOrganizerState(Z)Z
+PLcom/android/server/wm/Task;->warnForNonLeafTask(Ljava/lang/String;)V
+HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda0;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda10;-><init>()V
+HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda11;-><init>()V
+PLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda11;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda12;-><init>()V
+PLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda12;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda13;-><init>()V
+HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda14;-><init>()V
+HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda15;-><init>()V
+HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda16;-><init>()V
+HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda17;-><init>()V
+HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda18;-><init>()V
+PLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda18;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda19;-><init>()V
+PLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda19;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda1;-><init>()V
+HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda20;-><init>()V
+HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda21;-><init>()V
+HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda22;-><init>()V
+HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda23;-><init>()V
+HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda24;-><init>()V
+HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda2;-><init>()V
+HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda3;-><init>()V
+HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda4;-><init>()V
+HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda5;-><init>()V
+HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda6;-><init>()V
+HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda7;-><init>()V
+HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda8;-><init>()V
+PLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda8;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda9;-><init>()V
+PLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda9;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+HSPLcom/android/server/wm/TaskChangeNotificationController$MainHandler;-><init>(Lcom/android/server/wm/TaskChangeNotificationController;Landroid/os/Looper;)V
+HPLcom/android/server/wm/TaskChangeNotificationController$MainHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->$r8$lambda$4eLcfeE5EsykOVynmzu3fgpLtiE(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->$r8$lambda$JFI_F_hpE-kLZOK3Tx2KyHgWbCk(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->$r8$lambda$NW5zZAkpJyS6Ig7DBkUclrq7o6E(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->$r8$lambda$UIO9IjTxPd3zzG6wdFibHMsY7g4(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->$r8$lambda$XnL-keZKaVwst4Q0DM1DZhp59bY(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->$r8$lambda$ah1JsV-rMqKWq8lKZtNZ807zrV4(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->$r8$lambda$qoDZrtY2jOJf4Ahc6jYayChKO5Q(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->-$$Nest$fgetmNotifyTaskCreated(Lcom/android/server/wm/TaskChangeNotificationController;)Lcom/android/server/wm/TaskChangeNotificationController$TaskStackConsumer;
+PLcom/android/server/wm/TaskChangeNotificationController;->-$$Nest$fgetmNotifyTaskDescriptionChanged(Lcom/android/server/wm/TaskChangeNotificationController;)Lcom/android/server/wm/TaskChangeNotificationController$TaskStackConsumer;
+PLcom/android/server/wm/TaskChangeNotificationController;->-$$Nest$fgetmNotifyTaskDisplayChanged(Lcom/android/server/wm/TaskChangeNotificationController;)Lcom/android/server/wm/TaskChangeNotificationController$TaskStackConsumer;
+PLcom/android/server/wm/TaskChangeNotificationController;->-$$Nest$fgetmNotifyTaskFocusChanged(Lcom/android/server/wm/TaskChangeNotificationController;)Lcom/android/server/wm/TaskChangeNotificationController$TaskStackConsumer;
+PLcom/android/server/wm/TaskChangeNotificationController;->-$$Nest$fgetmNotifyTaskListUpdated(Lcom/android/server/wm/TaskChangeNotificationController;)Lcom/android/server/wm/TaskChangeNotificationController$TaskStackConsumer;
+PLcom/android/server/wm/TaskChangeNotificationController;->-$$Nest$fgetmNotifyTaskMovedToFront(Lcom/android/server/wm/TaskChangeNotificationController;)Lcom/android/server/wm/TaskChangeNotificationController$TaskStackConsumer;
+PLcom/android/server/wm/TaskChangeNotificationController;->-$$Nest$fgetmNotifyTaskStackChanged(Lcom/android/server/wm/TaskChangeNotificationController;)Lcom/android/server/wm/TaskChangeNotificationController$TaskStackConsumer;
+PLcom/android/server/wm/TaskChangeNotificationController;->-$$Nest$mforAllRemoteListeners(Lcom/android/server/wm/TaskChangeNotificationController;Lcom/android/server/wm/TaskChangeNotificationController$TaskStackConsumer;Landroid/os/Message;)V
+HSPLcom/android/server/wm/TaskChangeNotificationController;-><init>(Lcom/android/server/wm/ActivityTaskSupervisor;Landroid/os/Handler;)V
+HPLcom/android/server/wm/TaskChangeNotificationController;->forAllLocalListeners(Lcom/android/server/wm/TaskChangeNotificationController$TaskStackConsumer;Landroid/os/Message;)V
+HPLcom/android/server/wm/TaskChangeNotificationController;->forAllRemoteListeners(Lcom/android/server/wm/TaskChangeNotificationController$TaskStackConsumer;Landroid/os/Message;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->lambda$new$0(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->lambda$new$1(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->lambda$new$17(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->lambda$new$18(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->lambda$new$20(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->lambda$new$3(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->lambda$new$4(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskCreated(ILandroid/content/ComponentName;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskDescriptionChanged(Landroid/app/TaskInfo;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskDisplayChanged(II)V
+PLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskFocusChanged(IZ)V
+PLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskListUpdated()V
+PLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskMovedToFront(Landroid/app/TaskInfo;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskStackChanged()V
+PLcom/android/server/wm/TaskChangeNotificationController;->registerTaskStackListener(Landroid/app/ITaskStackListener;)V
+HPLcom/android/server/wm/TaskDisplayArea$$ExternalSyntheticLambda0;-><init>(II)V
+HPLcom/android/server/wm/TaskDisplayArea$$ExternalSyntheticLambda0;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/TaskDisplayArea$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/wm/TaskDisplayArea;I)V
+PLcom/android/server/wm/TaskDisplayArea$$ExternalSyntheticLambda2;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/wm/TaskDisplayArea$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/wm/ActivityRecord;[I)V
+PLcom/android/server/wm/TaskDisplayArea$$ExternalSyntheticLambda3;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/TaskDisplayArea$$ExternalSyntheticLambda5;-><init>()V
+PLcom/android/server/wm/TaskDisplayArea$$ExternalSyntheticLambda5;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/TaskDisplayArea$$ExternalSyntheticLambda8;-><init>(Lcom/android/server/wm/ActivityRecord;Z)V
+PLcom/android/server/wm/TaskDisplayArea$$ExternalSyntheticLambda8;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/TaskDisplayArea;->$r8$lambda$-yYfdy_akJG5D9nqec8kHkxQAJQ(Lcom/android/server/wm/TaskDisplayArea;ILcom/android/server/wm/TaskDisplayArea;Ljava/lang/Integer;)Ljava/lang/Integer;
+PLcom/android/server/wm/TaskDisplayArea;->$r8$lambda$6sIz9TvyA24gS3CFAzKz-0ley5A(Lcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/TaskDisplayArea;->$r8$lambda$UO54rDaQ1J_Js1LvzH8layvsInU(IILcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/TaskDisplayArea;->$r8$lambda$udumU_p2qVGWQKVeQAzWyl3Pn00(Lcom/android/server/wm/ActivityRecord;[ILcom/android/server/wm/Task;)V
+PLcom/android/server/wm/TaskDisplayArea;->$r8$lambda$yqAwegtF8wTOFBeiZ1NP5uEzU-c(Lcom/android/server/wm/ActivityRecord;ZLcom/android/server/wm/Task;)V
+PLcom/android/server/wm/TaskDisplayArea;-><init>(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowManagerService;Ljava/lang/String;I)V
+PLcom/android/server/wm/TaskDisplayArea;-><init>(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowManagerService;Ljava/lang/String;IZZ)V
+PLcom/android/server/wm/TaskDisplayArea;->addChild(Lcom/android/server/wm/WindowContainer;I)V
+PLcom/android/server/wm/TaskDisplayArea;->addChildTask(Lcom/android/server/wm/Task;I)V
+PLcom/android/server/wm/TaskDisplayArea;->addRootTaskReferenceIfNeeded(Lcom/android/server/wm/Task;)V
+HPLcom/android/server/wm/TaskDisplayArea;->adjustRootTaskLayer(Landroid/view/SurfaceControl$Transaction;Ljava/util/ArrayList;I)I
+HPLcom/android/server/wm/TaskDisplayArea;->allResumedActivitiesComplete()Z
+HPLcom/android/server/wm/TaskDisplayArea;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V
+HPLcom/android/server/wm/TaskDisplayArea;->assignRootTaskOrdering(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/TaskDisplayArea;->canCreateRemoteAnimationTarget()Z
+PLcom/android/server/wm/TaskDisplayArea;->canHostHomeTask()Z
+HPLcom/android/server/wm/TaskDisplayArea;->canSpecifyOrientation(I)Z
+PLcom/android/server/wm/TaskDisplayArea;->createRootTask(IIZ)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/TaskDisplayArea;->createRootTask(IIZLandroid/app/ActivityOptions;)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/TaskDisplayArea;->ensureActivitiesVisible(Lcom/android/server/wm/ActivityRecord;Z)V
+PLcom/android/server/wm/TaskDisplayArea;->findMaxPositionForRootTask(Lcom/android/server/wm/Task;)I
+PLcom/android/server/wm/TaskDisplayArea;->findMinPositionForRootTask(Lcom/android/server/wm/Task;)I
+PLcom/android/server/wm/TaskDisplayArea;->findPositionForRootTask(ILcom/android/server/wm/Task;Z)I
+PLcom/android/server/wm/TaskDisplayArea;->forAllTaskDisplayAreas(Ljava/util/function/Consumer;Z)V
+PLcom/android/server/wm/TaskDisplayArea;->forAllTaskDisplayAreas(Ljava/util/function/Predicate;Z)Z
+PLcom/android/server/wm/TaskDisplayArea;->getDisplayId()I
+PLcom/android/server/wm/TaskDisplayArea;->getFocusedActivity()Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/TaskDisplayArea;->getFocusedRootTask()Lcom/android/server/wm/Task;
+HPLcom/android/server/wm/TaskDisplayArea;->getItemFromTaskDisplayAreas(Ljava/util/function/Function;Z)Ljava/lang/Object;
+PLcom/android/server/wm/TaskDisplayArea;->getLastFocusedRootTask()Lcom/android/server/wm/Task;
+PLcom/android/server/wm/TaskDisplayArea;->getLaunchRootTask(IILandroid/app/ActivityOptions;Lcom/android/server/wm/Task;I)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/TaskDisplayArea;->getLaunchRootTask(IILandroid/app/ActivityOptions;Lcom/android/server/wm/Task;ILcom/android/server/wm/Task;)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/TaskDisplayArea;->getNextRootTaskId()I
+PLcom/android/server/wm/TaskDisplayArea;->getOrCreateRootHomeTask(Z)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/TaskDisplayArea;->getOrCreateRootTask(IIZLcom/android/server/wm/Task;Lcom/android/server/wm/Task;Landroid/app/ActivityOptions;I)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/TaskDisplayArea;->getOrCreateRootTask(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;Lcom/android/server/wm/LaunchParamsController$LaunchParams;IIZ)Lcom/android/server/wm/Task;
+HPLcom/android/server/wm/TaskDisplayArea;->getOrientation(I)I
+PLcom/android/server/wm/TaskDisplayArea;->getPriority(Lcom/android/server/wm/WindowContainer;)I
+PLcom/android/server/wm/TaskDisplayArea;->getRootHomeTask()Lcom/android/server/wm/Task;
+HPLcom/android/server/wm/TaskDisplayArea;->getRootTask(II)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/TaskDisplayArea;->getTaskDisplayArea()Lcom/android/server/wm/TaskDisplayArea;
+PLcom/android/server/wm/TaskDisplayArea;->getTopRootTask()Lcom/android/server/wm/Task;
+PLcom/android/server/wm/TaskDisplayArea;->getTopRootTaskInWindowingMode(I)Lcom/android/server/wm/Task;
+HPLcom/android/server/wm/TaskDisplayArea;->isRemoved()Z
+PLcom/android/server/wm/TaskDisplayArea;->isRootTaskVisible(I)Z
+PLcom/android/server/wm/TaskDisplayArea;->isTopRootTask(Lcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/TaskDisplayArea;->isValidWindowingMode(ILcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/TaskDisplayArea;->isWindowingModeSupported(IZZZ)Z
+PLcom/android/server/wm/TaskDisplayArea;->lambda$ensureActivitiesVisible$8(Lcom/android/server/wm/ActivityRecord;ZLcom/android/server/wm/Task;)V
+PLcom/android/server/wm/TaskDisplayArea;->lambda$getOrientation$3(ILcom/android/server/wm/TaskDisplayArea;Ljava/lang/Integer;)Ljava/lang/Integer;
+HPLcom/android/server/wm/TaskDisplayArea;->lambda$getRootTask$0(IILcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/TaskDisplayArea;->lambda$getTopRootTask$1(Lcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/TaskDisplayArea;->lambda$pauseBackTasks$5(Lcom/android/server/wm/ActivityRecord;[ILcom/android/server/wm/Task;)V
+PLcom/android/server/wm/TaskDisplayArea;->onChildPositionChanged(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/TaskDisplayArea;->onLeafTaskMoved(Lcom/android/server/wm/Task;ZZ)V
+PLcom/android/server/wm/TaskDisplayArea;->onRootTaskOrderChanged(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/TaskDisplayArea;->onRootTaskWindowingModeChanged(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/TaskDisplayArea;->pauseBackTasks(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/TaskDisplayArea;->positionChildAt(ILcom/android/server/wm/WindowContainer;Z)V
+HPLcom/android/server/wm/TaskDisplayArea;->positionChildTaskAt(ILcom/android/server/wm/Task;Z)V
+PLcom/android/server/wm/TaskDisplayArea;->reduceOnAllTaskDisplayAreas(Ljava/util/function/BiFunction;Ljava/lang/Object;Z)Ljava/lang/Object;
+PLcom/android/server/wm/TaskDisplayArea;->removeRootTaskReferenceIfNeeded(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/TaskDisplayArea;->setInitialSurfaceControlProperties(Landroid/view/SurfaceControl$Builder;)V
+PLcom/android/server/wm/TaskDisplayArea;->setWindowingMode(I)V
+PLcom/android/server/wm/TaskDisplayArea;->topRunningActivity()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/TaskDisplayArea;->topRunningActivity(Z)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/TaskDisplayArea;->updateLastFocusedRootTask(Lcom/android/server/wm/Task;Ljava/lang/String;)V
+PLcom/android/server/wm/TaskDisplayArea;->validateWindowingMode(ILcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/Task;)I
+PLcom/android/server/wm/TaskFpsCallbackController;-><init>(Landroid/content/Context;)V
+PLcom/android/server/wm/TaskFragment$$ExternalSyntheticLambda2;-><init>()V
+PLcom/android/server/wm/TaskFragment$$ExternalSyntheticLambda2;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/TaskFragment$$ExternalSyntheticLambda3;-><init>()V
+HPLcom/android/server/wm/TaskFragment$$ExternalSyntheticLambda3;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/TaskFragment$$ExternalSyntheticLambda4;-><init>()V
+PLcom/android/server/wm/TaskFragment$$ExternalSyntheticLambda4;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/TaskFragment$$ExternalSyntheticLambda5;-><init>()V
+PLcom/android/server/wm/TaskFragment$$ExternalSyntheticLambda5;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/TaskFragment;->$r8$lambda$LfH9JXdblx4yrdmd8r4hGTdO21s(Lcom/android/server/wm/ActivityRecord;)Z
+HPLcom/android/server/wm/TaskFragment;->$r8$lambda$cCOreq8AkspWCLOBq9Dd3lEozFQ(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/TaskFragment;->$r8$lambda$r5eGjEkD1wu6Ga_1VPus8wI2pTM(Lcom/android/server/wm/TaskFragment;)V
+PLcom/android/server/wm/TaskFragment;->$r8$lambda$um2HAmqSIS709S6Ch2gyOMoXFPA(Lcom/android/server/wm/ActivityRecord;)Z
+HPLcom/android/server/wm/TaskFragment;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Landroid/os/IBinder;ZZ)V
+PLcom/android/server/wm/TaskFragment;->addChild(Lcom/android/server/wm/WindowContainer;I)V
+PLcom/android/server/wm/TaskFragment;->asTaskFragment()Lcom/android/server/wm/TaskFragment;
+HPLcom/android/server/wm/TaskFragment;->calculateInsetFrames(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayInfo;)V
+HPLcom/android/server/wm/TaskFragment;->canBeResumed(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/TaskFragment;->canCreateRemoteAnimationTarget()Z
+PLcom/android/server/wm/TaskFragment;->canSpecifyOrientation()Z
+PLcom/android/server/wm/TaskFragment;->canStartChangeTransition()Z
+PLcom/android/server/wm/TaskFragment;->clearLastPausedActivity()V
+PLcom/android/server/wm/TaskFragment;->completePause(ZLcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/TaskFragment;->computeConfigResourceOverrides(Landroid/content/res/Configuration;Landroid/content/res/Configuration;)V
+HPLcom/android/server/wm/TaskFragment;->computeConfigResourceOverrides(Landroid/content/res/Configuration;Landroid/content/res/Configuration;Landroid/view/DisplayInfo;Lcom/android/server/wm/ActivityRecord$CompatDisplayInsets;)V
+HPLcom/android/server/wm/TaskFragment;->fillsParent()Z
+HPLcom/android/server/wm/TaskFragment;->forAllLeafTaskFragments(Ljava/util/function/Consumer;Z)V
+HPLcom/android/server/wm/TaskFragment;->forAllLeafTaskFragments(Ljava/util/function/Predicate;)Z
+PLcom/android/server/wm/TaskFragment;->forAllTaskFragments(Ljava/util/function/Consumer;Z)V
+PLcom/android/server/wm/TaskFragment;->fromTaskFragmentToken(Landroid/os/IBinder;Lcom/android/server/wm/ActivityTaskManagerService;)Lcom/android/server/wm/TaskFragment;
+HPLcom/android/server/wm/TaskFragment;->getActivityType()I
+HPLcom/android/server/wm/TaskFragment;->getAdjacentTaskFragment()Lcom/android/server/wm/TaskFragment;
+HPLcom/android/server/wm/TaskFragment;->getDisplayArea()Lcom/android/server/wm/DisplayArea;
+HPLcom/android/server/wm/TaskFragment;->getDisplayArea()Lcom/android/server/wm/TaskDisplayArea;
+HPLcom/android/server/wm/TaskFragment;->getDisplayId()I
+PLcom/android/server/wm/TaskFragment;->getFragmentToken()Landroid/os/IBinder;
+HPLcom/android/server/wm/TaskFragment;->getOrganizedTaskFragment()Lcom/android/server/wm/TaskFragment;
+PLcom/android/server/wm/TaskFragment;->getOrganizerProcessIfDifferent(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/WindowProcessController;
+HPLcom/android/server/wm/TaskFragment;->getOrientation(I)I
+PLcom/android/server/wm/TaskFragment;->getPausingActivity()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/TaskFragment;->getResumedActivity()Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/TaskFragment;->getRootTask()Lcom/android/server/wm/Task;
+HPLcom/android/server/wm/TaskFragment;->getRootTaskFragment()Lcom/android/server/wm/TaskFragment;
+PLcom/android/server/wm/TaskFragment;->getTask()Lcom/android/server/wm/Task;
+PLcom/android/server/wm/TaskFragment;->getTaskFragment(Ljava/util/function/Predicate;)Lcom/android/server/wm/TaskFragment;
+HPLcom/android/server/wm/TaskFragment;->getTopNonFinishingActivity()Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/TaskFragment;->getTopNonFinishingActivity(Z)Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/TaskFragment;->getVisibility(Lcom/android/server/wm/ActivityRecord;)I
+HPLcom/android/server/wm/TaskFragment;->handleCompleteDeferredRemoval()Z
+PLcom/android/server/wm/TaskFragment;->hasDirectChildActivities()Z
+HPLcom/android/server/wm/TaskFragment;->hasRunningActivity(Lcom/android/server/wm/WindowContainer;)Z
+HPLcom/android/server/wm/TaskFragment;->intersectWithInsetsIfFits(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+HPLcom/android/server/wm/TaskFragment;->isAttached()Z
+HPLcom/android/server/wm/TaskFragment;->isEmbedded()Z
+HPLcom/android/server/wm/TaskFragment;->isFocusableAndVisible()Z
+HPLcom/android/server/wm/TaskFragment;->isForceHidden()Z
+HPLcom/android/server/wm/TaskFragment;->isForceTranslucent()Z
+PLcom/android/server/wm/TaskFragment;->isLeafTaskFragment()Z
+PLcom/android/server/wm/TaskFragment;->isOrganizedTaskFragment()Z
+PLcom/android/server/wm/TaskFragment;->isReadyToTransit()Z
+PLcom/android/server/wm/TaskFragment;->isSyncFinished(Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;)Z
+HPLcom/android/server/wm/TaskFragment;->isTopActivityFocusable()Z
+HPLcom/android/server/wm/TaskFragment;->isTopActivityLaunchedBehind()Z
+HPLcom/android/server/wm/TaskFragment;->isTranslucent(Lcom/android/server/wm/ActivityRecord;)Z
+HPLcom/android/server/wm/TaskFragment;->isTranslucent(Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/TaskFragment;->isTranslucentForTransition()Z
+PLcom/android/server/wm/TaskFragment;->lambda$clearLastPausedActivity$8(Lcom/android/server/wm/TaskFragment;)V
+HPLcom/android/server/wm/TaskFragment;->lambda$getTopNonFinishingActivity$2(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/TaskFragment;->lambda$getTopNonFinishingActivity$3(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/TaskFragment;->lambda$topRunningActivity$4(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/TaskFragment;->onActivityStateChanged(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord$State;Ljava/lang/String;)V
+PLcom/android/server/wm/TaskFragment;->onChildVisibleRequestedChanged(Lcom/android/server/wm/WindowContainer;)Z
+PLcom/android/server/wm/TaskFragment;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+HPLcom/android/server/wm/TaskFragment;->prepareSurfaces()V
+PLcom/android/server/wm/TaskFragment;->providesOrientation()Z
+HPLcom/android/server/wm/TaskFragment;->resolveOverrideConfiguration(Landroid/content/res/Configuration;)V
+HPLcom/android/server/wm/TaskFragment;->resumeTopActivity(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Z)Z
+PLcom/android/server/wm/TaskFragment;->schedulePauseActivity(Lcom/android/server/wm/ActivityRecord;ZZZLjava/lang/String;)V
+PLcom/android/server/wm/TaskFragment;->sendTaskFragmentInfoChanged()V
+PLcom/android/server/wm/TaskFragment;->setClosingChangingStartBoundsIfNeeded()Z
+PLcom/android/server/wm/TaskFragment;->setResumedActivity(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;)V
+PLcom/android/server/wm/TaskFragment;->setSurfaceControl(Landroid/view/SurfaceControl;)V
+HPLcom/android/server/wm/TaskFragment;->shouldBeVisible(Lcom/android/server/wm/ActivityRecord;)Z
+HPLcom/android/server/wm/TaskFragment;->shouldDeferRemoval()Z
+PLcom/android/server/wm/TaskFragment;->shouldReportOrientationUnspecified()Z
+PLcom/android/server/wm/TaskFragment;->shouldSleepOrShutDownActivities()Z
+PLcom/android/server/wm/TaskFragment;->startPausing(ZLcom/android/server/wm/ActivityRecord;Ljava/lang/String;)Z
+PLcom/android/server/wm/TaskFragment;->startPausing(ZZLcom/android/server/wm/ActivityRecord;Ljava/lang/String;)Z
+PLcom/android/server/wm/TaskFragment;->supportsMultiWindow()Z
+HPLcom/android/server/wm/TaskFragment;->supportsMultiWindowInDisplayArea(Lcom/android/server/wm/TaskDisplayArea;)Z
+HPLcom/android/server/wm/TaskFragment;->topRunningActivity()Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/TaskFragment;->topRunningActivity(Z)Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/TaskFragment;->updateActivityVisibilities(Lcom/android/server/wm/ActivityRecord;Z)V
+PLcom/android/server/wm/TaskFragment;->updateOrganizedTaskFragmentSurface()V
+PLcom/android/server/wm/TaskFragment;->warnForNonLeafTaskFragment(Ljava/lang/String;)V
+HSPLcom/android/server/wm/TaskFragmentOrganizerController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/WindowOrganizerController;)V
+HPLcom/android/server/wm/TaskFragmentOrganizerController;->dispatchPendingEvents()V
+PLcom/android/server/wm/TaskLaunchParamsModifier$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/TaskLaunchParamsModifier;II)V
+PLcom/android/server/wm/TaskLaunchParamsModifier$$ExternalSyntheticLambda0;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/TaskLaunchParamsModifier$$ExternalSyntheticLambda2;-><init>(Ljava/util/List;)V
+PLcom/android/server/wm/TaskLaunchParamsModifier$$ExternalSyntheticLambda2;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/TaskLaunchParamsModifier;->$r8$lambda$TjxGreTpw9xhmmPZAU-spdevuA4(Ljava/util/List;Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/TaskLaunchParamsModifier;->$r8$lambda$cOwEsqAlVxZJC8Bgaj_hUt2vkL8(Lcom/android/server/wm/TaskLaunchParamsModifier;IILcom/android/server/wm/TaskDisplayArea;)Z
+HSPLcom/android/server/wm/TaskLaunchParamsModifier;-><init>(Lcom/android/server/wm/ActivityTaskSupervisor;)V
+PLcom/android/server/wm/TaskLaunchParamsModifier;->adjustBoundsToAvoidConflict(Landroid/graphics/Rect;Ljava/util/List;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/TaskLaunchParamsModifier;->adjustBoundsToAvoidConflictInDisplayArea(Lcom/android/server/wm/TaskDisplayArea;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/TaskLaunchParamsModifier;->adjustBoundsToFitInDisplayArea(Lcom/android/server/wm/TaskDisplayArea;Landroid/content/pm/ActivityInfo$WindowLayout;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/TaskLaunchParamsModifier;->appendLog(Ljava/lang/String;)V
+PLcom/android/server/wm/TaskLaunchParamsModifier;->boundsConflict(Ljava/util/List;Landroid/graphics/Rect;)Z
+HPLcom/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;Lcom/android/server/wm/ActivityStarter$Request;ILcom/android/server/wm/LaunchParamsController$LaunchParams;Lcom/android/server/wm/LaunchParamsController$LaunchParams;)I
+PLcom/android/server/wm/TaskLaunchParamsModifier;->canApplyFreeformWindowPolicy(Lcom/android/server/wm/TaskDisplayArea;I)Z
+PLcom/android/server/wm/TaskLaunchParamsModifier;->canCalculateBoundsForFullscreenTask(Lcom/android/server/wm/TaskDisplayArea;I)Z
+PLcom/android/server/wm/TaskLaunchParamsModifier;->canInheritWindowingModeFromSource(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/TaskDisplayArea;Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/TaskLaunchParamsModifier;->getFallbackDisplayAreaForActivity(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityStarter$Request;)Lcom/android/server/wm/TaskDisplayArea;
+PLcom/android/server/wm/TaskLaunchParamsModifier;->getPreferredLaunchTaskDisplayArea(Lcom/android/server/wm/Task;Landroid/app/ActivityOptions;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/LaunchParamsController$LaunchParams;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityStarter$Request;)Lcom/android/server/wm/TaskDisplayArea;
+HPLcom/android/server/wm/TaskLaunchParamsModifier;->getTaskBounds(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/TaskDisplayArea;Landroid/content/pm/ActivityInfo$WindowLayout;IZLandroid/graphics/Rect;)V
+PLcom/android/server/wm/TaskLaunchParamsModifier;->initLogBuilder(Lcom/android/server/wm/Task;Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/TaskLaunchParamsModifier;->lambda$adjustBoundsToAvoidConflictInDisplayArea$2(Ljava/util/List;Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/TaskLaunchParamsModifier;->lambda$calculate$0(IILcom/android/server/wm/TaskDisplayArea;)Z
+PLcom/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;Lcom/android/server/wm/ActivityStarter$Request;ILcom/android/server/wm/LaunchParamsController$LaunchParams;Lcom/android/server/wm/LaunchParamsController$LaunchParams;)I
+PLcom/android/server/wm/TaskLaunchParamsModifier;->outputLog()V
+PLcom/android/server/wm/TaskLaunchParamsModifier;->resolveOrientation(Lcom/android/server/wm/ActivityRecord;)I
+PLcom/android/server/wm/TaskLaunchParamsModifier;->resolveOrientation(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/TaskDisplayArea;Landroid/graphics/Rect;)I
+PLcom/android/server/wm/TaskLaunchParamsModifier;->sizeMatches(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
+PLcom/android/server/wm/TaskOrganizerController$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/wm/TaskOrganizerController;Landroid/window/ITaskOrganizer;ILjava/util/ArrayList;)V
+PLcom/android/server/wm/TaskOrganizerController$$ExternalSyntheticLambda2;->run()V
+PLcom/android/server/wm/TaskOrganizerController$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;Ljava/util/ArrayList;)V
+PLcom/android/server/wm/TaskOrganizerController$$ExternalSyntheticLambda3;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/TaskOrganizerController$DeathRecipient;-><init>(Lcom/android/server/wm/TaskOrganizerController;Landroid/window/ITaskOrganizer;)V
+PLcom/android/server/wm/TaskOrganizerController$PendingTaskEvent;-><init>(Lcom/android/server/wm/Task;I)V
+PLcom/android/server/wm/TaskOrganizerController$PendingTaskEvent;-><init>(Lcom/android/server/wm/Task;Landroid/window/ITaskOrganizer;I)V
+PLcom/android/server/wm/TaskOrganizerController$PendingTaskEvent;->isLifecycleEvent()Z
+PLcom/android/server/wm/TaskOrganizerController$StartingWindowAnimationAdaptor;-><init>()V
+PLcom/android/server/wm/TaskOrganizerController$StartingWindowAnimationAdaptor;->onAnimationCancelled(Landroid/view/SurfaceControl;)V
+PLcom/android/server/wm/TaskOrganizerController$StartingWindowAnimationAdaptor;->startAnimation(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl$Transaction;ILcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;)V
+PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerCallbacks;-><init>(Landroid/window/ITaskOrganizer;)V
+PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerCallbacks;->onTaskAppeared(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerCallbacks;->onTaskInfoChanged(Lcom/android/server/wm/Task;Landroid/app/ActivityManager$RunningTaskInfo;)V
+PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerCallbacks;->prepareLeash(Lcom/android/server/wm/Task;Ljava/lang/String;)Landroid/view/SurfaceControl;
+PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerPendingEventsQueue;->-$$Nest$mdispatchTaskInfoChanged(Lcom/android/server/wm/TaskOrganizerController$TaskOrganizerPendingEventsQueue;Lcom/android/server/wm/Task;Z)V
+PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerPendingEventsQueue;->-$$Nest$mgetPendingTaskEvent(Lcom/android/server/wm/TaskOrganizerController$TaskOrganizerPendingEventsQueue;Lcom/android/server/wm/Task;I)Lcom/android/server/wm/TaskOrganizerController$PendingTaskEvent;
+PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerPendingEventsQueue;-><init>(Lcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;)V
+PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerPendingEventsQueue;->addPendingTaskEvent(Lcom/android/server/wm/TaskOrganizerController$PendingTaskEvent;)V
+PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerPendingEventsQueue;->dispatchPendingEvent(Lcom/android/server/wm/TaskOrganizerController$PendingTaskEvent;)V
+HPLcom/android/server/wm/TaskOrganizerController$TaskOrganizerPendingEventsQueue;->dispatchPendingEvents()V
+HPLcom/android/server/wm/TaskOrganizerController$TaskOrganizerPendingEventsQueue;->dispatchTaskInfoChanged(Lcom/android/server/wm/Task;Z)V
+PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerPendingEventsQueue;->getPendingLifecycleTaskEvent(Lcom/android/server/wm/Task;)Lcom/android/server/wm/TaskOrganizerController$PendingTaskEvent;
+PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerPendingEventsQueue;->getPendingTaskEvent(Lcom/android/server/wm/Task;I)Lcom/android/server/wm/TaskOrganizerController$PendingTaskEvent;
+PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerPendingEventsQueue;->numPendingTaskEvents()I
+PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerPendingEventsQueue;->removePendingTaskEvent(Lcom/android/server/wm/TaskOrganizerController$PendingTaskEvent;)V
+PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;->-$$Nest$fgetmOrganizer(Lcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;)Lcom/android/server/wm/TaskOrganizerController$TaskOrganizerCallbacks;
+HPLcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;->-$$Nest$fgetmPendingEventsQueue(Lcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;)Lcom/android/server/wm/TaskOrganizerController$TaskOrganizerPendingEventsQueue;
+PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;->-$$Nest$maddTask(Lcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;Lcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;-><init>(Lcom/android/server/wm/TaskOrganizerController;Landroid/window/ITaskOrganizer;I)V
+PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;->addTask(Lcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;->addTaskWithoutCallback(Lcom/android/server/wm/Task;Ljava/lang/String;)Landroid/view/SurfaceControl;
+PLcom/android/server/wm/TaskOrganizerController;->$r8$lambda$VSKvVVPI5NKYlAdukWH1TzgUuVQ(Lcom/android/server/wm/TaskOrganizerController;Landroid/window/ITaskOrganizer;ILjava/util/ArrayList;)V
+PLcom/android/server/wm/TaskOrganizerController;->$r8$lambda$ersYTYpQCW6sGFO8mYwHFWIJ7D0(Lcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;Ljava/util/ArrayList;Lcom/android/server/wm/Task;)V
+HSPLcom/android/server/wm/TaskOrganizerController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V
+PLcom/android/server/wm/TaskOrganizerController;->addStartingWindow(Lcom/android/server/wm/Task;Lcom/android/server/wm/ActivityRecord;ILandroid/window/TaskSnapshot;)Z
+PLcom/android/server/wm/TaskOrganizerController;->applyStartingWindowAnimation(Lcom/android/server/wm/WindowState;)Landroid/view/SurfaceControl;
+HPLcom/android/server/wm/TaskOrganizerController;->dispatchPendingEvents()V
+PLcom/android/server/wm/TaskOrganizerController;->getTaskOrganizer()Landroid/window/ITaskOrganizer;
+PLcom/android/server/wm/TaskOrganizerController;->lambda$registerTaskOrganizer$0(Lcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;Ljava/util/ArrayList;Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/TaskOrganizerController;->lambda$registerTaskOrganizer$1(Landroid/window/ITaskOrganizer;ILjava/util/ArrayList;)V
+PLcom/android/server/wm/TaskOrganizerController;->onTaskAppeared(Landroid/window/ITaskOrganizer;Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/TaskOrganizerController;->onTaskInfoChanged(Lcom/android/server/wm/Task;Z)V
+PLcom/android/server/wm/TaskOrganizerController;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLcom/android/server/wm/TaskOrganizerController;->registerTaskOrganizer(Landroid/window/ITaskOrganizer;)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/wm/TaskOrganizerController;->removeStartingWindow(Lcom/android/server/wm/Task;Landroid/window/ITaskOrganizer;ZZ)V
+PLcom/android/server/wm/TaskPersister$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/TaskPersister$$ExternalSyntheticLambda0;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/TaskPersister$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/TaskPersister$1;-><init>(Lcom/android/server/wm/TaskPersister;)V
+PLcom/android/server/wm/TaskPersister$TaskWriteQueueItem;->-$$Nest$fgetmTask(Lcom/android/server/wm/TaskPersister$TaskWriteQueueItem;)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/TaskPersister$TaskWriteQueueItem;-><init>(Lcom/android/server/wm/Task;Lcom/android/server/wm/ActivityTaskManagerService;)V
+PLcom/android/server/wm/TaskPersister$TaskWriteQueueItem;->process()V
+PLcom/android/server/wm/TaskPersister$TaskWriteQueueItem;->saveToXml(Lcom/android/server/wm/Task;)[B
+PLcom/android/server/wm/TaskPersister;->$r8$lambda$hpGvDr585n6hexBdLZakDSAsCLU(Lcom/android/server/wm/Task;Lcom/android/server/wm/TaskPersister$TaskWriteQueueItem;)Z
+PLcom/android/server/wm/TaskPersister;->-$$Nest$smgetUserTasksDir(I)Ljava/io/File;
+HSPLcom/android/server/wm/TaskPersister;-><init>(Ljava/io/File;Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/RecentTasks;Lcom/android/server/wm/PersisterQueue;)V
+PLcom/android/server/wm/TaskPersister;->getUserImagesDir(I)Ljava/io/File;
+PLcom/android/server/wm/TaskPersister;->getUserPersistedTaskIdsFile(I)Ljava/io/File;
+PLcom/android/server/wm/TaskPersister;->getUserTasksDir(I)Ljava/io/File;
+PLcom/android/server/wm/TaskPersister;->lambda$wakeup$1(Lcom/android/server/wm/Task;Lcom/android/server/wm/TaskPersister$TaskWriteQueueItem;)Z
+PLcom/android/server/wm/TaskPersister;->loadPersistedTaskIdsForUser(I)Landroid/util/SparseBooleanArray;
+PLcom/android/server/wm/TaskPersister;->onPreProcessItem(Z)V
+PLcom/android/server/wm/TaskPersister;->removeObsoleteFiles(Landroid/util/ArraySet;)V
+PLcom/android/server/wm/TaskPersister;->removeObsoleteFiles(Landroid/util/ArraySet;[Ljava/io/File;)V
+PLcom/android/server/wm/TaskPersister;->removeThumbnails(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/TaskPersister;->restoreTasksForUserLocked(ILandroid/util/SparseBooleanArray;)Ljava/util/List;
+PLcom/android/server/wm/TaskPersister;->taskIdToTask(ILjava/util/ArrayList;)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/TaskPersister;->wakeup(Lcom/android/server/wm/Task;Z)V
+PLcom/android/server/wm/TaskPersister;->writePersistedTaskIdsForUser(Landroid/util/SparseBooleanArray;I)V
+PLcom/android/server/wm/TaskPersister;->writeTaskIdsFiles()V
+PLcom/android/server/wm/TaskPositioningController;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/TaskSnapshotCache;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/AppSnapshotLoader;)V
+PLcom/android/server/wm/TaskSnapshotCache;->getSnapshot(IIZZ)Landroid/window/TaskSnapshot;
+PLcom/android/server/wm/TaskSnapshotController;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/SnapshotPersistQueue;)V
+PLcom/android/server/wm/TaskSnapshotController;->clearSnapshotCache()V
+PLcom/android/server/wm/TaskSnapshotController;->createPersistInfoProvider(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/BaseAppSnapshotPersister$DirectoryResolver;)Lcom/android/server/wm/BaseAppSnapshotPersister$PersistInfoProvider;
+PLcom/android/server/wm/TaskSnapshotController;->getSnapshot(IIZZ)Landroid/window/TaskSnapshot;
+PLcom/android/server/wm/TaskSnapshotController;->handleClosingApps(Landroid/util/ArraySet;)V
+PLcom/android/server/wm/TaskSnapshotController;->removeAndDeleteSnapshot(II)V
+PLcom/android/server/wm/TaskSnapshotController;->removeObsoleteTaskFiles(Landroid/util/ArraySet;[I)V
+PLcom/android/server/wm/TaskSnapshotController;->snapshotTasks(Landroid/util/ArraySet;)V
+PLcom/android/server/wm/TaskSnapshotPersister$RemoveObsoleteFilesQueueItem;-><init>(Lcom/android/server/wm/TaskSnapshotPersister;Landroid/util/ArraySet;[ILcom/android/server/wm/BaseAppSnapshotPersister$PersistInfoProvider;)V
+PLcom/android/server/wm/TaskSnapshotPersister$RemoveObsoleteFilesQueueItem;->getTaskId(Ljava/lang/String;)I
+PLcom/android/server/wm/TaskSnapshotPersister$RemoveObsoleteFilesQueueItem;->isReady(Lcom/android/server/pm/UserManagerInternal;)Z
+PLcom/android/server/wm/TaskSnapshotPersister$RemoveObsoleteFilesQueueItem;->write()V
+PLcom/android/server/wm/TaskSnapshotPersister;->-$$Nest$fgetmPersistedTaskIdsSinceLastRemoveObsolete(Lcom/android/server/wm/TaskSnapshotPersister;)Landroid/util/ArraySet;
+PLcom/android/server/wm/TaskSnapshotPersister;-><init>(Lcom/android/server/wm/SnapshotPersistQueue;Lcom/android/server/wm/BaseAppSnapshotPersister$PersistInfoProvider;)V
+PLcom/android/server/wm/TaskSnapshotPersister;->removeObsoleteFiles(Landroid/util/ArraySet;[I)V
+PLcom/android/server/wm/TaskSnapshotPersister;->removeSnapshot(II)V
+PLcom/android/server/wm/TaskSystemBarsListenerController;-><init>()V
+PLcom/android/server/wm/Transition$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/TransitionController$Logger;)V
+PLcom/android/server/wm/Transition$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/wm/Transition$$ExternalSyntheticLambda3;-><init>()V
+PLcom/android/server/wm/Transition$$ExternalSyntheticLambda3;->test(Ljava/lang/Object;)Z
+HPLcom/android/server/wm/Transition$ChangeInfo;-><init>(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/Transition$ChangeInfo;->getChangeFlags(Lcom/android/server/wm/WindowContainer;)I
+PLcom/android/server/wm/Transition$ChangeInfo;->getTransitMode(Lcom/android/server/wm/WindowContainer;)I
+PLcom/android/server/wm/Transition$ChangeInfo;->hasChanged()Z
+PLcom/android/server/wm/Transition$ReadyTracker;-><clinit>()V
+PLcom/android/server/wm/Transition$ReadyTracker;-><init>(Lcom/android/server/wm/Transition;)V
+PLcom/android/server/wm/Transition$ReadyTrackerOld;-><init>()V
+PLcom/android/server/wm/Transition$ReadyTrackerOld;-><init>(Lcom/android/server/wm/Transition$ReadyTrackerOld-IA;)V
+PLcom/android/server/wm/Transition$ReadyTrackerOld;->addGroup(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/Transition$ReadyTrackerOld;->allReady()Z
+PLcom/android/server/wm/Transition$ReadyTrackerOld;->setReadyFrom(Lcom/android/server/wm/WindowContainer;Z)V
+PLcom/android/server/wm/Transition$Targets;-><init>()V
+PLcom/android/server/wm/Transition$Targets;-><init>(Lcom/android/server/wm/Transition$Targets-IA;)V
+PLcom/android/server/wm/Transition$Targets;->add(Lcom/android/server/wm/Transition$ChangeInfo;)V
+PLcom/android/server/wm/Transition$Targets;->getListSortedByZ()Ljava/util/ArrayList;
+PLcom/android/server/wm/Transition$Targets;->remove(I)V
+PLcom/android/server/wm/Transition$Token;-><init>(Lcom/android/server/wm/Transition;)V
+PLcom/android/server/wm/Transition;->$r8$lambda$ae2rOBsvLNpO5hISqyOOeQUaP48(Lcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/Transition;->-$$Nest$smgetDisplayId(Lcom/android/server/wm/WindowContainer;)I
+PLcom/android/server/wm/Transition;->-$$Nest$smisInputMethod(Lcom/android/server/wm/WindowContainer;)Z
+PLcom/android/server/wm/Transition;->-$$Nest$smisReadyGroup(Lcom/android/server/wm/WindowContainer;)Z
+PLcom/android/server/wm/Transition;->-$$Nest$smisTranslucent(Lcom/android/server/wm/WindowContainer;)Z
+PLcom/android/server/wm/Transition;->-$$Nest$smisWallpaper(Lcom/android/server/wm/WindowContainer;)Z
+PLcom/android/server/wm/Transition;-><init>(IILcom/android/server/wm/TransitionController;Lcom/android/server/wm/BLASTSyncEngine;)V
+PLcom/android/server/wm/Transition;->addOnTopTasks(Lcom/android/server/wm/DisplayContent;Ljava/util/ArrayList;)V
+PLcom/android/server/wm/Transition;->addOnTopTasks(Lcom/android/server/wm/Task;Ljava/util/ArrayList;)V
+PLcom/android/server/wm/Transition;->applyDisplayChangeIfNeeded(Landroid/util/ArraySet;)V
+PLcom/android/server/wm/Transition;->applyReady()V
+PLcom/android/server/wm/Transition;->asyncTraceBegin(Ljava/lang/String;I)V
+PLcom/android/server/wm/Transition;->asyncTraceEnd(I)V
+PLcom/android/server/wm/Transition;->buildCleanupTransaction(Landroid/view/SurfaceControl$Transaction;Landroid/window/TransitionInfo;)V
+PLcom/android/server/wm/Transition;->buildFinishTransaction(Landroid/view/SurfaceControl$Transaction;Landroid/window/TransitionInfo;)V
+PLcom/android/server/wm/Transition;->calculateTargets(Landroid/util/ArraySet;Landroid/util/ArrayMap;)Ljava/util/ArrayList;
+HPLcom/android/server/wm/Transition;->calculateTransitionInfo(IILjava/util/ArrayList;Landroid/view/SurfaceControl$Transaction;)Landroid/window/TransitionInfo;
+PLcom/android/server/wm/Transition;->calculateTransitionRoots(Landroid/window/TransitionInfo;Ljava/util/ArrayList;Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/Transition;->canPromote(Lcom/android/server/wm/Transition$ChangeInfo;Lcom/android/server/wm/Transition$Targets;Landroid/util/ArrayMap;)Z
+PLcom/android/server/wm/Transition;->checkEnterPipOnFinish(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/Transition;->cleanUpInternal()V
+HPLcom/android/server/wm/Transition;->collect(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/Transition;->collectExistenceChange(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/Transition;->collectOrderChanges(Z)V
+PLcom/android/server/wm/Transition;->commitConfigAtEndActivities()V
+PLcom/android/server/wm/Transition;->commitVisibleActivities(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/Transition;->commitVisibleWallpapers()V
+PLcom/android/server/wm/Transition;->containsChangeFor(Lcom/android/server/wm/WindowContainer;Ljava/util/ArrayList;)Z
+PLcom/android/server/wm/Transition;->findCommonAncestor(Ljava/util/ArrayList;Lcom/android/server/wm/WindowContainer;)Lcom/android/server/wm/WindowContainer;
+HPLcom/android/server/wm/Transition;->finishTransition()V
+PLcom/android/server/wm/Transition;->fromBinder(Landroid/os/IBinder;)Lcom/android/server/wm/Transition;
+PLcom/android/server/wm/Transition;->getAnimatableParent(Lcom/android/server/wm/WindowContainer;)Lcom/android/server/wm/WindowContainer;
+PLcom/android/server/wm/Transition;->getDisplayId(Lcom/android/server/wm/WindowContainer;)I
+PLcom/android/server/wm/Transition;->getFinishTransaction()Landroid/view/SurfaceControl$Transaction;
+PLcom/android/server/wm/Transition;->getFlags()I
+PLcom/android/server/wm/Transition;->getLayoutParamsForAnimationsStyle(ILjava/util/ArrayList;)Landroid/view/WindowManager$LayoutParams;
+PLcom/android/server/wm/Transition;->getLeashSurface(Lcom/android/server/wm/WindowContainer;Landroid/view/SurfaceControl$Transaction;)Landroid/view/SurfaceControl;
+PLcom/android/server/wm/Transition;->getOrigParentSurface(Lcom/android/server/wm/WindowContainer;)Landroid/view/SurfaceControl;
+PLcom/android/server/wm/Transition;->getPipActivity()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/Transition;->getStartTransaction()Landroid/view/SurfaceControl$Transaction;
+PLcom/android/server/wm/Transition;->getSyncId()I
+PLcom/android/server/wm/Transition;->getTaskRotationAnimation(Lcom/android/server/wm/Task;)I
+PLcom/android/server/wm/Transition;->getToken()Landroid/os/IBinder;
+PLcom/android/server/wm/Transition;->handleLegacyRecentsStartBehavior(Lcom/android/server/wm/DisplayContent;Landroid/window/TransitionInfo;)V
+PLcom/android/server/wm/Transition;->isAborted()Z
+PLcom/android/server/wm/Transition;->isCollecting()Z
+PLcom/android/server/wm/Transition;->isInTransientHide(Lcom/android/server/wm/WindowContainer;)Z
+HPLcom/android/server/wm/Transition;->isInTransition(Lcom/android/server/wm/WindowContainer;)Z
+PLcom/android/server/wm/Transition;->isInputMethod(Lcom/android/server/wm/WindowContainer;)Z
+PLcom/android/server/wm/Transition;->isReadyGroup(Lcom/android/server/wm/WindowContainer;)Z
+PLcom/android/server/wm/Transition;->isStarted()Z
+PLcom/android/server/wm/Transition;->isTransientLaunch(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/Transition;->isTransientVisible(Lcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/Transition;->isTranslucent(Lcom/android/server/wm/WindowContainer;)Z
+PLcom/android/server/wm/Transition;->isWallpaper(Lcom/android/server/wm/WindowContainer;)Z
+PLcom/android/server/wm/Transition;->lambda$addOnTopTasks$2(Lcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/Transition;->legacyRestoreNavigationBarFromApp()V
+HPLcom/android/server/wm/Transition;->onTransactionReady(ILandroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/Transition;->populateParentChanges(Lcom/android/server/wm/Transition$Targets;Landroid/util/ArrayMap;)V
+PLcom/android/server/wm/Transition;->recordDisplay(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/Transition;->recordTaskOrder(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/Transition;->reportIfNotTop(Lcom/android/server/wm/WindowContainer;)Z
+PLcom/android/server/wm/Transition;->reportStartReasonsToLogger()V
+PLcom/android/server/wm/Transition;->resetSurfaceTransform(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/WindowContainer;Landroid/view/SurfaceControl;)V
+PLcom/android/server/wm/Transition;->sendRemoteCallback(Landroid/os/IRemoteCallback;)V
+PLcom/android/server/wm/Transition;->setEndFixedRotationIfNeeded(Landroid/window/TransitionInfo$Change;Lcom/android/server/wm/Task;Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/Transition;->setReady(Lcom/android/server/wm/WindowContainer;Z)V
+PLcom/android/server/wm/Transition;->shouldApplyOnDisplayThread()Z
+PLcom/android/server/wm/Transition;->shouldUsePerfHint(Lcom/android/server/wm/DisplayContent;)Z
+PLcom/android/server/wm/Transition;->shouldWallpaperBeVisible()Z
+PLcom/android/server/wm/Transition;->snapshotStartState(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/Transition;->start()V
+PLcom/android/server/wm/Transition;->startCollecting(J)V
+PLcom/android/server/wm/Transition;->tryPromote(Lcom/android/server/wm/Transition$Targets;Landroid/util/ArrayMap;)V
+PLcom/android/server/wm/Transition;->updateDisplayLayers(Lcom/android/server/wm/DisplayContent;Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/Transition;->updateTransientFlags(Lcom/android/server/wm/Transition$ChangeInfo;)V
+PLcom/android/server/wm/Transition;->validateKeyguardOcclusion()V
+PLcom/android/server/wm/TransitionController$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/wm/TransitionController;)V
+PLcom/android/server/wm/TransitionController$$ExternalSyntheticLambda3;->run()V
+HSPLcom/android/server/wm/TransitionController$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/wm/TransitionController;)V
+HSPLcom/android/server/wm/TransitionController$Lock;-><init>(Lcom/android/server/wm/TransitionController;)V
+PLcom/android/server/wm/TransitionController$Lock;->doNotifyLocked()V
+PLcom/android/server/wm/TransitionController$Logger;-><init>()V
+PLcom/android/server/wm/TransitionController$Logger;->buildOnFinishLog()Ljava/lang/String;
+PLcom/android/server/wm/TransitionController$Logger;->buildOnSendLog()Ljava/lang/String;
+PLcom/android/server/wm/TransitionController$Logger;->logOnFinish()V
+PLcom/android/server/wm/TransitionController$Logger;->logOnSend()V
+PLcom/android/server/wm/TransitionController$Logger;->logOnSendAsync(Landroid/os/Handler;)V
+PLcom/android/server/wm/TransitionController$Logger;->run()V
+PLcom/android/server/wm/TransitionController$Logger;->toMsString(J)Ljava/lang/String;
+HSPLcom/android/server/wm/TransitionController$RemotePlayer;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V
+PLcom/android/server/wm/TransitionController$RemotePlayer;->clear()V
+HSPLcom/android/server/wm/TransitionController$TransitionMetricsReporter;-><init>()V
+PLcom/android/server/wm/TransitionController$TransitionMetricsReporter;->reportAnimationStart(Landroid/os/IBinder;J)V
+HSPLcom/android/server/wm/TransitionController;-><clinit>()V
+HSPLcom/android/server/wm/TransitionController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V
+PLcom/android/server/wm/TransitionController;->assignTrack(Lcom/android/server/wm/Transition;Landroid/window/TransitionInfo;)V
+HPLcom/android/server/wm/TransitionController;->canAssignLayers(Lcom/android/server/wm/WindowContainer;)Z
+PLcom/android/server/wm/TransitionController;->collect(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/TransitionController;->collectExistenceChange(Lcom/android/server/wm/WindowContainer;)V
+HPLcom/android/server/wm/TransitionController;->collectForDisplayAreaChange(Lcom/android/server/wm/DisplayArea;)V
+PLcom/android/server/wm/TransitionController;->createAndStartCollecting(I)Lcom/android/server/wm/Transition;
+PLcom/android/server/wm/TransitionController;->dispatchLegacyAppTransitionFinished(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/TransitionController;->dispatchLegacyAppTransitionPending()V
+PLcom/android/server/wm/TransitionController;->dispatchLegacyAppTransitionStarting(Landroid/window/TransitionInfo;J)V
+PLcom/android/server/wm/TransitionController;->finishTransition(Lcom/android/server/wm/Transition;)V
+PLcom/android/server/wm/TransitionController;->getCollectingTransitionId()I
+PLcom/android/server/wm/TransitionController;->getCollectingTransitionType()I
+PLcom/android/server/wm/TransitionController;->getTransitionPlayer()Landroid/window/ITransitionPlayer;
+HPLcom/android/server/wm/TransitionController;->inCollectingTransition(Lcom/android/server/wm/WindowContainer;)Z
+PLcom/android/server/wm/TransitionController;->inFinishingTransition(Lcom/android/server/wm/WindowContainer;)Z
+HPLcom/android/server/wm/TransitionController;->inPlayingTransition(Lcom/android/server/wm/WindowContainer;)Z
+HPLcom/android/server/wm/TransitionController;->inTransition()Z
+HPLcom/android/server/wm/TransitionController;->inTransition(Lcom/android/server/wm/WindowContainer;)Z
+PLcom/android/server/wm/TransitionController;->isAnimating()Z
+HPLcom/android/server/wm/TransitionController;->isCollecting()Z
+PLcom/android/server/wm/TransitionController;->isCollecting(Lcom/android/server/wm/WindowContainer;)Z
+HPLcom/android/server/wm/TransitionController;->isPlaying()Z
+HPLcom/android/server/wm/TransitionController;->isShellTransitionsEnabled()Z
+PLcom/android/server/wm/TransitionController;->isTransientCollect(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/TransitionController;->isTransientLaunch(Lcom/android/server/wm/ActivityRecord;)Z
+HPLcom/android/server/wm/TransitionController;->isTransientVisible(Lcom/android/server/wm/Task;)Z
+HPLcom/android/server/wm/TransitionController;->isTransitionOnDisplay(Lcom/android/server/wm/DisplayContent;)Z
+PLcom/android/server/wm/TransitionController;->moveToCollecting(Lcom/android/server/wm/Transition;)V
+PLcom/android/server/wm/TransitionController;->moveToPlaying(Lcom/android/server/wm/Transition;)V
+PLcom/android/server/wm/TransitionController;->onCommittedInvisibles()V
+PLcom/android/server/wm/TransitionController;->onTransitionPopulated(Lcom/android/server/wm/Transition;)V
+PLcom/android/server/wm/TransitionController;->recordTaskOrder(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/TransitionController;->registerLegacyListener(Lcom/android/server/wm/WindowManagerInternal$AppTransitionListener;)V
+PLcom/android/server/wm/TransitionController;->registerTransitionPlayer(Landroid/window/ITransitionPlayer;Lcom/android/server/wm/WindowProcessController;)V
+PLcom/android/server/wm/TransitionController;->requestStartTransition(Lcom/android/server/wm/Transition;Lcom/android/server/wm/Task;Landroid/window/RemoteTransition;Landroid/window/TransitionRequestInfo$DisplayChange;)Lcom/android/server/wm/Transition;
+PLcom/android/server/wm/TransitionController;->setReady(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/TransitionController;->setReady(Lcom/android/server/wm/WindowContainer;Z)V
+PLcom/android/server/wm/TransitionController;->setSyncEngine(Lcom/android/server/wm/BLASTSyncEngine;)V
+PLcom/android/server/wm/TransitionController;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V
+HPLcom/android/server/wm/TransitionController;->shouldKeepFocus(Lcom/android/server/wm/WindowContainer;)Z
+PLcom/android/server/wm/TransitionController;->tryStartCollectFromQueue()V
+PLcom/android/server/wm/TransitionController;->updateAnimatingState()V
+PLcom/android/server/wm/TransitionController;->updateRunningRemoteAnimation(Lcom/android/server/wm/Transition;Z)V
+PLcom/android/server/wm/TransitionController;->useFullReadyTracking()Z
+HPLcom/android/server/wm/TransitionController;->useShellTransitionsRotation()Z
+PLcom/android/server/wm/TransitionController;->validateStates()V
+PLcom/android/server/wm/TrustedPresentationListenerController$Listeners;-><init>(Lcom/android/server/wm/TrustedPresentationListenerController;)V
+PLcom/android/server/wm/TrustedPresentationListenerController$Listeners;-><init>(Lcom/android/server/wm/TrustedPresentationListenerController;Lcom/android/server/wm/TrustedPresentationListenerController$Listeners-IA;)V
+PLcom/android/server/wm/TrustedPresentationListenerController;-><init>()V
+PLcom/android/server/wm/UnknownAppVisibilityController;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/UnknownAppVisibilityController;->allResolved()Z
+PLcom/android/server/wm/UnknownAppVisibilityController;->appRemovedOrHidden(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/UnknownAppVisibilityController;->clear()V
+PLcom/android/server/wm/UnknownAppVisibilityController;->isVisibilityUnknown(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/UnknownAppVisibilityController;->notifyAppResumedFinished(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/UnknownAppVisibilityController;->notifyRelayouted(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/VisibleActivityProcessTracker$CpuTimeRecord;-><init>(Lcom/android/server/wm/VisibleActivityProcessTracker;Lcom/android/server/wm/WindowProcessController;)V
+PLcom/android/server/wm/VisibleActivityProcessTracker$CpuTimeRecord;->run()V
+HSPLcom/android/server/wm/VisibleActivityProcessTracker;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V
+HPLcom/android/server/wm/VisibleActivityProcessTracker;->hasVisibleActivity(I)Z
+HPLcom/android/server/wm/VisibleActivityProcessTracker;->match(ILjava/util/function/Predicate;)Z
+PLcom/android/server/wm/VisibleActivityProcessTracker;->onActivityResumedWhileVisible(Lcom/android/server/wm/WindowProcessController;)V
+PLcom/android/server/wm/VisibleActivityProcessTracker;->onAllActivitiesInvisible(Lcom/android/server/wm/WindowProcessController;)V
+PLcom/android/server/wm/VisibleActivityProcessTracker;->onAnyActivityVisible(Lcom/android/server/wm/WindowProcessController;)V
+HPLcom/android/server/wm/VisibleActivityProcessTracker;->removeProcess(Lcom/android/server/wm/WindowProcessController;)Lcom/android/server/wm/VisibleActivityProcessTracker$CpuTimeRecord;
+HSPLcom/android/server/wm/VrController$1;-><init>(Lcom/android/server/wm/VrController;)V
+HSPLcom/android/server/wm/VrController;-><clinit>()V
+HSPLcom/android/server/wm/VrController;-><init>(Ljava/lang/Object;)V
+PLcom/android/server/wm/VrController;->isInterestingToSchedGroup()Z
+PLcom/android/server/wm/VrController;->onSystemReady()V
+PLcom/android/server/wm/WallpaperAnimationAdapter;->shouldStartWallpaperAnimation(Lcom/android/server/wm/DisplayContent;)Z
+PLcom/android/server/wm/WallpaperController$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/WallpaperController;)V
+PLcom/android/server/wm/WallpaperController$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/WallpaperController$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/wm/WallpaperController;)V
+PLcom/android/server/wm/WallpaperController$$ExternalSyntheticLambda1;->apply(Ljava/lang/Object;)Z
+PLcom/android/server/wm/WallpaperController$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/wm/WallpaperController;)V
+PLcom/android/server/wm/WallpaperController$FindWallpaperTargetResult$TopWallpaper;-><init>()V
+PLcom/android/server/wm/WallpaperController$FindWallpaperTargetResult$TopWallpaper;->reset()V
+PLcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;-><init>()V
+PLcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;-><init>(Lcom/android/server/wm/WallpaperController$FindWallpaperTargetResult-IA;)V
+PLcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;->getTopWallpaper(Z)Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;->hasTopHideWhenLockedWallpaper()Z
+PLcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;->hasTopShowWhenLockedWallpaper()Z
+PLcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;->reset()V
+PLcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;->setIsWallpaperTargetForLetterbox(Z)V
+PLcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;->setTopShowWhenLockedWallpaper(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;->setWallpaperTarget(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/WallpaperController;->$r8$lambda$P67TWw1sKQnPyyNd8sIWPsJ8xts(Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/WallpaperController;->$r8$lambda$weWYh946v1vMY5HxrZ0ItBnQ548(Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/WallpaperController;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/WallpaperController;->addWallpaperToken(Lcom/android/server/wm/WallpaperWindowToken;)V
+HPLcom/android/server/wm/WallpaperController;->adjustWallpaperWindows()V
+PLcom/android/server/wm/WallpaperController;->adjustWallpaperWindowsForAppTransitionIfNeeded(Landroid/util/ArraySet;)V
+PLcom/android/server/wm/WallpaperController;->clearLastWallpaperTimeoutTime()V
+HPLcom/android/server/wm/WallpaperController;->findWallpaperTarget()V
+PLcom/android/server/wm/WallpaperController;->getAllTopWallpapers()Ljava/util/List;
+PLcom/android/server/wm/WallpaperController;->getDisplayWidthOffset(ILandroid/graphics/Rect;Z)I
+PLcom/android/server/wm/WallpaperController;->getTokenForTarget(Lcom/android/server/wm/WindowState;)Lcom/android/server/wm/WallpaperWindowToken;
+PLcom/android/server/wm/WallpaperController;->getWallpaperTarget()Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/WallpaperController;->hideDeferredWallpapersIfNeededLegacy()V
+HPLcom/android/server/wm/WallpaperController;->hideWallpapers(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/WallpaperController;->isBackNavigationTarget(Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/WallpaperController;->isBelowWallpaperTarget(Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/WallpaperController;->isRecentsTransitionTarget(Lcom/android/server/wm/WindowState;)Z
+HPLcom/android/server/wm/WallpaperController;->isWallpaperTarget(Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/WallpaperController;->isWallpaperTargetAnimating()Z
+HPLcom/android/server/wm/WallpaperController;->isWallpaperVisible()Z
+PLcom/android/server/wm/WallpaperController;->lambda$new$0(Lcom/android/server/wm/WindowState;)V
+HPLcom/android/server/wm/WallpaperController;->lambda$new$1(Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/WallpaperController;->onDisplaySwitchFinished()V
+PLcom/android/server/wm/WallpaperController;->resetLargestDisplay(Landroid/view/Display;)V
+PLcom/android/server/wm/WallpaperController;->setShouldZoomOutWallpaper(Lcom/android/server/wm/WindowState;Z)V
+PLcom/android/server/wm/WallpaperController;->setWallpaperCropUtils(Lcom/android/server/wallpaper/WallpaperCropper$WallpaperCropUtils;)V
+HPLcom/android/server/wm/WallpaperController;->updateWallpaperOffset(Lcom/android/server/wm/WindowState;Z)Z
+PLcom/android/server/wm/WallpaperController;->updateWallpaperOffsetLocked(Lcom/android/server/wm/WindowState;Z)V
+PLcom/android/server/wm/WallpaperController;->updateWallpaperTokens(ZZ)V
+PLcom/android/server/wm/WallpaperController;->updateWallpaperWindowsTarget(Lcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;)V
+PLcom/android/server/wm/WallpaperVisibilityListeners;-><init>()V
+PLcom/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/WallpaperWindowToken;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/os/IBinder;ZLcom/android/server/wm/DisplayContent;ZLandroid/os/Bundle;)V
+PLcom/android/server/wm/WallpaperWindowToken;->asWallpaperToken()Lcom/android/server/wm/WallpaperWindowToken;
+PLcom/android/server/wm/WallpaperWindowToken;->canShowWhenLocked()Z
+HPLcom/android/server/wm/WallpaperWindowToken;->commitVisibility(Z)V
+HPLcom/android/server/wm/WallpaperWindowToken;->isVisible()Z
+PLcom/android/server/wm/WallpaperWindowToken;->onChildVisibleRequestedChanged(Lcom/android/server/wm/WindowContainer;)Z
+PLcom/android/server/wm/WallpaperWindowToken;->setCropHints(Landroid/util/SparseArray;)V
+PLcom/android/server/wm/WallpaperWindowToken;->setShowWhenLocked(Z)V
+HPLcom/android/server/wm/WallpaperWindowToken;->setVisibility(Z)V
+PLcom/android/server/wm/WallpaperWindowToken;->setVisible(Z)V
+PLcom/android/server/wm/WallpaperWindowToken;->setVisibleRequested(Z)Z
+PLcom/android/server/wm/WallpaperWindowToken;->showWallpaper()Z
+PLcom/android/server/wm/WallpaperWindowToken;->toString()Ljava/lang/String;
+PLcom/android/server/wm/WallpaperWindowToken;->updateWallpaperOffset(Z)V
+PLcom/android/server/wm/WallpaperWindowToken;->updateWallpaperWindows(Z)V
+PLcom/android/server/wm/WindowAnimationSpec$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/wm/WindowAnimationSpec$$ExternalSyntheticLambda0;->get()Ljava/lang/Object;
+PLcom/android/server/wm/WindowAnimationSpec$TmpValues;-><init>()V
+PLcom/android/server/wm/WindowAnimationSpec$TmpValues;-><init>(Lcom/android/server/wm/WindowAnimationSpec$TmpValues-IA;)V
+PLcom/android/server/wm/WindowAnimationSpec;->$r8$lambda$O4wc4-tRjiP9nCMbsYU_dS1zsf4()Lcom/android/server/wm/WindowAnimationSpec$TmpValues;
+PLcom/android/server/wm/WindowAnimationSpec;-><init>(Landroid/view/animation/Animation;Landroid/graphics/Point;Landroid/graphics/Rect;ZIZF)V
+PLcom/android/server/wm/WindowAnimationSpec;-><init>(Landroid/view/animation/Animation;Landroid/graphics/Point;ZF)V
+HPLcom/android/server/wm/WindowAnimationSpec;->apply(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;J)V
+PLcom/android/server/wm/WindowAnimationSpec;->asWindowAnimationSpec()Lcom/android/server/wm/WindowAnimationSpec;
+PLcom/android/server/wm/WindowAnimationSpec;->canSkipFirstFrame()Z
+PLcom/android/server/wm/WindowAnimationSpec;->getDuration()J
+PLcom/android/server/wm/WindowAnimationSpec;->hasExtension()Z
+PLcom/android/server/wm/WindowAnimator$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/WindowAnimator;)V
+PLcom/android/server/wm/WindowAnimator$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/wm/WindowAnimator$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/wm/WindowAnimator;)V
+HPLcom/android/server/wm/WindowAnimator$$ExternalSyntheticLambda1;->doFrame(J)V
+HPLcom/android/server/wm/WindowAnimator;->$r8$lambda$AS_wbK9i-bc6ocCFop7s9PnXP80(Lcom/android/server/wm/WindowAnimator;J)V
+PLcom/android/server/wm/WindowAnimator;->$r8$lambda$W57Ag5fzVY7lre5WxW-Fd7sotY8(Lcom/android/server/wm/WindowAnimator;)V
+PLcom/android/server/wm/WindowAnimator;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowAnimator;->addAfterPrepareSurfacesRunnable(Ljava/lang/Runnable;)V
+HPLcom/android/server/wm/WindowAnimator;->animate(J)V
+HPLcom/android/server/wm/WindowAnimator;->cancelAnimation()V
+HPLcom/android/server/wm/WindowAnimator;->executeAfterPrepareSurfacesRunnables()V
+PLcom/android/server/wm/WindowAnimator;->lambda$new$0()V
+HPLcom/android/server/wm/WindowAnimator;->lambda$new$1(J)V
+PLcom/android/server/wm/WindowAnimator;->ready()V
+HPLcom/android/server/wm/WindowAnimator;->scheduleAnimation()V
+HPLcom/android/server/wm/WindowAnimator;->updateRunningExpensiveAnimationsLegacy()V
+PLcom/android/server/wm/WindowContainer$$ExternalSyntheticLambda10;-><init>()V
+PLcom/android/server/wm/WindowContainer$$ExternalSyntheticLambda10;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/WindowContainer$$ExternalSyntheticLambda12;-><init>(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/WindowContainer$$ExternalSyntheticLambda12;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/WindowContainer$$ExternalSyntheticLambda13;-><init>(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/WindowContainer$$ExternalSyntheticLambda13;->onAnimationFinished(ILcom/android/server/wm/AnimationAdapter;)V
+PLcom/android/server/wm/WindowContainer$$ExternalSyntheticLambda14;-><init>()V
+PLcom/android/server/wm/WindowContainer$$ExternalSyntheticLambda14;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/WindowContainer$$ExternalSyntheticLambda3;-><init>()V
+PLcom/android/server/wm/WindowContainer$$ExternalSyntheticLambda3;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/WindowContainer$$ExternalSyntheticLambda4;-><init>()V
+PLcom/android/server/wm/WindowContainer$$ExternalSyntheticLambda4;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/WindowContainer$$ExternalSyntheticLambda5;-><init>()V
+PLcom/android/server/wm/WindowContainer$$ExternalSyntheticLambda5;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;-><init>(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;-><init>(Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper-IA;)V
+HPLcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;->apply(Lcom/android/server/wm/WindowState;)Z
+HPLcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;->apply(Ljava/lang/Object;)Z
+HPLcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;->release()V
+PLcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;->setConsumer(Ljava/util/function/Consumer;)V
+HPLcom/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;->toString()Ljava/lang/String;
+HPLcom/android/server/wm/WindowContainer$RemoteToken;->toWindowContainerToken()Landroid/window/WindowContainerToken;
+PLcom/android/server/wm/WindowContainer;->$r8$lambda$P9uMBneLM2Si1UANWoV5uQ4DSY8(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/WindowContainer;->$r8$lambda$U6J3FM52jcz63vJUvQI_Psg5VIc(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/WindowContainer;->$r8$lambda$WCX56CLXmDYVEESH4qAkWTB4kQ4(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/WindowContainer;->$r8$lambda$XL8lUmIHE8kzhQRm7NA0j1UqJ8E(Lcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/WindowContainer;->$r8$lambda$ggkMLWSQVBUcbk3w7M1d4KAgVVA(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/WindowContainer;->$r8$lambda$mgkrQnQJbqksG7kwkWi3ZEb0Xsc(Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/WindowContainer;->-$$Nest$fgetmConsumerWrapperPool(Lcom/android/server/wm/WindowContainer;)Landroid/util/Pools$SynchronizedPool;
+HPLcom/android/server/wm/WindowContainer;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+HPLcom/android/server/wm/WindowContainer;->addChild(Lcom/android/server/wm/WindowContainer;I)V
+HPLcom/android/server/wm/WindowContainer;->addChild(Lcom/android/server/wm/WindowContainer;Ljava/util/Comparator;)V
+PLcom/android/server/wm/WindowContainer;->allSyncFinished()Z
+PLcom/android/server/wm/WindowContainer;->asActivityRecord()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/WindowContainer;->asDisplayArea()Lcom/android/server/wm/DisplayArea;
+PLcom/android/server/wm/WindowContainer;->asDisplayContent()Lcom/android/server/wm/DisplayContent;
+PLcom/android/server/wm/WindowContainer;->asTask()Lcom/android/server/wm/Task;
+PLcom/android/server/wm/WindowContainer;->asTaskDisplayArea()Lcom/android/server/wm/TaskDisplayArea;
+PLcom/android/server/wm/WindowContainer;->asTaskFragment()Lcom/android/server/wm/TaskFragment;
+PLcom/android/server/wm/WindowContainer;->asWallpaperToken()Lcom/android/server/wm/WallpaperWindowToken;
+PLcom/android/server/wm/WindowContainer;->asWindowState()Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/WindowContainer;->asWindowToken()Lcom/android/server/wm/WindowToken;
+HPLcom/android/server/wm/WindowContainer;->assignChildLayers()V
+HPLcom/android/server/wm/WindowContainer;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V
+HPLcom/android/server/wm/WindowContainer;->assignLayer(Landroid/view/SurfaceControl$Transaction;I)V
+PLcom/android/server/wm/WindowContainer;->assignRelativeLayer(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;IZ)V
+PLcom/android/server/wm/WindowContainer;->canCreateRemoteAnimationTarget()Z
+PLcom/android/server/wm/WindowContainer;->canStartChangeTransition()Z
+PLcom/android/server/wm/WindowContainer;->cancelAnimation()V
+HPLcom/android/server/wm/WindowContainer;->checkAppWindowsReadyToShow()V
+PLcom/android/server/wm/WindowContainer;->commitPendingTransaction()V
+PLcom/android/server/wm/WindowContainer;->compareTo(Lcom/android/server/wm/WindowContainer;)I
+PLcom/android/server/wm/WindowContainer;->computeScreenLayout(III)I
+HPLcom/android/server/wm/WindowContainer;->createMergedSparseArray(Landroid/util/SparseArray;Landroid/util/SparseArray;)Landroid/util/SparseArray;
+HPLcom/android/server/wm/WindowContainer;->createSurfaceControl(Z)V
+PLcom/android/server/wm/WindowContainer;->doAnimationFinished(ILcom/android/server/wm/AnimationAdapter;)V
+PLcom/android/server/wm/WindowContainer;->finishSync(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;Z)V
+PLcom/android/server/wm/WindowContainer;->forAllActivities(Ljava/util/function/Consumer;)V
+HPLcom/android/server/wm/WindowContainer;->forAllActivities(Ljava/util/function/Consumer;Z)V
+HPLcom/android/server/wm/WindowContainer;->forAllActivities(Ljava/util/function/Predicate;)Z
+HPLcom/android/server/wm/WindowContainer;->forAllActivities(Ljava/util/function/Predicate;Z)Z
+PLcom/android/server/wm/WindowContainer;->forAllDisplayAreas(Ljava/util/function/Consumer;)V
+HPLcom/android/server/wm/WindowContainer;->forAllLeafTaskFragments(Ljava/util/function/Predicate;)Z
+HPLcom/android/server/wm/WindowContainer;->forAllLeafTasks(Ljava/util/function/Consumer;Z)V
+HPLcom/android/server/wm/WindowContainer;->forAllLeafTasks(Ljava/util/function/Predicate;)Z
+HPLcom/android/server/wm/WindowContainer;->forAllRootTasks(Ljava/util/function/Consumer;)V
+HPLcom/android/server/wm/WindowContainer;->forAllRootTasks(Ljava/util/function/Consumer;Z)V
+PLcom/android/server/wm/WindowContainer;->forAllRootTasks(Ljava/util/function/Predicate;)Z
+HPLcom/android/server/wm/WindowContainer;->forAllRootTasks(Ljava/util/function/Predicate;Z)Z
+PLcom/android/server/wm/WindowContainer;->forAllTaskDisplayAreas(Ljava/util/function/Consumer;)V
+PLcom/android/server/wm/WindowContainer;->forAllTaskDisplayAreas(Ljava/util/function/Consumer;Z)V
+PLcom/android/server/wm/WindowContainer;->forAllTaskDisplayAreas(Ljava/util/function/Predicate;)Z
+PLcom/android/server/wm/WindowContainer;->forAllTaskFragments(Ljava/util/function/Consumer;)V
+PLcom/android/server/wm/WindowContainer;->forAllTaskFragments(Ljava/util/function/Consumer;Z)V
+PLcom/android/server/wm/WindowContainer;->forAllTasks(Ljava/util/function/Consumer;)V
+PLcom/android/server/wm/WindowContainer;->forAllTasks(Ljava/util/function/Consumer;Z)V
+HPLcom/android/server/wm/WindowContainer;->forAllTasks(Ljava/util/function/Predicate;)Z
+HPLcom/android/server/wm/WindowContainer;->forAllWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
+HPLcom/android/server/wm/WindowContainer;->forAllWindows(Ljava/util/function/Consumer;Z)V
+PLcom/android/server/wm/WindowContainer;->fromBinder(Landroid/os/IBinder;)Lcom/android/server/wm/WindowContainer;
+HPLcom/android/server/wm/WindowContainer;->getActivity(Ljava/util/function/Predicate;)Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/WindowContainer;->getActivity(Ljava/util/function/Predicate;Lcom/android/server/wm/WindowContainer;ZZ)Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/WindowContainer;->getActivity(Ljava/util/function/Predicate;Lcom/android/server/wm/WindowContainer;ZZ[Z)Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/WindowContainer;->getActivity(Ljava/util/function/Predicate;Z)Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/WindowContainer;->getActivity(Ljava/util/function/Predicate;ZLcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/WindowContainer;->getActivityBelow(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/WindowContainer;->getAnimatingContainer()Lcom/android/server/wm/WindowContainer;
+HPLcom/android/server/wm/WindowContainer;->getAnimatingContainer(II)Lcom/android/server/wm/WindowContainer;
+PLcom/android/server/wm/WindowContainer;->getAnimationLeash()Landroid/view/SurfaceControl;
+PLcom/android/server/wm/WindowContainer;->getAnimationLeashParent()Landroid/view/SurfaceControl;
+PLcom/android/server/wm/WindowContainer;->getBottomMostActivity()Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/WindowContainer;->getChildAt(I)Lcom/android/server/wm/ConfigurationContainer;
+HPLcom/android/server/wm/WindowContainer;->getChildAt(I)Lcom/android/server/wm/WindowContainer;
+HPLcom/android/server/wm/WindowContainer;->getChildCount()I
+PLcom/android/server/wm/WindowContainer;->getControllableInsetProvider()Lcom/android/server/wm/InsetsSourceProvider;
+HPLcom/android/server/wm/WindowContainer;->getDisplayArea()Lcom/android/server/wm/DisplayArea;
+PLcom/android/server/wm/WindowContainer;->getDisplayContent()Lcom/android/server/wm/DisplayContent;
+PLcom/android/server/wm/WindowContainer;->getInsetsSourceProviders()Landroid/util/SparseArray;
+PLcom/android/server/wm/WindowContainer;->getItemFromTaskDisplayAreas(Ljava/util/function/Function;)Ljava/lang/Object;
+PLcom/android/server/wm/WindowContainer;->getItemFromTaskDisplayAreas(Ljava/util/function/Function;Z)Ljava/lang/Object;
+PLcom/android/server/wm/WindowContainer;->getLastLayer()I
+PLcom/android/server/wm/WindowContainer;->getLastOrientationSource()Lcom/android/server/wm/WindowContainer;
+PLcom/android/server/wm/WindowContainer;->getOrientation()I
+HPLcom/android/server/wm/WindowContainer;->getOrientation(I)I
+PLcom/android/server/wm/WindowContainer;->getOverrideOrientation()I
+HPLcom/android/server/wm/WindowContainer;->getParent()Lcom/android/server/wm/ConfigurationContainer;
+HPLcom/android/server/wm/WindowContainer;->getParent()Lcom/android/server/wm/WindowContainer;
+PLcom/android/server/wm/WindowContainer;->getParentSurfaceControl()Landroid/view/SurfaceControl;
+HPLcom/android/server/wm/WindowContainer;->getPendingTransaction()Landroid/view/SurfaceControl$Transaction;
+PLcom/android/server/wm/WindowContainer;->getPrefixOrderIndex()I
+PLcom/android/server/wm/WindowContainer;->getPrefixOrderIndex(Lcom/android/server/wm/WindowContainer;)I
+HPLcom/android/server/wm/WindowContainer;->getRelativeDisplayRotation()I
+HPLcom/android/server/wm/WindowContainer;->getRelativePosition(Landroid/graphics/Point;)V
+HPLcom/android/server/wm/WindowContainer;->getRelativePosition(Landroid/graphics/Rect;Landroid/graphics/Point;)V
+PLcom/android/server/wm/WindowContainer;->getRequestedConfigurationOrientation()I
+PLcom/android/server/wm/WindowContainer;->getRequestedConfigurationOrientation(ZI)I
+PLcom/android/server/wm/WindowContainer;->getRootDisplayArea()Lcom/android/server/wm/RootDisplayArea;
+HPLcom/android/server/wm/WindowContainer;->getRootTask(Ljava/util/function/Predicate;)Lcom/android/server/wm/Task;
+HPLcom/android/server/wm/WindowContainer;->getRootTask(Ljava/util/function/Predicate;Z)Lcom/android/server/wm/Task;
+HPLcom/android/server/wm/WindowContainer;->getSession()Landroid/view/SurfaceSession;
+HPLcom/android/server/wm/WindowContainer;->getSurfaceControl()Landroid/view/SurfaceControl;
+PLcom/android/server/wm/WindowContainer;->getSurfaceHeight()I
+PLcom/android/server/wm/WindowContainer;->getSurfaceWidth()I
+PLcom/android/server/wm/WindowContainer;->getSyncGroup()Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;
+HPLcom/android/server/wm/WindowContainer;->getSyncTransaction()Landroid/view/SurfaceControl$Transaction;
+PLcom/android/server/wm/WindowContainer;->getTask(Ljava/util/function/Predicate;)Lcom/android/server/wm/Task;
+HPLcom/android/server/wm/WindowContainer;->getTask(Ljava/util/function/Predicate;Z)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/WindowContainer;->getTaskDisplayArea()Lcom/android/server/wm/TaskDisplayArea;
+PLcom/android/server/wm/WindowContainer;->getTaskFragment(Ljava/util/function/Predicate;)Lcom/android/server/wm/TaskFragment;
+HPLcom/android/server/wm/WindowContainer;->getTopChild()Lcom/android/server/wm/WindowContainer;
+PLcom/android/server/wm/WindowContainer;->getTopMostActivity()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/WindowContainer;->getTopMostTask()Lcom/android/server/wm/Task;
+PLcom/android/server/wm/WindowContainer;->getTreeWeight()I
+HPLcom/android/server/wm/WindowContainer;->getWindow(Ljava/util/function/Predicate;)Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/WindowContainer;->getWindowType()I
+HPLcom/android/server/wm/WindowContainer;->handleCompleteDeferredRemoval()Z
+PLcom/android/server/wm/WindowContainer;->handlesOrientationChangeFromDescendant(I)Z
+PLcom/android/server/wm/WindowContainer;->hasActivity()Z
+HPLcom/android/server/wm/WindowContainer;->hasChild(Lcom/android/server/wm/WindowContainer;)Z
+HPLcom/android/server/wm/WindowContainer;->hasInsetsSourceProvider()Z
+HPLcom/android/server/wm/WindowContainer;->inTransition()Z
+HPLcom/android/server/wm/WindowContainer;->inTransitionSelfOrParent()Z
+PLcom/android/server/wm/WindowContainer;->isAnimating()Z
+HPLcom/android/server/wm/WindowContainer;->isAnimating(I)Z
+HPLcom/android/server/wm/WindowContainer;->isAnimating(II)Z
+PLcom/android/server/wm/WindowContainer;->isAppTransitioning()Z
+HPLcom/android/server/wm/WindowContainer;->isAttached()Z
+HPLcom/android/server/wm/WindowContainer;->isClosingWhenResizing()Z
+PLcom/android/server/wm/WindowContainer;->isDescendantOf(Lcom/android/server/wm/WindowContainer;)Z
+HPLcom/android/server/wm/WindowContainer;->isExitAnimationRunningSelfOrChild()Z
+HPLcom/android/server/wm/WindowContainer;->isFocusable()Z
+HPLcom/android/server/wm/WindowContainer;->isOnTop()Z
+PLcom/android/server/wm/WindowContainer;->isOrganized()Z
+HPLcom/android/server/wm/WindowContainer;->isSelfAnimating(II)Z
+PLcom/android/server/wm/WindowContainer;->isSyncFinished(Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;)Z
+HPLcom/android/server/wm/WindowContainer;->isVisible()Z
+HPLcom/android/server/wm/WindowContainer;->isVisibleRequested()Z
+PLcom/android/server/wm/WindowContainer;->isWaitingForTransitionStart()Z
+PLcom/android/server/wm/WindowContainer;->lambda$getActivityBelow$2(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/WindowContainer;->lambda$getBottomMostActivity$3(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/WindowContainer;->lambda$getTopMostActivity$4(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/WindowContainer;->lambda$getTopMostTask$12(Lcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/WindowContainer;->lambda$isAppTransitioning$0(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/WindowContainer;->lambda$waitForAllWindowsDrawn$13(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/WindowContainer;->makeAnimationLeash()Landroid/view/SurfaceControl$Builder;
+HPLcom/android/server/wm/WindowContainer;->makeChildSurface(Lcom/android/server/wm/WindowContainer;)Landroid/view/SurfaceControl$Builder;
+HPLcom/android/server/wm/WindowContainer;->makeSurface()Landroid/view/SurfaceControl$Builder;
+HPLcom/android/server/wm/WindowContainer;->needsZBoost()Z
+HPLcom/android/server/wm/WindowContainer;->obtainConsumerWrapper(Ljava/util/function/Consumer;)Lcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;
+PLcom/android/server/wm/WindowContainer;->okToAnimate()Z
+PLcom/android/server/wm/WindowContainer;->okToAnimate(ZZ)Z
+PLcom/android/server/wm/WindowContainer;->okToDisplay()Z
+PLcom/android/server/wm/WindowContainer;->onAnimationFinished(ILcom/android/server/wm/AnimationAdapter;)V
+PLcom/android/server/wm/WindowContainer;->onAnimationLeashCreated(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;)V
+PLcom/android/server/wm/WindowContainer;->onAnimationLeashLost(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/WindowContainer;->onAppTransitionDone()V
+HPLcom/android/server/wm/WindowContainer;->onChildAdded(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/WindowContainer;->onChildPositionChanged(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/WindowContainer;->onChildRemoved(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/WindowContainer;->onChildVisibilityRequested(Z)V
+HPLcom/android/server/wm/WindowContainer;->onChildVisibleRequestedChanged(Lcom/android/server/wm/WindowContainer;)Z
+HPLcom/android/server/wm/WindowContainer;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/WindowContainer;->onDescendantOrientationChanged(Lcom/android/server/wm/WindowContainer;)Z
+PLcom/android/server/wm/WindowContainer;->onDescendantOverrideConfigurationChanged()V
+HPLcom/android/server/wm/WindowContainer;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V
+HPLcom/android/server/wm/WindowContainer;->onParentChanged(Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ConfigurationContainer;)V
+PLcom/android/server/wm/WindowContainer;->onParentResize()V
+PLcom/android/server/wm/WindowContainer;->onRequestedOverrideConfigurationChanged(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/WindowContainer;->onResize()V
+PLcom/android/server/wm/WindowContainer;->onSyncFinishedDrawing()Z
+HPLcom/android/server/wm/WindowContainer;->onSyncReparent(Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/WindowContainer;->onSyncTransactionCommitted(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/WindowContainer;->onUnfrozen()V
+PLcom/android/server/wm/WindowContainer;->positionChildAt(ILcom/android/server/wm/WindowContainer;Z)V
+HPLcom/android/server/wm/WindowContainer;->prepareSurfaces()V
+PLcom/android/server/wm/WindowContainer;->prepareSync()Z
+PLcom/android/server/wm/WindowContainer;->processGetActivityWithBoundary(Ljava/util/function/Predicate;Lcom/android/server/wm/WindowContainer;ZZ[ZLcom/android/server/wm/WindowContainer;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/WindowContainer;->providesOrientation()Z
+PLcom/android/server/wm/WindowContainer;->reassignLayer(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/WindowContainer;->reduceOnAllTaskDisplayAreas(Ljava/util/function/BiFunction;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/wm/WindowContainer;->registerWindowContainerListener(Lcom/android/server/wm/WindowContainerListener;)V
+PLcom/android/server/wm/WindowContainer;->registerWindowContainerListener(Lcom/android/server/wm/WindowContainerListener;Z)V
+PLcom/android/server/wm/WindowContainer;->removeChild(Lcom/android/server/wm/WindowContainer;)V
+HPLcom/android/server/wm/WindowContainer;->removeImmediately()V
+PLcom/android/server/wm/WindowContainer;->resetSurfacePositionForAnimationLeash(Landroid/view/SurfaceControl$Transaction;)V
+HPLcom/android/server/wm/WindowContainer;->scheduleAnimation()V
+PLcom/android/server/wm/WindowContainer;->sendAppVisibilityToClients()V
+PLcom/android/server/wm/WindowContainer;->setCanScreenshot(Landroid/view/SurfaceControl$Transaction;Z)Z
+PLcom/android/server/wm/WindowContainer;->setControllableInsetProvider(Lcom/android/server/wm/InsetsSourceProvider;)V
+HPLcom/android/server/wm/WindowContainer;->setInitialSurfaceControlProperties(Landroid/view/SurfaceControl$Builder;)V
+HPLcom/android/server/wm/WindowContainer;->setLayer(Landroid/view/SurfaceControl$Transaction;I)V
+PLcom/android/server/wm/WindowContainer;->setOrientation(I)V
+PLcom/android/server/wm/WindowContainer;->setOrientation(ILcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/WindowContainer;->setOverrideOrientation(I)V
+HPLcom/android/server/wm/WindowContainer;->setParent(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/WindowContainer;->setRelativeLayer(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;I)V
+PLcom/android/server/wm/WindowContainer;->setSurfaceControl(Landroid/view/SurfaceControl;)V
+PLcom/android/server/wm/WindowContainer;->setSyncGroup(Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;)V
+HPLcom/android/server/wm/WindowContainer;->setVisibleRequested(Z)Z
+PLcom/android/server/wm/WindowContainer;->showSurfaceOnCreation()Z
+HPLcom/android/server/wm/WindowContainer;->showWallpaper()Z
+PLcom/android/server/wm/WindowContainer;->startAnimation(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/AnimationAdapter;ZI)V
+PLcom/android/server/wm/WindowContainer;->startAnimation(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/AnimationAdapter;ZILcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;)V
+PLcom/android/server/wm/WindowContainer;->startAnimation(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/AnimationAdapter;ZILcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;Ljava/lang/Runnable;Lcom/android/server/wm/AnimationAdapter;)V
+PLcom/android/server/wm/WindowContainer;->syncNextBuffer()Z
+PLcom/android/server/wm/WindowContainer;->unregisterWindowContainerListener(Lcom/android/server/wm/WindowContainerListener;)V
+HPLcom/android/server/wm/WindowContainer;->updateAboveInsetsState(Landroid/view/InsetsState;Landroid/util/SparseArray;Landroid/util/ArraySet;)V
+HPLcom/android/server/wm/WindowContainer;->updateSurfacePosition(Landroid/view/SurfaceControl$Transaction;)V
+HPLcom/android/server/wm/WindowContainer;->updateSurfacePositionNonOrganized()V
+PLcom/android/server/wm/WindowContainer;->waitForAllWindowsDrawn()V
+PLcom/android/server/wm/WindowContainer;->waitForSyncTransactionCommit(Landroid/util/ArraySet;)V
+PLcom/android/server/wm/WindowContainerListener;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/WindowContainerListener;->onVisibleRequestedChanged(Z)V
+PLcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl$DeathRecipient;-><init>(Lcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl;)V
+PLcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl$DeathRecipient;-><init>(Lcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl;Lcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl$DeathRecipient-IA;)V
+PLcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl$DeathRecipient;->linkToDeath()V
+PLcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl;->-$$Nest$fgetmClientToken(Lcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl;)Landroid/os/IBinder;
+PLcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl;->-$$Nest$fgetmOptions(Lcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl;)Landroid/os/Bundle;
+PLcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl;->-$$Nest$fgetmType(Lcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl;)I
+PLcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl;->-$$Nest$mregister(Lcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl;Z)V
+PLcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl;->-$$Nest$mupdateContainer(Lcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl;Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl;-><init>(Lcom/android/server/wm/WindowContextListenerController;Lcom/android/server/wm/WindowProcessController;Landroid/os/IBinder;Lcom/android/server/wm/WindowContainer;ILandroid/os/Bundle;)V
+PLcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl;-><init>(Lcom/android/server/wm/WindowContextListenerController;Lcom/android/server/wm/WindowProcessController;Landroid/os/IBinder;Lcom/android/server/wm/WindowContainer;ILandroid/os/Bundle;Lcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl-IA;)V
+PLcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl;->clear()V
+HPLcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl;->dispatchWindowContextInfoChange()V
+PLcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl;->getUid()I
+PLcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl;->onMergedOverrideConfigurationChanged(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl;->register()V
+PLcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl;->register(Z)V
+PLcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl;->updateContainer(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/WindowContextListenerController;-><init>()V
+PLcom/android/server/wm/WindowContextListenerController;->assertCallerCanModifyListener(Landroid/os/IBinder;ZI)Z
+PLcom/android/server/wm/WindowContextListenerController;->getOptions(Landroid/os/IBinder;)Landroid/os/Bundle;
+PLcom/android/server/wm/WindowContextListenerController;->getWindowType(Landroid/os/IBinder;)I
+PLcom/android/server/wm/WindowContextListenerController;->hasListener(Landroid/os/IBinder;)Z
+PLcom/android/server/wm/WindowContextListenerController;->registerWindowContainerListener(Lcom/android/server/wm/WindowProcessController;Landroid/os/IBinder;Lcom/android/server/wm/WindowContainer;ILandroid/os/Bundle;)V
+PLcom/android/server/wm/WindowContextListenerController;->registerWindowContainerListener(Lcom/android/server/wm/WindowProcessController;Landroid/os/IBinder;Lcom/android/server/wm/WindowContainer;ILandroid/os/Bundle;Z)V
+PLcom/android/server/wm/WindowContextListenerController;->updateContainerForWindowContextListener(Landroid/os/IBinder;Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/WindowFrames;-><clinit>()V
+HPLcom/android/server/wm/WindowFrames;-><init>()V
+HPLcom/android/server/wm/WindowFrames;->didFrameSizeChange()Z
+PLcom/android/server/wm/WindowFrames;->hasContentChanged()Z
+PLcom/android/server/wm/WindowFrames;->hasInsetsChanged()Z
+PLcom/android/server/wm/WindowFrames;->isFrameSizeChangeReported()Z
+PLcom/android/server/wm/WindowFrames;->onResizeHandled()V
+HPLcom/android/server/wm/WindowFrames;->parentFrameWasClippedByDisplayCutout()Z
+PLcom/android/server/wm/WindowFrames;->setContentChanged(Z)V
+PLcom/android/server/wm/WindowFrames;->setParentFrameWasClippedByDisplayCutout(Z)V
+HPLcom/android/server/wm/WindowFrames;->setReportResizeHints()Z
+PLcom/android/server/wm/WindowList;-><init>()V
+PLcom/android/server/wm/WindowList;->peekFirst()Ljava/lang/Object;
+HPLcom/android/server/wm/WindowList;->peekLast()Ljava/lang/Object;
+PLcom/android/server/wm/WindowManagerConstants$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/WindowManagerConstants;)V
+PLcom/android/server/wm/WindowManagerConstants$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/wm/WindowManagerConstants;)V
+PLcom/android/server/wm/WindowManagerConstants$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowManagerConstants;-><init>(Lcom/android/server/wm/WindowManagerGlobalLock;Ljava/lang/Runnable;Landroid/provider/DeviceConfigInterface;)V
+PLcom/android/server/wm/WindowManagerConstants;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/provider/DeviceConfigInterface;)V
+PLcom/android/server/wm/WindowManagerConstants;->start(Ljava/util/concurrent/Executor;)V
+PLcom/android/server/wm/WindowManagerConstants;->updateSystemGestureExcludedByPreQStickyImmersive()V
+PLcom/android/server/wm/WindowManagerConstants;->updateSystemGestureExclusionLimitDp()V
+PLcom/android/server/wm/WindowManagerConstants;->updateSystemGestureExclusionLogDebounceMillis()V
+PLcom/android/server/wm/WindowManagerFlags;-><init>()V
+HSPLcom/android/server/wm/WindowManagerGlobalLock;-><init>()V
+PLcom/android/server/wm/WindowManagerInternal$AppTransitionListener;-><init>()V
+PLcom/android/server/wm/WindowManagerInternal$AppTransitionListener;->onAppTransitionPendingLocked()V
+PLcom/android/server/wm/WindowManagerInternal$AppTransitionListener;->onAppTransitionStartingLocked(JJ)I
+PLcom/android/server/wm/WindowManagerInternal;-><init>()V
+PLcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda0;-><init>([Lcom/android/server/wm/WindowManagerService;Landroid/content/Context;Lcom/android/server/input/InputManagerService;ZLcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/DisplayWindowSettingsProvider;Ljava/util/function/Supplier;Ljava/util/function/Function;)V
+PLcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda16;-><init>()V
+PLcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda16;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda18;-><init>()V
+PLcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda18;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda21;-><init>()V
+PLcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda21;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda22;-><init>(Lcom/android/server/wm/WindowManagerService$SettingsObserver;)V
+PLcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda22;->run()V
+PLcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda23;-><init>()V
+HPLcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda23;->get()Ljava/lang/Object;
+PLcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda24;-><init>()V
+HPLcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda24;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/os/IBinder;ZZ)V
+PLcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda2;->run()V
+PLcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda30;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda30;->run()V
+PLcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda4;->getRootForDisplay(I)Landroid/view/SurfaceControl;
+PLcom/android/server/wm/WindowManagerService$1;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowManagerService$2;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowManagerService$3;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowManagerService$4;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowManagerService$4;->onAppTransitionFinishedLocked(Landroid/os/IBinder;)V
+PLcom/android/server/wm/WindowManagerService$5;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowManagerService$5;->run()V
+PLcom/android/server/wm/WindowManagerService$6;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowManagerService$7;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowManagerService$8;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowManagerService$H;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+HPLcom/android/server/wm/WindowManagerService$H;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/wm/WindowManagerService$ImeTargetVisibilityPolicyImpl;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowManagerService$ImeTargetVisibilityPolicyImpl;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService$ImeTargetVisibilityPolicyImpl-IA;)V
+PLcom/android/server/wm/WindowManagerService$LocalService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/WindowManagerService$LocalService;I)V
+PLcom/android/server/wm/WindowManagerService$LocalService$$ExternalSyntheticLambda0;->run()V
+PLcom/android/server/wm/WindowManagerService$LocalService;->$r8$lambda$lk-ezvC20UqC557MIWFnPJCqHrs(Lcom/android/server/wm/WindowManagerService$LocalService;I)V
+PLcom/android/server/wm/WindowManagerService$LocalService;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowManagerService$LocalService;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService$LocalService-IA;)V
+PLcom/android/server/wm/WindowManagerService$LocalService;->addWindowToken(Landroid/os/IBinder;IILandroid/os/Bundle;)V
+PLcom/android/server/wm/WindowManagerService$LocalService;->clearSnapshotCache()V
+PLcom/android/server/wm/WindowManagerService$LocalService;->getAccessibilityController()Lcom/android/server/wm/WindowManagerInternal$AccessibilityControllerInternal;
+PLcom/android/server/wm/WindowManagerService$LocalService;->getDisplayIdForWindow(Landroid/os/IBinder;)I
+PLcom/android/server/wm/WindowManagerService$LocalService;->getFocusedWindowTokenFromWindowStates()Landroid/os/IBinder;
+HPLcom/android/server/wm/WindowManagerService$LocalService;->hasInputMethodClientFocus(Landroid/os/IBinder;III)I
+PLcom/android/server/wm/WindowManagerService$LocalService;->hasNavigationBar(I)Z
+PLcom/android/server/wm/WindowManagerService$LocalService;->lambda$onDisplayManagerReceivedDeviceState$0(I)V
+PLcom/android/server/wm/WindowManagerService$LocalService;->onDisplayManagerReceivedDeviceState(I)V
+PLcom/android/server/wm/WindowManagerService$LocalService;->registerAppTransitionListener(Lcom/android/server/wm/WindowManagerInternal$AppTransitionListener;)V
+PLcom/android/server/wm/WindowManagerService$LocalService;->removeWindowToken(Landroid/os/IBinder;ZZI)V
+HPLcom/android/server/wm/WindowManagerService$LocalService;->requestTraversalFromDisplayManager()V
+HPLcom/android/server/wm/WindowManagerService$LocalService;->setAccessibilityIdToSurfaceMetadata(Landroid/os/IBinder;I)V
+PLcom/android/server/wm/WindowManagerService$LocalService;->setDismissImeOnBackKeyPressed(Z)V
+PLcom/android/server/wm/WindowManagerService$LocalService;->setInputMethodTargetChangeListener(Lcom/android/server/wm/ImeTargetChangeListener;)V
+PLcom/android/server/wm/WindowManagerService$LocalService;->setWallpaperCropHints(Landroid/os/IBinder;Landroid/util/SparseArray;)V
+PLcom/android/server/wm/WindowManagerService$LocalService;->setWallpaperCropUtils(Lcom/android/server/wallpaper/WallpaperCropper$WallpaperCropUtils;)V
+PLcom/android/server/wm/WindowManagerService$LocalService;->setWallpaperShowWhenLocked(Landroid/os/IBinder;Z)V
+PLcom/android/server/wm/WindowManagerService$LocalService;->setWindowsForAccessibilityCallback(ILcom/android/server/wm/WindowManagerInternal$WindowsForAccessibilityCallback;)V
+PLcom/android/server/wm/WindowManagerService$LocalService;->updateInputMethodTargetWindow(Landroid/os/IBinder;Landroid/os/IBinder;)V
+PLcom/android/server/wm/WindowManagerService$LocalService;->waitForAllWindowsDrawn(Landroid/os/Message;JI)V
+PLcom/android/server/wm/WindowManagerService$SettingsObserver;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowManagerService$SettingsObserver;->loadSettings()V
+PLcom/android/server/wm/WindowManagerService$SettingsObserver;->updateMaximumObscuringOpacityForTouch()V
+PLcom/android/server/wm/WindowManagerService$SettingsObserver;->updateSystemUiSettings(Z)V
+PLcom/android/server/wm/WindowManagerService;->$r8$lambda$-03A0KzACDP8viIeBR6fHGPyC3E(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowManagerService;->$r8$lambda$5NrEVxBS-ypo1Qb5HZIOjzN6KD0(Lcom/android/server/wm/WindowManagerService;Landroid/os/IBinder;ZZ)V
+PLcom/android/server/wm/WindowManagerService;->$r8$lambda$mwBTKetH1qw0F1b0kyWqrfq23P8([Lcom/android/server/wm/WindowManagerService;Landroid/content/Context;Lcom/android/server/input/InputManagerService;ZLcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/DisplayWindowSettingsProvider;Ljava/util/function/Supplier;Ljava/util/function/Function;)V
+PLcom/android/server/wm/WindowManagerService;->$r8$lambda$q098u3YRqNN-dXhSIeNTldOKDX4(Lcom/android/server/wm/WindowManagerService;I)Landroid/view/SurfaceControl;
+PLcom/android/server/wm/WindowManagerService;->-$$Nest$fgetmTransaction(Lcom/android/server/wm/WindowManagerService;)Landroid/view/SurfaceControl$Transaction;
+PLcom/android/server/wm/WindowManagerService;->-$$Nest$mcheckBootAnimationCompleteLocked(Lcom/android/server/wm/WindowManagerService;)Z
+PLcom/android/server/wm/WindowManagerService;->-$$Nest$mperformEnableScreen(Lcom/android/server/wm/WindowManagerService;)V
+HSPLcom/android/server/wm/WindowManagerService;-><clinit>()V
+HPLcom/android/server/wm/WindowManagerService;-><init>(Landroid/content/Context;Lcom/android/server/input/InputManagerService;ZLcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/DisplayWindowSettingsProvider;Ljava/util/function/Supplier;Ljava/util/function/Function;)V
+PLcom/android/server/wm/WindowManagerService;->addKeyguardLockedStateListener(Lcom/android/internal/policy/IKeyguardLockedStateListener;)V
+HPLcom/android/server/wm/WindowManagerService;->addWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;Landroid/view/WindowManager$LayoutParams;IIIILandroid/view/InputChannel;Landroid/view/InsetsState;Landroid/view/InsetsSourceControl$Array;Landroid/graphics/Rect;[F)I
+PLcom/android/server/wm/WindowManagerService;->addWindowToken(Landroid/os/IBinder;IILandroid/os/Bundle;)V
+PLcom/android/server/wm/WindowManagerService;->applyForcedPropertiesForDefaultDisplay()Z
+HPLcom/android/server/wm/WindowManagerService;->attachWindowContextToDisplayArea(Landroid/app/IApplicationThread;Landroid/os/IBinder;IILandroid/os/Bundle;)Landroid/window/WindowContextInfo;
+PLcom/android/server/wm/WindowManagerService;->attachWindowContextToWindowToken(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/os/IBinder;)Landroid/window/WindowContextInfo;
+HSPLcom/android/server/wm/WindowManagerService;->boostPriorityForLockedSection()V
+PLcom/android/server/wm/WindowManagerService;->checkBootAnimationCompleteLocked()Z
+PLcom/android/server/wm/WindowManagerService;->checkCallingPermission(Ljava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/wm/WindowManagerService;->checkCallingPermission(Ljava/lang/String;Ljava/lang/String;Z)Z
+HPLcom/android/server/wm/WindowManagerService;->checkDrawnWindowsLocked()V
+PLcom/android/server/wm/WindowManagerService;->computeNewConfiguration(I)Landroid/content/res/Configuration;
+PLcom/android/server/wm/WindowManagerService;->computeNewConfigurationLocked(I)Landroid/content/res/Configuration;
+PLcom/android/server/wm/WindowManagerService;->createSurfaceControl(Landroid/view/SurfaceControl;ILcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowStateAnimator;)I
+PLcom/android/server/wm/WindowManagerService;->createWatermark()V
+PLcom/android/server/wm/WindowManagerService;->detectSafeMode()Z
+PLcom/android/server/wm/WindowManagerService;->dispatchImeInputTargetVisibilityChanged(Landroid/os/IBinder;ZZ)V
+PLcom/android/server/wm/WindowManagerService;->dispatchKeyguardLockedState()V
+PLcom/android/server/wm/WindowManagerService;->displayReady()V
+PLcom/android/server/wm/WindowManagerService;->enableScreenAfterBoot()V
+PLcom/android/server/wm/WindowManagerService;->enableScreenIfNeeded()V
+HPLcom/android/server/wm/WindowManagerService;->enableScreenIfNeededLocked()V
+PLcom/android/server/wm/WindowManagerService;->enforceSubscribeToKeyguardLockedStatePermission()V
+PLcom/android/server/wm/WindowManagerService;->excludeWindowTypeFromTapOutTask(I)Z
+HPLcom/android/server/wm/WindowManagerService;->finishDrawingWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;Landroid/view/SurfaceControl$Transaction;I)V
+PLcom/android/server/wm/WindowManagerService;->freezeDisplayRotation(IILjava/lang/String;)V
+PLcom/android/server/wm/WindowManagerService;->freezeRotation(ILjava/lang/String;)V
+PLcom/android/server/wm/WindowManagerService;->getAnimatorDurationScaleSetting()F
+PLcom/android/server/wm/WindowManagerService;->getBaseDisplaySize(ILandroid/graphics/Point;)V
+PLcom/android/server/wm/WindowManagerService;->getCameraLensCoverState()I
+HPLcom/android/server/wm/WindowManagerService;->getCurrentAnimatorScale()F
+HPLcom/android/server/wm/WindowManagerService;->getDefaultDisplayContentLocked()Lcom/android/server/wm/DisplayContent;
+PLcom/android/server/wm/WindowManagerService;->getDefaultDisplayRotation()I
+PLcom/android/server/wm/WindowManagerService;->getDisplayAreaPolicyProvider()Lcom/android/server/wm/DisplayAreaPolicy$Provider;
+PLcom/android/server/wm/WindowManagerService;->getDisplayContentOrCreate(ILandroid/os/IBinder;)Lcom/android/server/wm/DisplayContent;
+PLcom/android/server/wm/WindowManagerService;->getFocusedWindowLocked()Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/WindowManagerService;->getForcedDisplayDensityForUserLocked(I)I
+PLcom/android/server/wm/WindowManagerService;->getImeDisplayId()I
+PLcom/android/server/wm/WindowManagerService;->getInputManagerCallback()Lcom/android/server/wm/InputManagerCallback;
+PLcom/android/server/wm/WindowManagerService;->getInputTargetFromToken(Landroid/os/IBinder;)Lcom/android/server/wm/InputTarget;
+PLcom/android/server/wm/WindowManagerService;->getInputTargetFromWindowTokenLocked(Landroid/os/IBinder;)Lcom/android/server/wm/InputTarget;
+HPLcom/android/server/wm/WindowManagerService;->getInsetsSourceControls(Lcom/android/server/wm/WindowState;Landroid/view/InsetsSourceControl$Array;)V
+PLcom/android/server/wm/WindowManagerService;->getLidState()I
+HPLcom/android/server/wm/WindowManagerService;->getRecentsAnimationController()Lcom/android/server/wm/RecentsAnimationController;
+PLcom/android/server/wm/WindowManagerService;->getTaskSnapshot(IIZZ)Landroid/window/TaskSnapshot;
+PLcom/android/server/wm/WindowManagerService;->getTransitionAnimationScaleSetting()F
+PLcom/android/server/wm/WindowManagerService;->getWindowAnimationScaleLocked()F
+PLcom/android/server/wm/WindowManagerService;->getWindowAnimationScaleSetting()F
+PLcom/android/server/wm/WindowManagerService;->getWindowManagerLock()Ljava/lang/Object;
+PLcom/android/server/wm/WindowManagerService;->grantInputChannel(Lcom/android/server/wm/Session;IIILandroid/view/SurfaceControl;Landroid/os/IBinder;Landroid/window/InputTransferToken;IIIILandroid/os/IBinder;Landroid/window/InputTransferToken;Ljava/lang/String;Landroid/view/InputChannel;)V
+PLcom/android/server/wm/WindowManagerService;->hasNavigationBar(I)Z
+PLcom/android/server/wm/WindowManagerService;->hideBootMessagesLocked()V
+PLcom/android/server/wm/WindowManagerService;->initPolicy()V
+PLcom/android/server/wm/WindowManagerService;->isDisplayRotationFrozen(I)Z
+PLcom/android/server/wm/WindowManagerService;->isInTouchMode(I)Z
+PLcom/android/server/wm/WindowManagerService;->isKeyguardLocked()Z
+HPLcom/android/server/wm/WindowManagerService;->isKeyguardSecure(I)Z
+PLcom/android/server/wm/WindowManagerService;->isRecentsAnimationTarget(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/WindowManagerService;->isRotationFrozen()Z
+PLcom/android/server/wm/WindowManagerService;->isSafeModeEnabled()Z
+HPLcom/android/server/wm/WindowManagerService;->isUserVisible(I)Z
+PLcom/android/server/wm/WindowManagerService;->lambda$dispatchImeInputTargetVisibilityChanged$7(Landroid/os/IBinder;ZZ)V
+PLcom/android/server/wm/WindowManagerService;->lambda$dispatchKeyguardLockedState$5()V
+PLcom/android/server/wm/WindowManagerService;->lambda$main$1([Lcom/android/server/wm/WindowManagerService;Landroid/content/Context;Lcom/android/server/input/InputManagerService;ZLcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/DisplayWindowSettingsProvider;Ljava/util/function/Supplier;Ljava/util/function/Function;)V
+PLcom/android/server/wm/WindowManagerService;->lambda$new$2(I)Landroid/view/SurfaceControl;
+PLcom/android/server/wm/WindowManagerService;->main(Landroid/content/Context;Lcom/android/server/input/InputManagerService;ZLcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/wm/ActivityTaskManagerService;)Lcom/android/server/wm/WindowManagerService;
+PLcom/android/server/wm/WindowManagerService;->main(Landroid/content/Context;Lcom/android/server/input/InputManagerService;ZLcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/DisplayWindowSettingsProvider;Ljava/util/function/Supplier;Ljava/util/function/Function;)Lcom/android/server/wm/WindowManagerService;
+HPLcom/android/server/wm/WindowManagerService;->makeSurfaceBuilder(Landroid/view/SurfaceSession;)Landroid/view/SurfaceControl$Builder;
+PLcom/android/server/wm/WindowManagerService;->makeWindowFreezingScreenIfNeededLocked(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/WindowManagerService;->mapOrientationRequest(I)I
+HPLcom/android/server/wm/WindowManagerService;->monitor()V
+PLcom/android/server/wm/WindowManagerService;->notifyFocusChanged()V
+PLcom/android/server/wm/WindowManagerService;->onAnimationFinished()V
+PLcom/android/server/wm/WindowManagerService;->onInitReady()V
+PLcom/android/server/wm/WindowManagerService;->onKeyguardShowingAndNotOccludedChanged()V
+PLcom/android/server/wm/WindowManagerService;->onProcessActivityVisibilityChanged(IZ)V
+PLcom/android/server/wm/WindowManagerService;->onRectangleOnScreenRequested(Landroid/os/IBinder;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/WindowManagerService;->onSystemUiStarted()V
+PLcom/android/server/wm/WindowManagerService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLcom/android/server/wm/WindowManagerService;->onUserSwitched()V
+PLcom/android/server/wm/WindowManagerService;->openSession(Landroid/view/IWindowSessionCallback;)Landroid/view/IWindowSession;
+PLcom/android/server/wm/WindowManagerService;->performBootTimeout()V
+HPLcom/android/server/wm/WindowManagerService;->performEnableScreen()V
+HPLcom/android/server/wm/WindowManagerService;->postWindowRemoveCleanupLocked(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/WindowManagerService;->queryHdrSupport()Z
+PLcom/android/server/wm/WindowManagerService;->queryWideColorGamutSupport()Z
+PLcom/android/server/wm/WindowManagerService;->registerDecorViewGestureListener(Landroid/view/IDecorViewGestureListener;I)V
+PLcom/android/server/wm/WindowManagerService;->registerDisplayWindowListener(Landroid/view/IDisplayWindowListener;)[I
+PLcom/android/server/wm/WindowManagerService;->registerSystemGestureExclusionListener(Landroid/view/ISystemGestureExclusionListener;I)V
+PLcom/android/server/wm/WindowManagerService;->registerWallpaperVisibilityListener(Landroid/view/IWallpaperVisibilityListener;I)Z
+HPLcom/android/server/wm/WindowManagerService;->relayoutWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;Landroid/view/WindowManager$LayoutParams;IIIIIILandroid/window/ClientWindowFrames;Landroid/util/MergedConfiguration;Landroid/view/SurfaceControl;Landroid/view/InsetsState;Landroid/view/InsetsSourceControl$Array;Landroid/os/Bundle;)I
+PLcom/android/server/wm/WindowManagerService;->removeClientToken(Lcom/android/server/wm/Session;Landroid/os/IBinder;)V
+PLcom/android/server/wm/WindowManagerService;->removeObsoleteTaskFiles(Landroid/util/ArraySet;[I)V
+PLcom/android/server/wm/WindowManagerService;->removeWindowToken(Landroid/os/IBinder;ZZI)V
+HPLcom/android/server/wm/WindowManagerService;->reportFocusChanged(Landroid/os/IBinder;Landroid/os/IBinder;)V
+PLcom/android/server/wm/WindowManagerService;->requestTraversal()V
+HSPLcom/android/server/wm/WindowManagerService;->resetPriorityAfterLockedSection()V
+PLcom/android/server/wm/WindowManagerService;->sanitizeFlagSlippery(ILjava/lang/String;II)I
+PLcom/android/server/wm/WindowManagerService;->sanitizeSpyWindow(ILjava/lang/String;II)I
+PLcom/android/server/wm/WindowManagerService;->sanitizeWindowType(Lcom/android/server/wm/Session;ILandroid/os/IBinder;I)I
+HPLcom/android/server/wm/WindowManagerService;->scheduleAnimationLocked()V
+PLcom/android/server/wm/WindowManagerService;->setAnimatorDurationScale(F)V
+PLcom/android/server/wm/WindowManagerService;->setDisplayChangeWindowController(Landroid/view/IDisplayChangeWindowController;)V
+PLcom/android/server/wm/WindowManagerService;->setDisplayWindowInsetsController(ILandroid/view/IDisplayWindowInsetsController;)V
+PLcom/android/server/wm/WindowManagerService;->setEventDispatching(Z)V
+PLcom/android/server/wm/WindowManagerService;->setFixedToUserRotation(II)V
+PLcom/android/server/wm/WindowManagerService;->setGlobalShadowSettings()V
+HPLcom/android/server/wm/WindowManagerService;->setInsetsWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Region;)V
+PLcom/android/server/wm/WindowManagerService;->showEmulatorDisplayOverlayIfNeeded()V
+PLcom/android/server/wm/WindowManagerService;->stopFreezingDisplayLocked()V
+PLcom/android/server/wm/WindowManagerService;->systemReady()V
+PLcom/android/server/wm/WindowManagerService;->tryStartExitingAnimation(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowStateAnimator;)V
+PLcom/android/server/wm/WindowManagerService;->unprivilegedAppCanCreateTokenWith(Lcom/android/server/wm/WindowState;IIILandroid/os/IBinder;Ljava/lang/String;)Z
+HPLcom/android/server/wm/WindowManagerService;->updateFocusedWindowLocked(IZ)Z
+PLcom/android/server/wm/WindowManagerService;->updateInputChannel(Landroid/os/IBinder;IIILandroid/view/SurfaceControl;Ljava/lang/String;Landroid/view/InputApplicationHandle;IIIILandroid/graphics/Region;Landroid/os/IBinder;)V
+PLcom/android/server/wm/WindowManagerService;->updateNonSystemOverlayWindowsVisibilityIfNeeded(Lcom/android/server/wm/WindowState;Z)V
+PLcom/android/server/wm/WindowManagerService;->updateRotation(ZZ)V
+HPLcom/android/server/wm/WindowManagerService;->updateRotationUnchecked(ZZ)V
+HPLcom/android/server/wm/WindowManagerService;->windowForClientLocked(Lcom/android/server/wm/Session;Landroid/os/IBinder;Z)Lcom/android/server/wm/WindowState;
+HPLcom/android/server/wm/WindowManagerService;->windowForClientLocked(Lcom/android/server/wm/Session;Landroid/view/IWindow;Z)Lcom/android/server/wm/WindowState;
+HSPLcom/android/server/wm/WindowManagerThreadPriorityBooster;-><init>()V
+HSPLcom/android/server/wm/WindowManagerThreadPriorityBooster;->boost()V
+HSPLcom/android/server/wm/WindowManagerThreadPriorityBooster;->reset()V
+PLcom/android/server/wm/WindowManagerThreadPriorityBooster;->setAppTransitionRunning(Z)V
+PLcom/android/server/wm/WindowManagerThreadPriorityBooster;->updatePriorityLocked()V
+PLcom/android/server/wm/WindowOrganizerController$CallerInfo;-><init>()V
+HSPLcom/android/server/wm/WindowOrganizerController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V
+PLcom/android/server/wm/WindowOrganizerController;->applyTransaction(Landroid/window/WindowContainerTransaction;ILcom/android/server/wm/Transition;Lcom/android/server/wm/WindowOrganizerController$CallerInfo;)I
+PLcom/android/server/wm/WindowOrganizerController;->applyTransaction(Landroid/window/WindowContainerTransaction;ILcom/android/server/wm/Transition;Lcom/android/server/wm/WindowOrganizerController$CallerInfo;Lcom/android/server/wm/Transition;)I
+PLcom/android/server/wm/WindowOrganizerController;->finishTransition(Landroid/os/IBinder;Landroid/window/WindowContainerTransaction;)V
+PLcom/android/server/wm/WindowOrganizerController;->getApplyToken()Landroid/os/IBinder;
+PLcom/android/server/wm/WindowOrganizerController;->getDisplayAreaOrganizerController()Landroid/window/IDisplayAreaOrganizerController;
+PLcom/android/server/wm/WindowOrganizerController;->getTaskOrganizerController()Landroid/window/ITaskOrganizerController;
+PLcom/android/server/wm/WindowOrganizerController;->getTransitionController()Lcom/android/server/wm/TransitionController;
+PLcom/android/server/wm/WindowOrganizerController;->getTransitionMetricsReporter()Landroid/window/ITransitionMetricsReporter;
+PLcom/android/server/wm/WindowOrganizerController;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLcom/android/server/wm/WindowOrganizerController;->registerTransitionPlayer(Landroid/window/ITransitionPlayer;)V
+PLcom/android/server/wm/WindowOrganizerController;->startTransition(ILandroid/os/IBinder;Landroid/window/WindowContainerTransaction;)Landroid/os/IBinder;
+PLcom/android/server/wm/WindowOrganizerController;->startTransition(Landroid/os/IBinder;Landroid/window/WindowContainerTransaction;)V
+PLcom/android/server/wm/WindowOrientationListener$AccelSensorJudge;-><init>(Lcom/android/server/wm/WindowOrientationListener;Landroid/content/Context;)V
+PLcom/android/server/wm/WindowOrientationListener$OrientationJudge;-><init>(Lcom/android/server/wm/WindowOrientationListener;)V
+PLcom/android/server/wm/WindowOrientationListener;-><clinit>()V
+PLcom/android/server/wm/WindowOrientationListener;-><init>(Landroid/content/Context;Landroid/os/Handler;I)V
+PLcom/android/server/wm/WindowOrientationListener;-><init>(Landroid/content/Context;Landroid/os/Handler;II)V
+PLcom/android/server/wm/WindowOrientationListener;->canDetectOrientation()Z
+PLcom/android/server/wm/WindowOrientationListener;->disable()V
+PLcom/android/server/wm/WindowOrientationListener;->getHandler()Landroid/os/Handler;
+PLcom/android/server/wm/WindowOrientationListener;->getProposedRotation()I
+PLcom/android/server/wm/WindowOrientationListener;->setCurrentRotation(I)V
+PLcom/android/server/wm/WindowOrientationListener;->shouldStayEnabledWhileDreaming()Z
+PLcom/android/server/wm/WindowProcessController$$ExternalSyntheticLambda10;-><init>()V
+PLcom/android/server/wm/WindowProcessController$$ExternalSyntheticLambda10;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/WindowProcessController$$ExternalSyntheticLambda1;-><init>()V
+PLcom/android/server/wm/WindowProcessController$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/WindowProcessController$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/wm/WindowProcessController;Z)V
+PLcom/android/server/wm/WindowProcessController$$ExternalSyntheticLambda2;->run()V
+PLcom/android/server/wm/WindowProcessController$$ExternalSyntheticLambda4;-><init>()V
+PLcom/android/server/wm/WindowProcessController$$ExternalSyntheticLambda4;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/WindowProcessController$$ExternalSyntheticLambda7;-><init>()V
+PLcom/android/server/wm/WindowProcessController$$ExternalSyntheticLambda7;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/WindowProcessController$$ExternalSyntheticLambda8;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V
+HPLcom/android/server/wm/WindowProcessController$$ExternalSyntheticLambda8;->test(I)Z
+PLcom/android/server/wm/WindowProcessController;->$r8$lambda$MrxcMrQULT9udb0_Bvq5Va6C48k(Lcom/android/server/wm/WindowProcessController;Z)V
+HPLcom/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
+PLcom/android/server/wm/WindowProcessController;->addActivityIfNeeded(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/WindowProcessController;->addAnimatingReason(I)V
+HPLcom/android/server/wm/WindowProcessController;->addBoundClientUid(ILjava/lang/String;J)V
+PLcom/android/server/wm/WindowProcessController;->addOrUpdateBackgroundStartPrivileges(Landroid/os/Binder;Landroid/app/BackgroundStartPrivileges;)V
+HPLcom/android/server/wm/WindowProcessController;->addPackage(Ljava/lang/String;)V
+PLcom/android/server/wm/WindowProcessController;->addRecentTask(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/WindowProcessController;->addToPendingTop()V
+PLcom/android/server/wm/WindowProcessController;->appEarlyNotResponding(Ljava/lang/String;Ljava/lang/Runnable;)V
+PLcom/android/server/wm/WindowProcessController;->appNotResponding(Ljava/lang/String;Ljava/lang/Runnable;Ljava/lang/Runnable;)Z
+HPLcom/android/server/wm/WindowProcessController;->areBackgroundActivityStartsAllowed(IZ)Lcom/android/server/wm/BackgroundActivityStartController$BalVerdict;
+HPLcom/android/server/wm/WindowProcessController;->areBackgroundFgsStartsAllowed()Z
+HPLcom/android/server/wm/WindowProcessController;->clearActivities()V
+HPLcom/android/server/wm/WindowProcessController;->clearBoundClientUids()V
+PLcom/android/server/wm/WindowProcessController;->clearPackageList()V
+HPLcom/android/server/wm/WindowProcessController;->clearRecentTasks()V
+HPLcom/android/server/wm/WindowProcessController;->computeOomAdjFromActivities(Lcom/android/server/wm/WindowProcessController$ComputeOomAdjCallback;)I
+HPLcom/android/server/wm/WindowProcessController;->computeProcessActivityState()V
+PLcom/android/server/wm/WindowProcessController;->createProfilerInfoIfNeeded()Landroid/app/ProfilerInfo;
+PLcom/android/server/wm/WindowProcessController;->destroy()V
+HPLcom/android/server/wm/WindowProcessController;->dispatchConfiguration(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/WindowProcessController;->getChildCount()I
+PLcom/android/server/wm/WindowProcessController;->getCpuTime()J
+PLcom/android/server/wm/WindowProcessController;->getCurrentAdj()I
+PLcom/android/server/wm/WindowProcessController;->getCurrentProcState()I
+PLcom/android/server/wm/WindowProcessController;->getInputDispatchingTimeoutMillis()J
+PLcom/android/server/wm/WindowProcessController;->getPackageList()Ljava/util/List;
+HPLcom/android/server/wm/WindowProcessController;->getParent()Lcom/android/server/wm/ConfigurationContainer;
+PLcom/android/server/wm/WindowProcessController;->getPid()I
+PLcom/android/server/wm/WindowProcessController;->getReportedProcState()I
+PLcom/android/server/wm/WindowProcessController;->getRequiredAbi()Ljava/lang/String;
+PLcom/android/server/wm/WindowProcessController;->getThread()Landroid/app/IApplicationThread;
+HPLcom/android/server/wm/WindowProcessController;->getTopActivityDeviceId()I
+PLcom/android/server/wm/WindowProcessController;->getTopActivityDisplayArea()Lcom/android/server/wm/TaskDisplayArea;
+HPLcom/android/server/wm/WindowProcessController;->getTopNonFinishingActivity()Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/WindowProcessController;->handleAppDied()Z
+HPLcom/android/server/wm/WindowProcessController;->hasActivities()Z
+HPLcom/android/server/wm/WindowProcessController;->hasActivitiesOrRecentTasks()Z
+HPLcom/android/server/wm/WindowProcessController;->hasActivityInVisibleTask()Z
+PLcom/android/server/wm/WindowProcessController;->hasEmbeddedWindow()Z
+PLcom/android/server/wm/WindowProcessController;->hasEverLaunchedActivity()Z
+HPLcom/android/server/wm/WindowProcessController;->hasRecentTasks()Z
+PLcom/android/server/wm/WindowProcessController;->hasResumedActivity()Z
+PLcom/android/server/wm/WindowProcessController;->hasStartedActivity(Lcom/android/server/wm/ActivityRecord;)Z
+HPLcom/android/server/wm/WindowProcessController;->hasThread()Z
+HPLcom/android/server/wm/WindowProcessController;->hasVisibleActivities()Z
+HPLcom/android/server/wm/WindowProcessController;->isFactoryTestProcess()Z
+HPLcom/android/server/wm/WindowProcessController;->isHeavyWeightProcess()Z
+HPLcom/android/server/wm/WindowProcessController;->isHomeProcess()Z
+PLcom/android/server/wm/WindowProcessController;->isInstrumenting()Z
+PLcom/android/server/wm/WindowProcessController;->isInterestingToUser()Z
+HPLcom/android/server/wm/WindowProcessController;->isPreviousProcess()Z
+HPLcom/android/server/wm/WindowProcessController;->isRemoved()Z
+PLcom/android/server/wm/WindowProcessController;->isUsingWrapper()Z
+PLcom/android/server/wm/WindowProcessController;->lambda$setAnimating$3(Z)V
+PLcom/android/server/wm/WindowProcessController;->onConfigurationChangePreScheduled(Landroid/content/res/Configuration;)V
+HPLcom/android/server/wm/WindowProcessController;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/WindowProcessController;->onMergedOverrideConfigurationChanged(Landroid/content/res/Configuration;)V
+HPLcom/android/server/wm/WindowProcessController;->onServiceStarted(Landroid/content/pm/ServiceInfo;)V
+PLcom/android/server/wm/WindowProcessController;->onStartActivity(ILandroid/content/pm/ActivityInfo;)V
+PLcom/android/server/wm/WindowProcessController;->onTopProcChanged()V
+PLcom/android/server/wm/WindowProcessController;->pauseConfigurationDispatch()V
+PLcom/android/server/wm/WindowProcessController;->postPendingUiCleanMsg(Z)V
+PLcom/android/server/wm/WindowProcessController;->prepareConfigurationForLaunchingActivity()Landroid/content/res/Configuration;
+PLcom/android/server/wm/WindowProcessController;->prepareOomAdjustment()V
+PLcom/android/server/wm/WindowProcessController;->registerActivityConfigurationListener(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/WindowProcessController;->registerDisplayAreaConfigurationListener(Lcom/android/server/wm/DisplayArea;)V
+HPLcom/android/server/wm/WindowProcessController;->registeredForDisplayAreaConfigChanges()Z
+PLcom/android/server/wm/WindowProcessController;->removeAnimatingReason(I)V
+HPLcom/android/server/wm/WindowProcessController;->removeBackgroundStartPrivileges(Landroid/os/Binder;)V
+HPLcom/android/server/wm/WindowProcessController;->resolveOverrideConfiguration(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/WindowProcessController;->resumeConfigurationDispatch()Z
+PLcom/android/server/wm/WindowProcessController;->scheduleClientTransactionItem(Landroid/app/IApplicationThread;Landroid/app/servertransaction/ClientTransactionItem;)V
+PLcom/android/server/wm/WindowProcessController;->scheduleClientTransactionItem(Landroid/app/servertransaction/ClientTransactionItem;)V
+PLcom/android/server/wm/WindowProcessController;->setAnimating(Z)V
+PLcom/android/server/wm/WindowProcessController;->setCrashing(Z)V
+HPLcom/android/server/wm/WindowProcessController;->setCurrentAdj(I)V
+HPLcom/android/server/wm/WindowProcessController;->setCurrentProcState(I)V
+HPLcom/android/server/wm/WindowProcessController;->setCurrentSchedulingGroup(I)V
+HPLcom/android/server/wm/WindowProcessController;->setDebugging(Z)V
+HPLcom/android/server/wm/WindowProcessController;->setFgInteractionTime(J)V
+HPLcom/android/server/wm/WindowProcessController;->setHasClientActivities(Z)V
+PLcom/android/server/wm/WindowProcessController;->setHasForegroundServices(Z)V
+PLcom/android/server/wm/WindowProcessController;->setHasOverlayUi(Z)V
+PLcom/android/server/wm/WindowProcessController;->setInstrumenting(ZIZ)V
+HPLcom/android/server/wm/WindowProcessController;->setInteractionEventTime(J)V
+PLcom/android/server/wm/WindowProcessController;->setLastActivityLaunchTime(Lcom/android/server/wm/ActivityRecord;)V
+HPLcom/android/server/wm/WindowProcessController;->setLastReportedConfiguration(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/WindowProcessController;->setNotResponding(Z)V
+HPLcom/android/server/wm/WindowProcessController;->setPendingUiClean(Z)V
+HPLcom/android/server/wm/WindowProcessController;->setPerceptible(Z)V
+PLcom/android/server/wm/WindowProcessController;->setPersistent(Z)V
+HPLcom/android/server/wm/WindowProcessController;->setPid(I)V
+HPLcom/android/server/wm/WindowProcessController;->setReportedProcState(I)V
+HPLcom/android/server/wm/WindowProcessController;->setRequiredAbi(Ljava/lang/String;)V
+PLcom/android/server/wm/WindowProcessController;->setRunningRemoteAnimation(Z)V
+HPLcom/android/server/wm/WindowProcessController;->setThread(Landroid/app/IApplicationThread;)V
+HPLcom/android/server/wm/WindowProcessController;->setUsingWrapper(Z)V
+HPLcom/android/server/wm/WindowProcessController;->setWhenUnimportant(J)V
+PLcom/android/server/wm/WindowProcessController;->shouldSetProfileProc()Z
+PLcom/android/server/wm/WindowProcessController;->unregisterActivityConfigurationListener()V
+HPLcom/android/server/wm/WindowProcessController;->unregisterConfigurationListeners()V
+PLcom/android/server/wm/WindowProcessController;->unregisterDisplayAreaConfigurationListener()V
+HPLcom/android/server/wm/WindowProcessController;->updateActivityConfigurationListener()V
+PLcom/android/server/wm/WindowProcessController;->updateProcessInfo(ZZZZ)V
+PLcom/android/server/wm/WindowProcessController;->updateRapidActivityLaunch(Lcom/android/server/wm/ActivityRecord;JJ)V
+PLcom/android/server/wm/WindowProcessController;->updateServiceConnectionActivities()V
+HPLcom/android/server/wm/WindowProcessController;->updateTopResumingActivityInProcessIfNeeded(Lcom/android/server/wm/ActivityRecord;)Z
+HSPLcom/android/server/wm/WindowProcessControllerMap;-><init>()V
+PLcom/android/server/wm/WindowProcessControllerMap;->getPidMap()Landroid/util/SparseArray;
+HPLcom/android/server/wm/WindowProcessControllerMap;->getProcess(I)Lcom/android/server/wm/WindowProcessController;
+HPLcom/android/server/wm/WindowProcessControllerMap;->put(ILcom/android/server/wm/WindowProcessController;)V
+HPLcom/android/server/wm/WindowProcessControllerMap;->remove(I)V
+HPLcom/android/server/wm/WindowProcessControllerMap;->removeProcessFromUidMap(Lcom/android/server/wm/WindowProcessController;)V
+PLcom/android/server/wm/WindowState$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/WindowState$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/WindowState$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;)V
+HPLcom/android/server/wm/WindowState$$ExternalSyntheticLambda2;-><init>(Landroid/view/InsetsState;Landroid/util/ArraySet;Landroid/util/SparseArray;)V
+HPLcom/android/server/wm/WindowState$$ExternalSyntheticLambda2;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/WindowState$$ExternalSyntheticLambda3;-><init>()V
+PLcom/android/server/wm/WindowState$$ExternalSyntheticLambda3;->apply(Ljava/lang/Object;)Z
+PLcom/android/server/wm/WindowState$1;-><init>()V
+PLcom/android/server/wm/WindowState$UpdateReportedVisibilityResults;-><init>()V
+HPLcom/android/server/wm/WindowState$UpdateReportedVisibilityResults;->reset()V
+PLcom/android/server/wm/WindowState$WindowId;-><init>(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/WindowState$WindowId;-><init>(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState$WindowId-IA;)V
+PLcom/android/server/wm/WindowState;->$r8$lambda$ZpBAxyV_EYA5etsArmi-qkwlhf0(Landroid/view/InsetsState;Landroid/util/ArraySet;Landroid/util/SparseArray;Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/WindowState;->$r8$lambda$fef2KYzxiyPlqMk0JTPv9yWQXp0(Lcom/android/server/wm/WindowState;Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/WindowState;->$r8$lambda$qWwwoLu0LTUue2Ex5efd6I7CVfs(Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/WindowState;-><clinit>()V
+HPLcom/android/server/wm/WindowState;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/Session;Landroid/view/IWindow;Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/WindowState;ILandroid/view/WindowManager$LayoutParams;IIIZ)V
+HPLcom/android/server/wm/WindowState;->adjustRegionInFreefromWindowMode(Landroid/graphics/Rect;)V
+PLcom/android/server/wm/WindowState;->adjustStartingWindowFlags()V
+HPLcom/android/server/wm/WindowState;->applyDims()V
+HPLcom/android/server/wm/WindowState;->applyImeWindowsIfNeeded(Lcom/android/internal/util/ToBooleanFunction;Z)Z
+HPLcom/android/server/wm/WindowState;->applyInOrderWithImeWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
+HPLcom/android/server/wm/WindowState;->areAppWindowBoundsLetterboxed()Z
+PLcom/android/server/wm/WindowState;->asWindowState()Lcom/android/server/wm/WindowState;
+HPLcom/android/server/wm/WindowState;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V
+HPLcom/android/server/wm/WindowState;->assignLayer(Landroid/view/SurfaceControl$Transaction;I)V
+HPLcom/android/server/wm/WindowState;->canAddInternalSystemWindow()Z
+HPLcom/android/server/wm/WindowState;->canAffectSystemUiFlags()Z
+HPLcom/android/server/wm/WindowState;->canBeHiddenByKeyguard()Z
+HPLcom/android/server/wm/WindowState;->canBeImeTarget()Z
+HPLcom/android/server/wm/WindowState;->canReceiveKeys()Z
+HPLcom/android/server/wm/WindowState;->canReceiveKeys(Z)Z
+HPLcom/android/server/wm/WindowState;->canReceiveTouchInput()Z
+PLcom/android/server/wm/WindowState;->canScreenshotIme()Z
+PLcom/android/server/wm/WindowState;->canShowWhenLocked()Z
+PLcom/android/server/wm/WindowState;->cancelAndRedraw()Z
+PLcom/android/server/wm/WindowState;->checkPolicyVisibilityChange()V
+PLcom/android/server/wm/WindowState;->cleanupAnimatingExitWindow()V
+PLcom/android/server/wm/WindowState;->clearFrozenInsetsState()V
+PLcom/android/server/wm/WindowState;->clearPolicyVisibilityFlag(I)V
+PLcom/android/server/wm/WindowState;->commitFinishDrawing(Landroid/view/SurfaceControl$Transaction;)Z
+HPLcom/android/server/wm/WindowState;->computeDragResizing()Z
+PLcom/android/server/wm/WindowState;->consumeInsetsChange()V
+HPLcom/android/server/wm/WindowState;->cropRegionToRootTaskBoundsIfNeeded(Landroid/graphics/Region;)V
+PLcom/android/server/wm/WindowState;->destroySurface(ZZ)Z
+PLcom/android/server/wm/WindowState;->destroySurfaceUnchecked()V
+PLcom/android/server/wm/WindowState;->disposeInputChannel()V
+PLcom/android/server/wm/WindowState;->executeDrawHandlers(Landroid/view/SurfaceControl$Transaction;I)Z
+HPLcom/android/server/wm/WindowState;->fillClientWindowFramesAndConfiguration(Landroid/window/ClientWindowFrames;Landroid/util/MergedConfiguration;ZZ)V
+HPLcom/android/server/wm/WindowState;->fillsDisplay()Z
+PLcom/android/server/wm/WindowState;->fillsParent()Z
+HPLcom/android/server/wm/WindowState;->finishDrawing(Landroid/view/SurfaceControl$Transaction;I)Z
+PLcom/android/server/wm/WindowState;->finishSync(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;Z)V
+HPLcom/android/server/wm/WindowState;->forAllWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
+PLcom/android/server/wm/WindowState;->freezeInsetsState()V
+PLcom/android/server/wm/WindowState;->getActivityRecord()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/WindowState;->getAnimationLeashParent()Landroid/view/SurfaceControl;
+HPLcom/android/server/wm/WindowState;->getAttrs()Landroid/view/WindowManager$LayoutParams;
+HPLcom/android/server/wm/WindowState;->getBaseType()I
+HPLcom/android/server/wm/WindowState;->getBounds()Landroid/graphics/Rect;
+PLcom/android/server/wm/WindowState;->getCompatInsetsState()Landroid/view/InsetsState;
+HPLcom/android/server/wm/WindowState;->getCompatScaleForClient()F
+HPLcom/android/server/wm/WindowState;->getConfiguration()Landroid/content/res/Configuration;
+PLcom/android/server/wm/WindowState;->getDisableFlags()I
+HPLcom/android/server/wm/WindowState;->getDisplayFrames(Lcom/android/server/wm/DisplayFrames;)Lcom/android/server/wm/DisplayFrames;
+PLcom/android/server/wm/WindowState;->getDisplayId()I
+HPLcom/android/server/wm/WindowState;->getDisplayInfo()Landroid/view/DisplayInfo;
+PLcom/android/server/wm/WindowState;->getDrawnStateEvaluated()Z
+HPLcom/android/server/wm/WindowState;->getEffectiveTouchableRegion(Landroid/graphics/Region;)V
+HPLcom/android/server/wm/WindowState;->getFrame()Landroid/graphics/Rect;
+PLcom/android/server/wm/WindowState;->getImeControlTarget()Lcom/android/server/wm/InsetsControlTarget;
+HPLcom/android/server/wm/WindowState;->getImeInputTarget()Lcom/android/server/wm/WindowState;
+HPLcom/android/server/wm/WindowState;->getInputDispatchingTimeoutMillis()J
+HPLcom/android/server/wm/WindowState;->getInsetsState()Landroid/view/InsetsState;
+HPLcom/android/server/wm/WindowState;->getInsetsState(Z)Landroid/view/InsetsState;
+HPLcom/android/server/wm/WindowState;->getKeepClearAreas(Ljava/util/Collection;Ljava/util/Collection;Landroid/graphics/Matrix;[F)V
+HPLcom/android/server/wm/WindowState;->getKeyInterceptionInfo()Lcom/android/internal/policy/KeyInterceptionInfo;
+PLcom/android/server/wm/WindowState;->getLastReportedConfiguration()Landroid/content/res/Configuration;
+HPLcom/android/server/wm/WindowState;->getMergedInsetsState()Landroid/view/InsetsState;
+HPLcom/android/server/wm/WindowState;->getName()Ljava/lang/String;
+HPLcom/android/server/wm/WindowState;->getOrientationChanging()Z
+HPLcom/android/server/wm/WindowState;->getOwningPackage()Ljava/lang/String;
+HPLcom/android/server/wm/WindowState;->getOwningUid()I
+PLcom/android/server/wm/WindowState;->getParentFrame()Landroid/graphics/Rect;
+HPLcom/android/server/wm/WindowState;->getParentWindow()Lcom/android/server/wm/WindowState;
+HPLcom/android/server/wm/WindowState;->getProcessGlobalConfiguration()Landroid/content/res/Configuration;
+HPLcom/android/server/wm/WindowState;->getRectsInScreenSpace(Ljava/util/List;Landroid/graphics/Matrix;[F)Ljava/util/List;
+PLcom/android/server/wm/WindowState;->getRelativeFrame()Landroid/graphics/Rect;
+HPLcom/android/server/wm/WindowState;->getRequestedVisibleTypes()I
+PLcom/android/server/wm/WindowState;->getRootTask()Lcom/android/server/wm/Task;
+PLcom/android/server/wm/WindowState;->getSession()Landroid/view/SurfaceSession;
+HPLcom/android/server/wm/WindowState;->getSurfaceTouchableRegion(Landroid/graphics/Region;Landroid/view/WindowManager$LayoutParams;)V
+PLcom/android/server/wm/WindowState;->getSyncMethod()I
+PLcom/android/server/wm/WindowState;->getSystemGestureExclusion()Ljava/util/List;
+HPLcom/android/server/wm/WindowState;->getTask()Lcom/android/server/wm/Task;
+HPLcom/android/server/wm/WindowState;->getTaskFragment()Lcom/android/server/wm/TaskFragment;
+HPLcom/android/server/wm/WindowState;->getTopParentWindow()Lcom/android/server/wm/WindowState;
+HPLcom/android/server/wm/WindowState;->getTouchOcclusionMode()I
+HPLcom/android/server/wm/WindowState;->getTouchableRegion(Landroid/graphics/Region;)V
+HPLcom/android/server/wm/WindowState;->getTransformationMatrix([FLandroid/graphics/Matrix;)V
+PLcom/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;
+PLcom/android/server/wm/WindowState;->getWindowFrames()Lcom/android/server/wm/WindowFrames;
+PLcom/android/server/wm/WindowState;->getWindowInfo()Landroid/view/WindowInfo;
+PLcom/android/server/wm/WindowState;->getWindowState()Lcom/android/server/wm/WindowState;
+HPLcom/android/server/wm/WindowState;->getWindowTag()Ljava/lang/CharSequence;
+PLcom/android/server/wm/WindowState;->getWindowToken()Landroid/os/IBinder;
+HPLcom/android/server/wm/WindowState;->getWindowType()I
+HPLcom/android/server/wm/WindowState;->handleCompleteDeferredRemoval()Z
+HPLcom/android/server/wm/WindowState;->handleWindowMovedIfNeeded()V
+PLcom/android/server/wm/WindowState;->hasAppShownWindows()Z
+HPLcom/android/server/wm/WindowState;->hasCompatScale()Z
+HPLcom/android/server/wm/WindowState;->hasMoved()Z
+HPLcom/android/server/wm/WindowState;->hasWallpaper()Z
+PLcom/android/server/wm/WindowState;->hasWallpaperForLetterboxBackground()Z
+PLcom/android/server/wm/WindowState;->hide(ZZ)Z
+PLcom/android/server/wm/WindowState;->hideNonSystemOverlayWindowsWhenVisible()Z
+PLcom/android/server/wm/WindowState;->inRelaunchingActivity()Z
+PLcom/android/server/wm/WindowState;->initAppOpsState()V
+PLcom/android/server/wm/WindowState;->initExclusionRestrictions()V
+HPLcom/android/server/wm/WindowState;->isAnimationRunningSelfOrParent()Z
+HPLcom/android/server/wm/WindowState;->isChildWindow()Z
+HPLcom/android/server/wm/WindowState;->isDimming()Z
+HPLcom/android/server/wm/WindowState;->isDisplayed()Z
+HPLcom/android/server/wm/WindowState;->isDragResizeChanged()Z
+PLcom/android/server/wm/WindowState;->isDrawFinishedLw()Z
+HPLcom/android/server/wm/WindowState;->isDrawn()Z
+HPLcom/android/server/wm/WindowState;->isDreamWindow()Z
+HPLcom/android/server/wm/WindowState;->isFocused()Z
+HPLcom/android/server/wm/WindowState;->isFullyTransparent()Z
+HPLcom/android/server/wm/WindowState;->isGoneForLayout()Z
+HPLcom/android/server/wm/WindowState;->isImeLayeringTarget()Z
+PLcom/android/server/wm/WindowState;->isImeOverlayLayeringTarget()Z
+HPLcom/android/server/wm/WindowState;->isImplicitlyExcludingAllSystemGestures()Z
+PLcom/android/server/wm/WindowState;->isInputMethodClientFocus(II)Z
+PLcom/android/server/wm/WindowState;->isInteresting()Z
+PLcom/android/server/wm/WindowState;->isLaidOut()Z
+PLcom/android/server/wm/WindowState;->isLastConfigReportedToClient()Z
+PLcom/android/server/wm/WindowState;->isLegacyPolicyVisibility()Z
+HPLcom/android/server/wm/WindowState;->isLetterboxedForDisplayCutout()Z
+HPLcom/android/server/wm/WindowState;->isObscuringDisplay()Z
+HPLcom/android/server/wm/WindowState;->isOnScreen()Z
+HPLcom/android/server/wm/WindowState;->isOpaqueDrawn()Z
+HPLcom/android/server/wm/WindowState;->isParentWindowGoneForLayout()Z
+HPLcom/android/server/wm/WindowState;->isParentWindowHidden()Z
+HPLcom/android/server/wm/WindowState;->isReadyForDisplay()Z
+HPLcom/android/server/wm/WindowState;->isRequestedVisible(I)Z
+PLcom/android/server/wm/WindowState;->isRtl()Z
+PLcom/android/server/wm/WindowState;->isSecureLocked()Z
+HPLcom/android/server/wm/WindowState;->isSelfAnimating(II)Z
+PLcom/android/server/wm/WindowState;->isSelfOrAncestorWindowAnimatingExit()Z
+HPLcom/android/server/wm/WindowState;->isStartingWindowAssociatedToTask()Z
+PLcom/android/server/wm/WindowState;->isSyncFinished(Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;)Z
+PLcom/android/server/wm/WindowState;->isTrustedOverlay()Z
+HPLcom/android/server/wm/WindowState;->isVisible()Z
+HPLcom/android/server/wm/WindowState;->isVisibleByPolicy()Z
+HPLcom/android/server/wm/WindowState;->isVisibleByPolicyOrInsets()Z
+PLcom/android/server/wm/WindowState;->isVisibleNow()Z
+HPLcom/android/server/wm/WindowState;->isVisibleRequested()Z
+HPLcom/android/server/wm/WindowState;->isVisibleRequestedOrAdding()Z
+HPLcom/android/server/wm/WindowState;->isWindowTrustedOverlay()Z
+PLcom/android/server/wm/WindowState;->lambda$new$1(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/WindowState;->lambda$removeIfPossible$2(Lcom/android/server/wm/WindowState;)Z
+HPLcom/android/server/wm/WindowState;->lambda$updateAboveInsetsState$3(Landroid/view/InsetsState;Landroid/util/ArraySet;Landroid/util/SparseArray;Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/WindowState;->logExclusionRestrictions(I)V
+PLcom/android/server/wm/WindowState;->logPerformShow(Ljava/lang/String;)V
+PLcom/android/server/wm/WindowState;->markRedrawForSyncReported()V
+PLcom/android/server/wm/WindowState;->matchesDisplayAreaBounds()Z
+HPLcom/android/server/wm/WindowState;->mightAffectAllDrawn()Z
+HPLcom/android/server/wm/WindowState;->needsRelativeLayeringToIme()Z
+HPLcom/android/server/wm/WindowState;->needsZBoost()Z
+PLcom/android/server/wm/WindowState;->notifyInsetsControlChanged(I)V
+PLcom/android/server/wm/WindowState;->onAnimationFinished(ILcom/android/server/wm/AnimationAdapter;)V
+PLcom/android/server/wm/WindowState;->onAnimationLeashCreated(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;)V
+PLcom/android/server/wm/WindowState;->onAppVisibilityChanged(ZZ)V
+HPLcom/android/server/wm/WindowState;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/WindowState;->onExitAnimationDone()V
+PLcom/android/server/wm/WindowState;->onParentChanged(Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ConfigurationContainer;)V
+PLcom/android/server/wm/WindowState;->onResizeHandled()V
+HPLcom/android/server/wm/WindowState;->onSurfaceShownChanged(Z)V
+HPLcom/android/server/wm/WindowState;->openInputChannel(Landroid/view/InputChannel;)V
+HPLcom/android/server/wm/WindowState;->performShowLocked()Z
+HPLcom/android/server/wm/WindowState;->prepareSurfaces()V
+PLcom/android/server/wm/WindowState;->prepareSync()Z
+PLcom/android/server/wm/WindowState;->prepareWindowToDisplayDuringRelayout(Z)V
+PLcom/android/server/wm/WindowState;->providesDisplayDecorInsets()Z
+HPLcom/android/server/wm/WindowState;->registeredForDisplayAreaConfigChanges()Z
+HPLcom/android/server/wm/WindowState;->relayoutVisibleWindow(I)I
+HPLcom/android/server/wm/WindowState;->removeIfPossible()V
+PLcom/android/server/wm/WindowState;->removeImmediately()V
+PLcom/android/server/wm/WindowState;->reportFocusChangedSerialized(Z)V
+PLcom/android/server/wm/WindowState;->requestDrawIfNeeded(Ljava/util/List;)V
+PLcom/android/server/wm/WindowState;->requestRedrawForSync()V
+PLcom/android/server/wm/WindowState;->requestUpdateWallpaperIfNeeded()V
+PLcom/android/server/wm/WindowState;->resetAppOpsState()V
+HPLcom/android/server/wm/WindowState;->resetContentChanged()V
+PLcom/android/server/wm/WindowState;->sendAppVisibilityToClients()V
+HPLcom/android/server/wm/WindowState;->setDisplayLayoutNeeded()V
+PLcom/android/server/wm/WindowState;->setDrawnStateEvaluated(Z)V
+PLcom/android/server/wm/WindowState;->setForceHideNonSystemOverlayWindowIfNeeded(Z)V
+HPLcom/android/server/wm/WindowState;->setFrames(Landroid/window/ClientWindowFrames;II)V
+PLcom/android/server/wm/WindowState;->setHasSurface(Z)V
+PLcom/android/server/wm/WindowState;->setHiddenWhileSuspended(Z)V
+HPLcom/android/server/wm/WindowState;->setInitialSurfaceControlProperties(Landroid/view/SurfaceControl$Builder;)V
+PLcom/android/server/wm/WindowState;->setLastExclusionHeights(III)V
+PLcom/android/server/wm/WindowState;->setOnBackInvokedCallbackInfo(Landroid/window/OnBackInvokedCallbackInfo;)V
+PLcom/android/server/wm/WindowState;->setPolicyVisibilityFlag(I)V
+HPLcom/android/server/wm/WindowState;->setReportResizeHints()Z
+PLcom/android/server/wm/WindowState;->setRequestedSize(II)V
+PLcom/android/server/wm/WindowState;->setRequestedVisibleTypes(I)V
+PLcom/android/server/wm/WindowState;->setViewVisibility(I)V
+PLcom/android/server/wm/WindowState;->setWallpaperOffset(IIF)Z
+HPLcom/android/server/wm/WindowState;->setWindowScale(II)V
+PLcom/android/server/wm/WindowState;->setupWindowForRemoveOnExit()V
+HPLcom/android/server/wm/WindowState;->shouldCheckTokenVisibleRequested()Z
+PLcom/android/server/wm/WindowState;->shouldControlIme()Z
+HPLcom/android/server/wm/WindowState;->shouldDrawBlurBehind()Z
+PLcom/android/server/wm/WindowState;->shouldMagnify()Z
+PLcom/android/server/wm/WindowState;->shouldSendRedrawForSync()Z
+PLcom/android/server/wm/WindowState;->shouldSyncWithBuffers()Z
+HPLcom/android/server/wm/WindowState;->show(ZZ)Z
+HPLcom/android/server/wm/WindowState;->showForAllUsers()Z
+HPLcom/android/server/wm/WindowState;->showToCurrentUser()Z
+PLcom/android/server/wm/WindowState;->showWallpaper()Z
+HPLcom/android/server/wm/WindowState;->skipLayout()Z
+PLcom/android/server/wm/WindowState;->startAnimation(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/AnimationAdapter;)V
+PLcom/android/server/wm/WindowState;->startAnimation(Landroid/view/animation/Animation;)V
+HPLcom/android/server/wm/WindowState;->subtractTouchExcludeRegionIfNeeded(Landroid/graphics/Region;)V
+PLcom/android/server/wm/WindowState;->surfaceInsetsChanging()Z
+HPLcom/android/server/wm/WindowState;->syncNextBuffer()Z
+HPLcom/android/server/wm/WindowState;->toString()Ljava/lang/String;
+HPLcom/android/server/wm/WindowState;->transformFrameToSurfacePosition(IILandroid/graphics/Point;)V
+HPLcom/android/server/wm/WindowState;->transformSurfaceInsetsPosition(Landroid/graphics/Point;Landroid/graphics/Rect;)V
+HPLcom/android/server/wm/WindowState;->updateAboveInsetsState(Landroid/view/InsetsState;Landroid/util/SparseArray;Landroid/util/ArraySet;)V
+HPLcom/android/server/wm/WindowState;->updateFrameRateSelectionPriorityIfNeeded()V
+PLcom/android/server/wm/WindowState;->updateGlobalScale()V
+HPLcom/android/server/wm/WindowState;->updateLastFrames()V
+HPLcom/android/server/wm/WindowState;->updateRegionForModalActivityWindow(Landroid/graphics/Region;)V
+HPLcom/android/server/wm/WindowState;->updateReportedVisibility(Lcom/android/server/wm/WindowState$UpdateReportedVisibilityResults;)V
+HPLcom/android/server/wm/WindowState;->updateResizingWindowIfNeeded()V
+HPLcom/android/server/wm/WindowState;->updateScaleIfNeeded()V
+HPLcom/android/server/wm/WindowState;->updateSourceFrame(Landroid/graphics/Rect;)V
+HPLcom/android/server/wm/WindowState;->updateSurfacePosition(Landroid/view/SurfaceControl$Transaction;)V
+HPLcom/android/server/wm/WindowState;->wouldBeVisibleIfPolicyIgnored()Z
+HPLcom/android/server/wm/WindowState;->wouldBeVisibleRequestedIfPolicyIgnored()Z
+HPLcom/android/server/wm/WindowStateAnimator;-><init>(Lcom/android/server/wm/WindowState;)V
+HPLcom/android/server/wm/WindowStateAnimator;->applyAnimationLocked(IZ)Z
+PLcom/android/server/wm/WindowStateAnimator;->applyEnterAnimationLocked()V
+HPLcom/android/server/wm/WindowStateAnimator;->commitFinishDrawingLocked()Z
+HPLcom/android/server/wm/WindowStateAnimator;->computeShownFrameLocked()V
+HPLcom/android/server/wm/WindowStateAnimator;->createSurfaceLocked()Lcom/android/server/wm/WindowSurfaceController;
+PLcom/android/server/wm/WindowStateAnimator;->destroySurface(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/WindowStateAnimator;->destroySurfaceLocked(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/WindowStateAnimator;->finishDrawingLocked(Landroid/view/SurfaceControl$Transaction;)Z
+HPLcom/android/server/wm/WindowStateAnimator;->getShown()Z
+HPLcom/android/server/wm/WindowStateAnimator;->hasSurface()Z
+HPLcom/android/server/wm/WindowStateAnimator;->hide(Landroid/view/SurfaceControl$Transaction;Ljava/lang/String;)V
+PLcom/android/server/wm/WindowStateAnimator;->onAnimationFinished()V
+HPLcom/android/server/wm/WindowStateAnimator;->prepareSurfaceLocked(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/WindowStateAnimator;->resetDrawState()V
+PLcom/android/server/wm/WindowStateAnimator;->setColorSpaceAgnosticLocked(Z)V
+HPLcom/android/server/wm/WindowSurfaceController;-><init>(Ljava/lang/String;IILcom/android/server/wm/WindowStateAnimator;I)V
+PLcom/android/server/wm/WindowSurfaceController;->destroy(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/WindowSurfaceController;->getShown()Z
+PLcom/android/server/wm/WindowSurfaceController;->getSurfaceControl(Landroid/view/SurfaceControl;)V
+HPLcom/android/server/wm/WindowSurfaceController;->hasSurface()Z
+PLcom/android/server/wm/WindowSurfaceController;->hide(Landroid/view/SurfaceControl$Transaction;Ljava/lang/String;)V
+PLcom/android/server/wm/WindowSurfaceController;->hideSurface(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/WindowSurfaceController;->prepareToShowInTransaction(Landroid/view/SurfaceControl$Transaction;F)Z
+PLcom/android/server/wm/WindowSurfaceController;->setColorSpaceAgnostic(Landroid/view/SurfaceControl$Transaction;Z)V
+HPLcom/android/server/wm/WindowSurfaceController;->setShown(Z)V
+PLcom/android/server/wm/WindowSurfaceController;->showRobustly(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/WindowSurfacePlacer$Traverser;-><init>(Lcom/android/server/wm/WindowSurfacePlacer;)V
+PLcom/android/server/wm/WindowSurfacePlacer$Traverser;-><init>(Lcom/android/server/wm/WindowSurfacePlacer;Lcom/android/server/wm/WindowSurfacePlacer$Traverser-IA;)V
+HPLcom/android/server/wm/WindowSurfacePlacer$Traverser;->run()V
+PLcom/android/server/wm/WindowSurfacePlacer;->-$$Nest$fgetmService(Lcom/android/server/wm/WindowSurfacePlacer;)Lcom/android/server/wm/WindowManagerService;
+PLcom/android/server/wm/WindowSurfacePlacer;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowSurfacePlacer;->continueLayout(Z)V
+PLcom/android/server/wm/WindowSurfacePlacer;->deferLayout()V
+PLcom/android/server/wm/WindowSurfacePlacer;->isInLayout()Z
+HPLcom/android/server/wm/WindowSurfacePlacer;->isLayoutDeferred()Z
+PLcom/android/server/wm/WindowSurfacePlacer;->isTraversalScheduled()Z
+PLcom/android/server/wm/WindowSurfacePlacer;->performSurfacePlacement()V
+HPLcom/android/server/wm/WindowSurfacePlacer;->performSurfacePlacement(Z)V
+HPLcom/android/server/wm/WindowSurfacePlacer;->performSurfacePlacementLoop()V
+HPLcom/android/server/wm/WindowSurfacePlacer;->requestTraversal()V
+PLcom/android/server/wm/WindowToken$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/WindowToken;)V
+PLcom/android/server/wm/WindowToken$$ExternalSyntheticLambda0;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+PLcom/android/server/wm/WindowToken$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/wm/WindowToken;Z)V
+PLcom/android/server/wm/WindowToken$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/WindowToken$Builder;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/os/IBinder;I)V
+HPLcom/android/server/wm/WindowToken$Builder;->build()Lcom/android/server/wm/WindowToken;
+PLcom/android/server/wm/WindowToken$Builder;->setDisplayContent(Lcom/android/server/wm/DisplayContent;)Lcom/android/server/wm/WindowToken$Builder;
+PLcom/android/server/wm/WindowToken$Builder;->setFromClientToken(Z)Lcom/android/server/wm/WindowToken$Builder;
+PLcom/android/server/wm/WindowToken$Builder;->setOptions(Landroid/os/Bundle;)Lcom/android/server/wm/WindowToken$Builder;
+PLcom/android/server/wm/WindowToken$Builder;->setOwnerCanManageAppTokens(Z)Lcom/android/server/wm/WindowToken$Builder;
+PLcom/android/server/wm/WindowToken$Builder;->setPersistOnEmpty(Z)Lcom/android/server/wm/WindowToken$Builder;
+PLcom/android/server/wm/WindowToken$Builder;->setRoundedCornerOverlay(Z)Lcom/android/server/wm/WindowToken$Builder;
+PLcom/android/server/wm/WindowToken;->$r8$lambda$-pSQy6fdr3VlGcmvSVCsObZoXyQ(Lcom/android/server/wm/WindowToken;ZLcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/WindowToken;->$r8$lambda$nGO-xASDAxBQTRuMNfGImeCJxk0(Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)I
+PLcom/android/server/wm/WindowToken;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/os/IBinder;IZLcom/android/server/wm/DisplayContent;Z)V
+HPLcom/android/server/wm/WindowToken;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/os/IBinder;IZLcom/android/server/wm/DisplayContent;ZZZLandroid/os/Bundle;)V
+HPLcom/android/server/wm/WindowToken;->addWindow(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/WindowToken;->asWindowToken()Lcom/android/server/wm/WindowToken;
+PLcom/android/server/wm/WindowToken;->assignLayer(Landroid/view/SurfaceControl$Transaction;I)V
+PLcom/android/server/wm/WindowToken;->createSurfaceControl(Z)V
+PLcom/android/server/wm/WindowToken;->finishFixedRotationTransform()V
+PLcom/android/server/wm/WindowToken;->finishFixedRotationTransform(Ljava/lang/Runnable;)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;
+HPLcom/android/server/wm/WindowToken;->getFixedRotationTransformInsetsState()Landroid/view/InsetsState;
+PLcom/android/server/wm/WindowToken;->getName()Ljava/lang/String;
+PLcom/android/server/wm/WindowToken;->getWindowLayerFromType()I
+PLcom/android/server/wm/WindowToken;->getWindowType()I
+PLcom/android/server/wm/WindowToken;->hasFixedRotationTransform()Z
+PLcom/android/server/wm/WindowToken;->hasSizeCompatBounds()Z
+HPLcom/android/server/wm/WindowToken;->isClientVisible()Z
+PLcom/android/server/wm/WindowToken;->isEmpty()Z
+PLcom/android/server/wm/WindowToken;->isFinishingFixedRotationTransform()Z
+HPLcom/android/server/wm/WindowToken;->isFixedRotationTransforming()Z
+PLcom/android/server/wm/WindowToken;->lambda$new$0(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)I
+PLcom/android/server/wm/WindowToken;->lambda$setInsetsFrozen$1(ZLcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/WindowToken;->makeSurface()Landroid/view/SurfaceControl$Builder;
+PLcom/android/server/wm/WindowToken;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/WindowToken;->prepareSync()Z
+PLcom/android/server/wm/WindowToken;->removeImmediately()V
+PLcom/android/server/wm/WindowToken;->resolveOverrideConfiguration(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/WindowToken;->setClientVisible(Z)V
+PLcom/android/server/wm/WindowToken;->setExiting(Z)V
+PLcom/android/server/wm/WindowToken;->setInsetsFrozen(Z)V
+HPLcom/android/server/wm/WindowToken;->toString()Ljava/lang/String;
+HPLcom/android/server/wm/WindowToken;->updateSurfacePosition(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/WindowToken;->windowsCanBeWallpaperTarget()Z
+PLcom/android/server/wm/WindowTracing$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/WindowTracing;)V
+PLcom/android/server/wm/WindowTracing;-><init>(Ljava/io/File;Lcom/android/server/wm/WindowManagerService;Landroid/view/Choreographer;I)V
+PLcom/android/server/wm/WindowTracing;-><init>(Ljava/io/File;Lcom/android/server/wm/WindowManagerService;Landroid/view/Choreographer;Lcom/android/server/wm/WindowManagerGlobalLock;I)V
+PLcom/android/server/wm/WindowTracing;->createDefaultAndStartLooper(Lcom/android/server/wm/WindowManagerService;Landroid/view/Choreographer;)Lcom/android/server/wm/WindowTracing;
+HPLcom/android/server/wm/WindowTracing;->isEnabled()Z
+PLcom/android/server/wm/WindowTracing;->logAndPrintln(Ljava/io/PrintWriter;Ljava/lang/String;)V
+HPLcom/android/server/wm/WindowTracing;->logState(Ljava/lang/String;)V
+PLcom/android/server/wm/WindowTracing;->setBufferCapacity(ILjava/io/PrintWriter;)V
+PLcom/android/server/wm/WindowTracing;->setLogLevel(ILjava/io/PrintWriter;)V
+HSPLcom/android/server/wm/utils/DisplayInfoOverrides$$ExternalSyntheticLambda0;-><init>()V
+PLcom/android/server/wm/utils/DisplayInfoOverrides$$ExternalSyntheticLambda0;->setFields(Landroid/view/DisplayInfo;Landroid/view/DisplayInfo;)V
+PLcom/android/server/wm/utils/DisplayInfoOverrides;->$r8$lambda$jgt4-o-_IMdp6knRL61iyTsmoLA(Landroid/view/DisplayInfo;Landroid/view/DisplayInfo;)V
+HSPLcom/android/server/wm/utils/DisplayInfoOverrides;-><clinit>()V
+HSPLcom/android/server/wm/utils/DisplayInfoOverrides;->copyDisplayInfoFields(Landroid/view/DisplayInfo;Landroid/view/DisplayInfo;Landroid/view/DisplayInfo;Lcom/android/server/wm/utils/DisplayInfoOverrides$DisplayInfoFieldsUpdater;)V
+HPLcom/android/server/wm/utils/DisplayInfoOverrides;->lambda$static$0(Landroid/view/DisplayInfo;Landroid/view/DisplayInfo;)V
+PLcom/android/server/wm/utils/InsetUtils;->rotateInsets(Landroid/graphics/Rect;I)V
+HPLcom/android/server/wm/utils/RegionUtils;->forEachRectReverse(Landroid/graphics/Region;Ljava/util/function/Consumer;)V
+HPLcom/android/server/wm/utils/RegionUtils;->rectListToRegion(Ljava/util/List;Landroid/graphics/Region;)V
+PLcom/android/server/wm/utils/RotationCache;-><init>(Lcom/android/server/wm/utils/RotationCache$RotationDependentComputation;)V
+HPLcom/android/server/wm/utils/RotationCache;->getOrCompute(Ljava/lang/Object;I)Ljava/lang/Object;
+PLcom/android/server/wm/utils/WmDisplayCutout;-><clinit>()V
+PLcom/android/server/wm/utils/WmDisplayCutout;-><init>(Landroid/view/DisplayCutout;Landroid/util/Size;)V
+PLcom/android/server/wm/utils/WmDisplayCutout;->getDisplayCutout()Landroid/view/DisplayCutout;
+PLcom/android/systemui/shared/FeatureFlagsImpl;-><clinit>()V
+PLcom/android/systemui/shared/FeatureFlagsImpl;-><init>()V
+PLcom/android/systemui/shared/FeatureFlagsImpl;->enableHomeDelay()Z
+PLcom/android/systemui/shared/FeatureFlagsImpl;->load_overrides_systemui()V
+PLcom/android/systemui/shared/Flags;-><clinit>()V
+PLcom/android/systemui/shared/Flags;->enableHomeDelay()Z
+HSPLcom/android/wm/shell/FeatureFlagsImpl;-><clinit>()V
+HSPLcom/android/wm/shell/FeatureFlagsImpl;-><init>()V
+HSPLcom/android/wm/shell/FeatureFlagsImpl;->enableDesktopWindowing()Z
+PLcom/android/wm/shell/FeatureFlagsImpl;->enablePip2Implementation()Z
+HSPLcom/android/wm/shell/Flags;-><clinit>()V
+HSPLcom/android/wm/shell/Flags;->enableDesktopWindowing()Z
+PLcom/android/wm/shell/Flags;->enablePip2Implementation()Z
diff --git a/services/autofill/java/com/android/server/autofill/Session.java b/services/autofill/java/com/android/server/autofill/Session.java
index b89e0d8..96c65565 100644
--- a/services/autofill/java/com/android/server/autofill/Session.java
+++ b/services/autofill/java/com/android/server/autofill/Session.java
@@ -127,6 +127,7 @@
import android.os.Handler;
import android.os.IBinder;
import android.os.IBinder.DeathRecipient;
+import android.os.OutcomeReceiver;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.Process;
@@ -2828,9 +2829,18 @@
replaceResponseLocked(authenticatedResponse, (FillResponse) result, newClientState);
} else if (result instanceof GetCredentialResponse) {
Slog.d(TAG, "Received GetCredentialResponse from authentication flow");
- Dataset dataset = getDatasetFromCredentialResponse((GetCredentialResponse) result);
- if (dataset != null) {
- autoFill(requestId, datasetIdx, dataset, false, UI_TYPE_UNKNOWN);
+ boolean isCredmanCallbackInvoked = false;
+ if (Flags.autofillCredmanIntegration()) {
+ GetCredentialResponse response = (GetCredentialResponse) result;
+ isCredmanCallbackInvoked = invokeCredentialManagerCallback(response);
+ }
+
+ if (!isCredmanCallbackInvoked) {
+ Dataset dataset = getDatasetFromCredentialResponse(
+ (GetCredentialResponse) result);
+ if (dataset != null) {
+ autoFill(requestId, datasetIdx, dataset, false, UI_TYPE_UNKNOWN);
+ }
}
} else if (result instanceof Dataset) {
if (datasetIdx != AutofillManager.AUTHENTICATION_ID_DATASET_ID_UNDEFINED) {
@@ -2868,6 +2878,49 @@
}
}
+ private boolean invokeCredentialManagerCallback(GetCredentialResponse response) {
+ synchronized (mLock) {
+ return invokeCredentialManagerCallbackLocked(response);
+ }
+ }
+
+ @GuardedBy("mLock")
+ private boolean invokeCredentialManagerCallbackLocked(GetCredentialResponse response) {
+ AutofillId autofillId = response.getAutofillId();
+ if (autofillId != null) {
+ OutcomeReceiver<GetCredentialResponse,
+ GetCredentialException> callback =
+ getCredmanCallbackFromContextsLocked(autofillId);
+ if (callback != null) {
+ Slog.w(TAG, "Propagating response to Credential Manager callback");
+ callback.onResult(response);
+ return true;
+ } else {
+ Slog.w(TAG, "Received Credential Manager response but no callback found");
+ }
+ } else {
+ Slog.w(TAG, "Received Credential Manager response but no autofillId found");
+ }
+ return false;
+ }
+
+ @GuardedBy("mLock")
+ @Nullable
+ private OutcomeReceiver<GetCredentialResponse,
+ GetCredentialException> getCredmanCallbackFromContextsLocked(
+ @NonNull AutofillId autofillId) {
+ final int numContexts = mContexts.size();
+ for (int i = numContexts - 1; i >= 0; i--) {
+ final FillContext context = mContexts.get(i);
+ final ViewNode node = Helper.findViewNodeByAutofillId(context.getStructure(),
+ autofillId);
+ if (node != null) {
+ return node.getCredentialManagerCallback();
+ }
+ }
+ return null;
+ }
+
private Dataset getDatasetFromCredentialResponse(GetCredentialResponse result) {
if (result == null) {
return null;
@@ -5036,16 +5089,23 @@
protected void onReceiveResult(int resultCode, Bundle resultData) {
if (resultCode == SUCCESS_CREDMAN_SELECTOR) {
Slog.d(TAG, "onReceiveResult from Credential Manager bottom sheet");
+ boolean isCredmanCallbackInvoked = false;
GetCredentialResponse getCredentialResponse =
resultData.getParcelable(
CredentialProviderService.EXTRA_GET_CREDENTIAL_RESPONSE,
GetCredentialResponse.class);
- Dataset datasetFromCredential = getDatasetFromCredentialResponse(
- getCredentialResponse);
- if (datasetFromCredential != null) {
- autoFill(requestId, /*datasetIndex=*/-1,
- datasetFromCredential, false,
- UI_TYPE_CREDMAN_BOTTOM_SHEET);
+
+ isCredmanCallbackInvoked =
+ invokeCredentialManagerCallback(getCredentialResponse);
+
+ if (!isCredmanCallbackInvoked) {
+ Dataset datasetFromCredential = getDatasetFromCredentialResponse(
+ getCredentialResponse);
+ if (datasetFromCredential != null) {
+ autoFill(requestId, /*datasetIndex=*/-1,
+ datasetFromCredential, false,
+ UI_TYPE_CREDMAN_BOTTOM_SHEET);
+ }
}
} else if (resultCode == FAILURE_CREDMAN_SELECTOR) {
GetCredentialException exception = resultData.getParcelable(
diff --git a/services/companion/TEST_MAPPING b/services/companion/TEST_MAPPING
index ae6d591..02a3b8f 100644
--- a/services/companion/TEST_MAPPING
+++ b/services/companion/TEST_MAPPING
@@ -8,9 +8,7 @@
},
{
"name": "CtsCompanionDeviceManagerNoCompanionServicesTestCases"
- }
- ],
- "postsubmit": [
+ },
{
"name": "CtsCompanionDeviceManagerMultiProcessTestCases"
}
diff --git a/services/companion/java/com/android/server/companion/virtual/TEST_MAPPING b/services/companion/java/com/android/server/companion/virtual/TEST_MAPPING
index 5a548fd..82ab098 100644
--- a/services/companion/java/com/android/server/companion/virtual/TEST_MAPPING
+++ b/services/companion/java/com/android/server/companion/virtual/TEST_MAPPING
@@ -33,6 +33,14 @@
]
},
{
+ "name": "CtsVirtualDevicesCameraTestCases",
+ "options": [
+ {
+ "exclude-annotation": "androidx.test.filters.FlakyTest"
+ }
+ ]
+ },
+ {
"name": "CtsHardwareTestCases",
"options": [
{
@@ -54,11 +62,33 @@
"exclude-annotation": "android.support.test.filters.FlakyTest"
}
]
+ }
+ ],
+ "postsubmit": [
+ {
+ "name": "CtsMediaAudioTestCases",
+ "options": [
+ {
+ "include-filter": "android.media.audio.cts.AudioFocusWithVdmTest"
+ },
+ {
+ "exclude-annotation": "androidx.test.filters.FlakyTest"
+ }
+ ]
},
{
- "name": "CtsVirtualDevicesCameraTestCases",
+ "name": "CtsPermissionTestCases",
"options": [
{
+ "include-filter": "android.permissionmultidevice.cts.DeviceAwarePermissionGrantTest"
+ },
+ {
+ "include-filter": "android.permission.cts.DevicePermissionsTest"
+ },
+ {
+ "include-filter": "android.permission.cts.PermissionUpdateListenerTest"
+ },
+ {
"exclude-annotation": "androidx.test.filters.FlakyTest"
}
]
diff --git a/services/core/java/com/android/server/SensitiveContentProtectionManagerService.java b/services/core/java/com/android/server/SensitiveContentProtectionManagerService.java
index 44d0132..6ce471e 100644
--- a/services/core/java/com/android/server/SensitiveContentProtectionManagerService.java
+++ b/services/core/java/com/android/server/SensitiveContentProtectionManagerService.java
@@ -19,6 +19,7 @@
import static android.provider.Settings.Global.DISABLE_SCREEN_SHARE_PROTECTIONS_FOR_APPS_AND_NOTIFICATIONS;
import static com.android.internal.util.Preconditions.checkNotNull;
+import static com.android.server.notification.Flags.sensitiveNotificationAppProtection;
import android.annotation.NonNull;
import android.annotation.Nullable;
@@ -50,8 +51,12 @@
public final class SensitiveContentProtectionManagerService extends SystemService {
private static final String TAG = "SensitiveContentProtect";
private static final boolean DEBUG = false;
+ private static final boolean sNotificationProtectionEnabled =
+ sensitiveNotificationAppProtection();
- @VisibleForTesting NotificationListener mNotificationListener;
+ @VisibleForTesting
+ @Nullable
+ NotificationListener mNotificationListener;
private @Nullable MediaProjectionManager mProjectionManager;
private @Nullable WindowManagerInternal mWindowManager;
@@ -88,7 +93,9 @@
public SensitiveContentProtectionManagerService(@NonNull Context context) {
super(context);
- mNotificationListener = new NotificationListener();
+ if (sNotificationProtectionEnabled) {
+ mNotificationListener = new NotificationListener();
+ }
}
@Override
@@ -120,13 +127,15 @@
// handler, delegate, and binder death recipient
mProjectionManager.addCallback(mProjectionCallback, getContext().getMainThreadHandler());
- try {
- mNotificationListener.registerAsSystemService(
- getContext(),
- new ComponentName(getContext(), NotificationListener.class),
- UserHandle.USER_ALL);
- } catch (RemoteException e) {
- // Intra-process call, should never happen.
+ if (sNotificationProtectionEnabled) {
+ try {
+ mNotificationListener.registerAsSystemService(
+ getContext(),
+ new ComponentName(getContext(), NotificationListener.class),
+ UserHandle.USER_ALL);
+ } catch (RemoteException e) {
+ // Intra-process call, should never happen.
+ }
}
}
@@ -136,11 +145,12 @@
if (mProjectionManager != null) {
mProjectionManager.removeCallback(mProjectionCallback);
}
-
- try {
- mNotificationListener.unregisterAsSystemService();
- } catch (RemoteException e) {
- // Intra-process call, should never happen.
+ if (sNotificationProtectionEnabled) {
+ try {
+ mNotificationListener.unregisterAsSystemService();
+ } catch (RemoteException e) {
+ // Intra-process call, should never happen.
+ }
}
if (mWindowManager != null) {
@@ -160,7 +170,9 @@
synchronized (mSensitiveContentProtectionLock) {
mProjectionActive = true;
- updateAppsThatShouldBlockScreenCapture();
+ if (sNotificationProtectionEnabled) {
+ updateAppsThatShouldBlockScreenCapture();
+ }
}
}
diff --git a/services/core/java/com/android/server/UiModeManagerService.java b/services/core/java/com/android/server/UiModeManagerService.java
index 82d9377..05010f88 100644
--- a/services/core/java/com/android/server/UiModeManagerService.java
+++ b/services/core/java/com/android/server/UiModeManagerService.java
@@ -1986,9 +1986,11 @@
// the status bar should be totally disabled, the calls below will
// have no effect until the device is unlocked.
if (mStatusBarManager != null) {
- mStatusBarManager.disable(mCarModeEnabled
- ? StatusBarManager.DISABLE_NOTIFICATION_TICKER
- : StatusBarManager.DISABLE_NONE);
+ StatusBarManager.DisableInfo info = new StatusBarManager.DisableInfo();
+ if (mCarModeEnabled) {
+ info.setNotificationTickerDisabled(true);
+ }
+ mStatusBarManager.requestDisabledComponent(info, "adjustStatusBarCarModeLocked");
}
if (mNotificationManager == null) {
diff --git a/services/core/java/com/android/server/am/CachedAppOptimizer.java b/services/core/java/com/android/server/am/CachedAppOptimizer.java
index d92a24b..150f406 100644
--- a/services/core/java/com/android/server/am/CachedAppOptimizer.java
+++ b/services/core/java/com/android/server/am/CachedAppOptimizer.java
@@ -2256,10 +2256,9 @@
}
}
- // Check binder errors to frozen processes with a local freezer lock
- synchronized (mFreezerLock) {
- binderErrorLocked(pids);
- }
+ // Check binder errors to frozen processes
+ // Freezer lock is not required as we don't perform (un)freeze operations here
+ binderErrorInternal(pids);
} break;
default:
return;
@@ -2618,7 +2617,7 @@
mFreezeHandler.sendEmptyMessage(BINDER_ERROR_MSG);
}
- private void binderErrorLocked(IntArray pids) {
+ private void binderErrorInternal(IntArray pids) {
// PIDs that run out of async binder buffer when being frozen
ArraySet<Integer> pidsAsync = (mFreezerBinderAsyncThreshold < 0) ? null : new ArraySet<>();
diff --git a/services/core/java/com/android/server/appop/LegacyAppOpStateParser.java b/services/core/java/com/android/server/appop/LegacyAppOpStateParser.java
index a6d5050..9ed3a99 100644
--- a/services/core/java/com/android/server/appop/LegacyAppOpStateParser.java
+++ b/services/core/java/com/android/server/appop/LegacyAppOpStateParser.java
@@ -49,15 +49,7 @@
*/
public int readState(AtomicFile file, SparseArray<SparseIntArray> uidModes,
SparseArray<ArrayMap<String, SparseIntArray>> userPackageModes) {
- FileInputStream stream;
- try {
- stream = file.openRead();
- } catch (FileNotFoundException e) {
- Slog.i(TAG, "No existing app ops " + file.getBaseFile() + "; starting empty");
- return NO_FILE_VERSION;
- }
-
- try {
+ try (FileInputStream stream = file.openRead()) {
TypedXmlPullParser parser = Xml.resolvePullParser(stream);
int type;
while ((type = parser.next()) != XmlPullParser.START_TAG
@@ -95,6 +87,9 @@
}
}
return versionAtBoot;
+ } catch (FileNotFoundException e) {
+ Slog.i(TAG, "No existing app ops " + file.getBaseFile() + "; starting empty");
+ return NO_FILE_VERSION;
} catch (XmlPullParserException e) {
throw new RuntimeException(e);
} catch (IOException e) {
diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java
index 53255a0..c59f4f7 100644
--- a/services/core/java/com/android/server/audio/AudioService.java
+++ b/services/core/java/com/android/server/audio/AudioService.java
@@ -32,6 +32,7 @@
import static android.media.AudioManager.STREAM_SYSTEM;
import static android.media.audio.Flags.autoPublicVolumeApiHardening;
import static android.media.audio.Flags.automaticBtDeviceType;
+import static android.media.audio.Flags.featureSpatialAudioHeadtrackingLowLatency;
import static android.media.audio.Flags.focusFreezeTestApi;
import static android.media.audiopolicy.Flags.enableFadeManagerConfiguration;
import static android.os.Process.FIRST_APPLICATION_UID;
@@ -4519,6 +4520,10 @@
pw.println("\nFun with Flags: ");
pw.println("\tandroid.media.audio.autoPublicVolumeApiHardening:"
+ autoPublicVolumeApiHardening());
+ pw.println("\tandroid.media.audio.Flags.automaticBtDeviceType:"
+ + automaticBtDeviceType());
+ pw.println("\tandroid.media.audio.featureSpatialAudioHeadtrackingLowLatency:"
+ + featureSpatialAudioHeadtrackingLowLatency());
pw.println("\tandroid.media.audio.focusFreezeTestApi:"
+ focusFreezeTestApi());
pw.println("\tcom.android.media.audio.disablePrescaleAbsoluteVolume:"
diff --git a/services/core/java/com/android/server/audio/SpatializerHelper.java b/services/core/java/com/android/server/audio/SpatializerHelper.java
index 8d76731..3b5fa7f 100644
--- a/services/core/java/com/android/server/audio/SpatializerHelper.java
+++ b/services/core/java/com/android/server/audio/SpatializerHelper.java
@@ -26,6 +26,7 @@
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.content.Context;
+import android.content.pm.PackageManager;
import android.hardware.Sensor;
import android.hardware.SensorManager;
import android.media.AudioAttributes;
@@ -1611,6 +1612,9 @@
pw.println("\tsupports binaural:" + mBinauralSupported + " / transaural:"
+ mTransauralSupported);
pw.println("\tmSpatOutput:" + mSpatOutput);
+ pw.println("\thas FEATURE_AUDIO_SPATIAL_HEADTRACKING_LOW_LATENCY:"
+ + mAudioService.mContext.getPackageManager().hasSystemFeature(
+ PackageManager.FEATURE_AUDIO_SPATIAL_HEADTRACKING_LOW_LATENCY));
}
private static String spatStateString(int state) {
diff --git a/services/core/java/com/android/server/biometrics/OWNERS b/services/core/java/com/android/server/biometrics/OWNERS
index 1bf2aef..4703efb 100644
--- a/services/core/java/com/android/server/biometrics/OWNERS
+++ b/services/core/java/com/android/server/biometrics/OWNERS
@@ -2,7 +2,6 @@
graciecheng@google.com
ilyamaty@google.com
-jaggies@google.com
jbolinger@google.com
jeffpu@google.com
joshmccloskey@google.com
diff --git a/services/core/java/com/android/server/display/DisplayManagerService.java b/services/core/java/com/android/server/display/DisplayManagerService.java
index 7ebc311..ad89444 100644
--- a/services/core/java/com/android/server/display/DisplayManagerService.java
+++ b/services/core/java/com/android/server/display/DisplayManagerService.java
@@ -534,6 +534,7 @@
private final DisplayManagerFlags mFlags;
private final DisplayNotificationManager mDisplayNotificationManager;
+ private final ExternalDisplayStatsService mExternalDisplayStatsService;
/**
* Applications use {@link android.view.Display#getRefreshRate} and
@@ -568,7 +569,6 @@
mInjector = injector;
mContext = context;
mFlags = injector.getFlags();
- mDisplayNotificationManager = new DisplayNotificationManager(mFlags, mContext);
mHandler = new DisplayManagerHandler(DisplayThread.get().getLooper());
mUiHandler = UiThread.getHandler();
mDisplayDeviceRepo = new DisplayDeviceRepository(mSyncRoot, mPersistentDataStore);
@@ -597,6 +597,10 @@
mConfigParameterProvider = new DeviceConfigParameterProvider(DeviceConfigInterface.REAL);
mExtraDisplayLoggingPackageName = DisplayProperties.debug_vri_package().orElse(null);
mExtraDisplayEventLogging = !TextUtils.isEmpty(mExtraDisplayLoggingPackageName);
+
+ mExternalDisplayStatsService = new ExternalDisplayStatsService(mContext, mHandler);
+ mDisplayNotificationManager = new DisplayNotificationManager(mFlags, mContext,
+ mExternalDisplayStatsService);
mExternalDisplayPolicy = new ExternalDisplayPolicy(new ExternalDisplayPolicyInjector());
}
@@ -1911,6 +1915,7 @@
return;
}
releaseDisplayAndEmitEvent(display, DisplayManagerGlobal.EVENT_DISPLAY_DISCONNECTED);
+ mExternalDisplayPolicy.handleLogicalDisplayDisconnectedLocked(display);
}
@RequiresPermission(Manifest.permission.READ_DEVICE_CONFIG)
@@ -1977,7 +1982,7 @@
setupLogicalDisplay(display);
- if (ExternalDisplayPolicy.isExternalDisplay(display)) {
+ if (ExternalDisplayPolicy.isExternalDisplayLocked(display)) {
mExternalDisplayPolicy.handleExternalDisplayConnectedLocked(display);
} else {
sendDisplayEventLocked(display, DisplayManagerGlobal.EVENT_DISPLAY_CONNECTED);
@@ -2002,6 +2007,8 @@
sendDisplayEventIfEnabledLocked(display, DisplayManagerGlobal.EVENT_DISPLAY_ADDED);
updateLogicalDisplayState(display);
+
+ mExternalDisplayPolicy.handleLogicalDisplayAddedLocked(display);
}
private void handleLogicalDisplayChangedLocked(@NonNull LogicalDisplay display) {
@@ -3280,7 +3287,7 @@
final var logicalDisplay = mLogicalDisplayMapper.getDisplayLocked(displayId);
if (logicalDisplay == null) {
Slog.w(TAG, "enableConnectedDisplay: Can not find displayId=" + displayId);
- } else if (ExternalDisplayPolicy.isExternalDisplay(logicalDisplay)) {
+ } else if (ExternalDisplayPolicy.isExternalDisplayLocked(logicalDisplay)) {
mExternalDisplayPolicy.setExternalDisplayEnabledLocked(logicalDisplay, enabled);
} else {
mLogicalDisplayMapper.setDisplayEnabledLocked(logicalDisplay, enabled);
@@ -4966,6 +4973,11 @@
return session;
}
}
+
+ @Override
+ public void onPresentation(int displayId, boolean isShown) {
+ mExternalDisplayPolicy.onPresentation(displayId, isShown);
+ }
}
class DesiredDisplayModeSpecsObserver
@@ -5123,5 +5135,14 @@
public Handler getHandler() {
return mHandler;
}
+
+ /**
+ * Gets service used for metrics collection.
+ */
+ @Override
+ @NonNull
+ public ExternalDisplayStatsService getExternalDisplayStatsService() {
+ return mExternalDisplayStatsService;
+ }
}
}
diff --git a/services/core/java/com/android/server/display/ExternalDisplayPolicy.java b/services/core/java/com/android/server/display/ExternalDisplayPolicy.java
index dbe1e14..ab7c503 100644
--- a/services/core/java/com/android/server/display/ExternalDisplayPolicy.java
+++ b/services/core/java/com/android/server/display/ExternalDisplayPolicy.java
@@ -57,7 +57,7 @@
@VisibleForTesting
static final String ENABLE_ON_CONNECT = "persist.sys.display.enable_on_connect.external";
- static boolean isExternalDisplay(@NonNull final LogicalDisplay logicalDisplay) {
+ static boolean isExternalDisplayLocked(@NonNull final LogicalDisplay logicalDisplay) {
return logicalDisplay.getDisplayInfoLocked().type == TYPE_EXTERNAL;
}
@@ -85,6 +85,9 @@
@NonNull
Handler getHandler();
+
+ @NonNull
+ ExternalDisplayStatsService getExternalDisplayStatsService();
}
@NonNull
@@ -99,6 +102,8 @@
private final DisplayNotificationManager mDisplayNotificationManager;
@NonNull
private final Handler mHandler;
+ @NonNull
+ private final ExternalDisplayStatsService mExternalDisplayStatsService;
@ThrottlingStatus
private volatile int mStatus = THROTTLING_NONE;
@@ -109,6 +114,7 @@
mFlags = mInjector.getFlags();
mDisplayNotificationManager = mInjector.getDisplayNotificationManager();
mHandler = mInjector.getHandler();
+ mExternalDisplayStatsService = mInjector.getExternalDisplayStatsService();
}
/**
@@ -141,7 +147,7 @@
*/
void setExternalDisplayEnabledLocked(@NonNull final LogicalDisplay logicalDisplay,
final boolean enabled) {
- if (!isExternalDisplay(logicalDisplay)) {
+ if (!isExternalDisplayLocked(logicalDisplay)) {
Slog.e(TAG, "setExternalDisplayEnabledLocked called for non external display");
return;
}
@@ -170,7 +176,7 @@
* user to decide how to use this display.
*/
void handleExternalDisplayConnectedLocked(@NonNull final LogicalDisplay logicalDisplay) {
- if (!isExternalDisplay(logicalDisplay)) {
+ if (!isExternalDisplayLocked(logicalDisplay)) {
Slog.e(TAG, "handleExternalDisplayConnectedLocked called for non-external display");
return;
}
@@ -183,6 +189,8 @@
return;
}
+ mExternalDisplayStatsService.onDisplayConnected(logicalDisplay);
+
if ((Build.IS_ENG || Build.IS_USERDEBUG)
&& SystemProperties.getBoolean(ENABLE_ON_CONNECT, false)) {
Slog.w(TAG, "External display is enabled by default, bypassing user consent.");
@@ -209,9 +217,59 @@
}
}
+ /**
+ * Upon external display become unavailable.
+ */
+ void handleLogicalDisplayDisconnectedLocked(@NonNull final LogicalDisplay logicalDisplay) {
+ // Type of the display here is always UNKNOWN, so we can't verify it is an external display
+
+ if (!mFlags.isConnectedDisplayManagementEnabled()) {
+ return;
+ }
+
+ mExternalDisplayStatsService.onDisplayDisconnected(logicalDisplay.getDisplayIdLocked());
+ }
+
+ /**
+ * Upon external display gets added.
+ */
+ void handleLogicalDisplayAddedLocked(@NonNull final LogicalDisplay logicalDisplay) {
+ if (!isExternalDisplayLocked(logicalDisplay)) {
+ return;
+ }
+
+ if (!mFlags.isConnectedDisplayManagementEnabled()) {
+ return;
+ }
+
+ mExternalDisplayStatsService.onDisplayAdded(logicalDisplay.getDisplayIdLocked());
+ }
+
+ /**
+ * Upon presentation started.
+ */
+ void onPresentation(int displayId, boolean isShown) {
+ synchronized (mSyncRoot) {
+ var logicalDisplay = mLogicalDisplayMapper.getDisplayLocked(displayId);
+ if (logicalDisplay == null || !isExternalDisplayLocked(logicalDisplay)) {
+ return;
+ }
+ }
+
+ if (!mFlags.isConnectedDisplayManagementEnabled()) {
+ return;
+ }
+
+ if (isShown) {
+ mExternalDisplayStatsService.onPresentationWindowAdded(displayId);
+ } else {
+ mExternalDisplayStatsService.onPresentationWindowRemoved(displayId);
+ }
+ }
+
@GuardedBy("mSyncRoot")
private void disableExternalDisplayLocked(@NonNull final LogicalDisplay logicalDisplay) {
- if (!isExternalDisplay(logicalDisplay)) {
+ if (!isExternalDisplayLocked(logicalDisplay)) {
return;
}
@@ -245,6 +303,8 @@
mLogicalDisplayMapper.setDisplayEnabledLocked(logicalDisplay, /*enabled=*/ false);
+ mExternalDisplayStatsService.onDisplayDisabled(logicalDisplay.getDisplayIdLocked());
+
if (DEBUG) {
Slog.d(TAG, "disableExternalDisplayLocked complete"
+ " displayId=" + logicalDisplay.getDisplayIdLocked());
diff --git a/services/core/java/com/android/server/display/ExternalDisplayStatsService.java b/services/core/java/com/android/server/display/ExternalDisplayStatsService.java
new file mode 100644
index 0000000..f6f23d9
--- /dev/null
+++ b/services/core/java/com/android/server/display/ExternalDisplayStatsService.java
@@ -0,0 +1,662 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS 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.display;
+
+import static android.media.AudioDeviceInfo.TYPE_HDMI;
+import static android.media.AudioDeviceInfo.TYPE_HDMI_ARC;
+import static android.media.AudioDeviceInfo.TYPE_USB_DEVICE;
+import static android.provider.Settings.Global.DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS;
+
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.media.AudioManager;
+import android.media.AudioManager.AudioPlaybackCallback;
+import android.media.AudioPlaybackConfiguration;
+import android.os.Handler;
+import android.os.PowerManager;
+import android.provider.Settings;
+import android.util.Slog;
+import android.util.SparseIntArray;
+import android.view.Display;
+import android.view.DisplayInfo;
+
+import com.android.internal.annotations.GuardedBy;
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.util.FrameworkStatsLog;
+import com.android.server.display.utils.DebugUtils;
+
+import java.util.List;
+
+
+/**
+ * Manages metrics logging for external display.
+ */
+public final class ExternalDisplayStatsService {
+ private static final String TAG = "ExternalDisplayStatsService";
+ // To enable these logs, run:
+ // 'adb shell setprop persist.log.tag.ExternalDisplayStatsService DEBUG && adb reboot'
+ private static final boolean DEBUG = DebugUtils.isDebuggable(TAG);
+
+ private static final int INVALID_DISPLAYS_COUNT = -1;
+ private static final int DISCONNECTED_STATE =
+ FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED__STATE__DISCONNECTED;
+ private static final int CONNECTED_STATE =
+ FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED__STATE__CONNECTED;
+ private static final int MIRRORING_STATE =
+ FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED__STATE__MIRRORING;
+ private static final int EXTENDED_STATE =
+ FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED__STATE__EXTENDED;
+ private static final int PRESENTATION_WHILE_MIRRORING =
+ FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED__STATE__PRESENTATION_WHILE_MIRRORING;
+ private static final int PRESENTATION_WHILE_EXTENDED =
+ FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED__STATE__PRESENTATION_WHILE_EXTENDED;
+ private static final int PRESENTATION_ENDED =
+ FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED__STATE__PRESENTATION_ENDED;
+ private static final int KEYGUARD =
+ FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED__STATE__KEYGUARD;
+ private static final int DISABLED_STATE =
+ FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED__STATE__DISABLED;
+ private static final int AUDIO_SINK_CHANGED =
+ FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED__STATE__AUDIO_SINK_CHANGED;
+ private static final int ERROR_HOTPLUG_CONNECTION =
+ FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED__STATE__ERROR_HOTPLUG_CONNECTION;
+ private static final int ERROR_DISPLAYPORT_LINK_FAILED =
+ FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED__STATE__ERROR_DISPLAYPORT_LINK_FAILED;
+ private static final int ERROR_CABLE_NOT_CAPABLE_DISPLAYPORT =
+ FrameworkStatsLog
+ .EXTERNAL_DISPLAY_STATE_CHANGED__STATE__ERROR_CABLE_NOT_CAPABLE_DISPLAYPORT;
+
+ private final Injector mInjector;
+
+ @GuardedBy("mExternalDisplayStates")
+ private final SparseIntArray mExternalDisplayStates = new SparseIntArray();
+
+ /**
+ * Count of interactive external displays or INVALID_DISPLAYS_COUNT, modified only from Handler
+ */
+ private int mInteractiveExternalDisplays;
+
+ /**
+ * Guards init deinit, modified only from Handler
+ */
+ private boolean mIsInitialized;
+
+ /**
+ * Whether audio plays on external display, modified only from Handler
+ */
+ private boolean mIsExternalDisplayUsedForAudio;
+
+ private final AudioPlaybackCallback mAudioPlaybackCallback = new AudioPlaybackCallback() {
+ private final Runnable mLogStateAfterAudioSinkEnabled =
+ () -> logStateAfterAudioSinkChanged(true);
+ private final Runnable mLogStateAfterAudioSinkDisabled =
+ () -> logStateAfterAudioSinkChanged(false);
+
+ @Override
+ public void onPlaybackConfigChanged(List<AudioPlaybackConfiguration> configs) {
+ super.onPlaybackConfigChanged(configs);
+ scheduleAudioSinkChange(isExternalDisplayUsedForAudio(configs));
+ }
+
+ private boolean isExternalDisplayUsedForAudio(List<AudioPlaybackConfiguration> configs) {
+ for (var config : configs) {
+ var info = config.getAudioDeviceInfo();
+ if (config.isActive() && info != null
+ && info.isSink()
+ && (info.getType() == TYPE_HDMI
+ || info.getType() == TYPE_HDMI_ARC
+ || info.getType() == TYPE_USB_DEVICE)) {
+ if (DEBUG) {
+ Slog.d(TAG, "isExternalDisplayUsedForAudio:"
+ + " use " + info.getProductName()
+ + " isActive=" + config.isActive()
+ + " isSink=" + info.isSink()
+ + " type=" + info.getType());
+ }
+ return true;
+ }
+ if (DEBUG) {
+ // info is null if the device is not available at the time of query.
+ if (info != null) {
+ Slog.d(TAG, "isExternalDisplayUsedForAudio:"
+ + " drop " + info.getProductName()
+ + " isActive=" + config.isActive()
+ + " isSink=" + info.isSink()
+ + " type=" + info.getType());
+ }
+ }
+ }
+ return false;
+ }
+
+ private void scheduleAudioSinkChange(final boolean isAudioOnExternalDisplay) {
+ if (DEBUG) {
+ Slog.d(TAG, "scheduleAudioSinkChange:"
+ + " mIsExternalDisplayUsedForAudio="
+ + mIsExternalDisplayUsedForAudio
+ + " isAudioOnExternalDisplay="
+ + isAudioOnExternalDisplay);
+ }
+ mInjector.getHandler().removeCallbacks(mLogStateAfterAudioSinkEnabled);
+ mInjector.getHandler().removeCallbacks(mLogStateAfterAudioSinkDisabled);
+ final var callback = isAudioOnExternalDisplay ? mLogStateAfterAudioSinkEnabled
+ : mLogStateAfterAudioSinkDisabled;
+ if (isAudioOnExternalDisplay) {
+ mInjector.getHandler().postDelayed(callback, /*delayMillis=*/ 10000L);
+ } else {
+ mInjector.getHandler().post(callback);
+ }
+ }
+ };
+
+ private final BroadcastReceiver mInteractivityReceiver = new BroadcastReceiver() {
+ /**
+ * Verifies that there is a change to the mInteractiveExternalDisplays and logs the change.
+ * Executed within a handler - no need to keep lock on mInteractiveExternalDisplays update.
+ */
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ int interactiveDisplaysCount = 0;
+ synchronized (mExternalDisplayStates) {
+ if (mExternalDisplayStates.size() == 0) {
+ return;
+ }
+ for (var i = 0; i < mExternalDisplayStates.size(); i++) {
+ if (mInjector.isInteractive(mExternalDisplayStates.keyAt(i))) {
+ interactiveDisplaysCount++;
+ }
+ }
+ }
+
+ // For the first time, mInteractiveExternalDisplays is INVALID_DISPLAYS_COUNT(-1)
+ // which is always not equal to interactiveDisplaysCount.
+ if (mInteractiveExternalDisplays == interactiveDisplaysCount) {
+ return;
+ } else if (0 == interactiveDisplaysCount) {
+ logExternalDisplayIdleStarted();
+ } else if (INVALID_DISPLAYS_COUNT != mInteractiveExternalDisplays) {
+ // Log Only if mInteractiveExternalDisplays was previously initialised.
+ // Otherwise no need to log that idle has ended, as we assume it never started.
+ // This is because, currently for enabling external display, the display must be
+ // non-idle for the user to press the Mirror/Dismiss dialog button.
+ logExternalDisplayIdleEnded();
+ }
+ mInteractiveExternalDisplays = interactiveDisplaysCount;
+ }
+ };
+
+ ExternalDisplayStatsService(Context context, Handler handler) {
+ this(new Injector(context, handler));
+ }
+
+ @VisibleForTesting
+ ExternalDisplayStatsService(Injector injector) {
+ mInjector = injector;
+ }
+
+ /**
+ * Write log on hotplug connection error
+ */
+ public void onHotplugConnectionError() {
+ logExternalDisplayError(ERROR_HOTPLUG_CONNECTION);
+ }
+
+ /**
+ * Write log on DisplayPort link training failure
+ */
+ public void onDisplayPortLinkTrainingFailure() {
+ logExternalDisplayError(ERROR_DISPLAYPORT_LINK_FAILED);
+ }
+
+ /**
+ * Write log on USB cable not capable DisplayPort
+ */
+ public void onCableNotCapableDisplayPort() {
+ logExternalDisplayError(ERROR_CABLE_NOT_CAPABLE_DISPLAYPORT);
+ }
+
+ void onDisplayConnected(final LogicalDisplay display) {
+ DisplayInfo displayInfo = display.getDisplayInfoLocked();
+ if (displayInfo == null || displayInfo.type != Display.TYPE_EXTERNAL) {
+ return;
+ }
+ logStateConnected(display.getDisplayIdLocked());
+ }
+
+ void onDisplayAdded(int displayId) {
+ if (mInjector.isExtendedDisplayEnabled()) {
+ logStateExtended(displayId);
+ } else {
+ logStateMirroring(displayId);
+ }
+ }
+
+ void onDisplayDisabled(int displayId) {
+ logStateDisabled(displayId);
+ }
+
+ void onDisplayDisconnected(int displayId) {
+ logStateDisconnected(displayId);
+ }
+
+ /**
+ * Callback triggered upon presentation window gets added.
+ */
+ void onPresentationWindowAdded(int displayId) {
+ logExternalDisplayPresentationStarted(displayId);
+ }
+
+ /**
+ * Callback triggered upon presentation window gets removed.
+ */
+ void onPresentationWindowRemoved(int displayId) {
+ logExternalDisplayPresentationEnded(displayId);
+ }
+
+ @VisibleForTesting
+ boolean isInteractiveExternalDisplays() {
+ return mInteractiveExternalDisplays != 0;
+ }
+
+ @VisibleForTesting
+ boolean isExternalDisplayUsedForAudio() {
+ return mIsExternalDisplayUsedForAudio;
+ }
+
+ private void logExternalDisplayError(int errorType) {
+ final int countOfExternalDisplays;
+ synchronized (mExternalDisplayStates) {
+ countOfExternalDisplays = mExternalDisplayStates.size();
+ }
+
+ mInjector.writeLog(FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED,
+ errorType, countOfExternalDisplays,
+ mIsExternalDisplayUsedForAudio);
+ if (DEBUG) {
+ Slog.d(TAG, "logExternalDisplayError"
+ + " countOfExternalDisplays=" + countOfExternalDisplays
+ + " errorType=" + errorType
+ + " mIsExternalDisplayUsedForAudio="
+ + mIsExternalDisplayUsedForAudio);
+ }
+ }
+
+ private void scheduleInit() {
+ mInjector.getHandler().post(() -> {
+ if (mIsInitialized) {
+ Slog.e(TAG, "scheduleInit is called but already initialized");
+ return;
+ }
+ mIsInitialized = true;
+ var filter = new IntentFilter();
+ filter.addAction(Intent.ACTION_SCREEN_OFF);
+ filter.addAction(Intent.ACTION_SCREEN_ON);
+ mInteractiveExternalDisplays = INVALID_DISPLAYS_COUNT;
+ mIsExternalDisplayUsedForAudio = false;
+ mInjector.registerInteractivityReceiver(mInteractivityReceiver, filter);
+ mInjector.registerAudioPlaybackCallback(mAudioPlaybackCallback);
+ });
+ }
+
+ private void scheduleDeinit() {
+ mInjector.getHandler().post(() -> {
+ if (!mIsInitialized) {
+ Slog.e(TAG, "scheduleDeinit is called but never initialized");
+ return;
+ }
+ mIsInitialized = false;
+ mInjector.unregisterInteractivityReceiver(mInteractivityReceiver);
+ mInjector.unregisterAudioPlaybackCallback(mAudioPlaybackCallback);
+ });
+ }
+
+ private void logStateConnected(final int displayId) {
+ final int countOfExternalDisplays, state;
+ synchronized (mExternalDisplayStates) {
+ state = mExternalDisplayStates.get(displayId, DISCONNECTED_STATE);
+ if (state != DISCONNECTED_STATE) {
+ return;
+ }
+ mExternalDisplayStates.put(displayId, CONNECTED_STATE);
+ countOfExternalDisplays = mExternalDisplayStates.size();
+ }
+
+ if (countOfExternalDisplays == 1) {
+ scheduleInit();
+ }
+
+ mInjector.writeLog(FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED,
+ CONNECTED_STATE, countOfExternalDisplays, mIsExternalDisplayUsedForAudio);
+ if (DEBUG) {
+ Slog.d(TAG, "logStateConnected"
+ + " displayId=" + displayId
+ + " countOfExternalDisplays=" + countOfExternalDisplays
+ + " currentState=" + state
+ + " state=" + CONNECTED_STATE
+ + " mIsExternalDisplayUsedForAudio="
+ + mIsExternalDisplayUsedForAudio);
+ }
+ }
+
+ private void logStateDisconnected(final int displayId) {
+ final int countOfExternalDisplays, state;
+ synchronized (mExternalDisplayStates) {
+ state = mExternalDisplayStates.get(displayId, DISCONNECTED_STATE);
+ if (state == DISCONNECTED_STATE) {
+ if (DEBUG) {
+ Slog.d(TAG, "logStateDisconnected"
+ + " displayId=" + displayId
+ + " already disconnected");
+ }
+ return;
+ }
+ countOfExternalDisplays = mExternalDisplayStates.size();
+ mExternalDisplayStates.delete(displayId);
+ }
+
+ mInjector.writeLog(FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED,
+ DISCONNECTED_STATE, countOfExternalDisplays,
+ mIsExternalDisplayUsedForAudio);
+
+ if (DEBUG) {
+ Slog.d(TAG, "logStateDisconnected"
+ + " displayId=" + displayId
+ + " countOfExternalDisplays=" + countOfExternalDisplays
+ + " currentState=" + state
+ + " state=" + DISCONNECTED_STATE
+ + " mIsExternalDisplayUsedForAudio="
+ + mIsExternalDisplayUsedForAudio);
+ }
+
+ if (countOfExternalDisplays == 1) {
+ scheduleDeinit();
+ }
+ }
+
+ private void logStateMirroring(final int displayId) {
+ synchronized (mExternalDisplayStates) {
+ final int state = mExternalDisplayStates.get(displayId, DISCONNECTED_STATE);
+ if (state == DISCONNECTED_STATE || state == MIRRORING_STATE) {
+ return;
+ }
+ for (var i = 0; i < mExternalDisplayStates.size(); i++) {
+ if (mExternalDisplayStates.keyAt(i) != displayId) {
+ continue;
+ }
+ mExternalDisplayStates.put(displayId, MIRRORING_STATE);
+ mInjector.writeLog(FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED,
+ MIRRORING_STATE, i + 1, mIsExternalDisplayUsedForAudio);
+ if (DEBUG) {
+ Slog.d(TAG, "logStateMirroring"
+ + " displayId=" + displayId
+ + " countOfExternalDisplays=" + (i + 1)
+ + " currentState=" + state
+ + " state=" + MIRRORING_STATE
+ + " mIsExternalDisplayUsedForAudio="
+ + mIsExternalDisplayUsedForAudio);
+ }
+ }
+ }
+ }
+
+ private void logStateExtended(final int displayId) {
+ synchronized (mExternalDisplayStates) {
+ final int state = mExternalDisplayStates.get(displayId, DISCONNECTED_STATE);
+ if (state == DISCONNECTED_STATE || state == EXTENDED_STATE) {
+ return;
+ }
+ for (var i = 0; i < mExternalDisplayStates.size(); i++) {
+ if (mExternalDisplayStates.keyAt(i) != displayId) {
+ continue;
+ }
+ mExternalDisplayStates.put(displayId, EXTENDED_STATE);
+ mInjector.writeLog(FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED,
+ EXTENDED_STATE, i + 1, mIsExternalDisplayUsedForAudio);
+ if (DEBUG) {
+ Slog.d(TAG, "logStateExtended"
+ + " displayId=" + displayId
+ + " countOfExternalDisplays=" + (i + 1)
+ + " currentState=" + state
+ + " state=" + EXTENDED_STATE
+ + " mIsExternalDisplayUsedForAudio="
+ + mIsExternalDisplayUsedForAudio);
+ }
+ }
+ }
+ }
+
+ private void logStateDisabled(final int displayId) {
+ synchronized (mExternalDisplayStates) {
+ final int state = mExternalDisplayStates.get(displayId, DISCONNECTED_STATE);
+ if (state == DISCONNECTED_STATE || state == DISABLED_STATE) {
+ return;
+ }
+ for (var i = 0; i < mExternalDisplayStates.size(); i++) {
+ if (mExternalDisplayStates.keyAt(i) != displayId) {
+ continue;
+ }
+ mExternalDisplayStates.put(displayId, DISABLED_STATE);
+ mInjector.writeLog(FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED,
+ DISABLED_STATE, i + 1, mIsExternalDisplayUsedForAudio);
+ if (DEBUG) {
+ Slog.d(TAG, "logStateDisabled"
+ + " displayId=" + displayId
+ + " countOfExternalDisplays=" + (i + 1)
+ + " currentState=" + state
+ + " state=" + DISABLED_STATE
+ + " mIsExternalDisplayUsedForAudio="
+ + mIsExternalDisplayUsedForAudio);
+ }
+ }
+ }
+ }
+
+ private void logExternalDisplayPresentationStarted(int displayId) {
+ final int countOfExternalDisplays, state;
+ synchronized (mExternalDisplayStates) {
+ state = mExternalDisplayStates.get(displayId, DISCONNECTED_STATE);
+ if (state == DISCONNECTED_STATE) {
+ return;
+ }
+ countOfExternalDisplays = mExternalDisplayStates.size();
+ }
+
+ final var newState = mInjector.isExtendedDisplayEnabled() ? PRESENTATION_WHILE_EXTENDED
+ : PRESENTATION_WHILE_MIRRORING;
+ mInjector.writeLog(FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED,
+ newState, countOfExternalDisplays,
+ mIsExternalDisplayUsedForAudio);
+ if (DEBUG) {
+ Slog.d(TAG, "logExternalDisplayPresentationStarted"
+ + " state=" + state
+ + " newState=" + newState
+ + " mIsExternalDisplayUsedForAudio="
+ + mIsExternalDisplayUsedForAudio);
+ }
+ }
+
+ private void logExternalDisplayPresentationEnded(int displayId) {
+ final int countOfExternalDisplays, state;
+ synchronized (mExternalDisplayStates) {
+ state = mExternalDisplayStates.get(displayId, DISCONNECTED_STATE);
+ if (state == DISCONNECTED_STATE) {
+ return;
+ }
+ countOfExternalDisplays = mExternalDisplayStates.size();
+ }
+
+ mInjector.writeLog(FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED,
+ PRESENTATION_ENDED, countOfExternalDisplays,
+ mIsExternalDisplayUsedForAudio);
+ if (DEBUG) {
+ Slog.d(TAG, "logExternalDisplayPresentationEnded"
+ + " state=" + state
+ + " countOfExternalDisplays=" + countOfExternalDisplays
+ + " mIsExternalDisplayUsedForAudio="
+ + mIsExternalDisplayUsedForAudio);
+ }
+ }
+
+ private void logExternalDisplayIdleStarted() {
+ synchronized (mExternalDisplayStates) {
+ for (var i = 0; i < mExternalDisplayStates.size(); i++) {
+ mInjector.writeLog(FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED,
+ KEYGUARD, i + 1, mIsExternalDisplayUsedForAudio);
+ if (DEBUG) {
+ final int displayId = mExternalDisplayStates.keyAt(i);
+ final int state = mExternalDisplayStates.get(displayId, DISCONNECTED_STATE);
+ Slog.d(TAG, "logExternalDisplayIdleStarted"
+ + " displayId=" + displayId
+ + " currentState=" + state
+ + " countOfExternalDisplays=" + (i + 1)
+ + " state=" + KEYGUARD
+ + " mIsExternalDisplayUsedForAudio="
+ + mIsExternalDisplayUsedForAudio);
+ }
+ }
+ }
+ }
+
+ private void logExternalDisplayIdleEnded() {
+ synchronized (mExternalDisplayStates) {
+ for (var i = 0; i < mExternalDisplayStates.size(); i++) {
+ final int displayId = mExternalDisplayStates.keyAt(i);
+ final int state = mExternalDisplayStates.get(displayId, DISCONNECTED_STATE);
+ if (state == DISCONNECTED_STATE) {
+ return;
+ }
+ mInjector.writeLog(FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED,
+ state, i + 1, mIsExternalDisplayUsedForAudio);
+ if (DEBUG) {
+ Slog.d(TAG, "logExternalDisplayIdleEnded"
+ + " displayId=" + displayId
+ + " state=" + state
+ + " countOfExternalDisplays=" + (i + 1)
+ + " mIsExternalDisplayUsedForAudio="
+ + mIsExternalDisplayUsedForAudio);
+ }
+ }
+ }
+ }
+
+ /**
+ * Executed within Handler
+ */
+ private void logStateAfterAudioSinkChanged(boolean enabled) {
+ if (mIsExternalDisplayUsedForAudio == enabled) {
+ return;
+ }
+ mIsExternalDisplayUsedForAudio = enabled;
+ int countOfExternalDisplays;
+ synchronized (mExternalDisplayStates) {
+ countOfExternalDisplays = mExternalDisplayStates.size();
+ }
+ mInjector.writeLog(FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED,
+ AUDIO_SINK_CHANGED, countOfExternalDisplays,
+ mIsExternalDisplayUsedForAudio);
+ if (DEBUG) {
+ Slog.d(TAG, "logStateAfterAudioSinkChanged"
+ + " countOfExternalDisplays)="
+ + countOfExternalDisplays
+ + " mIsExternalDisplayUsedForAudio="
+ + mIsExternalDisplayUsedForAudio);
+ }
+ }
+
+ /**
+ * Implements necessary functionality for {@link ExternalDisplayStatsService}
+ */
+ static class Injector {
+ @NonNull
+ private final Context mContext;
+ @NonNull
+ private final Handler mHandler;
+ @Nullable
+ private AudioManager mAudioManager;
+ @Nullable
+ private PowerManager mPowerManager;
+
+ Injector(@NonNull Context context, @NonNull Handler handler) {
+ mContext = context;
+ mHandler = handler;
+ }
+
+ boolean isExtendedDisplayEnabled() {
+ try {
+ return 0 != Settings.Global.getInt(
+ mContext.getContentResolver(),
+ DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS, 0);
+ } catch (Throwable e) {
+ // Some services might not be initialised yet to be able to call getInt
+ return false;
+ }
+ }
+
+ void registerInteractivityReceiver(BroadcastReceiver interactivityReceiver,
+ IntentFilter filter) {
+ mContext.registerReceiver(interactivityReceiver, filter, /*broadcastPermission=*/ null,
+ mHandler, Context.RECEIVER_NOT_EXPORTED);
+ }
+
+ void unregisterInteractivityReceiver(BroadcastReceiver interactivityReceiver) {
+ mContext.unregisterReceiver(interactivityReceiver);
+ }
+
+ void registerAudioPlaybackCallback(
+ AudioPlaybackCallback audioPlaybackCallback) {
+ if (mAudioManager == null) {
+ mAudioManager = mContext.getSystemService(AudioManager.class);
+ }
+ if (mAudioManager != null) {
+ mAudioManager.registerAudioPlaybackCallback(audioPlaybackCallback, mHandler);
+ }
+ }
+
+ void unregisterAudioPlaybackCallback(
+ AudioPlaybackCallback audioPlaybackCallback) {
+ if (mAudioManager == null) {
+ mAudioManager = mContext.getSystemService(AudioManager.class);
+ }
+ if (mAudioManager != null) {
+ mAudioManager.unregisterAudioPlaybackCallback(audioPlaybackCallback);
+ }
+ }
+
+ boolean isInteractive(int displayId) {
+ if (mPowerManager == null) {
+ mPowerManager = mContext.getSystemService(PowerManager.class);
+ }
+ // By default it is interactive, unless power manager is initialised and says it is not.
+ return mPowerManager == null || mPowerManager.isInteractive(displayId);
+ }
+
+ @NonNull
+ Handler getHandler() {
+ return mHandler;
+ }
+
+ void writeLog(int externalDisplayStateChanged, int event, int numberOfDisplays,
+ boolean isExternalDisplayUsedForAudio) {
+ FrameworkStatsLog.write(externalDisplayStateChanged, event, numberOfDisplays,
+ isExternalDisplayUsedForAudio);
+ }
+ }
+}
diff --git a/services/core/java/com/android/server/display/notifications/DisplayNotificationManager.java b/services/core/java/com/android/server/display/notifications/DisplayNotificationManager.java
index 405c149..280a7e1 100644
--- a/services/core/java/com/android/server/display/notifications/DisplayNotificationManager.java
+++ b/services/core/java/com/android/server/display/notifications/DisplayNotificationManager.java
@@ -30,6 +30,7 @@
import com.android.internal.R;
import com.android.internal.annotations.VisibleForTesting;
+import com.android.server.display.ExternalDisplayStatsService;
import com.android.server.display.feature.DisplayManagerFlags;
/**
@@ -45,6 +46,10 @@
/** Get {@link ConnectedDisplayUsbErrorsDetector} or null if not available. */
@Nullable
ConnectedDisplayUsbErrorsDetector getUsbErrorsDetector();
+
+ /** Get {@link com.android.server.display.ExternalDisplayStatsService} or null */
+ @Nullable
+ ExternalDisplayStatsService getExternalDisplayStatsService();
}
private static final String TAG = "DisplayNotificationManager";
@@ -59,7 +64,10 @@
private NotificationManager mNotificationManager;
private ConnectedDisplayUsbErrorsDetector mConnectedDisplayUsbErrorsDetector;
- public DisplayNotificationManager(final DisplayManagerFlags flags, final Context context) {
+ private final ExternalDisplayStatsService mExternalDisplayStatsService;
+
+ public DisplayNotificationManager(final DisplayManagerFlags flags, final Context context,
+ final ExternalDisplayStatsService statsService) {
this(flags, context, new Injector() {
@Nullable
@Override
@@ -72,6 +80,12 @@
public ConnectedDisplayUsbErrorsDetector getUsbErrorsDetector() {
return new ConnectedDisplayUsbErrorsDetector(flags, context);
}
+
+ @Nullable
+ @Override
+ public ExternalDisplayStatsService getExternalDisplayStatsService() {
+ return statsService;
+ }
});
}
@@ -81,6 +95,7 @@
mConnectedDisplayErrorHandlingEnabled = flags.isConnectedDisplayErrorHandlingEnabled();
mContext = context;
mInjector = injector;
+ mExternalDisplayStatsService = injector.getExternalDisplayStatsService();
}
/**
@@ -111,6 +126,8 @@
return;
}
+ mExternalDisplayStatsService.onDisplayPortLinkTrainingFailure();
+
sendErrorNotification(createErrorNotification(
R.string.connected_display_unavailable_notification_title,
R.string.connected_display_unavailable_notification_content,
@@ -129,6 +146,8 @@
return;
}
+ mExternalDisplayStatsService.onCableNotCapableDisplayPort();
+
sendErrorNotification(createErrorNotification(
R.string.connected_display_unavailable_notification_title,
R.string.connected_display_unavailable_notification_content,
@@ -145,6 +164,8 @@
return;
}
+ mExternalDisplayStatsService.onHotplugConnectionError();
+
sendErrorNotification(createErrorNotification(
R.string.connected_display_unavailable_notification_title,
R.string.connected_display_unavailable_notification_content,
diff --git a/services/core/java/com/android/server/inputmethod/HandwritingModeController.java b/services/core/java/com/android/server/inputmethod/HandwritingModeController.java
index f96bb8fb..23fe5cc 100644
--- a/services/core/java/com/android/server/inputmethod/HandwritingModeController.java
+++ b/services/core/java/com/android/server/inputmethod/HandwritingModeController.java
@@ -83,16 +83,19 @@
private @Nullable String mDelegatePackageName;
private @Nullable String mDelegatorPackageName;
private boolean mDelegatorFromDefaultHomePackage;
+ private boolean mDelegationConnectionlessFlow;
private Runnable mDelegationIdleTimeoutRunnable;
private Handler mDelegationIdleTimeoutHandler;
private IntConsumer mPointerToolTypeConsumer;
+ private final Runnable mDiscardDelegationTextRunnable;
private HandwritingEventReceiverSurface mHandwritingSurface;
private int mCurrentRequestId;
@AnyThread
HandwritingModeController(Context context, Looper uiThreadLooper,
- Runnable inkWindowInitRunnable, IntConsumer toolTypeConsumer) {
+ Runnable inkWindowInitRunnable, IntConsumer toolTypeConsumer,
+ Runnable discardDelegationTextRunnable) {
mContext = context;
mLooper = uiThreadLooper;
mCurrentDisplayId = Display.INVALID_DISPLAY;
@@ -102,6 +105,7 @@
mCurrentRequestId = 0;
mInkWindowInitRunnable = inkWindowInitRunnable;
mPointerToolTypeConsumer = toolTypeConsumer;
+ mDiscardDelegationTextRunnable = discardDelegationTextRunnable;
}
/**
@@ -163,7 +167,8 @@
* @see InputMethodManager#prepareStylusHandwritingDelegation(View, String)
*/
void prepareStylusHandwritingDelegation(
- int userId, @NonNull String delegatePackageName, @NonNull String delegatorPackageName) {
+ int userId, @NonNull String delegatePackageName, @NonNull String delegatorPackageName,
+ boolean connectionless) {
mDelegatePackageName = delegatePackageName;
mDelegatorPackageName = delegatorPackageName;
mDelegatorFromDefaultHomePackage = false;
@@ -177,10 +182,13 @@
delegatorPackageName.equals(defaultHomeActivity.getPackageName());
}
}
- if (mHandwritingBuffer == null) {
- mHandwritingBuffer = new ArrayList<>(getHandwritingBufferSize());
- } else {
- mHandwritingBuffer.ensureCapacity(getHandwritingBufferSize());
+ mDelegationConnectionlessFlow = connectionless;
+ if (!connectionless) {
+ if (mHandwritingBuffer == null) {
+ mHandwritingBuffer = new ArrayList<>(getHandwritingBufferSize());
+ } else {
+ mHandwritingBuffer.ensureCapacity(getHandwritingBufferSize());
+ }
}
scheduleHandwritingDelegationTimeout();
}
@@ -197,6 +205,10 @@
return mDelegatorFromDefaultHomePackage;
}
+ boolean isDelegationUsingConnectionlessFlow() {
+ return mDelegationConnectionlessFlow;
+ }
+
private void scheduleHandwritingDelegationTimeout() {
if (mDelegationIdleTimeoutHandler == null) {
mDelegationIdleTimeoutHandler = new Handler(mLooper);
@@ -238,6 +250,10 @@
mDelegatorPackageName = null;
mDelegatePackageName = null;
mDelegatorFromDefaultHomePackage = false;
+ if (mDelegationConnectionlessFlow) {
+ mDelegationConnectionlessFlow = false;
+ mDiscardDelegationTextRunnable.run();
+ }
}
/**
@@ -342,7 +358,9 @@
}
}
- clearPendingHandwritingDelegation();
+ if (!mDelegationConnectionlessFlow) {
+ clearPendingHandwritingDelegation();
+ }
mRecordingGesture = false;
}
@@ -390,7 +408,8 @@
// If handwriting delegation is ongoing, don't clear the buffer so that multiple strokes
// can be buffered across windows.
- if (TextUtils.isEmpty(mDelegatePackageName)
+ // (This isn't needed for the connectionless delegation flow.)
+ if ((TextUtils.isEmpty(mDelegatePackageName) || mDelegationConnectionlessFlow)
&& (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_CANCEL)) {
mRecordingGesture = false;
mHandwritingBuffer.clear();
diff --git a/services/core/java/com/android/server/inputmethod/IInputMethodInvoker.java b/services/core/java/com/android/server/inputmethod/IInputMethodInvoker.java
index b12a816..776184f 100644
--- a/services/core/java/com/android/server/inputmethod/IInputMethodInvoker.java
+++ b/services/core/java/com/android/server/inputmethod/IInputMethodInvoker.java
@@ -27,6 +27,7 @@
import android.util.Slog;
import android.view.InputChannel;
import android.view.MotionEvent;
+import android.view.inputmethod.CursorAnchorInfo;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.ImeTracker;
import android.view.inputmethod.InputBinding;
@@ -34,6 +35,7 @@
import android.view.inputmethod.InputMethodSubtype;
import android.window.ImeOnBackInvokedDispatcher;
+import com.android.internal.inputmethod.IConnectionlessHandwritingCallback;
import com.android.internal.inputmethod.IInlineSuggestionsRequestCallback;
import com.android.internal.inputmethod.IInputMethod;
import com.android.internal.inputmethod.IInputMethodPrivilegedOperations;
@@ -242,9 +244,12 @@
}
@AnyThread
- void canStartStylusHandwriting(int requestId) {
+ void canStartStylusHandwriting(int requestId,
+ IConnectionlessHandwritingCallback connectionlessCallback,
+ CursorAnchorInfo cursorAnchorInfo, boolean isConnectionlessForDelegation) {
try {
- mTarget.canStartStylusHandwriting(requestId);
+ mTarget.canStartStylusHandwriting(requestId, connectionlessCallback, cursorAnchorInfo,
+ isConnectionlessForDelegation);
} catch (RemoteException e) {
logRemoteException(e);
}
@@ -262,6 +267,24 @@
}
@AnyThread
+ void commitHandwritingDelegationTextIfAvailable() {
+ try {
+ mTarget.commitHandwritingDelegationTextIfAvailable();
+ } catch (RemoteException e) {
+ logRemoteException(e);
+ }
+ }
+
+ @AnyThread
+ void discardHandwritingDelegationText() {
+ try {
+ mTarget.discardHandwritingDelegationText();
+ } catch (RemoteException e) {
+ logRemoteException(e);
+ }
+ }
+
+ @AnyThread
void initInkWindow() {
try {
mTarget.initInkWindow();
diff --git a/services/core/java/com/android/server/inputmethod/InputMethodBindingController.java b/services/core/java/com/android/server/inputmethod/InputMethodBindingController.java
index c8c0482..a100fe0 100644
--- a/services/core/java/com/android/server/inputmethod/InputMethodBindingController.java
+++ b/services/core/java/com/android/server/inputmethod/InputMethodBindingController.java
@@ -77,6 +77,7 @@
@GuardedBy("ImfLock.class") private int mCurSeq;
@GuardedBy("ImfLock.class") private boolean mVisibleBound;
@GuardedBy("ImfLock.class") private boolean mSupportsStylusHw;
+ @GuardedBy("ImfLock.class") private boolean mSupportsConnectionlessStylusHw;
@Nullable private CountDownLatch mLatchForTesting;
@@ -243,10 +244,17 @@
/**
* Returns {@code true} if current IME supports Stylus Handwriting.
*/
+ @GuardedBy("ImfLock.class")
boolean supportsStylusHandwriting() {
return mSupportsStylusHw;
}
+ /** Returns whether the current IME supports connectionless stylus handwriting sessions. */
+ @GuardedBy("ImfLock.class")
+ boolean supportsConnectionlessStylusHandwriting() {
+ return mSupportsConnectionlessStylusHw;
+ }
+
/**
* Used to bring IME service up to visible adjustment while it is being shown.
*/
@@ -298,6 +306,15 @@
if (supportsStylusHwChanged) {
InputMethodManager.invalidateLocalStylusHandwritingAvailabilityCaches();
}
+ boolean supportsConnectionlessStylusHwChanged =
+ mSupportsConnectionlessStylusHw
+ != info.supportsConnectionlessStylusHandwriting();
+ if (supportsConnectionlessStylusHwChanged) {
+ mSupportsConnectionlessStylusHw =
+ info.supportsConnectionlessStylusHandwriting();
+ InputMethodManager
+ .invalidateLocalConnectionlessStylusHandwritingAvailabilityCaches();
+ }
mService.initializeImeLocked(mCurMethod, mCurToken);
mService.scheduleNotifyImeUidToAudioService(mCurMethodUid);
mService.reRequestCurrentClientSessionLocked();
diff --git a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
index 96c0c8a..4bb8e19 100644
--- a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
+++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
@@ -47,6 +47,8 @@
import static android.view.Display.INVALID_DISPLAY;
import static android.view.WindowManager.DISPLAY_IME_POLICY_HIDE;
import static android.view.WindowManager.DISPLAY_IME_POLICY_LOCAL;
+import static android.view.inputmethod.ConnectionlessHandwritingCallback.CONNECTIONLESS_HANDWRITING_ERROR_OTHER;
+import static android.view.inputmethod.ConnectionlessHandwritingCallback.CONNECTIONLESS_HANDWRITING_ERROR_UNSUPPORTED;
import static com.android.server.inputmethod.ImeVisibilityStateComputer.ImeTargetWindowState;
import static com.android.server.inputmethod.ImeVisibilityStateComputer.ImeVisibilityResult;
@@ -123,6 +125,7 @@
import android.view.WindowManager.DisplayImePolicy;
import android.view.WindowManager.LayoutParams;
import android.view.WindowManager.LayoutParams.SoftInputModeFlags;
+import android.view.inputmethod.CursorAnchorInfo;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.Flags;
import android.view.inputmethod.ImeTracker;
@@ -145,6 +148,7 @@
import com.android.internal.infra.AndroidFuture;
import com.android.internal.inputmethod.DirectBootAwareness;
import com.android.internal.inputmethod.IAccessibilityInputMethodSession;
+import com.android.internal.inputmethod.IConnectionlessHandwritingCallback;
import com.android.internal.inputmethod.IImeTracker;
import com.android.internal.inputmethod.IInlineSuggestionsRequestCallback;
import com.android.internal.inputmethod.IInputContentUriToken;
@@ -204,6 +208,7 @@
import java.util.WeakHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.Future;
+import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.Consumer;
import java.util.function.IntConsumer;
@@ -1685,8 +1690,9 @@
IntConsumer toolTypeConsumer =
Flags.useHandwritingListenerForTooltype()
? toolType -> onUpdateEditorToolType(toolType) : null;
+ Runnable discardDelegationTextRunnable = () -> discardHandwritingDelegationText();
mHwController = new HandwritingModeController(mContext, thread.getLooper(),
- new InkWindowInitializer(), toolTypeConsumer);
+ new InkWindowInitializer(), toolTypeConsumer, discardDelegationTextRunnable);
registerDeviceListenerAndCheckStylusSupport();
}
@@ -1716,6 +1722,15 @@
}
}
+ private void discardHandwritingDelegationText() {
+ synchronized (ImfLock.class) {
+ IInputMethodInvoker curMethod = getCurMethodLocked();
+ if (curMethod != null) {
+ curMethod.discardHandwritingDelegationText();
+ }
+ }
+ }
+
@GuardedBy("ImfLock.class")
private void resetDefaultImeLocked(Context context) {
// Do not reset the default (current) IME when it is a 3rd-party IME
@@ -1980,7 +1995,8 @@
}
@Override
- public boolean isStylusHandwritingAvailableAsUser(@UserIdInt int userId) {
+ public boolean isStylusHandwritingAvailableAsUser(
+ @UserIdInt int userId, boolean connectionless) {
if (UserHandle.getCallingUserId() != userId) {
mContext.enforceCallingOrSelfPermission(
Manifest.permission.INTERACT_ACROSS_USERS_FULL, null);
@@ -1993,14 +2009,17 @@
// Check if selected IME of current user supports handwriting.
if (userId == mSettings.getUserId()) {
- return mBindingController.supportsStylusHandwriting();
+ return mBindingController.supportsStylusHandwriting()
+ && (!connectionless
+ || mBindingController.supportsConnectionlessStylusHandwriting());
}
//TODO(b/197848765): This can be optimized by caching multi-user methodMaps/methodList.
//TODO(b/210039666): use cache.
final InputMethodSettings settings = queryMethodMapForUser(userId);
final InputMethodInfo imi = settings.getMethodMap().get(
settings.getSelectedInputMethod());
- return imi != null && imi.supportsStylusHandwriting();
+ return imi != null && imi.supportsStylusHandwriting()
+ && (!connectionless || imi.supportsConnectionlessStylusHandwriting());
}
}
@@ -3376,54 +3395,111 @@
startStylusHandwriting(client, false /* usesDelegation */);
}
- private void startStylusHandwriting(IInputMethodClient client, boolean usesDelegation) {
+ @BinderThread
+ @Override
+ public void startConnectionlessStylusHandwriting(IInputMethodClient client, int userId,
+ @Nullable CursorAnchorInfo cursorAnchorInfo, @Nullable String delegatePackageName,
+ @Nullable String delegatorPackageName,
+ @NonNull IConnectionlessHandwritingCallback callback) throws RemoteException {
+ synchronized (ImfLock.class) {
+ if (!mBindingController.supportsConnectionlessStylusHandwriting()) {
+ Slog.w(TAG, "Connectionless stylus handwriting mode unsupported by IME.");
+ callback.onError(CONNECTIONLESS_HANDWRITING_ERROR_UNSUPPORTED);
+ return;
+ }
+ }
+
+ IConnectionlessHandwritingCallback immsCallback = callback;
+ boolean isForDelegation = delegatePackageName != null && delegatorPackageName != null;
+ if (isForDelegation) {
+ synchronized (ImfLock.class) {
+ if (!mClientController.verifyClientAndPackageMatch(client, delegatorPackageName)) {
+ Slog.w(TAG, "startConnectionlessStylusHandwriting() fail");
+ callback.onError(CONNECTIONLESS_HANDWRITING_ERROR_OTHER);
+ throw new IllegalArgumentException("Delegator doesn't match UID");
+ }
+ }
+ immsCallback = new IConnectionlessHandwritingCallback.Stub() {
+ @Override
+ public void onResult(CharSequence text) throws RemoteException {
+ synchronized (ImfLock.class) {
+ mHwController.prepareStylusHandwritingDelegation(
+ userId, delegatePackageName, delegatorPackageName,
+ /* connectionless= */ true);
+ }
+ callback.onResult(text);
+ }
+
+ @Override
+ public void onError(int errorCode) throws RemoteException {
+ callback.onError(errorCode);
+ }
+ };
+ }
+
+ if (!startStylusHandwriting(
+ client, false, immsCallback, cursorAnchorInfo, isForDelegation)) {
+ callback.onError(CONNECTIONLESS_HANDWRITING_ERROR_OTHER);
+ }
+ }
+
+ private void startStylusHandwriting(IInputMethodClient client, boolean acceptingDelegation) {
+ startStylusHandwriting(client, acceptingDelegation, null, null, false);
+ }
+
+ private boolean startStylusHandwriting(IInputMethodClient client, boolean acceptingDelegation,
+ IConnectionlessHandwritingCallback connectionlessCallback,
+ CursorAnchorInfo cursorAnchorInfo, boolean isConnectionlessForDelegation) {
Trace.traceBegin(TRACE_TAG_WINDOW_MANAGER, "IMMS.startStylusHandwriting");
try {
ImeTracing.getInstance().triggerManagerServiceDump(
"InputMethodManagerService#startStylusHandwriting");
int uid = Binder.getCallingUid();
synchronized (ImfLock.class) {
- if (!usesDelegation) {
+ if (!acceptingDelegation) {
mHwController.clearPendingHandwritingDelegation();
}
if (!canInteractWithImeLocked(uid, client, "startStylusHandwriting",
null /* statsToken */)) {
- return;
+ return false;
}
if (!hasSupportedStylusLocked()) {
Slog.w(TAG, "No supported Stylus hardware found on device. Ignoring"
+ " startStylusHandwriting()");
- return;
+ return false;
}
final long ident = Binder.clearCallingIdentity();
try {
if (!mBindingController.supportsStylusHandwriting()) {
Slog.w(TAG,
"Stylus HW unsupported by IME. Ignoring startStylusHandwriting()");
- return;
+ return false;
}
final OptionalInt requestId = mHwController.getCurrentRequestId();
if (!requestId.isPresent()) {
Slog.e(TAG, "Stylus handwriting was not initialized.");
- return;
+ return false;
}
if (!mHwController.isStylusGestureOngoing()) {
Slog.e(TAG,
"There is no ongoing stylus gesture to start stylus handwriting.");
- return;
+ return false;
}
if (mHwController.hasOngoingStylusHandwritingSession()) {
// prevent duplicate calls to startStylusHandwriting().
Slog.e(TAG,
"Stylus handwriting session is already ongoing."
+ " Ignoring startStylusHandwriting().");
- return;
+ return false;
}
if (DEBUG) Slog.v(TAG, "Client requesting Stylus Handwriting to be started");
final IInputMethodInvoker curMethod = getCurMethodLocked();
if (curMethod != null) {
- curMethod.canStartStylusHandwriting(requestId.getAsInt());
+ curMethod.canStartStylusHandwriting(requestId.getAsInt(),
+ connectionlessCallback, cursorAnchorInfo,
+ isConnectionlessForDelegation);
+ return true;
}
} finally {
Binder.restoreCallingIdentity(ident);
@@ -3432,6 +3508,7 @@
} finally {
Trace.traceEnd(TRACE_TAG_WINDOW_MANAGER);
}
+ return false;
}
@Override
@@ -3471,8 +3548,18 @@
if (!verifyDelegator(client, delegatePackageName, delegatorPackageName, flags)) {
return false;
}
-
- startStylusHandwriting(client, true /* usesDelegation */);
+ synchronized (ImfLock.class) {
+ if (mHwController.isDelegationUsingConnectionlessFlow()) {
+ final IInputMethodInvoker curMethod = getCurMethodLocked();
+ if (curMethod == null) {
+ return false;
+ }
+ curMethod.commitHandwritingDelegationTextIfAvailable();
+ mHwController.clearPendingHandwritingDelegation();
+ } else {
+ startStylusHandwriting(client, true /* acceptingDelegation */);
+ }
+ }
return true;
}
@@ -4986,7 +5073,8 @@
int userId = msg.arg1;
String delegate = (String) ((Pair) msg.obj).first;
String delegator = (String) ((Pair) msg.obj).second;
- mHwController.prepareStylusHandwritingDelegation(userId, delegate, delegator);
+ mHwController.prepareStylusHandwritingDelegation(
+ userId, delegate, delegator, /* connectionless= */ false);
}
return true;
case MSG_START_HANDWRITING:
@@ -5988,7 +6076,23 @@
@BinderThread
private void dumpAsProtoNoCheck(FileDescriptor fd) {
final ProtoOutputStream proto = new ProtoOutputStream(fd);
+ // Dump in the format of an ImeTracing trace with a single entry.
+ final long magicNumber =
+ ((long) InputMethodManagerServiceTraceFileProto.MAGIC_NUMBER_H << 32)
+ | InputMethodManagerServiceTraceFileProto.MAGIC_NUMBER_L;
+ final long timeOffsetNs = TimeUnit.MILLISECONDS.toNanos(System.currentTimeMillis())
+ - SystemClock.elapsedRealtimeNanos();
+ proto.write(InputMethodManagerServiceTraceFileProto.MAGIC_NUMBER,
+ magicNumber);
+ proto.write(InputMethodManagerServiceTraceFileProto.REAL_TO_ELAPSED_TIME_OFFSET_NANOS,
+ timeOffsetNs);
+ final long token = proto.start(InputMethodManagerServiceTraceFileProto.ENTRY);
+ proto.write(InputMethodManagerServiceTraceProto.ELAPSED_REALTIME_NANOS,
+ SystemClock.elapsedRealtimeNanos());
+ proto.write(InputMethodManagerServiceTraceProto.WHERE,
+ "InputMethodManagerService.mPriorityDumper#dumpAsProtoNoCheck");
dumpDebug(proto, InputMethodManagerServiceTraceProto.INPUT_METHOD_MANAGER_SERVICE);
+ proto.end(token);
proto.flush();
}
};
diff --git a/services/core/java/com/android/server/locksettings/OWNERS b/services/core/java/com/android/server/locksettings/OWNERS
index 5d49863..48da270 100644
--- a/services/core/java/com/android/server/locksettings/OWNERS
+++ b/services/core/java/com/android/server/locksettings/OWNERS
@@ -1,4 +1,3 @@
# Bug component: 1333694
ebiggers@google.com
-jaggies@google.com
rubinxu@google.com
diff --git a/services/core/java/com/android/server/media/MediaSession2Record.java b/services/core/java/com/android/server/media/MediaSession2Record.java
index 393e7ef..34bb219 100644
--- a/services/core/java/com/android/server/media/MediaSession2Record.java
+++ b/services/core/java/com/android/server/media/MediaSession2Record.java
@@ -55,8 +55,15 @@
@GuardedBy("mLock")
private boolean mIsClosed;
- public MediaSession2Record(Session2Token sessionToken, MediaSessionService service,
- Looper handlerLooper, int policies) {
+ private final int mPid;
+ private final ForegroundServiceDelegationOptions mForegroundServiceDelegationOptions;
+
+ public MediaSession2Record(
+ Session2Token sessionToken,
+ MediaSessionService service,
+ Looper handlerLooper,
+ int pid,
+ int policies) {
// The lock is required to prevent `Controller2Callback` from using partially initialized
// `MediaSession2Record.this`.
synchronized (mLock) {
@@ -66,7 +73,27 @@
mController = new MediaController2.Builder(service.getContext(), sessionToken)
.setControllerCallback(mHandlerExecutor, new Controller2Callback())
.build();
+ mPid = pid;
mPolicies = policies;
+ mForegroundServiceDelegationOptions =
+ new ForegroundServiceDelegationOptions.Builder()
+ .setClientPid(mPid)
+ .setClientUid(getUid())
+ .setClientPackageName(getPackageName())
+ .setClientAppThread(null)
+ .setSticky(false)
+ .setClientInstanceName(
+ "MediaSessionFgsDelegate_"
+ + getUid()
+ + "_"
+ + mPid
+ + "_"
+ + getPackageName())
+ .setForegroundServiceTypes(0)
+ .setDelegationService(
+ ForegroundServiceDelegationOptions
+ .DELEGATION_SERVICE_MEDIA_PLAYBACK)
+ .build();
}
}
@@ -91,8 +118,7 @@
@Override
public ForegroundServiceDelegationOptions getForegroundServiceDelegationOptions() {
- // TODO: Implement when MediaSession2 knows about its owner pid.
- return null;
+ return mForegroundServiceDelegationOptions;
}
@Override
diff --git a/services/core/java/com/android/server/media/MediaSessionService.java b/services/core/java/com/android/server/media/MediaSessionService.java
index 7fabdf2..8cb5cef 100644
--- a/services/core/java/com/android/server/media/MediaSessionService.java
+++ b/services/core/java/com/android/server/media/MediaSessionService.java
@@ -171,12 +171,27 @@
private final MediaCommunicationManager.SessionCallback mSession2TokenCallback =
new MediaCommunicationManager.SessionCallback() {
@Override
+ // TODO (b/324266224): Deprecate this method once other overload is published.
public void onSession2TokenCreated(Session2Token token) {
+ addSession(token, Process.INVALID_PID);
+ }
+
+ @Override
+ public void onSession2TokenCreated(Session2Token token, int pid) {
+ addSession(token, pid);
+ }
+
+ private void addSession(Session2Token token, int pid) {
if (DEBUG) {
Log.d(TAG, "Session2 is created " + token);
}
- MediaSession2Record record = new MediaSession2Record(token,
- MediaSessionService.this, mRecordThread.getLooper(), 0);
+ MediaSession2Record record =
+ new MediaSession2Record(
+ token,
+ MediaSessionService.this,
+ mRecordThread.getLooper(),
+ pid,
+ /* policies= */ 0);
synchronized (mLock) {
FullUserRecord user = getFullUserRecordLocked(record.getUserId());
if (user != null) {
@@ -583,7 +598,8 @@
}
ForegroundServiceDelegationOptions foregroundServiceDelegationOptions =
record.getForegroundServiceDelegationOptions();
- if (foregroundServiceDelegationOptions == null) {
+ if (foregroundServiceDelegationOptions == null
+ || foregroundServiceDelegationOptions.mClientPid == Process.INVALID_PID) {
// This record doesn't support FGS delegation. In practice, this is MediaSession2.
return;
}
diff --git a/services/core/java/com/android/server/media/metrics/MediaMetricsManagerService.java b/services/core/java/com/android/server/media/metrics/MediaMetricsManagerService.java
index 2cd8fe0..f60f55c 100644
--- a/services/core/java/com/android/server/media/metrics/MediaMetricsManagerService.java
+++ b/services/core/java/com/android/server/media/metrics/MediaMetricsManagerService.java
@@ -47,6 +47,7 @@
import java.security.SecureRandom;
import java.util.Arrays;
import java.util.List;
+import java.util.regex.Pattern;
/**
* System service manages media metrics.
@@ -79,6 +80,10 @@
private static final String FAILED_TO_GET = "failed_to_get";
private static final MediaItemInfo EMPTY_MEDIA_ITEM_INFO = new MediaItemInfo.Builder().build();
+ private static final Pattern PATTERN_KNOWN_EDITING_LIBRARY_NAMES =
+ Pattern.compile(
+ "androidx\\.media3:media3-(transformer|muxer):"
+ + "[\\d.]+(-(alpha|beta|rc)\\d\\d)?");
private static final int DURATION_BUCKETS_BELOW_ONE_MINUTE = 8;
private static final int DURATION_BUCKETS_COUNT = 13;
private static final String AUDIO_MIME_TYPE_PREFIX = "audio/";
@@ -415,8 +420,11 @@
.setAtomId(798)
.writeString(sessionId)
.writeInt(event.getFinalState())
+ .writeFloat(event.getFinalProgressPercent())
.writeInt(event.getErrorCode())
.writeLong(event.getTimeSinceCreatedMillis())
+ .writeString(getFilteredLibraryName(event.getExporterName()))
+ .writeString(getFilteredLibraryName(event.getMuxerName()))
.writeInt(getThroughputFps(event))
.writeInt(event.getInputMediaItemInfos().size())
.writeInt(inputMediaItemInfo.getSourceType())
@@ -629,6 +637,16 @@
}
}
+ private static String getFilteredLibraryName(String libraryName) {
+ if (TextUtils.isEmpty(libraryName)) {
+ return "";
+ }
+ if (!PATTERN_KNOWN_EDITING_LIBRARY_NAMES.matcher(libraryName).matches()) {
+ return "";
+ }
+ return libraryName;
+ }
+
private static int getThroughputFps(EditingEndedEvent event) {
MediaItemInfo outputMediaItemInfo = event.getOutputMediaItemInfo();
if (outputMediaItemInfo == null) {
diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java
index 3507d2d..ea4e67a 100755
--- a/services/core/java/com/android/server/notification/NotificationManagerService.java
+++ b/services/core/java/com/android/server/notification/NotificationManagerService.java
@@ -95,9 +95,11 @@
import static android.os.IServiceManager.DUMP_FLAG_PRIORITY_NORMAL;
import static android.os.PowerWhitelistManager.REASON_NOTIFICATION_SERVICE;
import static android.os.PowerWhitelistManager.TEMPORARY_ALLOWLIST_TYPE_FOREGROUND_SERVICE_ALLOWED;
+import static android.os.UserHandle.USER_ALL;
import static android.os.UserHandle.USER_NULL;
import static android.os.UserHandle.USER_SYSTEM;
import static android.service.notification.Flags.redactSensitiveNotificationsFromUntrustedListeners;
+import static android.service.notification.Flags.callstyleCallbackApi;
import static android.service.notification.NotificationListenerService.FLAG_FILTER_TYPE_ALERTING;
import static android.service.notification.NotificationListenerService.FLAG_FILTER_TYPE_CONVERSATIONS;
import static android.service.notification.NotificationListenerService.FLAG_FILTER_TYPE_ONGOING;
@@ -160,6 +162,7 @@
import android.Manifest.permission;
import android.annotation.DurationMillisLong;
import android.annotation.ElapsedRealtimeLong;
+import android.annotation.EnforcePermission;
import android.annotation.FlaggedApi;
import android.annotation.MainThread;
import android.annotation.NonNull;
@@ -176,6 +179,7 @@
import android.app.AppOpsManager;
import android.app.AutomaticZenRule;
import android.app.IActivityManager;
+import android.app.ICallNotificationEventCallback;
import android.app.INotificationManager;
import android.app.ITransientNotification;
import android.app.ITransientNotificationCallback;
@@ -255,6 +259,7 @@
import android.os.PowerManager;
import android.os.PowerManager.WakeLock;
import android.os.Process;
+import android.os.RemoteCallbackList;
import android.os.RemoteException;
import android.os.ResultReceiver;
import android.os.ServiceManager;
@@ -729,6 +734,9 @@
private NotificationUsageStats mUsageStats;
private boolean mLockScreenAllowSecureNotifications = true;
boolean mSystemExemptFromDismissal = false;
+ final ArrayMap<String, ArrayMap<Integer,
+ RemoteCallbackList<ICallNotificationEventCallback>>>
+ mCallNotificationEventCallbacks = new ArrayMap<>();
private static final int MY_UID = Process.myUid();
private static final int MY_PID = Process.myPid();
@@ -4888,6 +4896,94 @@
}
/**
+ * Register a listener to be notified when a call notification is posted or removed
+ * for a specific package and user.
+ * @param packageName Which package to monitor
+ * @param userHandle Which user to monitor
+ * @param listener Listener to register
+ */
+ @Override
+ @EnforcePermission(allOf = {
+ android.Manifest.permission.INTERACT_ACROSS_USERS,
+ android.Manifest.permission.ACCESS_NOTIFICATIONS})
+ public void registerCallNotificationEventListener(String packageName, UserHandle userHandle,
+ ICallNotificationEventCallback listener) {
+ registerCallNotificationEventListener_enforcePermission();
+
+ final int userId = userHandle.getIdentifier() != UserHandle.USER_CURRENT
+ ? userHandle.getIdentifier() : mAmi.getCurrentUserId();
+
+ synchronized (mCallNotificationEventCallbacks) {
+ ArrayMap<Integer, RemoteCallbackList<ICallNotificationEventCallback>>
+ callbacksForPackage =
+ mCallNotificationEventCallbacks.getOrDefault(packageName, new ArrayMap<>());
+ RemoteCallbackList<ICallNotificationEventCallback> callbackList =
+ callbacksForPackage.getOrDefault(userId, new RemoteCallbackList<>());
+
+ if (callbackList.register(listener)) {
+ callbacksForPackage.put(userId, callbackList);
+ mCallNotificationEventCallbacks.put(packageName, callbacksForPackage);
+ } else {
+ Log.e(TAG,
+ "registerCallNotificationEventListener failed to register listener: "
+ + packageName + " " + userHandle + " " + listener);
+ return;
+ }
+ }
+
+ synchronized (mNotificationLock) {
+ for (NotificationRecord r : mNotificationList) {
+ if (r.getNotification().isStyle(Notification.CallStyle.class)
+ && notificationMatchesUserId(r, userId, false)
+ && r.getSbn().getPackageName().equals(packageName)) {
+ try {
+ listener.onCallNotificationPosted(packageName, r.getUser());
+ } catch (RemoteException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * Unregister a listener that was previously
+ * registered with {@link #registerCallNotificationEventListener}
+ *
+ * @param packageName Which package to stop monitoring
+ * @param userHandle Which user to stop monitoring
+ * @param listener Listener to unregister
+ */
+ @Override
+ @EnforcePermission(allOf = {
+ android.Manifest.permission.INTERACT_ACROSS_USERS,
+ android.Manifest.permission.ACCESS_NOTIFICATIONS})
+ public void unregisterCallNotificationEventListener(String packageName,
+ UserHandle userHandle, ICallNotificationEventCallback listener) {
+ unregisterCallNotificationEventListener_enforcePermission();
+ synchronized (mCallNotificationEventCallbacks) {
+ final int userId = userHandle.getIdentifier() != UserHandle.USER_CURRENT
+ ? userHandle.getIdentifier() : mAmi.getCurrentUserId();
+
+ ArrayMap<Integer, RemoteCallbackList<ICallNotificationEventCallback>>
+ callbacksForPackage = mCallNotificationEventCallbacks.get(packageName);
+ if (callbacksForPackage == null) {
+ return;
+ }
+ RemoteCallbackList<ICallNotificationEventCallback> callbackList =
+ callbacksForPackage.get(userId);
+ if (callbackList == null) {
+ return;
+ }
+ if (!callbackList.unregister(listener)) {
+ Log.e(TAG,
+ "unregisterCallNotificationEventListener listener not found for: "
+ + packageName + " " + userHandle + " " + listener);
+ }
+ }
+ }
+
+ /**
* Register a listener binder directly with the notification manager.
*
* Only works with system callers. Apps should extend
@@ -6309,6 +6405,10 @@
Objects.requireNonNull(user);
verifyPrivilegedListener(token, user, false);
+
+ final NotificationChannel originalChannel = mPreferencesHelper.getNotificationChannel(
+ pkg, getUidForPackageAndUser(pkg, user), channel.getId(), true);
+ verifyPrivilegedListenerUriPermission(Binder.getCallingUid(), channel, originalChannel);
updateNotificationChannelInt(pkg, getUidForPackageAndUser(pkg, user), channel, true);
}
@@ -6406,6 +6506,24 @@
}
}
+ private void verifyPrivilegedListenerUriPermission(int sourceUid,
+ @NonNull NotificationChannel updateChannel,
+ @Nullable NotificationChannel originalChannel) {
+ // Check that the NLS has the required permissions to access the channel
+ final Uri soundUri = updateChannel.getSound();
+ final Uri originalSoundUri =
+ (originalChannel != null) ? originalChannel.getSound() : null;
+ if (soundUri != null && !Objects.equals(originalSoundUri, soundUri)) {
+ Binder.withCleanCallingIdentity(() -> {
+ mUgmInternal.checkGrantUriPermission(sourceUid, null,
+ ContentProvider.getUriWithoutUserId(soundUri),
+ Intent.FLAG_GRANT_READ_URI_PERMISSION,
+ ContentProvider.getUserIdFromUri(soundUri,
+ UserHandle.getUserId(sourceUid)));
+ });
+ }
+ }
+
private int getUidForPackageAndUser(String pkg, UserHandle user) throws RemoteException {
int uid = INVALID_UID;
final long identity = Binder.clearCallingIdentity();
@@ -8676,6 +8794,11 @@
}
});
}
+
+ if (callstyleCallbackApi()) {
+ notifyCallNotificationEventListenerOnRemoved(r);
+ }
+
// ATTENTION: in a future release we will bail out here
// so that we do not play sounds, show lights, etc. for invalid
// notifications
@@ -10033,6 +10156,9 @@
mGroupHelper.onNotificationRemoved(r.getSbn());
}
});
+ if (callstyleCallbackApi()) {
+ notifyCallNotificationEventListenerOnRemoved(r);
+ }
}
if (Flags.refactorAttentionHelper()) {
@@ -11707,6 +11833,10 @@
mNotificationRecordLogger.logNotificationPosted(report);
}
});
+
+ if (callstyleCallbackApi()) {
+ notifyCallNotificationEventListenerOnPosted(r);
+ }
}
@FlaggedApi(FLAG_LIFETIME_EXTENSION_REFACTOR)
@@ -12763,6 +12893,91 @@
}
}
+ @GuardedBy("mNotificationLock")
+ private void broadcastToCallNotificationEventCallbacks(
+ final RemoteCallbackList<ICallNotificationEventCallback> callbackList,
+ final NotificationRecord r,
+ boolean isPosted) {
+ if (callbackList != null) {
+ int numCallbacks = callbackList.beginBroadcast();
+ try {
+ for (int i = 0; i < numCallbacks; i++) {
+ if (isPosted) {
+ callbackList.getBroadcastItem(i)
+ .onCallNotificationPosted(r.getSbn().getPackageName(), r.getUser());
+ } else {
+ callbackList.getBroadcastItem(i)
+ .onCallNotificationRemoved(r.getSbn().getPackageName(),
+ r.getUser());
+ }
+ }
+ } catch (RemoteException e) {
+ throw new RuntimeException(e);
+ }
+ callbackList.finishBroadcast();
+ }
+ }
+
+ @GuardedBy("mNotificationLock")
+ void notifyCallNotificationEventListenerOnPosted(final NotificationRecord r) {
+ if (!r.getNotification().isStyle(Notification.CallStyle.class)) {
+ return;
+ }
+
+ synchronized (mCallNotificationEventCallbacks) {
+ ArrayMap<Integer, RemoteCallbackList<ICallNotificationEventCallback>>
+ callbacksForPackage =
+ mCallNotificationEventCallbacks.get(r.getSbn().getPackageName());
+ if (callbacksForPackage == null) {
+ return;
+ }
+
+ if (!r.getUser().equals(UserHandle.ALL)) {
+ broadcastToCallNotificationEventCallbacks(
+ callbacksForPackage.get(r.getUser().getIdentifier()), r, true);
+ // Also notify the listeners registered for USER_ALL
+ broadcastToCallNotificationEventCallbacks(callbacksForPackage.get(USER_ALL), r,
+ true);
+ } else {
+ // Notify listeners registered for any userId
+ for (RemoteCallbackList<ICallNotificationEventCallback> callbackList
+ : callbacksForPackage.values()) {
+ broadcastToCallNotificationEventCallbacks(callbackList, r, true);
+ }
+ }
+ }
+ }
+
+ @GuardedBy("mNotificationLock")
+ void notifyCallNotificationEventListenerOnRemoved(final NotificationRecord r) {
+ if (!r.getNotification().isStyle(Notification.CallStyle.class)) {
+ return;
+ }
+
+ synchronized (mCallNotificationEventCallbacks) {
+ ArrayMap<Integer, RemoteCallbackList<ICallNotificationEventCallback>>
+ callbacksForPackage =
+ mCallNotificationEventCallbacks.get(r.getSbn().getPackageName());
+ if (callbacksForPackage == null) {
+ return;
+ }
+
+ if (!r.getUser().equals(UserHandle.ALL)) {
+ broadcastToCallNotificationEventCallbacks(
+ callbacksForPackage.get(r.getUser().getIdentifier()), r, false);
+ // Also notify the listeners registered for USER_ALL
+ broadcastToCallNotificationEventCallbacks(callbacksForPackage.get(USER_ALL), r,
+ false);
+ } else {
+ // Notify listeners registered for any userId
+ for (RemoteCallbackList<ICallNotificationEventCallback> callbackList
+ : callbacksForPackage.values()) {
+ broadcastToCallNotificationEventCallbacks(callbackList, r, false);
+ }
+ }
+ }
+ }
+
// TODO (b/194833441): remove when we've fully migrated to a permission
class RoleObserver implements OnRoleHoldersChangedListener {
// Role name : user id : list of approved packages
diff --git a/services/core/java/com/android/server/notification/ZenModeEventLogger.java b/services/core/java/com/android/server/notification/ZenModeEventLogger.java
index a90efe6..b9a267f 100644
--- a/services/core/java/com/android/server/notification/ZenModeEventLogger.java
+++ b/services/core/java/com/android/server/notification/ZenModeEventLogger.java
@@ -26,6 +26,7 @@
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.SuppressLint;
import android.app.Flags;
import android.app.NotificationManager;
import android.content.pm.PackageManager;
@@ -33,6 +34,7 @@
import android.service.notification.DNDPolicyProto;
import android.service.notification.ZenModeConfig;
import android.service.notification.ZenModeConfig.ConfigChangeOrigin;
+import android.service.notification.ZenModeConfig.ZenRule;
import android.service.notification.ZenModeDiff;
import android.service.notification.ZenPolicy;
import android.util.ArrayMap;
@@ -46,6 +48,9 @@
import com.android.internal.util.FrameworkStatsLog;
import java.io.ByteArrayOutputStream;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
import java.util.Objects;
/**
@@ -58,6 +63,9 @@
// Placeholder int for unknown zen mode, to distinguish from "off".
static final int ZEN_MODE_UNKNOWN = -1;
+ // Special rule type for manual rule. Keep in sync with ActiveRuleType in dnd_enums.proto.
+ protected static final int ACTIVE_RULE_TYPE_MANUAL = 999;
+
// Object for tracking config changes and policy changes associated with an overall zen
// mode change.
ZenModeEventLogger.ZenStateChanges mChangeState = new ZenModeEventLogger.ZenStateChanges();
@@ -192,7 +200,8 @@
/* bool user_action = 6 */ mChangeState.getIsUserAction(),
/* int32 package_uid = 7 */ mChangeState.getPackageUid(),
/* DNDPolicyProto current_policy = 8 */ mChangeState.getDNDPolicyProto(),
- /* bool are_channels_bypassing = 9 */ mChangeState.getAreChannelsBypassing());
+ /* bool are_channels_bypassing = 9 */ mChangeState.getAreChannelsBypassing(),
+ /* ActiveRuleType active_rule_types = 10 */ mChangeState.getActiveRuleTypes());
}
/**
@@ -371,33 +380,43 @@
}
/**
+ * Get a list of the active rules in the provided config. This is a helper function for
+ * other methods that then use this information to get the number and type of active
+ * rules available.
+ */
+ @SuppressLint("WrongConstant") // special case for log-only type on manual rule
+ @NonNull List<ZenRule> activeRulesList(ZenModeConfig config) {
+ ArrayList<ZenRule> rules = new ArrayList<>();
+ if (config == null) {
+ return rules;
+ }
+
+ if (config.manualRule != null) {
+ // If the manual rule is non-null, then it's active. We make a copy and set the rule
+ // type so that the correct value gets logged.
+ ZenRule rule = config.manualRule.copy();
+ rule.type = ACTIVE_RULE_TYPE_MANUAL;
+ rules.add(rule);
+ }
+
+ if (config.automaticRules != null) {
+ for (ZenModeConfig.ZenRule rule : config.automaticRules.values()) {
+ if (rule != null && rule.isAutomaticActive()) {
+ rules.add(rule);
+ }
+ }
+ }
+ return rules;
+ }
+
+ /**
* Get the number of active rules represented in a zen mode config. Because this is based
* on a config, this does not take into account the zen mode at the time of the config,
* which means callers need to take the zen mode into account for whether the rules are
* actually active.
*/
int numActiveRulesInConfig(ZenModeConfig config) {
- // If the config is null, return early
- if (config == null) {
- return 0;
- }
-
- int rules = 0;
- // Loop through the config and check:
- // - does a manual rule exist? (if it's non-null, it's active)
- // - how many automatic rules are active, as defined by isAutomaticActive()?
- if (config.manualRule != null) {
- rules++;
- }
-
- if (config.automaticRules != null) {
- for (ZenModeConfig.ZenRule rule : config.automaticRules.values()) {
- if (rule != null && rule.isAutomaticActive()) {
- rules++;
- }
- }
- }
- return rules;
+ return activeRulesList(config).size();
}
// Determine the number of (automatic & manual) rules active after the change takes place.
@@ -412,6 +431,34 @@
}
/**
+ * Return a list of the types of each of the active rules in the configuration.
+ * Only available when {@code MODES_API} is active; otherwise returns an empty list.
+ */
+ int[] getActiveRuleTypes() {
+ if (!Flags.modesApi() || mNewZenMode == ZEN_MODE_OFF) {
+ return new int[0];
+ }
+
+ ArrayList<Integer> activeTypes = new ArrayList<>();
+ List<ZenRule> activeRules = activeRulesList(mNewConfig);
+ if (activeRules.size() == 0) {
+ return new int[0];
+ }
+
+ for (ZenRule rule : activeRules) {
+ activeTypes.add(rule.type);
+ }
+
+ // Sort the list of active types to have a consistent order in the atom
+ Collections.sort(activeTypes);
+ int[] out = new int[activeTypes.size()];
+ for (int i = 0; i < activeTypes.size(); i++) {
+ out[i] = activeTypes.get(i);
+ }
+ return out;
+ }
+
+ /**
* Return our best guess as to whether the changes observed are due to a user action.
* Note that this (before {@code MODES_API}) won't be 100% accurate as we can't necessarily
* distinguish between a system uid call indicating "user interacted with Settings" vs "a
diff --git a/services/core/java/com/android/server/notification/ZenModeHelper.java b/services/core/java/com/android/server/notification/ZenModeHelper.java
index 1c20b2d..54de197 100644
--- a/services/core/java/com/android/server/notification/ZenModeHelper.java
+++ b/services/core/java/com/android/server/notification/ZenModeHelper.java
@@ -16,6 +16,7 @@
package com.android.server.notification;
+import static android.app.AutomaticZenRule.TYPE_UNKNOWN;
import static android.app.NotificationManager.AUTOMATIC_RULE_STATUS_ACTIVATED;
import static android.app.NotificationManager.AUTOMATIC_RULE_STATUS_DEACTIVATED;
import static android.app.NotificationManager.AUTOMATIC_RULE_STATUS_DISABLED;
@@ -1264,7 +1265,7 @@
: new ZenDeviceEffects.Builder().build();
if (isFromApp) {
- // Don't allow apps to toggle hidden effects.
+ // Don't allow apps to toggle hidden (non-public-API) effects.
newEffects = new ZenDeviceEffects.Builder(newEffects)
.setShouldDisableAutoBrightness(oldEffects.shouldDisableAutoBrightness())
.setShouldDisableTapToWake(oldEffects.shouldDisableTapToWake())
@@ -1272,6 +1273,7 @@
.setShouldDisableTouch(oldEffects.shouldDisableTouch())
.setShouldMinimizeRadioUsage(oldEffects.shouldMinimizeRadioUsage())
.setShouldMaximizeDoze(oldEffects.shouldMaximizeDoze())
+ .setExtraEffects(oldEffects.getExtraEffects())
.build();
}
@@ -1311,6 +1313,9 @@
if (oldEffects.shouldMaximizeDoze() != newEffects.shouldMaximizeDoze()) {
userModifiedFields |= ZenDeviceEffects.FIELD_MAXIMIZE_DOZE;
}
+ if (!Objects.equals(oldEffects.getExtraEffects(), newEffects.getExtraEffects())) {
+ userModifiedFields |= ZenDeviceEffects.FIELD_EXTRA_EFFECTS;
+ }
zenRule.zenDeviceEffectsUserModifiedFields = userModifiedFields;
}
}
@@ -2166,7 +2171,8 @@
/* optional DNDPolicyProto policy = 7 */ config.toZenPolicy().toProto(),
/* optional int32 rule_modified_fields = 8 */ 0,
/* optional int32 policy_modified_fields = 9 */ 0,
- /* optional int32 device_effects_modified_fields = 10 */ 0));
+ /* optional int32 device_effects_modified_fields = 10 */ 0,
+ /* optional ActiveRuleType rule_type = 11 */ TYPE_UNKNOWN));
if (config.manualRule != null) {
ruleToProtoLocked(user, config.manualRule, true, events);
}
@@ -2192,8 +2198,10 @@
pkg = rule.enabler;
}
+ int ruleType = rule.type;
if (isManualRule) {
id = ZenModeConfig.MANUAL_RULE_ID;
+ ruleType = ZenModeEventLogger.ACTIVE_RULE_TYPE_MANUAL;
}
SysUiStatsEvent.Builder data;
@@ -2212,7 +2220,8 @@
/* optional int32 rule_modified_fields = 8 */ rule.userModifiedFields,
/* optional int32 policy_modified_fields = 9 */ rule.zenPolicyUserModifiedFields,
/* optional int32 device_effects_modified_fields = 10 */
- rule.zenDeviceEffectsUserModifiedFields));
+ rule.zenDeviceEffectsUserModifiedFields,
+ /* optional ActiveRuleType rule_type = 11 */ ruleType));
}
private int getPackageUid(String pkg, int user) {
diff --git a/services/core/java/com/android/server/om/OverlayManagerService.java b/services/core/java/com/android/server/om/OverlayManagerService.java
index b9464d9..d987622 100644
--- a/services/core/java/com/android/server/om/OverlayManagerService.java
+++ b/services/core/java/com/android/server/om/OverlayManagerService.java
@@ -362,7 +362,7 @@
defaultPackages.add(packageName);
}
}
- return defaultPackages.toArray(new String[defaultPackages.size()]);
+ return defaultPackages.toArray(new String[0]);
}
private final class OverlayManagerPackageMonitor extends PackageMonitor {
@@ -1143,9 +1143,10 @@
};
private static final class PackageManagerHelperImpl implements PackageManagerHelper {
- private static class PackageStateUsers {
+ private static final class PackageStateUsers {
private PackageState mPackageState;
- private final Set<Integer> mInstalledUsers = new ArraySet<>();
+ private Boolean mDefinesOverlayable = null;
+ private final ArraySet<Integer> mInstalledUsers = new ArraySet<>();
private PackageStateUsers(@NonNull PackageState packageState) {
this.mPackageState = packageState;
}
@@ -1160,7 +1161,7 @@
// state may lead to contradictions within OMS. Better then to lag
// behind until all pending intents have been processed.
private final ArrayMap<String, PackageStateUsers> mCache = new ArrayMap<>();
- private final Set<Integer> mInitializedUsers = new ArraySet<>();
+ private final ArraySet<Integer> mInitializedUsers = new ArraySet<>();
PackageManagerHelperImpl(Context context) {
mContext = context;
@@ -1176,8 +1177,7 @@
*/
@NonNull
public ArrayMap<String, PackageState> initializeForUser(final int userId) {
- if (!mInitializedUsers.contains(userId)) {
- mInitializedUsers.add(userId);
+ if (mInitializedUsers.add(userId)) {
mPackageManagerInternal.forEachPackageState((packageState -> {
if (packageState.getPkg() != null
&& packageState.getUserStateOrDefault(userId).isInstalled()) {
@@ -1196,13 +1196,11 @@
return userPackages;
}
- @Override
- @Nullable
- public PackageState getPackageStateForUser(@NonNull final String packageName,
+ private PackageStateUsers getRawPackageStateForUser(@NonNull final String packageName,
final int userId) {
final PackageStateUsers pkg = mCache.get(packageName);
if (pkg != null && pkg.mInstalledUsers.contains(userId)) {
- return pkg.mPackageState;
+ return pkg;
}
try {
if (!mPackageManager.isPackageAvailable(packageName, userId)) {
@@ -1216,8 +1214,14 @@
return addPackageUser(packageName, userId);
}
- @NonNull
- private PackageState addPackageUser(@NonNull final String packageName,
+ @Override
+ public PackageState getPackageStateForUser(@NonNull final String packageName,
+ final int userId) {
+ final PackageStateUsers pkg = getRawPackageStateForUser(packageName, userId);
+ return pkg != null ? pkg.mPackageState : null;
+ }
+
+ private PackageStateUsers addPackageUser(@NonNull final String packageName,
final int user) {
final PackageState pkg = mPackageManagerInternal.getPackageStateInternal(packageName);
if (pkg == null) {
@@ -1229,20 +1233,20 @@
}
@NonNull
- private PackageState addPackageUser(@NonNull final PackageState pkg,
+ private PackageStateUsers addPackageUser(@NonNull final PackageState pkg,
final int user) {
PackageStateUsers pkgUsers = mCache.get(pkg.getPackageName());
if (pkgUsers == null) {
pkgUsers = new PackageStateUsers(pkg);
mCache.put(pkg.getPackageName(), pkgUsers);
- } else {
+ } else if (pkgUsers.mPackageState != pkg) {
pkgUsers.mPackageState = pkg;
+ pkgUsers.mDefinesOverlayable = null;
}
pkgUsers.mInstalledUsers.add(user);
- return pkgUsers.mPackageState;
+ return pkgUsers;
}
-
@NonNull
private void removePackageUser(@NonNull final String packageName, final int user) {
final PackageStateUsers pkgUsers = mCache.get(packageName);
@@ -1260,15 +1264,15 @@
}
}
- @Nullable
public PackageState onPackageAdded(@NonNull final String packageName, final int userId) {
- return addPackageUser(packageName, userId);
+ final var pu = addPackageUser(packageName, userId);
+ return pu != null ? pu.mPackageState : null;
}
- @Nullable
public PackageState onPackageUpdated(@NonNull final String packageName,
final int userId) {
- return addPackageUser(packageName, userId);
+ final var pu = addPackageUser(packageName, userId);
+ return pu != null ? pu.mPackageState : null;
}
public void onPackageRemoved(@NonNull final String packageName, final int userId) {
@@ -1308,22 +1312,30 @@
return (pkgs.length == 0) ? null : pkgs[0];
}
- @Nullable
@Override
public OverlayableInfo getOverlayableForTarget(@NonNull String packageName,
@NonNull String targetOverlayableName, int userId)
throws IOException {
- var packageState = getPackageStateForUser(packageName, userId);
- var pkg = packageState == null ? null : packageState.getAndroidPackage();
+ final var psu = getRawPackageStateForUser(packageName, userId);
+ final var pkg = (psu == null || psu.mPackageState == null)
+ ? null : psu.mPackageState.getAndroidPackage();
if (pkg == null) {
throw new IOException("Unable to get target package");
}
+ if (Boolean.FALSE.equals(psu.mDefinesOverlayable)) {
+ return null;
+ }
+
ApkAssets apkAssets = null;
try {
apkAssets = ApkAssets.loadFromPath(pkg.getSplits().get(0).getPath(),
ApkAssets.PROPERTY_ONLY_OVERLAYABLES);
- return apkAssets.getOverlayableInfo(targetOverlayableName);
+ if (psu.mDefinesOverlayable == null) {
+ psu.mDefinesOverlayable = apkAssets.definesOverlayable();
+ }
+ return Boolean.FALSE.equals(psu.mDefinesOverlayable)
+ ? null : apkAssets.getOverlayableInfo(targetOverlayableName);
} finally {
if (apkAssets != null) {
try {
@@ -1337,24 +1349,29 @@
@Override
public boolean doesTargetDefineOverlayable(String targetPackageName, int userId)
throws IOException {
- var packageState = getPackageStateForUser(targetPackageName, userId);
- var pkg = packageState == null ? null : packageState.getAndroidPackage();
+ final var psu = getRawPackageStateForUser(targetPackageName, userId);
+ var pkg = (psu == null || psu.mPackageState == null)
+ ? null : psu.mPackageState.getAndroidPackage();
if (pkg == null) {
throw new IOException("Unable to get target package");
}
- ApkAssets apkAssets = null;
- try {
- apkAssets = ApkAssets.loadFromPath(pkg.getSplits().get(0).getPath());
- return apkAssets.definesOverlayable();
- } finally {
- if (apkAssets != null) {
- try {
- apkAssets.close();
- } catch (Throwable ignored) {
+ if (psu.mDefinesOverlayable == null) {
+ ApkAssets apkAssets = null;
+ try {
+ apkAssets = ApkAssets.loadFromPath(pkg.getSplits().get(0).getPath(),
+ ApkAssets.PROPERTY_ONLY_OVERLAYABLES);
+ psu.mDefinesOverlayable = apkAssets.definesOverlayable();
+ } finally {
+ if (apkAssets != null) {
+ try {
+ apkAssets.close();
+ } catch (Throwable ignored) {
+ }
}
}
}
+ return psu.mDefinesOverlayable;
}
@Override
@@ -1545,8 +1562,7 @@
final OverlayPaths frameworkOverlays =
mImpl.getEnabledOverlayPaths("android", userId, false);
for (final String targetPackageName : targetPackageNames) {
- final OverlayPaths.Builder list = new OverlayPaths.Builder();
- list.addAll(frameworkOverlays);
+ final var list = new OverlayPaths.Builder(frameworkOverlays);
if (!"android".equals(targetPackageName)) {
list.addAll(mImpl.getEnabledOverlayPaths(targetPackageName, userId, true));
}
@@ -1558,17 +1574,21 @@
final HashSet<String> invalidPackages = new HashSet<>();
pm.setEnabledOverlayPackages(userId, pendingChanges, updatedPackages, invalidPackages);
- for (final String targetPackageName : targetPackageNames) {
- if (DEBUG) {
- Slog.d(TAG, "-> Updating overlay: target=" + targetPackageName + " overlays=["
- + pendingChanges.get(targetPackageName)
- + "] userId=" + userId);
- }
+ if (DEBUG || !invalidPackages.isEmpty()) {
+ for (final String targetPackageName : targetPackageNames) {
+ if (DEBUG) {
+ Slog.d(TAG,
+ "-> Updating overlay: target=" + targetPackageName + " overlays=["
+ + pendingChanges.get(targetPackageName)
+ + "] userId=" + userId);
+ }
- if (invalidPackages.contains(targetPackageName)) {
- Slog.e(TAG, TextUtils.formatSimple(
- "Failed to change enabled overlays for %s user %d", targetPackageName,
- userId));
+ if (invalidPackages.contains(targetPackageName)) {
+ Slog.e(TAG, TextUtils.formatSimple(
+ "Failed to change enabled overlays for %s user %d",
+ targetPackageName,
+ userId));
+ }
}
}
return new ArrayList<>(updatedPackages);
diff --git a/services/core/java/com/android/server/om/OverlayManagerServiceImpl.java b/services/core/java/com/android/server/om/OverlayManagerServiceImpl.java
index 972c78d..c1b6ccc 100644
--- a/services/core/java/com/android/server/om/OverlayManagerServiceImpl.java
+++ b/services/core/java/com/android/server/om/OverlayManagerServiceImpl.java
@@ -772,24 +772,20 @@
OverlayPaths getEnabledOverlayPaths(@NonNull final String targetPackageName,
final int userId, boolean includeImmutableOverlays) {
- final List<OverlayInfo> overlays = mSettings.getOverlaysForTarget(targetPackageName,
- userId);
- final OverlayPaths.Builder paths = new OverlayPaths.Builder();
- final int n = overlays.size();
- for (int i = 0; i < n; i++) {
- final OverlayInfo oi = overlays.get(i);
+ final var paths = new OverlayPaths.Builder();
+ mSettings.forEachMatching(userId, null, targetPackageName, oi -> {
if (!oi.isEnabled()) {
- continue;
+ return;
}
if (!includeImmutableOverlays && !oi.isMutable) {
- continue;
+ return;
}
if (oi.isFabricated()) {
paths.addNonApkPath(oi.baseCodePath);
} else {
paths.addApkPath(oi.baseCodePath);
}
- }
+ });
return paths.build();
}
diff --git a/services/core/java/com/android/server/om/OverlayManagerSettings.java b/services/core/java/com/android/server/om/OverlayManagerSettings.java
index eae614a..b8b49f3e 100644
--- a/services/core/java/com/android/server/om/OverlayManagerSettings.java
+++ b/services/core/java/com/android/server/om/OverlayManagerSettings.java
@@ -47,6 +47,7 @@
import java.util.List;
import java.util.Objects;
import java.util.Set;
+import java.util.function.Consumer;
import java.util.function.Predicate;
import java.util.stream.Stream;
@@ -182,6 +183,23 @@
return CollectionUtils.map(items, SettingsItem::getOverlayInfo);
}
+ void forEachMatching(int userId, String overlayName, String targetPackageName,
+ @NonNull Consumer<OverlayInfo> consumer) {
+ for (int i = 0, n = mItems.size(); i < n; i++) {
+ final SettingsItem item = mItems.get(i);
+ if (item.getUserId() != userId) {
+ continue;
+ }
+ if (overlayName != null && !item.mOverlay.getPackageName().equals(overlayName)) {
+ continue;
+ }
+ if (targetPackageName != null && !item.mTargetPackageName.equals(targetPackageName)) {
+ continue;
+ }
+ consumer.accept(item.getOverlayInfo());
+ }
+ }
+
ArrayMap<String, List<OverlayInfo>> getOverlaysForUser(final int userId) {
final List<SettingsItem> items = selectWhereUser(userId);
diff --git a/services/core/java/com/android/server/pm/InstallPackageHelper.java b/services/core/java/com/android/server/pm/InstallPackageHelper.java
index db5acc2..a1dac04 100644
--- a/services/core/java/com/android/server/pm/InstallPackageHelper.java
+++ b/services/core/java/com/android/server/pm/InstallPackageHelper.java
@@ -4191,7 +4191,7 @@
+ "; old: " + pkgSetting.getPathString() + " @ "
+ pkgSetting.getVersionCode()
+ "; new: " + parsedPackage.getPath() + " @ "
- + parsedPackage.getPath());
+ + parsedPackage.getLongVersionCode());
}
}
diff --git a/services/core/java/com/android/server/pm/LauncherAppsService.java b/services/core/java/com/android/server/pm/LauncherAppsService.java
index 984a629..295528e 100644
--- a/services/core/java/com/android/server/pm/LauncherAppsService.java
+++ b/services/core/java/com/android/server/pm/LauncherAppsService.java
@@ -38,6 +38,7 @@
import static com.android.server.pm.PackageArchiver.isArchivingEnabled;
+import android.Manifest;
import android.annotation.AppIdInt;
import android.annotation.NonNull;
import android.annotation.Nullable;
@@ -52,6 +53,7 @@
import android.app.PendingIntent;
import android.app.admin.DevicePolicyCache;
import android.app.admin.DevicePolicyManager;
+import android.app.role.RoleManager;
import android.app.usage.UsageStatsManagerInternal;
import android.content.ActivityNotFoundException;
import android.content.BroadcastReceiver;
@@ -84,7 +86,9 @@
import android.content.pm.ShortcutServiceInternal;
import android.content.pm.ShortcutServiceInternal.ShortcutChangeListener;
import android.content.pm.UserInfo;
+import android.content.pm.UserProperties;
import android.graphics.Rect;
+import android.multiuser.Flags;
import android.net.Uri;
import android.os.Binder;
import android.os.Bundle;
@@ -211,6 +215,7 @@
private final Context mContext;
private final UserManager mUm;
+ private final RoleManager mRoleManager;
private final IPackageManager mIPM;
private final UserManagerInternal mUserManagerInternal;
private final UsageStatsManagerInternal mUsageStatsManagerInternal;
@@ -247,6 +252,7 @@
mContext = context;
mIPM = AppGlobals.getPackageManager();
mUm = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
+ mRoleManager = mContext.getSystemService(RoleManager.class);
mUserManagerInternal = Objects.requireNonNull(
LocalServices.getService(UserManagerInternal.class));
mUsageStatsManagerInternal = Objects.requireNonNull(
@@ -451,7 +457,6 @@
private boolean canAccessProfile(int callingUid, int callingUserId, int callingPid,
int targetUserId, String message) {
-
if (targetUserId == callingUserId) return true;
if (injectHasInteractAcrossUsersFullPermission(callingPid, callingUid)) {
return true;
@@ -465,6 +470,14 @@
+ targetUserId + " from " + callingUserId + " not allowed");
return false;
}
+
+ if (areHiddenApisChecksEnabled()
+ && mUm.getUserProperties(UserHandle.of(targetUserId))
+ .getProfileApiVisibility()
+ == UserProperties.PROFILE_API_VISIBILITY_HIDDEN
+ && !canAccessHiddenProfileInjected(callingUid, callingPid)) {
+ return false;
+ }
} finally {
injectRestoreCallingIdentity(ident);
}
@@ -473,10 +486,43 @@
message, true);
}
+ boolean areHiddenApisChecksEnabled() {
+ return android.os.Flags.allowPrivateProfile()
+ && Flags.enableLauncherAppsHiddenProfileChecks()
+ && Flags.enablePermissionToAccessHiddenProfiles();
+ }
+
private void verifyCallingPackage(String callingPackage) {
verifyCallingPackage(callingPackage, injectBinderCallingUid());
}
+ boolean canAccessHiddenProfileInjected(int callingUid, int callingPid) {
+ AndroidPackage callingPackage = mPackageManagerInternal.getPackage(callingUid);
+ if (callingPackage == null) {
+ return false;
+ }
+
+ if (!mRoleManager
+ .getRoleHoldersAsUser(
+ RoleManager.ROLE_HOME, UserHandle.getUserHandleForUid(callingUid))
+ .contains(callingPackage.getPackageName())) {
+ return false;
+ }
+
+ if (mContext.checkPermission(
+ Manifest.permission.ACCESS_HIDDEN_PROFILES_FULL, callingPid, callingUid)
+ == PackageManager.PERMISSION_GRANTED) {
+ return true;
+ }
+
+ // TODO(b/321988638): add option to disable with a flag
+ return mContext.checkPermission(
+ android.Manifest.permission.ACCESS_HIDDEN_PROFILES,
+ callingPid,
+ callingUid)
+ == PackageManager.PERMISSION_GRANTED;
+ }
+
@VisibleForTesting // We override it in unit tests
void verifyCallingPackage(String callingPackage, int callerUid) {
int packageUid = -1;
@@ -1566,11 +1612,6 @@
@Override
public @Nullable LauncherUserInfo getLauncherUserInfo(@NonNull UserHandle user) {
- // Only system launchers, which have access to recents should have access to this API.
- // TODO(b/303803157): Add the new permission check if we decide to have one.
- if (!mActivityTaskManagerInternal.isCallerRecents(Binder.getCallingUid())) {
- throw new SecurityException("Caller is not the recents app");
- }
if (!canAccessProfile(user.getIdentifier(),
"Can't access LauncherUserInfo for another user")) {
return null;
@@ -1585,11 +1626,6 @@
@Override
public List<String> getPreInstalledSystemPackages(UserHandle user) {
- // Only system launchers, which have access to recents should have access to this API.
- // TODO(b/303803157): Update access control for this API to default Launcher app.
- if (!mActivityTaskManagerInternal.isCallerRecents(Binder.getCallingUid())) {
- throw new SecurityException("Caller is not the recents app");
- }
if (!canAccessProfile(user.getIdentifier(),
"Can't access preinstalled packages for another user")) {
return null;
@@ -1610,11 +1646,6 @@
@Override
public @Nullable IntentSender getAppMarketActivityIntent(@NonNull String callingPackage,
@Nullable String packageName, @NonNull UserHandle user) {
- // Only system launchers, which have access to recents should have access to this API.
- // TODO(b/303803157): Update access control for this API to default Launcher app.
- if (!mActivityTaskManagerInternal.isCallerRecents(Binder.getCallingUid())) {
- throw new SecurityException("Caller is not the recents app");
- }
if (!canAccessProfile(user.getIdentifier(),
"Can't access AppMarketActivity for another user")) {
return null;
diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java
index 5575f52..29242aa 100644
--- a/services/core/java/com/android/server/pm/Settings.java
+++ b/services/core/java/com/android/server/pm/Settings.java
@@ -5025,6 +5025,8 @@
pw.println();
if (pkg != null) {
pw.print(prefix); pw.print(" versionName="); pw.println(pkg.getVersionName());
+ pw.print(prefix); pw.print(" hiddenApiEnforcementPolicy="); pw.println(
+ ps.getHiddenApiEnforcementPolicy());
pw.print(prefix); pw.print(" usesNonSdkApi="); pw.println(pkg.isNonSdkApiRequested());
pw.print(prefix); pw.print(" splits="); dumpSplitNames(pw, pkg); pw.println();
final int apkSigningVersion = pkg.getSigningDetails().getSignatureSchemeVersion();
diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java
index 796edde..f222fe9 100644
--- a/services/core/java/com/android/server/pm/UserManagerService.java
+++ b/services/core/java/com/android/server/pm/UserManagerService.java
@@ -1466,7 +1466,7 @@
if (userType != null && !userType.equals(profile.userType)) {
continue;
}
- if (excludeHidden && isProfileHidden(userId)) {
+ if (excludeHidden && isProfileHidden(profile.id)) {
continue;
}
result.add(profile.id);
diff --git a/services/core/java/com/android/server/pm/UserRestrictionsUtils.java b/services/core/java/com/android/server/pm/UserRestrictionsUtils.java
index c94c49d..a9d2858 100644
--- a/services/core/java/com/android/server/pm/UserRestrictionsUtils.java
+++ b/services/core/java/com/android/server/pm/UserRestrictionsUtils.java
@@ -154,7 +154,8 @@
UserManager.DISALLOW_ULTRA_WIDEBAND_RADIO,
UserManager.DISALLOW_CONFIG_DEFAULT_APPS,
UserManager.DISALLOW_NEAR_FIELD_COMMUNICATION_RADIO,
- UserManager.DISALLOW_SIM_GLOBALLY
+ UserManager.DISALLOW_SIM_GLOBALLY,
+ UserManager.DISALLOW_ASSIST_CONTENT
});
public static final Set<String> DEPRECATED_USER_RESTRICTIONS = Sets.newArraySet(
@@ -230,7 +231,8 @@
UserManager.DISALLOW_RUN_IN_BACKGROUND,
UserManager.DISALLOW_UNMUTE_MICROPHONE,
UserManager.DISALLOW_UNMUTE_DEVICE,
- UserManager.DISALLOW_CAMERA
+ UserManager.DISALLOW_CAMERA,
+ UserManager.DISALLOW_ASSIST_CONTENT
);
/**
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java
index 25e4116..bc26018 100644
--- a/services/core/java/com/android/server/policy/PhoneWindowManager.java
+++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -4057,15 +4057,17 @@
case KeyEvent.KEYCODE_SYSRQ:
if (down && repeatCount == 0) {
interceptScreenshotChord(SCREENSHOT_KEY_OTHER, 0 /*pressDelay*/);
+ return true;
}
- return true;
+ break;
case KeyEvent.KEYCODE_ESCAPE:
if (down
&& KeyEvent.metaStateHasNoModifiers(metaState)
&& repeatCount == 0) {
mContext.closeSystemDialogs();
+ return true;
}
- return true;
+ break;
case KeyEvent.KEYCODE_STEM_PRIMARY:
handleUnhandledSystemKey(event);
sendSystemKeyToStatusBarAsync(event);
diff --git a/services/core/java/com/android/server/power/stats/BatteryStatsImpl.java b/services/core/java/com/android/server/power/stats/BatteryStatsImpl.java
index 00036e4..af4da81 100644
--- a/services/core/java/com/android/server/power/stats/BatteryStatsImpl.java
+++ b/services/core/java/com/android/server/power/stats/BatteryStatsImpl.java
@@ -842,7 +842,7 @@
private int mBatteryChargeUah;
private int mBatteryHealth;
private int mBatteryTemperature;
- private int mBatteryVoltageMv = -1;
+ private int mBatteryVoltageMv;
@NonNull
private final BatteryStatsHistory mHistory;
diff --git a/services/core/java/com/android/server/security/KeyAttestationApplicationIdProviderService.java b/services/core/java/com/android/server/security/KeyAttestationApplicationIdProviderService.java
index d5bc912..b69ccb3 100644
--- a/services/core/java/com/android/server/security/KeyAttestationApplicationIdProviderService.java
+++ b/services/core/java/com/android/server/security/KeyAttestationApplicationIdProviderService.java
@@ -14,7 +14,6 @@
* limitations under the License.
*/
-
package com.android.server.security;
import android.content.Context;
@@ -23,6 +22,7 @@
import android.content.pm.PackageManager.NameNotFoundException;
import android.os.Binder;
import android.os.RemoteException;
+import android.os.ServiceSpecificException;
import android.os.UserHandle;
import android.security.keystore.IKeyAttestationApplicationIdProvider;
import android.security.keystore.KeyAttestationApplicationId;
@@ -57,7 +57,10 @@
try {
String[] packageNames = mPackageManager.getPackagesForUid(uid);
if (packageNames == null) {
- throw new RemoteException("No packages for uid");
+ throw new ServiceSpecificException(
+ IKeyAttestationApplicationIdProvider
+ .ERROR_GET_ATTESTATION_APPLICATION_ID_FAILED,
+ "No package for uid: " + uid);
}
int userId = UserHandle.getUserId(uid);
keyAttestationPackageInfos = new KeyAttestationPackageInfo[packageNames.length];
diff --git a/services/core/java/com/android/server/selinux/OWNERS b/services/core/java/com/android/server/selinux/OWNERS
new file mode 100644
index 0000000..6ca4da2
--- /dev/null
+++ b/services/core/java/com/android/server/selinux/OWNERS
@@ -0,0 +1,3 @@
+# Bug component: 1117393
+
+sandrom@google.com
diff --git a/services/core/java/com/android/server/stats/pull/AggregatedMobileDataStatsPuller.java b/services/core/java/com/android/server/stats/pull/AggregatedMobileDataStatsPuller.java
index 0de73a5..b0dcf95 100644
--- a/services/core/java/com/android/server/stats/pull/AggregatedMobileDataStatsPuller.java
+++ b/services/core/java/com/android/server/stats/pull/AggregatedMobileDataStatsPuller.java
@@ -30,7 +30,9 @@
import com.android.internal.annotations.GuardedBy;
import com.android.internal.util.FrameworkStatsLog;
+import com.android.server.selinux.RateLimiter;
+import java.time.Duration;
import java.util.List;
import java.util.Map;
@@ -131,19 +133,36 @@
private final Handler mMobileDataStatsHandler;
+ private final RateLimiter mRateLimiter;
+
AggregatedMobileDataStatsPuller(NetworkStatsManager networkStatsManager) {
+ if (DEBUG) {
+ if (Trace.isTagEnabled(Trace.TRACE_TAG_SYSTEM_SERVER)) {
+ Trace.traceBegin(Trace.TRACE_TAG_SYSTEM_SERVER,
+ TAG + "-AggregatedMobileDataStatsPullerInit");
+ }
+ }
+
+ mRateLimiter = new RateLimiter(/* window= */ Duration.ofSeconds(1));
+
mUidStats = new ArrayMap<>();
mUidPreviousState = new SparseIntArray();
mNetworkStatsManager = networkStatsManager;
- if (mNetworkStatsManager != null) {
- updateNetworkStats(mNetworkStatsManager);
- }
-
HandlerThread mMobileDataStatsHandlerThread = new HandlerThread("MobileDataStatsHandler");
mMobileDataStatsHandlerThread.start();
mMobileDataStatsHandler = new Handler(mMobileDataStatsHandlerThread.getLooper());
+
+ if (mNetworkStatsManager != null) {
+ mMobileDataStatsHandler.post(
+ () -> {
+ updateNetworkStats(mNetworkStatsManager);
+ });
+ }
+ if (DEBUG) {
+ Trace.traceEnd(Trace.TRACE_TAG_SYSTEM_SERVER);
+ }
}
public void noteUidProcessState(int uid, int state, long unusedElapsedRealtime,
@@ -180,18 +199,20 @@
}
private void noteUidProcessStateImpl(int uid, int state) {
- // noteUidProcessStateLocked can be called back to back several times while
- // the updateNetworkStatsLocked loops over several stats for multiple uids
- // and during the first call in a batch of proc state change event it can
- // contain info for uid with unknown previous state yet which can happen due to a few
- // reasons:
- // - app was just started
- // - app was started before the ActivityManagerService
- // as result stats would be created with state == ActivityManager.PROCESS_STATE_UNKNOWN
- if (mNetworkStatsManager != null) {
- updateNetworkStats(mNetworkStatsManager);
- } else {
- Slog.w(TAG, "noteUidProcessStateLocked() can not get mNetworkStatsManager");
+ if (mRateLimiter.tryAcquire()) {
+ // noteUidProcessStateImpl can be called back to back several times while
+ // the updateNetworkStats loops over several stats for multiple uids
+ // and during the first call in a batch of proc state change event it can
+ // contain info for uid with unknown previous state yet which can happen due to a few
+ // reasons:
+ // - app was just started
+ // - app was started before the ActivityManagerService
+ // as result stats would be created with state == ActivityManager.PROCESS_STATE_UNKNOWN
+ if (mNetworkStatsManager != null) {
+ updateNetworkStats(mNetworkStatsManager);
+ } else {
+ Slog.w(TAG, "noteUidProcessStateLocked() can not get mNetworkStatsManager");
+ }
}
mUidPreviousState.put(uid, state);
}
diff --git a/services/core/java/com/android/server/statusbar/StatusBarManagerService.java b/services/core/java/com/android/server/statusbar/StatusBarManagerService.java
index 4955358..fd316ea 100644
--- a/services/core/java/com/android/server/statusbar/StatusBarManagerService.java
+++ b/services/core/java/com/android/server/statusbar/StatusBarManagerService.java
@@ -20,7 +20,9 @@
import static android.Manifest.permission.INTERACT_ACROSS_USERS;
import static android.Manifest.permission.INTERACT_ACROSS_USERS_FULL;
import static android.app.StatusBarManager.DISABLE2_GLOBAL_ACTIONS;
+import static android.app.StatusBarManager.DISABLE2_MASK;
import static android.app.StatusBarManager.DISABLE2_NOTIFICATION_SHADE;
+import static android.app.StatusBarManager.DISABLE_MASK;
import static android.app.StatusBarManager.NAV_BAR_MODE_DEFAULT;
import static android.app.StatusBarManager.NAV_BAR_MODE_KIDS;
import static android.app.StatusBarManager.NavBarMode;
@@ -220,8 +222,9 @@
int what1;
int what2;
IBinder token;
+ private String mReason;
- public DisableRecord(int userId, IBinder token) {
+ DisableRecord(int userId, IBinder token) {
this.userId = userId;
this.token = token;
try {
@@ -234,12 +237,12 @@
@Override
public void binderDied() {
Slog.i(TAG, "binder died for pkg=" + pkg);
- disableForUser(0, token, pkg, userId);
- disable2ForUser(0, token, pkg, userId);
+ StatusBarManager.DisableInfo info = new StatusBarManager.DisableInfo();
+ disableForUser(info, token, pkg, userId, "Binder Died");
token.unlinkToDeath(this, 0);
}
- public void setFlags(int what, int which, String pkg) {
+ public void setFlags(int what, int which, String pkg, String reason) {
switch (which) {
case 1:
what1 = what;
@@ -253,6 +256,7 @@
break;
}
this.pkg = pkg;
+ this.mReason = reason;
}
public int getFlags(int which) {
@@ -271,8 +275,8 @@
@Override
public String toString() {
- return String.format("userId=%d what1=0x%08X what2=0x%08X pkg=%s token=%s",
- userId, what1, what2, pkg, token);
+ return String.format("userId=%d what1=0x%08X what2=0x%08X pkg=%s token=%s reason=%s",
+ userId, what1, what2, pkg, token, mReason);
}
}
@@ -1160,57 +1164,59 @@
return mTracingEnabled;
}
- // TODO(b/117478341): make it aware of multi-display if needed.
+ /**
+ * @deprecated
+ * Disable some features in the status bar.
+ *
+ * This method is deprecated and callers should use
+ * {@link #disableForUser(StatusBarManager.DisableInfo, IBinder, String, int, String)}
+ *
+ * @hide
+ */
+ @Deprecated
@Override
public void disable(int what, IBinder token, String pkg) {
- disableForUser(what, token, pkg, mCurrentUserId);
+ StatusBarManager.DisableInfo info = new StatusBarManager.DisableInfo(what & DISABLE_MASK,
+ what & DISABLE2_MASK);
+ disableForUser(info, token, pkg, mCurrentUserId, null);
}
- // TODO(b/117478341): make it aware of multi-display if needed.
- @Override
- public void disableForUser(int what, IBinder token, String pkg, int userId) {
- enforceStatusBar();
-
- synchronized (mLock) {
- disableLocked(DEFAULT_DISPLAY, userId, what, token, pkg, 1);
- }
- }
-
- // TODO(b/117478341): make it aware of multi-display if needed.
/**
- * Disable additional status bar features. Pass the bitwise-or of the DISABLE2_* flags.
- * To re-enable everything, pass {@link #DISABLE2_NONE}.
+ * @deprecated
+ * Disable some features in the status bar.
*
- * Warning: Only pass DISABLE2_* flags into this function, do not use DISABLE_* flags.
+ * This method is deprecated and callers should use
+ * {@link #disableForUser(StatusBarManager.DisableInfo, IBinder, String, int, String)}
+ *
+ * @hide
*/
+ @Deprecated
@Override
public void disable2(int what, IBinder token, String pkg) {
- disable2ForUser(what, token, pkg, mCurrentUserId);
+ StatusBarManager.DisableInfo info = new StatusBarManager.DisableInfo(what & DISABLE_MASK,
+ what & DISABLE2_MASK);
+ disableForUser(info, token, pkg, mCurrentUserId, null);
}
// TODO(b/117478341): make it aware of multi-display if needed.
- /**
- * Disable additional status bar features for a given user. Pass the bitwise-or of the
- * DISABLE2_* flags. To re-enable everything, pass {@link #DISABLE_NONE}.
- *
- * Warning: Only pass DISABLE2_* flags into this function, do not use DISABLE_* flags.
- */
@Override
- public void disable2ForUser(int what, IBinder token, String pkg, int userId) {
+ public void disableForUser(StatusBarManager.DisableInfo disableInfo, IBinder token, String pkg,
+ int userId, String reason) {
enforceStatusBar();
-
synchronized (mLock) {
- disableLocked(DEFAULT_DISPLAY, userId, what, token, pkg, 2);
+ Pair<Integer, Integer> flags = disableInfo.toFlags();
+ disableLocked(DEFAULT_DISPLAY, userId, flags.first, token, pkg, 1, reason);
+ disableLocked(DEFAULT_DISPLAY, userId, flags.second, token, pkg, 2, reason);
}
}
private void disableLocked(int displayId, int userId, int what, IBinder token, String pkg,
- int whichFlag) {
+ int whichFlag, String reason) {
// It's important that the the callback and the call to mBar get done
// in the same order when multiple threads are calling this function
// so they are paired correctly. The messages on the handler will be
// handled in the order they were enqueued, but will be outside the lock.
- manageDisableListLocked(userId, what, token, pkg, whichFlag);
+ manageDisableListLocked(userId, what, token, pkg, whichFlag, reason);
// Ensure state for the current user is applied, even if passed a non-current user.
final int net1 = gatherDisableActionsLocked(mCurrentUserId, 1);
@@ -1359,7 +1365,7 @@
// also allows calls from window manager which is in this process.
enforceStatusBarService();
- final int unknownFlags = flags & ~StatusBarManager.DISABLE_MASK;
+ final int unknownFlags = flags & ~DISABLE_MASK;
if (unknownFlags != 0) {
Slog.e(TAG, "Unknown disable flags: 0x" + Integer.toHexString(unknownFlags),
new RuntimeException());
@@ -1368,7 +1374,8 @@
if (SPEW) Slog.d(TAG, "setDisableFlags(0x" + Integer.toHexString(flags) + ")");
synchronized (mLock) {
- disableLocked(displayId, mCurrentUserId, flags, mSysUiVisToken, cause, 1);
+ disableLocked(displayId, mCurrentUserId, flags, mSysUiVisToken, cause, 1,
+ "setDisableFlags");
}
}
@@ -2423,7 +2430,8 @@
// ================================================================================
// lock on mDisableRecords
- void manageDisableListLocked(int userId, int what, IBinder token, String pkg, int which) {
+ void manageDisableListLocked(int userId, int what, IBinder token, String pkg, int which,
+ String reason) {
if (SPEW) {
Slog.d(TAG, "manageDisableList userId=" + userId
+ " what=0x" + Integer.toHexString(what) + " pkg=" + pkg);
@@ -2445,7 +2453,7 @@
// Update existing record
if (record != null) {
- record.setFlags(what, which, pkg);
+ record.setFlags(what, which, pkg, reason);
if (record.isEmpty()) {
mDisableRecords.remove(i);
record.token.unlinkToDeath(record, 0);
@@ -2455,7 +2463,7 @@
// Record doesn't exist, so we create a new one
record = new DisableRecord(userId, token);
- record.setFlags(what, which, pkg);
+ record.setFlags(what, which, pkg, reason);
mDisableRecords.add(record);
}
diff --git a/services/core/java/com/android/server/statusbar/StatusBarShellCommand.java b/services/core/java/com/android/server/statusbar/StatusBarShellCommand.java
index d6bf02f..adb55b4 100644
--- a/services/core/java/com/android/server/statusbar/StatusBarShellCommand.java
+++ b/services/core/java/com/android/server/statusbar/StatusBarShellCommand.java
@@ -16,8 +16,6 @@
import static android.app.StatusBarManager.DEFAULT_SETUP_DISABLE2_FLAGS;
import static android.app.StatusBarManager.DEFAULT_SETUP_DISABLE_FLAGS;
-import static android.app.StatusBarManager.DISABLE2_NONE;
-import static android.app.StatusBarManager.DISABLE_NONE;
import android.app.StatusBarManager.DisableInfo;
import android.content.ComponentName;
@@ -27,7 +25,6 @@
import android.os.RemoteException;
import android.os.ShellCommand;
import android.service.quicksettings.TileService;
-import android.util.Pair;
import java.io.PrintWriter;
@@ -144,25 +141,17 @@
String arg = getNextArgRequired();
String pkg = mContext.getPackageName();
boolean disable = Boolean.parseBoolean(arg);
-
- if (disable) {
- mInterface.disable(DEFAULT_SETUP_DISABLE_FLAGS, sToken, pkg);
- mInterface.disable2(DEFAULT_SETUP_DISABLE2_FLAGS, sToken, pkg);
- } else {
- mInterface.disable(DISABLE_NONE, sToken, pkg);
- mInterface.disable2(DISABLE2_NONE, sToken, pkg);
- }
-
+ int userId = Binder.getCallingUserHandle().getIdentifier();
+ DisableInfo info = disable ? new DisableInfo(DEFAULT_SETUP_DISABLE_FLAGS,
+ DEFAULT_SETUP_DISABLE2_FLAGS) : new DisableInfo();
+ mInterface.disableForUser(info, sToken, pkg, userId, "runDisableForSetup");
return 0;
}
private int runSendDisableFlag() {
String pkg = mContext.getPackageName();
- int disable1 = DISABLE_NONE;
- int disable2 = DISABLE2_NONE;
-
+ int userId = Binder.getCallingUserHandle().getIdentifier();
DisableInfo info = new DisableInfo();
-
String arg = getNextArg();
while (arg != null) {
switch (arg) {
@@ -170,7 +159,7 @@
info.setSearchDisabled(true);
break;
case "home":
- info.setNagivationHomeDisabled(true);
+ info.setNavigationHomeDisabled(true);
break;
case "recents":
info.setRecentsDisabled(true);
@@ -197,10 +186,7 @@
arg = getNextArg();
}
- Pair<Integer, Integer> flagPair = info.toFlags();
-
- mInterface.disable(flagPair.first, sToken, pkg);
- mInterface.disable2(flagPair.second, sToken, pkg);
+ mInterface.disableForUser(info, sToken, pkg, userId, "Shell Commands");
return 0;
}
diff --git a/services/core/java/com/android/server/webkit/WebViewUpdateServiceImpl2.java b/services/core/java/com/android/server/webkit/WebViewUpdateServiceImpl2.java
index f4fb1a1..1bc635b 100644
--- a/services/core/java/com/android/server/webkit/WebViewUpdateServiceImpl2.java
+++ b/services/core/java/com/android/server/webkit/WebViewUpdateServiceImpl2.java
@@ -17,6 +17,7 @@
import android.annotation.Nullable;
import android.content.Context;
+import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.Signature;
@@ -31,8 +32,12 @@
import android.webkit.WebViewProviderInfo;
import android.webkit.WebViewProviderResponse;
+import com.android.server.LocalServices;
+import com.android.server.PinnerService;
+
import java.io.PrintWriter;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
/**
@@ -83,6 +88,8 @@
private static final int VALIDITY_INCORRECT_SIGNATURE = 3;
private static final int VALIDITY_NO_LIBRARY_FLAG = 4;
+ private static final String PIN_GROUP = "webview";
+
private final SystemInterface mSystemInterface;
private final Context mContext;
@@ -349,6 +356,39 @@
return newPackage;
}
+ private void pinWebviewIfRequired(ApplicationInfo appInfo) {
+ PinnerService pinnerService = LocalServices.getService(PinnerService.class);
+ if (pinnerService == null) {
+ // This happens in unit tests which do not have services.
+ return;
+ }
+ int webviewPinQuota = pinnerService.getWebviewPinQuota();
+ if (webviewPinQuota <= 0) {
+ return;
+ }
+
+ pinnerService.unpinGroup(PIN_GROUP);
+
+ ArrayList<String> apksToPin = new ArrayList<>();
+ boolean pinSharedFirst = appInfo.metaData.getBoolean("PIN_SHARED_LIBS_FIRST", true);
+ for (String sharedLib : appInfo.sharedLibraryFiles) {
+ apksToPin.add(sharedLib);
+ }
+ apksToPin.add(appInfo.sourceDir);
+ if (!pinSharedFirst) {
+ // We want to prioritize pinning of the native library that is most likely used by apps
+ // which in some build flavors live in the main apk and as a shared library for others.
+ Collections.reverse(apksToPin);
+ }
+ for (String apk : apksToPin) {
+ if (webviewPinQuota <= 0) {
+ break;
+ }
+ int bytesPinned = pinnerService.pinFile(apk, webviewPinQuota, appInfo, PIN_GROUP);
+ webviewPinQuota -= bytesPinned;
+ }
+ }
+
/**
* This is called when we change WebView provider, either when the current provider is
* updated or a new provider is chosen / takes precedence.
@@ -357,6 +397,7 @@
synchronized (mLock) {
mAnyWebViewInstalled = true;
if (mNumRelroCreationsStarted == mNumRelroCreationsFinished) {
+ pinWebviewIfRequired(newPackage.applicationInfo);
mCurrentWebViewPackage = newPackage;
// The relro creations might 'finish' (not start at all) before
diff --git a/services/core/java/com/android/server/wm/ActivityClientController.java b/services/core/java/com/android/server/wm/ActivityClientController.java
index 173e139..efaa467 100644
--- a/services/core/java/com/android/server/wm/ActivityClientController.java
+++ b/services/core/java/com/android/server/wm/ActivityClientController.java
@@ -1066,12 +1066,8 @@
/**
* Alert the client that the Picture-in-Picture state has changed.
*/
- void onPictureInPictureStateChanged(@NonNull ActivityRecord r,
+ void onPictureInPictureUiStateChanged(@NonNull ActivityRecord r,
PictureInPictureUiState pipState) {
- if (!r.inPinnedWindowingMode()) {
- throw new IllegalStateException("Activity is not in PIP mode");
- }
-
try {
mService.getLifecycleManager().scheduleTransactionItem(r.app.getThread(),
PipStateTransactionItem.obtain(r.token, pipState));
diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
index 640c9dc..0e6c06d 100644
--- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
+++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
@@ -3522,10 +3522,15 @@
if (displayContent == null) {
return false;
}
- hasRestrictedWindow = displayContent.forAllWindows(windowState -> {
- return windowState.isOnScreen() && UserManager.isUserTypePrivateProfile(
- getUserManager().getProfileType(windowState.mShowUserId));
- }, true /* traverseTopToBottom */);
+ final long callingIdentity = Binder.clearCallingIdentity();
+ try {
+ hasRestrictedWindow = displayContent.forAllWindows(windowState -> {
+ return windowState.isOnScreen() && UserManager.isUserTypePrivateProfile(
+ getUserManager().getProfileType(windowState.mShowUserId));
+ }, true /* traverseTopToBottom */);
+ } finally {
+ Binder.restoreCallingIdentity(callingIdentity);
+ }
}
return DevicePolicyCache.getInstance().isScreenCaptureAllowed(userId)
&& !hasRestrictedWindow;
@@ -4148,13 +4153,20 @@
}
@Override
- public void onPictureInPictureStateChanged(PictureInPictureUiState pipState) {
- enforceTaskPermission("onPictureInPictureStateChanged");
- final Task rootPinnedTask = mRootWindowContainer.getDefaultTaskDisplayArea()
- .getRootPinnedTask();
- if (rootPinnedTask != null && rootPinnedTask.getTopMostActivity() != null) {
- mWindowManager.mAtmService.mActivityClientController.onPictureInPictureStateChanged(
- rootPinnedTask.getTopMostActivity(), pipState);
+ public void onPictureInPictureUiStateChanged(PictureInPictureUiState pipState) {
+ enforceTaskPermission("onPictureInPictureUiStateChanged");
+ // The PictureInPictureUiState is sent to current pip task if there is any
+ // -or- the top standard task (state like entering PiP does not require a pinned task).
+ final Task task;
+ if (mRootWindowContainer.getDefaultTaskDisplayArea().hasPinnedTask()) {
+ task = mRootWindowContainer.getDefaultTaskDisplayArea().getRootPinnedTask();
+ } else {
+ task = mRootWindowContainer.getDefaultTaskDisplayArea().getRootTask(
+ t -> t.isActivityTypeStandard());
+ }
+ if (task != null && task.getTopMostActivity() != null) {
+ mWindowManager.mAtmService.mActivityClientController.onPictureInPictureUiStateChanged(
+ task.getTopMostActivity(), pipState);
}
}
diff --git a/services/core/java/com/android/server/wm/BackgroundActivityStartController.java b/services/core/java/com/android/server/wm/BackgroundActivityStartController.java
index 688a3b5..b65b2b2 100644
--- a/services/core/java/com/android/server/wm/BackgroundActivityStartController.java
+++ b/services/core/java/com/android/server/wm/BackgroundActivityStartController.java
@@ -67,6 +67,7 @@
import android.widget.Toast;
import com.android.internal.annotations.GuardedBy;
+import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.util.FrameworkStatsLog;
import com.android.internal.util.Preconditions;
import com.android.server.UiThread;
@@ -221,7 +222,7 @@
return activity != null && packageName.equals(activity.getPackageName());
}
- private class BalState {
+ @VisibleForTesting class BalState {
private final String mCallingPackage;
private final int mCallingUid;
@@ -381,7 +382,7 @@
if (uid == 0) {
return "root[debugOnly]";
}
- String name = mService.mContext.getPackageManager().getNameForUid(uid);
+ String name = mService.getPackageManagerInternalLocked().getNameForUid(uid);
if (name == null) {
name = "uid=" + uid;
}
@@ -1195,7 +1196,7 @@
}
}
- private void showToast(String toastText) {
+ @VisibleForTesting void showToast(String toastText) {
UiThread.getHandler().post(() -> Toast.makeText(mService.mContext,
toastText, Toast.LENGTH_LONG).show());
}
@@ -1609,7 +1610,7 @@
return finalVerdict;
}
- private static void writeBalAllowedLog(String activityName, int code, BalState state) {
+ @VisibleForTesting void writeBalAllowedLog(String activityName, int code, BalState state) {
FrameworkStatsLog.write(FrameworkStatsLog.BAL_ALLOWED,
activityName,
code,
diff --git a/services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java b/services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java
index e8a4c1c..ea31e63 100644
--- a/services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java
+++ b/services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java
@@ -222,8 +222,8 @@
@Nullable ImeTracker.Token statsToken) {
boolean targetChanged = isTargetChangedWithinActivity(imeTarget);
mImeRequester = imeTarget;
- // There was still a stats token, so that request presumably failed.
- ImeTracker.forLogging().onFailed(
+ // Cancel the pre-existing stats token, if any.
+ ImeTracker.forLogging().onCancelled(
mImeRequesterStatsToken, ImeTracker.PHASE_WM_SHOW_IME_RUNNER);
mImeRequesterStatsToken = statsToken;
if (targetChanged) {
@@ -300,8 +300,8 @@
mImeRequester = null;
mIsImeLayoutDrawn = false;
mShowImeRunner = null;
- ImeTracker.forLogging().onCancelled(
- mImeRequesterStatsToken, ImeTracker.PHASE_WM_SHOW_IME_RUNNER);
+ ImeTracker.forLogging().onFailed(
+ mImeRequesterStatsToken, ImeTracker.PHASE_WM_ABORT_SHOW_IME_POST_LAYOUT);
mImeRequesterStatsToken = null;
}
diff --git a/services/core/java/com/android/server/wm/TaskLaunchParamsModifier.java b/services/core/java/com/android/server/wm/TaskLaunchParamsModifier.java
index f4e9957..3917868 100644
--- a/services/core/java/com/android/server/wm/TaskLaunchParamsModifier.java
+++ b/services/core/java/com/android/server/wm/TaskLaunchParamsModifier.java
@@ -303,15 +303,9 @@
} else {
if (DEBUG) appendLog("non-freeform-task-display-area");
}
- final boolean isUpdatingExistingTaskWindowingMode = task != null
- && task.getRequestedOverrideWindowingMode() != WINDOWING_MODE_UNDEFINED
- && launchMode != task.getRequestedOverrideWindowingMode();
- if (DEBUG && isUpdatingExistingTaskWindowingMode) {
- appendLog("updating-existing-task-windowing-mode");
- }
// If launch mode matches display windowing mode, let it inherit from display.
outParams.mWindowingMode = launchMode == suggestedDisplayArea.getWindowingMode()
- && !isUpdatingExistingTaskWindowingMode
+ && !shouldUpdateExistingTaskWindowingMode(task, launchMode)
? WINDOWING_MODE_UNDEFINED : launchMode;
if (phase == PHASE_WINDOWING_MODE) {
@@ -403,6 +397,13 @@
return RESULT_CONTINUE;
}
+ private boolean shouldUpdateExistingTaskWindowingMode(Task task, int launchMode) {
+ return task != null
+ && task.getRequestedOverrideWindowingMode() != WINDOWING_MODE_UNDEFINED
+ && task.getRequestedOverrideWindowingMode() != WINDOWING_MODE_PINNED
+ && launchMode != task.getRequestedOverrideWindowingMode();
+ }
+
private TaskDisplayArea getPreferredLaunchTaskDisplayArea(@Nullable Task task,
@Nullable ActivityOptions options, @Nullable ActivityRecord source,
@Nullable LaunchParams currentParams, @Nullable ActivityRecord activityRecord,
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index de8d9f9..631ebcd 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -1511,6 +1511,11 @@
}
}
+ if (type == TYPE_PRESENTATION || type == TYPE_PRIVATE_PRESENTATION) {
+ mDisplayManagerInternal.onPresentation(displayContent.getDisplay().getDisplayId(),
+ /*isShown=*/ true);
+ }
+
if (type == TYPE_PRIVATE_PRESENTATION && !displayContent.isPrivate()) {
ProtoLog.w(WM_ERROR,
"Attempted to add private presentation window to a non-private display. "
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java
index 68dade0..f56e50e 100644
--- a/services/core/java/com/android/server/wm/WindowState.java
+++ b/services/core/java/com/android/server/wm/WindowState.java
@@ -2332,6 +2332,11 @@
dc.mTapExcludedWindows.remove(this);
}
+ if (type == TYPE_PRESENTATION || type == TYPE_PRIVATE_PRESENTATION) {
+ mWmService.mDisplayManagerInternal.onPresentation(dc.getDisplay().getDisplayId(),
+ /*isShown=*/ false);
+ }
+
// Remove this window from mTapExcludeProvidingWindows. If it was not registered, this will
// not do anything.
dc.mTapExcludeProvidingWindows.remove(this);
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java
index 14dc0eb..105dc88 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java
@@ -126,7 +126,6 @@
//TODO(b/295504706) : Speak to security team to decide what to set Policy_Size_Limit
private static final int POLICY_SIZE_LIMIT = 99999;
-
private final DeviceAdminServiceController mDeviceAdminServiceController;
DevicePolicyEngine(
@@ -1385,7 +1384,6 @@
}
}
-
/**
* Removes all local and global policies set by that admin.
*/
@@ -1546,10 +1544,17 @@
return false;
}
+ @NonNull
+ private Set<EnforcingAdmin> getEnforcingAdminsOnUser(int userId) {
+ synchronized (mLock) {
+ return mEnforcingAdmins.contains(userId)
+ ? mEnforcingAdmins.get(userId) : Collections.emptySet();
+ }
+ }
+
/**
* Calculate the size of a policy in bytes
*/
-
private static <V> int sizeOf(PolicyValue<V> value) {
try {
Parcel parcel = Parcel.obtain();
@@ -1576,23 +1581,25 @@
*
* If the policy size limit is reached then send policy result to admin and return false.
*/
-
private <V> boolean handleAdminPolicySizeLimit(PolicyState<V> policyState, EnforcingAdmin admin,
- PolicyValue<V> value, PolicyDefinition policyDefinition, int userId) {
- int currentSize = 0;
+ PolicyValue<V> value, PolicyDefinition<V> policyDefinition, int userId) {
+ int currentAdminPoliciesSize = 0;
+ int existingPolicySize = 0;
if (mAdminPolicySize.contains(admin.getUserId())
&& mAdminPolicySize.get(
admin.getUserId()).containsKey(admin)) {
- currentSize = mAdminPolicySize.get(admin.getUserId()).get(admin);
+ currentAdminPoliciesSize = mAdminPolicySize.get(admin.getUserId()).get(admin);
}
if (policyState.getPoliciesSetByAdmins().containsKey(admin)) {
- currentSize -= sizeOf(policyState.getPoliciesSetByAdmins().get(admin));
+ existingPolicySize = sizeOf(policyState.getPoliciesSetByAdmins().get(admin));
}
int policySize = sizeOf(value);
- if (currentSize + policySize < POLICY_SIZE_LIMIT) {
- increasePolicySizeForAdmin(admin, policySize);
+ if (currentAdminPoliciesSize + policySize - existingPolicySize < POLICY_SIZE_LIMIT) {
+ increasePolicySizeForAdmin(
+ admin, /* policySizeDiff = */ policySize - existingPolicySize);
return true;
} else {
+ Log.w(TAG, "Admin " + admin + "reached max allowed storage limit.");
sendPolicyResultToAdmin(
admin,
policyDefinition,
@@ -1606,8 +1613,7 @@
* Increase the int in mAdminPolicySize representing the size of the sum of all
* active policies for that admin.
*/
-
- private <V> void increasePolicySizeForAdmin(EnforcingAdmin admin, int policySize) {
+ private <V> void increasePolicySizeForAdmin(EnforcingAdmin admin, int policySizeDiff) {
if (!mAdminPolicySize.contains(admin.getUserId())) {
mAdminPolicySize.put(admin.getUserId(), new HashMap<>());
}
@@ -1615,14 +1621,13 @@
mAdminPolicySize.get(admin.getUserId()).put(admin, /* size= */ 0);
}
mAdminPolicySize.get(admin.getUserId()).put(admin,
- mAdminPolicySize.get(admin.getUserId()).get(admin) + policySize);
+ mAdminPolicySize.get(admin.getUserId()).get(admin) + policySizeDiff);
}
/**
* Decrease the int in mAdminPolicySize representing the size of the sum of all
* active policies for that admin.
*/
-
private <V> void decreasePolicySizeForAdmin(PolicyState<V> policyState, EnforcingAdmin admin) {
if (policyState.getPoliciesSetByAdmins().containsKey(admin)) {
mAdminPolicySize.get(admin.getUserId()).put(admin,
@@ -1637,14 +1642,6 @@
}
}
- @NonNull
- private Set<EnforcingAdmin> getEnforcingAdminsOnUser(int userId) {
- synchronized (mLock) {
- return mEnforcingAdmins.contains(userId)
- ? mEnforcingAdmins.get(userId) : Collections.emptySet();
- }
- }
-
public void dump(IndentingPrintWriter pw) {
synchronized (mLock) {
pw.println("Local Policies: ");
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
index 85eac29..b7a2271 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
@@ -48,6 +48,7 @@
import static android.Manifest.permission.MANAGE_DEVICE_POLICY_LOCK;
import static android.Manifest.permission.MANAGE_DEVICE_POLICY_LOCK_CREDENTIALS;
import static android.Manifest.permission.MANAGE_DEVICE_POLICY_LOCK_TASK;
+import static android.Manifest.permission.MANAGE_DEVICE_POLICY_MANAGED_SUBSCRIPTIONS;
import static android.Manifest.permission.MANAGE_DEVICE_POLICY_MICROPHONE;
import static android.Manifest.permission.MANAGE_DEVICE_POLICY_MOBILE_NETWORK;
import static android.Manifest.permission.MANAGE_DEVICE_POLICY_MODIFY_USERS;
@@ -76,6 +77,7 @@
import static android.Manifest.permission.MANAGE_DEVICE_POLICY_TIME;
import static android.Manifest.permission.MANAGE_DEVICE_POLICY_USB_DATA_SIGNALLING;
import static android.Manifest.permission.MANAGE_DEVICE_POLICY_USB_FILE_TRANSFER;
+import static android.Manifest.permission.MANAGE_DEVICE_POLICY_ASSIST_CONTENT;
import static android.Manifest.permission.MANAGE_DEVICE_POLICY_VPN;
import static android.Manifest.permission.MANAGE_DEVICE_POLICY_WALLPAPER;
import static android.Manifest.permission.MANAGE_DEVICE_POLICY_WIFI;
@@ -218,6 +220,10 @@
import static android.app.admin.DevicePolicyResources.Strings.Core.WORK_PROFILE_TELEPHONY_PAUSED_BODY;
import static android.app.admin.DevicePolicyResources.Strings.Core.WORK_PROFILE_TELEPHONY_PAUSED_TITLE;
import static android.app.admin.DevicePolicyResources.Strings.Core.WORK_PROFILE_TELEPHONY_PAUSED_TURN_ON_BUTTON;
+import static android.app.admin.PolicySizeVerifier.MAX_LONG_SUPPORT_MESSAGE_LENGTH;
+import static android.app.admin.PolicySizeVerifier.MAX_ORG_NAME_LENGTH;
+import static android.app.admin.PolicySizeVerifier.MAX_PROFILE_NAME_LENGTH;
+import static android.app.admin.PolicySizeVerifier.MAX_SHORT_SUPPORT_MESSAGE_LENGTH;
import static android.app.admin.ProvisioningException.ERROR_ADMIN_PACKAGE_INSTALLATION_FAILED;
import static android.app.admin.ProvisioningException.ERROR_PRE_CONDITION_FAILED;
import static android.app.admin.ProvisioningException.ERROR_PROFILE_CREATION_FAILED;
@@ -226,9 +232,12 @@
import static android.app.admin.ProvisioningException.ERROR_SET_DEVICE_OWNER_FAILED;
import static android.app.admin.ProvisioningException.ERROR_STARTING_PROFILE_FAILED;
import static android.app.admin.flags.Flags.backupServiceSecurityLogEventEnabled;
+import static android.app.admin.flags.Flags.devicePolicySizeTrackingEnabled;
import static android.app.admin.flags.Flags.dumpsysPolicyEngineMigrationEnabled;
import static android.app.admin.flags.Flags.headlessDeviceOwnerSingleUserEnabled;
import static android.app.admin.flags.Flags.policyEngineMigrationV2Enabled;
+import static android.app.admin.flags.Flags.assistContentUserRestrictionEnabled;
+import static android.app.admin.flags.Flags.securityLogV2Enabled;
import static android.content.Intent.ACTION_MANAGED_PROFILE_AVAILABLE;
import static android.content.Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE;
import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
@@ -329,6 +338,7 @@
import android.app.admin.PasswordMetrics;
import android.app.admin.PasswordPolicy;
import android.app.admin.PolicyKey;
+import android.app.admin.PolicySizeVerifier;
import android.app.admin.PolicyValue;
import android.app.admin.PreferentialNetworkServiceConfig;
import android.app.admin.SecurityLog;
@@ -446,6 +456,7 @@
import android.security.keystore.ParcelableKeyGenParameterSpec;
import android.stats.devicepolicy.DevicePolicyEnums;
import android.telecom.TelecomManager;
+import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.telephony.data.ApnSetting;
@@ -533,7 +544,6 @@
import java.security.cert.X509Certificate;
import java.text.DateFormat;
import java.time.LocalDate;
-import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -546,7 +556,6 @@
import java.util.Locale;
import java.util.Map;
import java.util.Objects;
-import java.util.Queue;
import java.util.Set;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
@@ -584,16 +593,6 @@
private static final int REQUEST_PROFILE_OFF_DEADLINE = 5572;
- // Binary XML serializer doesn't support longer strings
- private static final int MAX_POLICY_STRING_LENGTH = 65535;
- // FrameworkParsingPackageUtils#MAX_FILE_NAME_SIZE, Android packages are used in dir names.
- private static final int MAX_PACKAGE_NAME_LENGTH = 223;
-
- private static final int MAX_PROFILE_NAME_LENGTH = 200;
- private static final int MAX_LONG_SUPPORT_MESSAGE_LENGTH = 20000;
- private static final int MAX_SHORT_SUPPORT_MESSAGE_LENGTH = 200;
- private static final int MAX_ORG_NAME_LENGTH = 200;
-
private static final long MS_PER_DAY = TimeUnit.DAYS.toMillis(1);
private static final long EXPIRATION_GRACE_PERIOD_MS = 5 * MS_PER_DAY; // 5 days, in ms
@@ -3378,9 +3377,10 @@
applyProfileRestrictionsIfDeviceOwnerLocked();
// TODO: Is this the right place to trigger the migration?
- if (shouldMigrateToDevicePolicyEngine()) {
- migratePoliciesToDevicePolicyEngine();
+ if (shouldMigrateV1ToDevicePolicyEngine()) {
+ migrateV1PoliciesToDevicePolicyEngine();
}
+ migratePoliciesToPolicyEngineLocked();
}
maybeStartSecurityLogMonitorOnActivityManagerReady();
break;
@@ -3394,6 +3394,48 @@
}
}
+ @GuardedBy("getLockObject()")
+ private void maybeMigrateSecurityLoggingPolicyLocked() {
+ if (!securityLogV2Enabled() || mOwners.isSecurityLoggingMigrated()) {
+ return;
+ }
+
+ try {
+ migrateSecurityLoggingPolicyInternalLocked();
+ } catch (Exception e) {
+ Slog.e(LOG_TAG, "Failed to properly migrate security logging to policy engine", e);
+ }
+
+ Slog.i(LOG_TAG, "Marking security logging policy migration complete");
+ mOwners.markSecurityLoggingMigrated();
+ }
+
+ @GuardedBy("getLockObject()")
+ private void migrateSecurityLoggingPolicyInternalLocked() {
+ Slog.i(LOG_TAG, "Migrating security logging policy to policy engine");
+ if (!mInjector.securityLogGetLoggingEnabledProperty()) {
+ Slog.i(LOG_TAG, "Security logs not enabled, exiting");
+ return;
+ }
+
+ // Security logging can be enabled either by DO or by COPE PO.
+ final ActiveAdmin admin = getDeviceOwnerOrProfileOwnerOfOrganizationOwnedDeviceLocked();
+ if (admin == null) {
+ Slog.wtf(LOG_TAG, "Security logging is enabled, but no appropriate admin found");
+ return;
+ }
+
+ EnforcingAdmin enforcingAdmin =
+ EnforcingAdmin.createEnterpriseEnforcingAdmin(
+ admin.info.getComponent(),
+ admin.getUserHandle().getIdentifier(),
+ admin);
+ mDevicePolicyEngine.setGlobalPolicy(
+ PolicyDefinition.SECURITY_LOGGING,
+ enforcingAdmin,
+ new BooleanPolicyValue(true));
+ }
+
private void applyManagedSubscriptionsPolicyIfRequired() {
int copeProfileUserId = getOrganizationOwnedProfileUserId();
// This policy is relevant only for COPE devices.
@@ -11533,11 +11575,11 @@
Objects.requireNonNull(agent, "agent is null");
- enforceMaxPackageNameLength(agent.getPackageName());
+ PolicySizeVerifier.enforceMaxPackageNameLength(agent.getPackageName());
final String agentAsString = agent.flattenToString();
- enforceMaxStringLength(agentAsString, "agent name");
+ PolicySizeVerifier.enforceMaxStringLength(agentAsString, "agent name");
if (args != null) {
- enforceMaxStringLength(args, "args");
+ PolicySizeVerifier.enforceMaxStringLength(args, "args");
}
int userHandle = mInjector.userHandleGetCallingUserId();
@@ -11829,7 +11871,7 @@
if (packageList != null) {
for (String pkg : packageList) {
- enforceMaxPackageNameLength(pkg);
+ PolicySizeVerifier.enforceMaxPackageNameLength(pkg);
}
int userId = caller.getUserId();
@@ -12001,7 +12043,7 @@
if (packageList != null) {
for (String pkg : packageList) {
- enforceMaxPackageNameLength(pkg);
+ PolicySizeVerifier.enforceMaxPackageNameLength(pkg);
}
List<InputMethodInfo> enabledImes = mInjector.binderWithCleanCallingIdentity(() ->
@@ -13372,6 +13414,11 @@
UserManager.DISALLOW_THREAD_NETWORK,
new String[]{MANAGE_DEVICE_POLICY_THREAD_NETWORK});
}
+ if (assistContentUserRestrictionEnabled()) {
+ USER_RESTRICTION_PERMISSIONS.put(
+ UserManager.DISALLOW_ASSIST_CONTENT,
+ new String[]{MANAGE_DEVICE_POLICY_ASSIST_CONTENT});
+ }
USER_RESTRICTION_PERMISSIONS.put(
UserManager.DISALLOW_ULTRA_WIDEBAND_RADIO, new String[]{MANAGE_DEVICE_POLICY_NEARBY_COMMUNICATION});
USER_RESTRICTION_PERMISSIONS.put(
@@ -13701,7 +13748,9 @@
return;
}
- enforceMaxStringLength(accountType, "account type");
+ if (!devicePolicySizeTrackingEnabled()) {
+ PolicySizeVerifier.enforceMaxStringLength(accountType, "account type");
+ }
CallerIdentity caller = getCallerIdentity(who, callerPackageName);
synchronized (getLockObject()) {
@@ -14314,7 +14363,7 @@
throws SecurityException {
Objects.requireNonNull(packages, "packages is null");
for (String pkg : packages) {
- enforceMaxPackageNameLength(pkg);
+ PolicySizeVerifier.enforceMaxPackageNameLength(pkg);
}
CallerIdentity caller = getCallerIdentity(who, callerPackageName);
@@ -15064,8 +15113,10 @@
if (statusBarService != null) {
int flags1 = disabled ? STATUS_BAR_DISABLE_MASK : StatusBarManager.DISABLE_NONE;
int flags2 = disabled ? STATUS_BAR_DISABLE2_MASK : StatusBarManager.DISABLE2_NONE;
- statusBarService.disableForUser(flags1, mToken, mContext.getPackageName(), userId);
- statusBarService.disable2ForUser(flags2, mToken, mContext.getPackageName(), userId);
+ StatusBarManager.DisableInfo info = new StatusBarManager.DisableInfo(flags1,
+ flags2);
+ statusBarService.disableForUser(info, mToken, mContext.getPackageName(), userId,
+ "setStatusBarDisabledInternal");
return true;
}
} catch (RemoteException e) {
@@ -15714,6 +15765,11 @@
return enforcingUsers;
}
+ @Override
+ public void enforceSecurityLoggingPolicy(boolean enabled) {
+ enforceLoggingPolicy(enabled);
+ }
+
private List<EnforcingUser> getEnforcingUsers(Set<EnforcingAdmin> admins) {
List<EnforcingUser> enforcingUsers = new ArrayList();
ComponentName deviceOwner = mOwners.getDeviceOwnerComponent();
@@ -15731,6 +15787,20 @@
}
}
+ private void enforceLoggingPolicy(boolean securityLoggingEnabled) {
+ Slogf.i(LOG_TAG, "Enforcing security logging, securityLoggingEnabled: %b",
+ securityLoggingEnabled);
+ SecurityLog.setLoggingEnabledProperty(securityLoggingEnabled);
+ if (securityLoggingEnabled) {
+ mSecurityLogMonitor.start(getSecurityLoggingEnabledUser());
+ synchronized (getLockObject()) {
+ maybePauseDeviceWideLoggingLocked();
+ }
+ } else {
+ mSecurityLogMonitor.stop();
+ }
+ }
+
private Intent createShowAdminSupportIntent(int userId) {
// This method is called with AMS lock held, so don't take DPMS lock
final Intent intent = new Intent(Settings.ACTION_SHOW_ADMIN_SUPPORT_DETAILS);
@@ -16921,7 +16991,7 @@
CallerIdentity caller;
ActiveAdmin admin;
- message = truncateIfLonger(message, MAX_SHORT_SUPPORT_MESSAGE_LENGTH);
+ message = PolicySizeVerifier.truncateIfLonger(message, MAX_SHORT_SUPPORT_MESSAGE_LENGTH);
if (isPermissionCheckFlagEnabled()) {
caller = getCallerIdentity(who, callerPackageName);
@@ -16984,7 +17054,7 @@
return;
}
- message = truncateIfLonger(message, MAX_LONG_SUPPORT_MESSAGE_LENGTH);
+ message = PolicySizeVerifier.truncateIfLonger(message, MAX_LONG_SUPPORT_MESSAGE_LENGTH);
Objects.requireNonNull(who, "ComponentName is null");
final CallerIdentity caller = getCallerIdentity(who);
@@ -17150,7 +17220,7 @@
Preconditions.checkCallAuthorization(isDeviceOwner(caller) || isProfileOwner(caller));
}
- text = truncateIfLonger(text, MAX_ORG_NAME_LENGTH);
+ text = PolicySizeVerifier.truncateIfLonger(text, MAX_ORG_NAME_LENGTH);
synchronized (getLockObject()) {
if (!isPermissionCheckFlagEnabled()) {
@@ -17436,7 +17506,7 @@
}
for (String id : ids) {
Preconditions.checkArgument(!TextUtils.isEmpty(id), "ids must not have empty string");
- enforceMaxStringLength(id, "affiliation id");
+ PolicySizeVerifier.enforceMaxStringLength(id, "affiliation id");
}
final Set<String> affiliationIds = new ArraySet<>(ids);
@@ -17579,19 +17649,32 @@
}
@Override
- public void setSecurityLoggingEnabled(ComponentName admin, String packageName,
+ public void setSecurityLoggingEnabled(ComponentName who, String packageName,
boolean enabled) {
if (!mHasFeature) {
return;
}
- final CallerIdentity caller = getCallerIdentity(admin, packageName);
+ final CallerIdentity caller = getCallerIdentity(who, packageName);
- synchronized (getLockObject()) {
- if (isPermissionCheckFlagEnabled()) {
- enforcePermission(MANAGE_DEVICE_POLICY_SECURITY_LOGGING, caller.getPackageName(),
- UserHandle.USER_ALL);
+ if (securityLogV2Enabled()) {
+ EnforcingAdmin admin = enforcePermissionAndGetEnforcingAdmin(
+ who,
+ MANAGE_DEVICE_POLICY_SECURITY_LOGGING,
+ caller.getPackageName(),
+ caller.getUserId());
+ if (enabled) {
+ mDevicePolicyEngine.setGlobalPolicy(
+ PolicyDefinition.SECURITY_LOGGING,
+ admin,
+ new BooleanPolicyValue(true));
} else {
- if (admin != null) {
+ mDevicePolicyEngine.removeGlobalPolicy(
+ PolicyDefinition.SECURITY_LOGGING,
+ admin);
+ }
+ } else {
+ synchronized (getLockObject()) {
+ if (who != null) {
Preconditions.checkCallAuthorization(
isProfileOwnerOfOrganizationOwnedDevice(caller)
|| isDefaultDeviceOwner(caller));
@@ -17600,17 +17683,17 @@
Preconditions.checkCallAuthorization(
isCallerDelegate(caller, DELEGATION_SECURITY_LOGGING));
}
- }
- if (enabled == mInjector.securityLogGetLoggingEnabledProperty()) {
- return;
- }
- mInjector.securityLogSetLoggingEnabledProperty(enabled);
- if (enabled) {
- mSecurityLogMonitor.start(getSecurityLoggingEnabledUser());
- maybePauseDeviceWideLoggingLocked();
- } else {
- mSecurityLogMonitor.stop();
+ if (enabled == mInjector.securityLogGetLoggingEnabledProperty()) {
+ return;
+ }
+ mInjector.securityLogSetLoggingEnabledProperty(enabled);
+ if (enabled) {
+ mSecurityLogMonitor.start(getSecurityLoggingEnabledUser());
+ maybePauseDeviceWideLoggingLocked();
+ } else {
+ mSecurityLogMonitor.stop();
+ }
}
}
DevicePolicyEventLogger
@@ -17626,26 +17709,36 @@
return false;
}
- synchronized (getLockObject()) {
- if (!isSystemUid(getCallerIdentity())) {
- final CallerIdentity caller = getCallerIdentity(admin, packageName);
- if (isPermissionCheckFlagEnabled()) {
- enforcePermission(MANAGE_DEVICE_POLICY_SECURITY_LOGGING,
- caller.getPackageName(), UserHandle.USER_ALL);
- } else {
- if (admin != null) {
- Preconditions.checkCallAuthorization(
- isProfileOwnerOfOrganizationOwnedDevice(caller)
- || isDefaultDeviceOwner(caller));
- } else {
- // A delegate app passes a null admin component, which is expected
- Preconditions.checkCallAuthorization(
- isCallerDelegate(caller, DELEGATION_SECURITY_LOGGING));
- }
- }
- }
+ final CallerIdentity caller = getCallerIdentity(admin, packageName);
+ if (isSystemUid(caller)) {
+ // Settings uses this for privacy transparency.
+ // TODO: create a separate @hidden API for settings.
return mInjector.securityLogGetLoggingEnabledProperty();
}
+
+ if (securityLogV2Enabled()) {
+ final EnforcingAdmin enforcingAdmin = enforcePermissionAndGetEnforcingAdmin(
+ admin,
+ MANAGE_DEVICE_POLICY_SECURITY_LOGGING,
+ caller.getPackageName(),
+ caller.getUserId());
+ final Boolean policy = mDevicePolicyEngine.getGlobalPolicySetByAdmin(
+ PolicyDefinition.SECURITY_LOGGING, enforcingAdmin);
+ return Boolean.TRUE.equals(policy);
+ } else {
+ synchronized (getLockObject()) {
+ if (admin != null) {
+ Preconditions.checkCallAuthorization(
+ isProfileOwnerOfOrganizationOwnedDevice(caller)
+ || isDefaultDeviceOwner(caller));
+ } else {
+ // A delegate app passes a null admin component, which is expected
+ Preconditions.checkCallAuthorization(
+ isCallerDelegate(caller, DELEGATION_SECURITY_LOGGING));
+ }
+ return mInjector.securityLogGetLoggingEnabledProperty();
+ }
+ }
}
private void recordSecurityLogRetrievalTime() {
@@ -17720,17 +17813,32 @@
}
final CallerIdentity caller = getCallerIdentity(admin, packageName);
- if (isPermissionCheckFlagEnabled()) {
- Preconditions.checkCallAuthorization(isOrganizationOwnedDeviceWithManagedProfile()
- || areAllUsersAffiliatedWithDeviceLocked());
- enforcePermission(MANAGE_DEVICE_POLICY_SECURITY_LOGGING, caller.getPackageName(),
- UserHandle.USER_ALL);
+ if (securityLogV2Enabled()) {
+ EnforcingAdmin enforcingAdmin = enforcePermissionAndGetEnforcingAdmin(
+ admin,
+ MANAGE_DEVICE_POLICY_SECURITY_LOGGING,
+ caller.getPackageName(),
+ caller.getUserId());
+
+ synchronized (getLockObject()) {
+ Preconditions.checkCallAuthorization(isOrganizationOwnedDeviceWithManagedProfile()
+ || areAllUsersAffiliatedWithDeviceLocked());
+ }
+
+ Boolean policy = mDevicePolicyEngine.getGlobalPolicySetByAdmin(
+ PolicyDefinition.SECURITY_LOGGING, enforcingAdmin);
+
+ if (!Boolean.TRUE.equals(policy)) {
+ Slogf.e(LOG_TAG, "%s hasn't enabled security logging but tries to retrieve logs",
+ caller.getPackageName());
+ return null;
+ }
} else {
if (admin != null) {
Preconditions.checkCallAuthorization(
isProfileOwnerOfOrganizationOwnedDevice(caller)
- || isDefaultDeviceOwner(caller));
+ || isDefaultDeviceOwner(caller));
} else {
// A delegate app passes a null admin component, which is expected
Preconditions.checkCallAuthorization(
@@ -17738,10 +17846,10 @@
}
Preconditions.checkCallAuthorization(isOrganizationOwnedDeviceWithManagedProfile()
|| areAllUsersAffiliatedWithDeviceLocked());
- }
- if (!mInjector.securityLogGetLoggingEnabledProperty()) {
- return null;
+ if (!mInjector.securityLogGetLoggingEnabledProperty()) {
+ return null;
+ }
}
recordSecurityLogRetrievalTime();
@@ -17751,7 +17859,7 @@
.createEvent(DevicePolicyEnums.RETRIEVE_SECURITY_LOGS)
.setAdmin(caller.getPackageName())
.write();
- return logs != null ? new ParceledListSlice<SecurityEvent>(logs) : null;
+ return logs != null ? new ParceledListSlice<>(logs) : null;
}
@Override
@@ -18983,7 +19091,7 @@
Preconditions.checkArgument(!admin.getPackageName().equals(target.getPackageName()),
"Provided administrator and target have the same package name.");
if (bundle != null) {
- enforceMaxStringLength(bundle, "bundle");
+ PolicySizeVerifier.enforceMaxStringLength(bundle, "bundle");
}
final CallerIdentity caller = getCallerIdentity(admin);
@@ -22330,6 +22438,7 @@
MANAGE_DEVICE_POLICY_CAMERA,
MANAGE_DEVICE_POLICY_CERTIFICATES,
MANAGE_DEVICE_POLICY_COMMON_CRITERIA_MODE,
+ MANAGE_DEVICE_POLICY_CONTENT_PROTECTION,
MANAGE_DEVICE_POLICY_DEBUGGING_FEATURES,
MANAGE_DEVICE_POLICY_DEFAULT_SMS,
MANAGE_DEVICE_POLICY_DISPLAY,
@@ -22343,6 +22452,7 @@
MANAGE_DEVICE_POLICY_LOCK,
MANAGE_DEVICE_POLICY_LOCK_CREDENTIALS,
MANAGE_DEVICE_POLICY_LOCK_TASK,
+ MANAGE_DEVICE_POLICY_MANAGED_SUBSCRIPTIONS,
MANAGE_DEVICE_POLICY_MICROPHONE,
MANAGE_DEVICE_POLICY_MOBILE_NETWORK,
MANAGE_DEVICE_POLICY_MODIFY_USERS,
@@ -22413,6 +22523,7 @@
MANAGE_DEVICE_POLICY_CALLS,
MANAGE_DEVICE_POLICY_CAMERA,
MANAGE_DEVICE_POLICY_CERTIFICATES,
+ MANAGE_DEVICE_POLICY_CONTENT_PROTECTION,
MANAGE_DEVICE_POLICY_DEBUGGING_FEATURES,
MANAGE_DEVICE_POLICY_DISPLAY,
MANAGE_DEVICE_POLICY_FACTORY_RESET,
@@ -22423,7 +22534,7 @@
MANAGE_DEVICE_POLICY_LOCATION,
MANAGE_DEVICE_POLICY_LOCK,
MANAGE_DEVICE_POLICY_LOCK_CREDENTIALS,
- MANAGE_DEVICE_POLICY_CERTIFICATES,
+ MANAGE_DEVICE_POLICY_MANAGED_SUBSCRIPTIONS,
MANAGE_DEVICE_POLICY_NEARBY_COMMUNICATION,
MANAGE_DEVICE_POLICY_ORGANIZATION_IDENTITY,
MANAGE_DEVICE_POLICY_PACKAGE_STATE,
@@ -23228,38 +23339,6 @@
}
}
- private EnforcingAdmin enforceCanCallContentProtectionLocked(
- ComponentName who, String callerPackageName) {
- CallerIdentity caller = getCallerIdentity(who, callerPackageName);
- final int userId = caller.getUserId();
-
- EnforcingAdmin enforcingAdmin = enforcePermissionAndGetEnforcingAdmin(
- who,
- MANAGE_DEVICE_POLICY_CONTENT_PROTECTION,
- caller.getPackageName(),
- userId
- );
- if ((isDeviceOwner(caller) || isProfileOwner(caller))
- && !canDPCManagedUserUseLockTaskLocked(userId)) {
- throw new SecurityException(
- "User " + userId + " is not allowed to use content protection");
- }
- return enforcingAdmin;
- }
-
- private void enforceCanQueryContentProtectionLocked(
- ComponentName who, String callerPackageName) {
- CallerIdentity caller = getCallerIdentity(who, callerPackageName);
- final int userId = caller.getUserId();
-
- enforceCanQuery(MANAGE_DEVICE_POLICY_CONTENT_PROTECTION, caller.getPackageName(), userId);
- if ((isDeviceOwner(caller) || isProfileOwner(caller))
- && !canDPCManagedUserUseLockTaskLocked(userId)) {
- throw new SecurityException(
- "User " + userId + " is not allowed to use content protection");
- }
- }
-
@Override
public void setContentProtectionPolicy(
ComponentName who, String callerPackageName, @ContentProtectionPolicy int policy)
@@ -23269,24 +23348,21 @@
}
CallerIdentity caller = getCallerIdentity(who, callerPackageName);
+ int userId = caller.getUserId();
checkCanExecuteOrThrowUnsafe(DevicePolicyManager.OPERATION_SET_CONTENT_PROTECTION_POLICY);
-
- EnforcingAdmin enforcingAdmin;
- synchronized (getLockObject()) {
- enforcingAdmin = enforceCanCallContentProtectionLocked(who, caller.getPackageName());
- }
+ EnforcingAdmin enforcingAdmin =
+ enforcePermissionAndGetEnforcingAdmin(
+ who, MANAGE_DEVICE_POLICY_CONTENT_PROTECTION, callerPackageName, userId);
if (policy == CONTENT_PROTECTION_DISABLED) {
mDevicePolicyEngine.removeLocalPolicy(
- PolicyDefinition.CONTENT_PROTECTION,
- enforcingAdmin,
- caller.getUserId());
+ PolicyDefinition.CONTENT_PROTECTION, enforcingAdmin, userId);
} else {
mDevicePolicyEngine.setLocalPolicy(
PolicyDefinition.CONTENT_PROTECTION,
enforcingAdmin,
new IntegerPolicyValue(policy),
- caller.getUserId());
+ userId);
}
}
@@ -23298,13 +23374,11 @@
}
CallerIdentity caller = getCallerIdentity(who, callerPackageName);
- final int userHandle = caller.getUserId();
+ int userId = caller.getUserId();
+ enforceCanQuery(MANAGE_DEVICE_POLICY_CONTENT_PROTECTION, callerPackageName, userId);
- synchronized (getLockObject()) {
- enforceCanQueryContentProtectionLocked(who, caller.getPackageName());
- }
- Integer policy = mDevicePolicyEngine.getResolvedPolicy(
- PolicyDefinition.CONTENT_PROTECTION, userHandle);
+ Integer policy =
+ mDevicePolicyEngine.getResolvedPolicy(PolicyDefinition.CONTENT_PROTECTION, userId);
if (policy == null) {
return CONTENT_PROTECTION_DISABLED;
} else {
@@ -23504,10 +23578,10 @@
hasCallingOrSelfPermission(MANAGE_PROFILE_AND_DEVICE_OWNERS));
return mInjector.binderWithCleanCallingIdentity(() -> {
boolean canForceMigration = forceMigration && !hasNonTestOnlyActiveAdmins();
- if (!canForceMigration && !shouldMigrateToDevicePolicyEngine()) {
+ if (!canForceMigration && !shouldMigrateV1ToDevicePolicyEngine()) {
return false;
}
- return migratePoliciesToDevicePolicyEngine();
+ return migrateV1PoliciesToDevicePolicyEngine();
});
}
@@ -23530,14 +23604,15 @@
});
}
- private boolean shouldMigrateToDevicePolicyEngine() {
+ private boolean shouldMigrateV1ToDevicePolicyEngine() {
return mInjector.binderWithCleanCallingIdentity(() -> !mOwners.isMigratedToPolicyEngine());
}
/**
+ * Migrates the initial set of policies to use policy engine.
* @return {@code true} if policies were migrated successfully, {@code false} otherwise.
*/
- private boolean migratePoliciesToDevicePolicyEngine() {
+ private boolean migrateV1PoliciesToDevicePolicyEngine() {
return mInjector.binderWithCleanCallingIdentity(() -> {
try {
synchronized (getLockObject()) {
@@ -23564,6 +23639,14 @@
});
}
+ /**
+ * Migrates the rest of policies to use policy engine.
+ */
+ @GuardedBy("getLockObject()")
+ private void migratePoliciesToPolicyEngineLocked() {
+ maybeMigrateSecurityLoggingPolicyLocked();
+ }
+
private void migrateAutoTimezonePolicy() {
Slogf.i(LOG_TAG, "Skipping Migration of AUTO_TIMEZONE policy to device policy engine,"
+ "as no way to identify if the value was set by the admin or the user.");
@@ -23898,53 +23981,6 @@
});
}
- /**
- * Truncates char sequence to maximum length, nulls are ignored.
- */
- private static CharSequence truncateIfLonger(CharSequence input, int maxLength) {
- return input == null || input.length() <= maxLength
- ? input
- : input.subSequence(0, maxLength);
- }
-
- /**
- * Throw if string argument is too long to be serialized.
- */
- private static void enforceMaxStringLength(String str, String argName) {
- Preconditions.checkArgument(
- str.length() <= MAX_POLICY_STRING_LENGTH, argName + " loo long");
- }
-
- private static void enforceMaxPackageNameLength(String pkg) {
- Preconditions.checkArgument(
- pkg.length() <= MAX_PACKAGE_NAME_LENGTH, "Package name too long");
- }
-
- /**
- * Throw if persistable bundle contains any string that we can't serialize.
- */
- private static void enforceMaxStringLength(PersistableBundle bundle, String argName) {
- // Persistable bundles can have other persistable bundles as values, traverse with a queue.
- Queue<PersistableBundle> queue = new ArrayDeque<>();
- queue.add(bundle);
- while (!queue.isEmpty()) {
- PersistableBundle current = queue.remove();
- for (String key : current.keySet()) {
- enforceMaxStringLength(key, "key in " + argName);
- Object value = current.get(key);
- if (value instanceof String) {
- enforceMaxStringLength((String) value, "string value in " + argName);
- } else if (value instanceof String[]) {
- for (String str : (String[]) value) {
- enforceMaxStringLength(str, "string value in " + argName);
- }
- } else if (value instanceof PersistableBundle) {
- queue.add((PersistableBundle) value);
- }
- }
- }
- }
-
private ActiveAdmin getActiveAdminForCaller(@Nullable ComponentName who,
CallerIdentity caller) {
synchronized (getLockObject()) {
@@ -24012,4 +24048,32 @@
Slogf.d(LOG_TAG, "Unable to get stacktrace");
}
}
+
+ @Override
+ public int[] getSubscriptionIds(String callerPackageName) {
+ final CallerIdentity caller = getCallerIdentity(callerPackageName);
+ enforceCanQuery(
+ MANAGE_DEVICE_POLICY_MANAGED_SUBSCRIPTIONS,
+ caller.getPackageName(),
+ caller.getUserId());
+ return getSubscriptionIdsInternal(callerPackageName).toArray();
+ }
+
+ private IntArray getSubscriptionIdsInternal(String callerPackageName) {
+ SubscriptionManager subscriptionManager =
+ mContext.getSystemService(SubscriptionManager.class);
+ return mInjector.binderWithCleanCallingIdentity(() -> {
+ IntArray adminOwnedSubscriptions = new IntArray();
+ List<SubscriptionInfo> subs = subscriptionManager.getAvailableSubscriptionInfoList();
+ int subCount = (subs != null) ? subs.size() : 0;
+ for (int i = 0; i < subCount; i++) {
+ SubscriptionInfo sub = subs.get(i);
+ if (sub.getGroupOwner()
+ .equals(callerPackageName)) {
+ adminOwnedSubscriptions.add(sub.getSubscriptionId());
+ }
+ }
+ return adminOwnedSubscriptions;
+ });
+ }
}
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/Owners.java b/services/devicepolicy/java/com/android/server/devicepolicy/Owners.java
index bb275e45..c5a9888 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/Owners.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/Owners.java
@@ -616,6 +616,19 @@
}
}
+ void markSecurityLoggingMigrated() {
+ synchronized (mData) {
+ mData.mSecurityLoggingMigrated = true;
+ mData.writeDeviceOwner();
+ }
+ }
+
+ boolean isSecurityLoggingMigrated() {
+ synchronized (mData) {
+ return mData.mSecurityLoggingMigrated;
+ }
+ }
+
@GuardedBy("mData")
void pushToAppOpsLocked() {
if (!mSystemReady) {
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/OwnersData.java b/services/devicepolicy/java/com/android/server/devicepolicy/OwnersData.java
index 37d4f95..d9fef10 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/OwnersData.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/OwnersData.java
@@ -16,6 +16,7 @@
package com.android.server.devicepolicy;
import static android.app.admin.DevicePolicyManager.DEVICE_OWNER_TYPE_DEFAULT;
+import static android.app.admin.flags.Flags.securityLogV2Enabled;
import android.annotation.Nullable;
import android.app.admin.SystemUpdateInfo;
@@ -86,6 +87,7 @@
private static final String ATTR_DEVICE_OWNER_TYPE_VALUE = "value";
private static final String ATTR_MIGRATED_TO_POLICY_ENGINE = "migratedToPolicyEngine";
+ private static final String ATTR_SECURITY_LOG_MIGRATED = "securityLogMigrated";
// Internal state for the device owner package.
OwnerInfo mDeviceOwner;
@@ -113,6 +115,7 @@
private final PolicyPathProvider mPathProvider;
boolean mMigratedToPolicyEngine = false;
+ boolean mSecurityLoggingMigrated = false;
OwnersData(PolicyPathProvider pathProvider) {
mPathProvider = pathProvider;
@@ -397,6 +400,9 @@
out.startTag(null, TAG_POLICY_ENGINE_MIGRATION);
out.attributeBoolean(null, ATTR_MIGRATED_TO_POLICY_ENGINE, mMigratedToPolicyEngine);
+ if (securityLogV2Enabled()) {
+ out.attributeBoolean(null, ATTR_SECURITY_LOG_MIGRATED, mSecurityLoggingMigrated);
+ }
out.endTag(null, TAG_POLICY_ENGINE_MIGRATION);
}
@@ -457,6 +463,8 @@
case TAG_POLICY_ENGINE_MIGRATION:
mMigratedToPolicyEngine = parser.getAttributeBoolean(
null, ATTR_MIGRATED_TO_POLICY_ENGINE, false);
+ mSecurityLoggingMigrated = securityLogV2Enabled()
+ && parser.getAttributeBoolean(null, ATTR_SECURITY_LOG_MIGRATED, false);
break;
default:
Slog.e(TAG, "Unexpected tag: " + tag);
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/PolicyDefinition.java b/services/devicepolicy/java/com/android/server/devicepolicy/PolicyDefinition.java
index 5996e42..3474db3 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/PolicyDefinition.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/PolicyDefinition.java
@@ -134,6 +134,13 @@
permissionName));
}
+ static PolicyDefinition<Boolean> SECURITY_LOGGING = new PolicyDefinition<>(
+ new NoArgsPolicyKey(DevicePolicyIdentifiers.SECURITY_LOGGING_POLICY),
+ TRUE_MORE_RESTRICTIVE,
+ POLICY_FLAG_GLOBAL_ONLY_POLICY,
+ PolicyEnforcerCallbacks::enforceSecurityLogging,
+ new BooleanPolicySerializer());
+
static PolicyDefinition<LockTaskPolicy> LOCK_TASK = new PolicyDefinition<>(
new NoArgsPolicyKey(DevicePolicyIdentifiers.LOCK_TASK_POLICY),
new TopPriority<>(List.of(
@@ -356,6 +363,8 @@
POLICY_DEFINITIONS.put(DevicePolicyIdentifiers.AUTO_TIMEZONE_POLICY, AUTO_TIMEZONE);
POLICY_DEFINITIONS.put(DevicePolicyIdentifiers.PERMISSION_GRANT_POLICY,
GENERIC_PERMISSION_GRANT);
+ POLICY_DEFINITIONS.put(DevicePolicyIdentifiers.SECURITY_LOGGING_POLICY,
+ SECURITY_LOGGING);
POLICY_DEFINITIONS.put(DevicePolicyIdentifiers.LOCK_TASK_POLICY, LOCK_TASK);
POLICY_DEFINITIONS.put(DevicePolicyIdentifiers.USER_CONTROL_DISABLED_PACKAGES_POLICY,
USER_CONTROLLED_DISABLED_PACKAGES);
@@ -487,6 +496,7 @@
USER_RESTRICTION_FLAGS.put(
UserManager.DISALLOW_SIM_GLOBALLY,
POLICY_FLAG_GLOBAL_ONLY_POLICY);
+ USER_RESTRICTION_FLAGS.put(UserManager.DISALLOW_ASSIST_CONTENT, /* flags= */ 0);
for (String key : USER_RESTRICTION_FLAGS.keySet()) {
createAndAddUserRestrictionPolicyDefinition(key, USER_RESTRICTION_FLAGS.get(key));
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/PolicyEnforcerCallbacks.java b/services/devicepolicy/java/com/android/server/devicepolicy/PolicyEnforcerCallbacks.java
index 506dbe8..4aaefa6 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/PolicyEnforcerCallbacks.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/PolicyEnforcerCallbacks.java
@@ -21,6 +21,7 @@
import android.app.AppGlobals;
import android.app.admin.DevicePolicyCache;
import android.app.admin.DevicePolicyManager;
+import android.app.admin.DevicePolicyManagerInternal;
import android.app.admin.IntentFilterPolicyKey;
import android.app.admin.LockTaskPolicy;
import android.app.admin.PackagePermissionPolicyKey;
@@ -127,6 +128,14 @@
}
}
+ static boolean enforceSecurityLogging(
+ @Nullable Boolean value, @NonNull Context context, int userId,
+ @NonNull PolicyKey policyKey) {
+ final var dpmi = LocalServices.getService(DevicePolicyManagerInternal.class);
+ dpmi.enforceSecurityLoggingPolicy(Boolean.TRUE.equals(value));
+ return true;
+ }
+
static boolean setLockTask(
@Nullable LockTaskPolicy policy, @NonNull Context context, int userId) {
List<String> packages = Collections.emptyList();
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/SecurityLogMonitor.java b/services/devicepolicy/java/com/android/server/devicepolicy/SecurityLogMonitor.java
index 939a3dc..7a4454b 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/SecurityLogMonitor.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/SecurityLogMonitor.java
@@ -101,6 +101,10 @@
/** Minimum time between forced fetch attempts. */
private static final long FORCE_FETCH_THROTTLE_NS = TimeUnit.SECONDS.toNanos(10);
+ /**
+ * Monitor thread is not null iff SecurityLogMonitor is running, i.e. started and not stopped.
+ * Pausing doesn't change it.
+ */
@GuardedBy("mLock")
private Thread mMonitorThread = null;
@GuardedBy("mLock")
@@ -147,7 +151,6 @@
void start(int enabledUser) {
Slog.i(TAG, "Starting security logging for user " + enabledUser);
mEnabledUser = enabledUser;
- SecurityLog.writeEvent(SecurityLog.TAG_LOGGING_STARTED);
mLock.lock();
try {
if (mMonitorThread == null) {
@@ -160,6 +163,11 @@
mMonitorThread = new Thread(this);
mMonitorThread.start();
+
+ SecurityLog.writeEvent(SecurityLog.TAG_LOGGING_STARTED);
+ Slog.i(TAG, "Security log monitor thread started");
+ } else {
+ Slog.i(TAG, "Security log monitor thread is already running");
}
} finally {
mLock.unlock();
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java
index c55d709..1d89d17 100644
--- a/services/java/com/android/server/SystemServer.java
+++ b/services/java/com/android/server/SystemServer.java
@@ -48,7 +48,6 @@
import android.content.res.Configuration;
import android.content.res.Resources.Theme;
import android.credentials.CredentialManager;
-import android.credentials.flags.Flags;
import android.database.sqlite.SQLiteCompatibilityWalFlags;
import android.database.sqlite.SQLiteGlobal;
import android.graphics.GraphicsStatsService;
@@ -464,6 +463,11 @@
private static final String DEVICE_LOCK_APEX_PATH =
"/apex/com.android.devicelock/javalib/service-devicelock.jar";
+ private static final String PROFILING_SERVICE_LIFECYCLE_CLASS =
+ "android.os.profiling.ProfilingService$Lifecycle";
+ private static final String PROFILING_SERVICE_JAR_PATH =
+ "/apex/com.android.profiling/javalib/service-profiling.jar";
+
private static final String TETHERING_CONNECTOR_CLASS = "android.net.ITetheringConnector";
private static final String PERSISTENT_DATA_BLOCK_PROP = "ro.frp.pst";
@@ -2774,6 +2778,14 @@
mSystemServiceManager.startService(ON_DEVICE_PERSONALIZATION_SYSTEM_SERVICE_CLASS);
t.traceEnd();
+ // Profiling
+ if (android.server.Flags.telemetryApisService()) {
+ t.traceBegin("StartProfilingCompanion");
+ mSystemServiceManager.startServiceFromJar(PROFILING_SERVICE_LIFECYCLE_CLASS,
+ PROFILING_SERVICE_JAR_PATH);
+ t.traceEnd();
+ }
+
if (safeMode) {
mActivityManagerService.enterSafeMode();
}
@@ -3002,7 +3014,8 @@
t.traceEnd();
}
- if (com.android.server.notification.Flags.sensitiveNotificationAppProtection()) {
+ if (com.android.server.notification.Flags.sensitiveNotificationAppProtection()
+ || android.view.flags.Flags.sensitiveContentAppProtection()) {
t.traceBegin("StartSensitiveContentProtectionManager");
mSystemServiceManager.startService(SensitiveContentProtectionManagerService.class);
t.traceEnd();
diff --git a/services/permission/java/com/android/server/permission/access/permission/PermissionService.kt b/services/permission/java/com/android/server/permission/access/permission/PermissionService.kt
index 2f5c109..67f66de 100644
--- a/services/permission/java/com/android/server/permission/access/permission/PermissionService.kt
+++ b/services/permission/java/com/android/server/permission/access/permission/PermissionService.kt
@@ -2958,7 +2958,7 @@
/** These permissions are supported for virtual devices. */
// TODO: b/298661870 - Use new API to get the list of device aware permissions.
val DEVICE_AWARE_PERMISSIONS =
- if (Flags.deviceAwarePermissionApisEnabled()) {
+ if (Flags.deviceAwarePermissionsEnabled()) {
setOf(Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO)
} else {
emptySet<String>()
diff --git a/services/tests/displayservicetests/src/com/android/server/display/ExternalDisplayPolicyTest.java b/services/tests/displayservicetests/src/com/android/server/display/ExternalDisplayPolicyTest.java
index fea431c..1529a08 100644
--- a/services/tests/displayservicetests/src/com/android/server/display/ExternalDisplayPolicyTest.java
+++ b/services/tests/displayservicetests/src/com/android/server/display/ExternalDisplayPolicyTest.java
@@ -25,6 +25,7 @@
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyBoolean;
import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.clearInvocations;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.times;
@@ -97,6 +98,8 @@
private LogicalDisplay mMockedLogicalDisplay;
@Mock
private DisplayNotificationManager mMockedDisplayNotificationManager;
+ @Mock
+ private ExternalDisplayStatsService mMockedExternalDisplayStatsService;
@Captor
private ArgumentCaptor<IThermalEventListener> mThermalEventListenerCaptor;
@Captor
@@ -126,6 +129,8 @@
when(mMockedInjector.getDisplayNotificationManager()).thenReturn(
mMockedDisplayNotificationManager);
when(mMockedInjector.getHandler()).thenReturn(mHandler);
+ when(mMockedInjector.getExternalDisplayStatsService())
+ .thenReturn(mMockedExternalDisplayStatsService);
mExternalDisplayPolicy = new ExternalDisplayPolicy(mMockedInjector);
// Initialize mocked logical display
@@ -178,12 +183,47 @@
assertDisplaySetEnabled(/*enabled=*/ false);
// Expected only 1 invocation, upon critical temperature.
verify(mMockedDisplayNotificationManager).onHighTemperatureExternalDisplayNotAllowed();
+ verify(mMockedExternalDisplayStatsService).onDisplayDisabled(eq(EXTERNAL_DISPLAY_ID));
}
@Test
- public void testSetEnabledExternalDisplay(@TestParameter final boolean enable) {
- mExternalDisplayPolicy.setExternalDisplayEnabledLocked(mMockedLogicalDisplay, enable);
- assertDisplaySetEnabled(enable);
+ public void testSetEnabledExternalDisplay() {
+ mExternalDisplayPolicy.setExternalDisplayEnabledLocked(mMockedLogicalDisplay,
+ /*enabled=*/ true);
+ assertDisplaySetEnabled(/*enabled=*/ true);
+ }
+
+ @Test
+ public void testHandleDisplayAdded() {
+ mExternalDisplayPolicy.handleLogicalDisplayAddedLocked(mMockedLogicalDisplay);
+ verify(mMockedExternalDisplayStatsService).onDisplayAdded(eq(EXTERNAL_DISPLAY_ID));
+ }
+
+ @Test
+ public void testHandleDisplayDisconnected() {
+ mExternalDisplayPolicy.handleLogicalDisplayDisconnectedLocked(mMockedLogicalDisplay);
+ verify(mMockedExternalDisplayStatsService).onDisplayDisconnected(eq(EXTERNAL_DISPLAY_ID));
+ }
+
+ @Test
+ public void testOnPresentationStarted() {
+ mExternalDisplayPolicy.onPresentation(EXTERNAL_DISPLAY_ID, /*isShown=*/ true);
+ verify(mMockedExternalDisplayStatsService).onPresentationWindowAdded(
+ eq(EXTERNAL_DISPLAY_ID));
+ }
+
+ @Test
+ public void testOnPresentationEnded() {
+ mExternalDisplayPolicy.onPresentation(EXTERNAL_DISPLAY_ID, /*isShown=*/ false);
+ verify(mMockedExternalDisplayStatsService).onPresentationWindowRemoved(
+ eq(EXTERNAL_DISPLAY_ID));
+ }
+
+ @Test
+ public void testSetDisabledExternalDisplay() {
+ mExternalDisplayPolicy.setExternalDisplayEnabledLocked(mMockedLogicalDisplay,
+ /*enabled=*/ false);
+ assertDisplaySetEnabled(/*enabled=*/ false);
}
@Test
@@ -191,6 +231,7 @@
when(mMockedLogicalDisplay.isEnabledLocked()).thenReturn(false);
mExternalDisplayPolicy.handleExternalDisplayConnectedLocked(mMockedLogicalDisplay);
assertAskedToEnableDisplay();
+ verify(mMockedExternalDisplayStatsService).onDisplayConnected(eq(mMockedLogicalDisplay));
}
@Test
diff --git a/services/tests/displayservicetests/src/com/android/server/display/ExternalDisplayStatsServiceTest.java b/services/tests/displayservicetests/src/com/android/server/display/ExternalDisplayStatsServiceTest.java
new file mode 100644
index 0000000..98ba9ae
--- /dev/null
+++ b/services/tests/displayservicetests/src/com/android/server/display/ExternalDisplayStatsServiceTest.java
@@ -0,0 +1,343 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.display;
+
+import static android.media.AudioDeviceInfo.TYPE_BUILTIN_SPEAKER;
+import static android.media.AudioDeviceInfo.TYPE_HDMI;
+import static android.view.Display.TYPE_EXTERNAL;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.clearInvocations;
+import static org.mockito.Mockito.doAnswer;
+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.annotation.Nullable;
+import android.content.BroadcastReceiver;
+import android.media.AudioDeviceInfo;
+import android.media.AudioManager.AudioPlaybackCallback;
+import android.media.AudioPlaybackConfiguration;
+import android.view.DisplayInfo;
+
+import androidx.test.filters.SmallTest;
+
+import com.android.internal.util.FrameworkStatsLog;
+import com.android.server.testutils.TestHandler;
+
+import com.google.testing.junit.testparameterinjector.TestParameter;
+import com.google.testing.junit.testparameterinjector.TestParameterInjector;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import java.util.List;
+
+
+/**
+ * Tests for {@link ExternalDisplayStatsService}
+ * Run: atest ExternalDisplayStatsServiceTest
+ */
+@SmallTest
+@RunWith(TestParameterInjector.class)
+public class ExternalDisplayStatsServiceTest {
+ private static final int EXTERNAL_DISPLAY_ID = 2;
+
+ private TestHandler mHandler;
+ private ExternalDisplayStatsService mExternalDisplayStatsService;
+ private List<AudioPlaybackConfiguration> mAudioPlaybackConfigsPhoneActive;
+ private List<AudioPlaybackConfiguration> mAudioPlaybackConfigsHdmiActive;
+ @Nullable
+ private AudioPlaybackCallback mAudioPlaybackCallback;
+ @Nullable
+ private BroadcastReceiver mInteractivityReceiver;
+
+ @Mock
+ private ExternalDisplayStatsService.Injector mMockedInjector;
+ @Mock
+ private LogicalDisplay mMockedLogicalDisplay;
+ @Mock
+ private DisplayInfo mMockedDisplayInfo;
+
+ /** Setup tests. */
+ @Before
+ public void setup() throws Exception {
+ MockitoAnnotations.initMocks(this);
+ mHandler = new TestHandler(/*callback=*/ null);
+ when(mMockedInjector.getHandler()).thenReturn(mHandler);
+ when(mMockedInjector.isExtendedDisplayEnabled()).thenReturn(false);
+ when(mMockedLogicalDisplay.getDisplayInfoLocked()).thenReturn(mMockedDisplayInfo);
+ when(mMockedLogicalDisplay.getDisplayIdLocked()).thenReturn(EXTERNAL_DISPLAY_ID);
+ when(mMockedInjector.isInteractive(eq(EXTERNAL_DISPLAY_ID))).thenReturn(true);
+ mMockedDisplayInfo.type = TYPE_EXTERNAL;
+ doAnswer(invocation -> {
+ mAudioPlaybackCallback = invocation.getArgument(0);
+ return null; // void method, so return null
+ }).when(mMockedInjector).registerAudioPlaybackCallback(any());
+ doAnswer(invocation -> {
+ mInteractivityReceiver = invocation.getArgument(0);
+ return null; // void method, so return null
+ }).when(mMockedInjector).registerInteractivityReceiver(any(), any());
+ mAudioPlaybackConfigsPhoneActive = createAudioConfigs(/*isPhoneActive=*/ true);
+ mAudioPlaybackConfigsHdmiActive = createAudioConfigs(/*isPhoneActive=*/ false);
+ mExternalDisplayStatsService = new ExternalDisplayStatsService(mMockedInjector);
+ }
+
+ @Test
+ public void testOnHotplugConnectionError() {
+ mExternalDisplayStatsService.onHotplugConnectionError();
+ verify(mMockedInjector).writeLog(
+ FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED,
+ FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED__STATE__ERROR_HOTPLUG_CONNECTION,
+ /*numberOfDisplays=*/ 0,
+ /*isExternalDisplayUsedForAudio=*/ false);
+ }
+
+ @Test
+ public void testOnDisplayPortLinkTrainingFailure() {
+ mExternalDisplayStatsService.onDisplayPortLinkTrainingFailure();
+ verify(mMockedInjector).writeLog(
+ FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED,
+ FrameworkStatsLog
+ .EXTERNAL_DISPLAY_STATE_CHANGED__STATE__ERROR_DISPLAYPORT_LINK_FAILED,
+ /*numberOfDisplays=*/ 0,
+ /*isExternalDisplayUsedForAudio=*/ false);
+ }
+
+ @Test
+ public void testOnCableNotCapableDisplayPort() {
+ mExternalDisplayStatsService.onCableNotCapableDisplayPort();
+ verify(mMockedInjector).writeLog(
+ FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED,
+ FrameworkStatsLog
+ .EXTERNAL_DISPLAY_STATE_CHANGED__STATE__ERROR_CABLE_NOT_CAPABLE_DISPLAYPORT,
+ /*numberOfDisplays=*/ 0,
+ /*isExternalDisplayUsedForAudio=*/ false);
+ }
+
+ @Test
+ public void testDisplayConnected() {
+ mExternalDisplayStatsService.onDisplayConnected(mMockedLogicalDisplay);
+ mHandler.flush();
+ verify(mMockedInjector).registerInteractivityReceiver(any(), any());
+ verify(mMockedInjector).registerAudioPlaybackCallback(any());
+ verify(mMockedInjector).writeLog(FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED,
+ FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED__STATE__CONNECTED,
+ /*numberOfDisplays=*/ 1,
+ /*isExternalDisplayUsedForAudio=*/ false);
+ }
+
+ @Test
+ public void testDisplayInteractivityChanges(
+ @TestParameter final boolean isExternalDisplayUsedForAudio) {
+ mExternalDisplayStatsService.onDisplayConnected(mMockedLogicalDisplay);
+ mHandler.flush();
+ assertThat(mInteractivityReceiver).isNotNull();
+
+ initAudioPlayback(isExternalDisplayUsedForAudio);
+ clearInvocations(mMockedInjector);
+
+ // Default is 'interactive', so no log should be written.
+ mInteractivityReceiver.onReceive(null, null);
+ assertThat(mExternalDisplayStatsService.isInteractiveExternalDisplays()).isTrue();
+ verify(mMockedInjector, never()).writeLog(anyInt(), anyInt(), anyInt(), anyBoolean());
+
+ // Change to non-interactive should produce log
+ when(mMockedInjector.isInteractive(eq(EXTERNAL_DISPLAY_ID))).thenReturn(false);
+ mInteractivityReceiver.onReceive(null, null);
+ assertThat(mExternalDisplayStatsService.isInteractiveExternalDisplays()).isFalse();
+ verify(mMockedInjector).writeLog(FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED,
+ FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED__STATE__KEYGUARD,
+ /*numberOfDisplays=*/ 1,
+ isExternalDisplayUsedForAudio);
+ clearInvocations(mMockedInjector);
+
+ // Change back to interactive should produce log
+ when(mMockedInjector.isInteractive(eq(EXTERNAL_DISPLAY_ID))).thenReturn(true);
+ mInteractivityReceiver.onReceive(null, null);
+ assertThat(mExternalDisplayStatsService.isInteractiveExternalDisplays()).isTrue();
+ verify(mMockedInjector).writeLog(FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED,
+ FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED__STATE__CONNECTED,
+ /*numberOfDisplays=*/ 1,
+ isExternalDisplayUsedForAudio);
+ }
+
+ @Test
+ public void testAudioPlaybackChanges() {
+ mExternalDisplayStatsService.onDisplayConnected(mMockedLogicalDisplay);
+ mHandler.flush();
+ assertThat(mAudioPlaybackCallback).isNotNull();
+
+ mAudioPlaybackCallback.onPlaybackConfigChanged(mAudioPlaybackConfigsPhoneActive);
+ mHandler.flush();
+ assertThat(mExternalDisplayStatsService.isExternalDisplayUsedForAudio()).isFalse();
+
+ mAudioPlaybackCallback.onPlaybackConfigChanged(mAudioPlaybackConfigsHdmiActive);
+ mHandler.flush();
+ assertThat(mExternalDisplayStatsService.isExternalDisplayUsedForAudio()).isTrue();
+ }
+ @Test
+ public void testOnDisplayAddedMirroring(
+ @TestParameter final boolean isExternalDisplayUsedForAudio) {
+ mExternalDisplayStatsService.onDisplayConnected(mMockedLogicalDisplay);
+ mHandler.flush();
+ initAudioPlayback(isExternalDisplayUsedForAudio);
+ clearInvocations(mMockedInjector);
+
+ mExternalDisplayStatsService.onDisplayAdded(EXTERNAL_DISPLAY_ID);
+ verify(mMockedInjector).writeLog(FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED,
+ FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED__STATE__MIRRORING,
+ /*numberOfDisplays=*/ 1,
+ isExternalDisplayUsedForAudio);
+ }
+
+ @Test
+ public void testOnDisplayAddedExtended(
+ @TestParameter final boolean isExternalDisplayUsedForAudio) {
+ mExternalDisplayStatsService.onDisplayConnected(mMockedLogicalDisplay);
+ mHandler.flush();
+ initAudioPlayback(isExternalDisplayUsedForAudio);
+ clearInvocations(mMockedInjector);
+
+ when(mMockedInjector.isExtendedDisplayEnabled()).thenReturn(true);
+ mExternalDisplayStatsService.onDisplayAdded(EXTERNAL_DISPLAY_ID);
+ verify(mMockedInjector).writeLog(FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED,
+ FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED__STATE__EXTENDED,
+ /*numberOfDisplays=*/ 1,
+ isExternalDisplayUsedForAudio);
+ }
+
+ @Test
+ public void testOnDisplayDisabled(
+ @TestParameter final boolean isExternalDisplayUsedForAudio) {
+ mExternalDisplayStatsService.onDisplayConnected(mMockedLogicalDisplay);
+ mHandler.flush();
+ initAudioPlayback(isExternalDisplayUsedForAudio);
+ mExternalDisplayStatsService.onDisplayAdded(EXTERNAL_DISPLAY_ID);
+ clearInvocations(mMockedInjector);
+
+ mExternalDisplayStatsService.onDisplayDisabled(EXTERNAL_DISPLAY_ID);
+ verify(mMockedInjector).writeLog(FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED,
+ FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED__STATE__DISABLED,
+ /*numberOfDisplays=*/ 1,
+ isExternalDisplayUsedForAudio);
+ }
+
+ @Test
+ public void testOnDisplayDisconnected(
+ @TestParameter final boolean isExternalDisplayUsedForAudio) {
+ mExternalDisplayStatsService.onDisplayConnected(mMockedLogicalDisplay);
+ mHandler.flush();
+ initAudioPlayback(isExternalDisplayUsedForAudio);
+ clearInvocations(mMockedInjector);
+
+ mExternalDisplayStatsService.onDisplayDisconnected(EXTERNAL_DISPLAY_ID);
+ verify(mMockedInjector).writeLog(FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED,
+ FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED__STATE__DISCONNECTED,
+ /*numberOfDisplays=*/ 1,
+ isExternalDisplayUsedForAudio);
+ mHandler.flush();
+ assertThat(mAudioPlaybackCallback).isNotNull();
+ assertThat(mInteractivityReceiver).isNotNull();
+ verify(mMockedInjector).unregisterAudioPlaybackCallback(eq(mAudioPlaybackCallback));
+ verify(mMockedInjector).unregisterInteractivityReceiver(eq(mInteractivityReceiver));
+ }
+
+ @Test
+ public void testOnPresentationWindowAddedWhileMirroring(
+ @TestParameter final boolean isExternalDisplayUsedForAudio) {
+ mExternalDisplayStatsService.onDisplayConnected(mMockedLogicalDisplay);
+ mHandler.flush();
+ initAudioPlayback(isExternalDisplayUsedForAudio);
+ mExternalDisplayStatsService.onDisplayAdded(EXTERNAL_DISPLAY_ID);
+ clearInvocations(mMockedInjector);
+
+ mExternalDisplayStatsService.onPresentationWindowAdded(EXTERNAL_DISPLAY_ID);
+ verify(mMockedInjector).writeLog(FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED,
+ FrameworkStatsLog
+ .EXTERNAL_DISPLAY_STATE_CHANGED__STATE__PRESENTATION_WHILE_MIRRORING,
+ /*numberOfDisplays=*/ 1,
+ isExternalDisplayUsedForAudio);
+ }
+
+ @Test
+ public void testOnPresentationWindowAddedWhileExtended(
+ @TestParameter final boolean isExternalDisplayUsedForAudio) {
+ mExternalDisplayStatsService.onDisplayConnected(mMockedLogicalDisplay);
+ when(mMockedInjector.isExtendedDisplayEnabled()).thenReturn(true);
+ mHandler.flush();
+ initAudioPlayback(isExternalDisplayUsedForAudio);
+ clearInvocations(mMockedInjector);
+
+ mExternalDisplayStatsService.onPresentationWindowAdded(EXTERNAL_DISPLAY_ID);
+ verify(mMockedInjector).writeLog(FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED,
+ FrameworkStatsLog
+ .EXTERNAL_DISPLAY_STATE_CHANGED__STATE__PRESENTATION_WHILE_EXTENDED,
+ /*numberOfDisplays=*/ 1,
+ isExternalDisplayUsedForAudio);
+ }
+
+ @Test
+ public void testOnPresentationWindowRemoved(
+ @TestParameter final boolean isExternalDisplayUsedForAudio) {
+ mExternalDisplayStatsService.onDisplayConnected(mMockedLogicalDisplay);
+ mHandler.flush();
+ initAudioPlayback(isExternalDisplayUsedForAudio);
+ clearInvocations(mMockedInjector);
+
+ mExternalDisplayStatsService.onPresentationWindowRemoved(EXTERNAL_DISPLAY_ID);
+ verify(mMockedInjector).writeLog(FrameworkStatsLog.EXTERNAL_DISPLAY_STATE_CHANGED,
+ FrameworkStatsLog
+ .EXTERNAL_DISPLAY_STATE_CHANGED__STATE__PRESENTATION_ENDED,
+ /*numberOfDisplays=*/ 1,
+ isExternalDisplayUsedForAudio);
+ }
+
+ private void initAudioPlayback(boolean isExternalDisplayUsedForAudio) {
+ assertThat(mAudioPlaybackCallback).isNotNull();
+ mAudioPlaybackCallback.onPlaybackConfigChanged(
+ isExternalDisplayUsedForAudio ? mAudioPlaybackConfigsHdmiActive
+ : mAudioPlaybackConfigsPhoneActive);
+ mHandler.flush();
+ }
+
+ private List<AudioPlaybackConfiguration> createAudioConfigs(boolean isPhoneActive) {
+ var mockedConfigHdmi = mock(AudioPlaybackConfiguration.class);
+ var mockedInfoHdmi = mock(AudioDeviceInfo.class);
+ when(mockedInfoHdmi.isSink()).thenReturn(true);
+ when(mockedInfoHdmi.getType()).thenReturn(TYPE_HDMI);
+ when(mockedConfigHdmi.getAudioDeviceInfo()).thenReturn(mockedInfoHdmi);
+ when(mockedConfigHdmi.isActive()).thenReturn(!isPhoneActive);
+
+ var mockedInfoPhone = mock(AudioDeviceInfo.class);
+ var mockedConfigPhone = mock(AudioPlaybackConfiguration.class);
+ when(mockedInfoPhone.isSink()).thenReturn(true);
+ when(mockedInfoPhone.getType()).thenReturn(TYPE_BUILTIN_SPEAKER);
+ when(mockedConfigPhone.getAudioDeviceInfo()).thenReturn(mockedInfoPhone);
+ when(mockedConfigPhone.isActive()).thenReturn(isPhoneActive);
+ return List.of(mockedConfigHdmi, mockedConfigPhone);
+ }
+}
diff --git a/services/tests/displayservicetests/src/com/android/server/display/notifications/DisplayNotificationManagerTest.java b/services/tests/displayservicetests/src/com/android/server/display/notifications/DisplayNotificationManagerTest.java
index 4efd15c..d6c8ceb 100644
--- a/services/tests/displayservicetests/src/com/android/server/display/notifications/DisplayNotificationManagerTest.java
+++ b/services/tests/displayservicetests/src/com/android/server/display/notifications/DisplayNotificationManagerTest.java
@@ -34,6 +34,7 @@
import androidx.test.core.app.ApplicationProvider;
import androidx.test.filters.SmallTest;
+import com.android.server.display.ExternalDisplayStatsService;
import com.android.server.display.feature.DisplayManagerFlags;
import com.android.server.display.notifications.DisplayNotificationManager.Injector;
@@ -60,6 +61,8 @@
@Mock
private NotificationManager mMockedNotificationManager;
@Mock
+ private ExternalDisplayStatsService mMockedExternalDisplayStatsService;
+ @Mock
private DisplayManagerFlags mMockedFlags;
@Captor
private ArgumentCaptor<String> mNotifyTagCaptor;
@@ -88,6 +91,7 @@
/*isErrorHandlingEnabled=*/ true);
dnm.onHotplugConnectionError();
assertExpectedNotification();
+ verify(mMockedExternalDisplayStatsService).onHotplugConnectionError();
}
@Test
@@ -96,6 +100,7 @@
/*isErrorHandlingEnabled=*/ true);
dnm.onDisplayPortLinkTrainingFailure();
assertExpectedNotification();
+ verify(mMockedExternalDisplayStatsService).onDisplayPortLinkTrainingFailure();
}
@Test
@@ -104,6 +109,7 @@
/*isErrorHandlingEnabled=*/ true);
dnm.onCableNotCapableDisplayPort();
assertExpectedNotification();
+ verify(mMockedExternalDisplayStatsService).onCableNotCapableDisplayPort();
}
@Test
@@ -124,11 +130,40 @@
verify(mMockedNotificationManager, never()).notify(anyString(), anyInt(), any());
}
+ @Test
+ public void testNoErrorLogging() {
+ var dnm = createDisplayNotificationManager(/*isNotificationManagerAvailable=*/ true,
+ /*isErrorHandlingEnabled=*/ false);
+ // None of these methods should trigger logging now.
+ dnm.onHotplugConnectionError();
+ dnm.onDisplayPortLinkTrainingFailure();
+ dnm.onCableNotCapableDisplayPort();
+ verify(mMockedExternalDisplayStatsService, never()).onHotplugConnectionError();
+ verify(mMockedExternalDisplayStatsService, never()).onCableNotCapableDisplayPort();
+ verify(mMockedExternalDisplayStatsService, never()).onDisplayPortLinkTrainingFailure();
+ }
+
+
+ @Test
+ public void testErrorLogging() {
+ var dnm = createDisplayNotificationManager(/*isNotificationManagerAvailable=*/ true,
+ /*isErrorHandlingEnabled=*/ true);
+ // these methods should trigger logging now.
+ dnm.onHotplugConnectionError();
+ verify(mMockedExternalDisplayStatsService).onHotplugConnectionError();
+ dnm.onDisplayPortLinkTrainingFailure();
+ verify(mMockedExternalDisplayStatsService).onDisplayPortLinkTrainingFailure();
+ dnm.onCableNotCapableDisplayPort();
+ verify(mMockedExternalDisplayStatsService).onCableNotCapableDisplayPort();
+ }
+
private DisplayNotificationManager createDisplayNotificationManager(
final boolean isNotificationManagerAvailable,
final boolean isErrorHandlingEnabled) {
when(mMockedFlags.isConnectedDisplayErrorHandlingEnabled()).thenReturn(
isErrorHandlingEnabled);
+ when(mMockedInjector.getExternalDisplayStatsService()).thenReturn(
+ mMockedExternalDisplayStatsService);
when(mMockedInjector.getNotificationManager()).thenReturn(
(isNotificationManagerAvailable) ? mMockedNotificationManager : null);
// Usb errors detector is tested in ConnectedDisplayUsbErrorsDetectorTest
diff --git a/services/tests/mockingservicestests/src/com/android/server/OWNERS b/services/tests/mockingservicestests/src/com/android/server/OWNERS
index c0f0ce04..b363f54 100644
--- a/services/tests/mockingservicestests/src/com/android/server/OWNERS
+++ b/services/tests/mockingservicestests/src/com/android/server/OWNERS
@@ -1,3 +1,4 @@
per-file *Alarm* = file:/apex/jobscheduler/OWNERS
per-file *AppStateTracker* = file:/apex/jobscheduler/OWNERS
per-file *DeviceIdleController* = file:/apex/jobscheduler/OWNERS
+per-file SensitiveContentProtectionManagerServiceTest.java = file:/core/java/android/permission/OWNERS
diff --git a/services/tests/mockingservicestests/src/com/android/server/SensitiveContentProtectionManagerServiceTest.java b/services/tests/mockingservicestests/src/com/android/server/SensitiveContentProtectionManagerServiceTest.java
index 9e98105..9473e57 100644
--- a/services/tests/mockingservicestests/src/com/android/server/SensitiveContentProtectionManagerServiceTest.java
+++ b/services/tests/mockingservicestests/src/com/android/server/SensitiveContentProtectionManagerServiceTest.java
@@ -18,6 +18,8 @@
import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
+import static com.android.server.notification.Flags.FLAG_SENSITIVE_NOTIFICATION_APP_PROTECTION;
+
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doCallRealMethod;
@@ -31,6 +33,9 @@
import android.media.projection.MediaProjectionInfo;
import android.media.projection.MediaProjectionManager;
+import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
import android.provider.Settings;
import android.service.notification.NotificationListenerService.Ranking;
import android.service.notification.NotificationListenerService.RankingMap;
@@ -61,6 +66,7 @@
@SmallTest
@RunWith(AndroidTestingRunner.class)
@RunWithLooper
+@RequiresFlagsEnabled(FLAG_SENSITIVE_NOTIFICATION_APP_PROTECTION)
public class SensitiveContentProtectionManagerServiceTest {
private static final String NOTIFICATION_KEY_1 = "com.android.server.notification.TEST_KEY_1";
private static final String NOTIFICATION_KEY_2 = "com.android.server.notification.TEST_KEY_2";
@@ -74,6 +80,9 @@
private static final ArraySet<PackageInfo> EMPTY_SET = new ArraySet<>();
@Rule
+ public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
+ @Rule
public final TestableContext mContext =
new TestableContext(getInstrumentation().getTargetContext(), null);
diff --git a/services/tests/mockingservicestests/src/com/android/server/pm/UserManagerServiceTest.java b/services/tests/mockingservicestests/src/com/android/server/pm/UserManagerServiceTest.java
index 656bc71..7bbcd50 100644
--- a/services/tests/mockingservicestests/src/com/android/server/pm/UserManagerServiceTest.java
+++ b/services/tests/mockingservicestests/src/com/android/server/pm/UserManagerServiceTest.java
@@ -722,6 +722,17 @@
Mockito.verify(mKeyguardManager, never()).addKeyguardLockedStateListener(any(), any());
}
+ @Test
+ public void testGetProfileIdsExcludingHidden() {
+ mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_HIDING_PROFILES);
+ UserInfo privateProfileUser =
+ mUms.createProfileForUserEvenWhenDisallowedWithThrow("TestPrivateProfile",
+ USER_TYPE_PROFILE_PRIVATE, 0, 0, null);
+ for (int id : mUms.getProfileIdsExcludingHidden(0, true)) {
+ assertThat(id).isNotEqualTo(privateProfileUser.id);
+ }
+ }
+
/**
* Returns true if the user's XML file has Default restrictions
* @param userId Id of the user.
diff --git a/services/tests/mockingservicestests/src/com/android/server/selinux/OWNERS b/services/tests/mockingservicestests/src/com/android/server/selinux/OWNERS
new file mode 100644
index 0000000..49a0934
--- /dev/null
+++ b/services/tests/mockingservicestests/src/com/android/server/selinux/OWNERS
@@ -0,0 +1 @@
+include /services/core/java/com/android/server/selinux/OWNERS
diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/BatteryStatsHistoryIteratorTest.java b/services/tests/powerstatstests/src/com/android/server/power/stats/BatteryStatsHistoryIteratorTest.java
index 395b3aa..d36b553 100644
--- a/services/tests/powerstatstests/src/com/android/server/power/stats/BatteryStatsHistoryIteratorTest.java
+++ b/services/tests/powerstatstests/src/com/android/server/power/stats/BatteryStatsHistoryIteratorTest.java
@@ -95,24 +95,24 @@
assertThat(item = iterator.next()).isNotNull();
assertHistoryItem(item,
BatteryStats.HistoryItem.CMD_UPDATE, BatteryStats.HistoryItem.EVENT_NONE,
- null, 0, 3_600_000, 90, 1_000_000);
+ null, 0, -1, 3_600_000, 90, 1_000_000);
assertThat(item = iterator.next()).isNotNull();
assertHistoryItem(item,
BatteryStats.HistoryItem.CMD_UPDATE, BatteryStats.HistoryItem.EVENT_NONE,
- null, 0, 2_400_000, 80, 2_000_000);
+ null, 0, 3700, 2_400_000, 80, 2_000_000);
assertThat(item = iterator.next()).isNotNull();
assertHistoryItem(item,
BatteryStats.HistoryItem.CMD_UPDATE,
BatteryStats.HistoryItem.EVENT_ALARM | BatteryStats.HistoryItem.EVENT_FLAG_START,
- "foo", APP_UID, 2_400_000, 80, 3_000_000);
+ "foo", APP_UID, 3700, 2_400_000, 80, 3_000_000);
assertThat(item = iterator.next()).isNotNull();
assertHistoryItem(item,
BatteryStats.HistoryItem.CMD_UPDATE,
BatteryStats.HistoryItem.EVENT_ALARM | BatteryStats.HistoryItem.EVENT_FLAG_FINISH,
- "foo", APP_UID, 2_400_000, 80, 3_001_000);
+ "foo", APP_UID, 3700, 2_400_000, 80, 3_001_000);
assertThat(iterator.hasNext()).isFalse();
assertThat(iterator.next()).isNull();
@@ -140,7 +140,7 @@
mMockClock.currentTime = 3000;
mBatteryStats.setBatteryStateLocked(BatteryManager.BATTERY_STATUS_DISCHARGING,
- 100, /* plugType */ 0, 90, 72, 3700, 3_600_000, 4_000_000, 0, 1_000_000,
+ 100, /* plugType */ 0, 90, 72, -1, 3_600_000, 4_000_000, 0, 1_000_000,
1_000_000, 1_000_000);
mBatteryStats.setBatteryStateLocked(BatteryManager.BATTERY_STATUS_DISCHARGING,
100, /* plugType */ 0, 80, 72, 3700, 2_400_000, 4_000_000, 0, 2_000_000,
@@ -303,7 +303,7 @@
}
private void assertHistoryItem(BatteryStats.HistoryItem item, int command, int eventCode,
- String tag, int uid, int batteryChargeUah, int batteryLevel,
+ String tag, int uid, int voltageMv, int batteryChargeUah, int batteryLevel,
long elapsedTimeMs) {
assertThat(item.cmd).isEqualTo(command);
assertThat(item.eventCode).isEqualTo(eventCode);
@@ -313,6 +313,7 @@
assertThat(item.eventTag.string).isEqualTo(tag);
assertThat(item.eventTag.uid).isEqualTo(uid);
}
+ assertThat((int) item.batteryVoltage).isEqualTo(voltageMv);
assertThat(item.batteryChargeUah).isEqualTo(batteryChargeUah);
assertThat(item.batteryLevel).isEqualTo(batteryLevel);
diff --git a/services/tests/servicestests/src/com/android/server/pm/UserManagerTest.java b/services/tests/servicestests/src/com/android/server/pm/UserManagerTest.java
index df2069e..7f7cc35 100644
--- a/services/tests/servicestests/src/com/android/server/pm/UserManagerTest.java
+++ b/services/tests/servicestests/src/com/android/server/pm/UserManagerTest.java
@@ -1729,6 +1729,21 @@
mUserManager.removeUser(userInfo.id);
}
+ @Test
+ @RequiresFlagsEnabled(android.multiuser.Flags.FLAG_ENABLE_HIDING_PROFILES)
+ public void testGetProfileIdsExcludingHidden() throws Exception {
+ int mainUserId = mUserManager.getMainUser().getIdentifier();
+ final UserInfo profile = createProfileForUser("Profile",
+ UserManager.USER_TYPE_PROFILE_PRIVATE, mainUserId);
+
+ final int[] allProfiles = mUserManager.getProfileIds(mainUserId, /* enabledOnly */ false);
+ final int[] profilesExcludingHidden = mUserManager.getProfileIdsExcludingHidden(
+ mainUserId, /* enabledOnly */ false);
+
+ assertThat(allProfiles).asList().contains(profile.id);
+ assertThat(profilesExcludingHidden).asList().doesNotContain(profile.id);
+ }
+
private String generateLongString() {
String partialString = "Test Name Test Name Test Name Test Name Test Name Test Name Test "
+ "Name Test Name Test Name Test Name "; //String of length 100
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 2f740ea..6aacfd7 100755
--- a/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java
@@ -163,6 +163,7 @@
import android.app.AppOpsManager;
import android.app.AutomaticZenRule;
import android.app.IActivityManager;
+import android.app.ICallNotificationEventCallback;
import android.app.INotificationManager;
import android.app.ITransientNotification;
import android.app.IUriGrantsManager;
@@ -4002,6 +4003,69 @@
}
@Test
+ public void testUpdateNotificationChannelFromPrivilegedListener_noSoundUriPermission()
+ throws Exception {
+ mService.setPreferencesHelper(mPreferencesHelper);
+ when(mCompanionMgr.getAssociations(PKG, mUserId))
+ .thenReturn(singletonList(mock(AssociationInfo.class)));
+ when(mPreferencesHelper.getNotificationChannel(eq(PKG), anyInt(),
+ eq(mTestNotificationChannel.getId()), anyBoolean()))
+ .thenReturn(mTestNotificationChannel);
+
+ final Uri soundUri = Uri.parse("content://media/test/sound/uri");
+ final NotificationChannel updatedNotificationChannel = new NotificationChannel(
+ TEST_CHANNEL_ID, TEST_CHANNEL_ID, IMPORTANCE_DEFAULT);
+ updatedNotificationChannel.setSound(soundUri,
+ updatedNotificationChannel.getAudioAttributes());
+
+ doThrow(new SecurityException("no access")).when(mUgmInternal)
+ .checkGrantUriPermission(eq(Process.myUid()), any(), eq(soundUri),
+ anyInt(), eq(Process.myUserHandle().getIdentifier()));
+
+ assertThrows(SecurityException.class,
+ () -> mBinderService.updateNotificationChannelFromPrivilegedListener(null, PKG,
+ Process.myUserHandle(), updatedNotificationChannel));
+
+ verify(mPreferencesHelper, never()).updateNotificationChannel(
+ anyString(), anyInt(), any(), anyBoolean(), anyInt(), anyBoolean());
+
+ verify(mListeners, never()).notifyNotificationChannelChanged(eq(PKG),
+ eq(Process.myUserHandle()), eq(mTestNotificationChannel),
+ eq(NotificationListenerService.NOTIFICATION_CHANNEL_OR_GROUP_UPDATED));
+ }
+
+ @Test
+ public void testUpdateNotificationChannelFromPrivilegedListener_noSoundUriPermission_sameSound()
+ throws Exception {
+ mService.setPreferencesHelper(mPreferencesHelper);
+ when(mCompanionMgr.getAssociations(PKG, mUserId))
+ .thenReturn(singletonList(mock(AssociationInfo.class)));
+ when(mPreferencesHelper.getNotificationChannel(eq(PKG), anyInt(),
+ eq(mTestNotificationChannel.getId()), anyBoolean()))
+ .thenReturn(mTestNotificationChannel);
+
+ final Uri soundUri = Settings.System.DEFAULT_NOTIFICATION_URI;
+ final NotificationChannel updatedNotificationChannel = new NotificationChannel(
+ TEST_CHANNEL_ID, TEST_CHANNEL_ID, IMPORTANCE_DEFAULT);
+ updatedNotificationChannel.setSound(soundUri,
+ updatedNotificationChannel.getAudioAttributes());
+
+ doThrow(new SecurityException("no access")).when(mUgmInternal)
+ .checkGrantUriPermission(eq(Process.myUid()), any(), eq(soundUri),
+ anyInt(), eq(Process.myUserHandle().getIdentifier()));
+
+ mBinderService.updateNotificationChannelFromPrivilegedListener(
+ null, PKG, Process.myUserHandle(), updatedNotificationChannel);
+
+ verify(mPreferencesHelper, times(1)).updateNotificationChannel(
+ anyString(), anyInt(), any(), anyBoolean(), anyInt(), anyBoolean());
+
+ verify(mListeners, never()).notifyNotificationChannelChanged(eq(PKG),
+ eq(Process.myUserHandle()), eq(mTestNotificationChannel),
+ eq(NotificationListenerService.NOTIFICATION_CHANNEL_OR_GROUP_UPDATED));
+ }
+
+ @Test
public void testGetNotificationChannelFromPrivilegedListener_cdm_success() throws Exception {
mService.setPreferencesHelper(mPreferencesHelper);
when(mCompanionMgr.getAssociations(PKG, mUserId))
@@ -14529,6 +14593,120 @@
assertFalse(mBinderService.getPrivateNotificationsAllowed());
}
+ @Test
+ @EnableFlags(android.service.notification.Flags.FLAG_CALLSTYLE_CALLBACK_API)
+ public void testCallNotificationListener_NotifiedOnPostCallStyle() throws Exception {
+ ICallNotificationEventCallback listener = mock(
+ ICallNotificationEventCallback.class);
+ when(listener.asBinder()).thenReturn(mock(IBinder.class));
+ mBinderService.registerCallNotificationEventListener(PKG, UserHandle.CURRENT, listener);
+ waitForIdle();
+
+ final UserHandle userHandle = UserHandle.getUserHandleForUid(mUid);
+ final NotificationRecord r = createAndPostCallStyleNotification(PKG, userHandle,
+ "testCallNotificationListener_NotifiedOnPostCallStyle");
+
+ verify(listener, times(1)).onCallNotificationPosted(PKG, userHandle);
+
+ mBinderService.cancelNotificationWithTag(PKG, PKG, r.getSbn().getTag(), r.getSbn().getId(),
+ r.getSbn().getUserId());
+ waitForIdle();
+
+ verify(listener, times(1)).onCallNotificationRemoved(PKG, userHandle);
+ }
+
+ @Test
+ @EnableFlags(android.service.notification.Flags.FLAG_CALLSTYLE_CALLBACK_API)
+ public void testCallNotificationListener_NotNotifiedOnPostNonCallStyle() throws Exception {
+ ICallNotificationEventCallback listener = mock(
+ ICallNotificationEventCallback.class);
+ when(listener.asBinder()).thenReturn(mock(IBinder.class));
+ mBinderService.registerCallNotificationEventListener(PKG,
+ UserHandle.getUserHandleForUid(mUid), listener);
+ waitForIdle();
+
+ Notification.Builder nb = new Notification.Builder(mContext,
+ mTestNotificationChannel.getId()).setSmallIcon(android.R.drawable.sym_def_app_icon);
+ final NotificationRecord r = createAndPostNotification(nb,
+ "testCallNotificationListener_NotNotifiedOnPostNonCallStyle");
+
+ verify(listener, never()).onCallNotificationPosted(anyString(), any());
+
+ mBinderService.cancelNotificationWithTag(PKG, PKG, r.getSbn().getTag(), r.getSbn().getId(),
+ r.getSbn().getUserId());
+ waitForIdle();
+
+ verify(listener, never()).onCallNotificationRemoved(anyString(), any());
+ }
+
+ @Test
+ @EnableFlags(android.service.notification.Flags.FLAG_CALLSTYLE_CALLBACK_API)
+ public void testCallNotificationListener_registerForUserAll_notifiedOnAnyUserId()
+ throws Exception {
+ ICallNotificationEventCallback listener = mock(
+ ICallNotificationEventCallback.class);
+ when(listener.asBinder()).thenReturn(mock(IBinder.class));
+ mBinderService.registerCallNotificationEventListener(PKG, UserHandle.ALL, listener);
+ waitForIdle();
+
+ final UserHandle otherUser = UserHandle.of(2);
+ final NotificationRecord r = createAndPostCallStyleNotification(PKG,
+ otherUser, "testCallNotificationListener_registerForUserAll_notifiedOnAnyUserId");
+
+ verify(listener, times(1)).onCallNotificationPosted(PKG, otherUser);
+
+ mBinderService.cancelNotificationWithTag(PKG, PKG, r.getSbn().getTag(), r.getSbn().getId(),
+ r.getSbn().getUserId());
+ waitForIdle();
+
+ verify(listener, times(1)).onCallNotificationRemoved(PKG, otherUser);
+ }
+
+ @Test
+ @EnableFlags(android.service.notification.Flags.FLAG_CALLSTYLE_CALLBACK_API)
+ public void testCallNotificationListener_differentPackage_notNotified() throws Exception {
+ final String packageName = "package";
+ ICallNotificationEventCallback listener = mock(
+ ICallNotificationEventCallback.class);
+ when(listener.asBinder()).thenReturn(mock(IBinder.class));
+ mBinderService.registerCallNotificationEventListener(packageName, UserHandle.ALL, listener);
+ waitForIdle();
+
+ final NotificationRecord r = createAndPostCallStyleNotification(PKG,
+ UserHandle.of(mUserId),
+ "testCallNotificationListener_differentPackage_notNotified");
+
+ verify(listener, never()).onCallNotificationPosted(anyString(), any());
+
+ mBinderService.cancelNotificationWithTag(PKG, PKG, r.getSbn().getTag(), r.getSbn().getId(),
+ r.getSbn().getUserId());
+ waitForIdle();
+
+ verify(listener, never()).onCallNotificationRemoved(anyString(), any());
+ }
+
+ private NotificationRecord createAndPostCallStyleNotification(String packageName,
+ UserHandle userHandle, String testName) throws Exception {
+ Person person = new Person.Builder().setName("caller").build();
+ Notification.Builder nb = new Notification.Builder(mContext,
+ mTestNotificationChannel.getId())
+ .setFlag(FLAG_USER_INITIATED_JOB, true)
+ .setStyle(Notification.CallStyle.forOngoingCall(
+ person, mock(PendingIntent.class)))
+ .setSmallIcon(android.R.drawable.sym_def_app_icon);
+ StatusBarNotification sbn = new StatusBarNotification(packageName, packageName, 1,
+ testName, mUid, 0, nb.build(), userHandle, null, 0);
+ NotificationRecord r = new NotificationRecord(mContext, sbn, mTestNotificationChannel);
+
+ mService.addEnqueuedNotification(r);
+ mService.new PostNotificationRunnable(r.getKey(), r.getSbn().getPackageName(),
+ r.getUid(), mPostNotificationTrackerFactory.newTracker(null)).run();
+ waitForIdle();
+
+ return mService.findNotificationLocked(
+ packageName, r.getSbn().getTag(), r.getSbn().getId(), r.getSbn().getUserId());
+ }
+
private NotificationRecord createAndPostNotification(Notification.Builder nb, String testName)
throws RemoteException {
StatusBarNotification sbn = new StatusBarNotification(PKG, PKG, 1, testName, mUid, 0,
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/ZenDeviceEffectsTest.java b/services/tests/uiservicestests/src/com/android/server/notification/ZenDeviceEffectsTest.java
index f604f1e..3ac7890 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/ZenDeviceEffectsTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/ZenDeviceEffectsTest.java
@@ -18,6 +18,8 @@
import static com.google.common.truth.Truth.assertThat;
+import static org.junit.Assert.assertThrows;
+
import android.app.Flags;
import android.os.Parcel;
import android.platform.test.flag.junit.SetFlagsRule;
@@ -27,6 +29,8 @@
import com.android.server.UiServiceTestCase;
+import com.google.common.collect.ImmutableSet;
+
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -52,6 +56,10 @@
.setShouldMaximizeDoze(true)
.setShouldUseNightMode(false)
.setShouldSuppressAmbientDisplay(false).setShouldSuppressAmbientDisplay(true)
+ .addExtraEffect("WILL BE GONE")
+ .setExtraEffects(ImmutableSet.of("1", "2"))
+ .addExtraEffects(ImmutableSet.of("3", "4"))
+ .addExtraEffect("5")
.build();
assertThat(deviceEffects.shouldDimWallpaper()).isTrue();
@@ -64,6 +72,7 @@
assertThat(deviceEffects.shouldMinimizeRadioUsage()).isFalse();
assertThat(deviceEffects.shouldUseNightMode()).isFalse();
assertThat(deviceEffects.shouldSuppressAmbientDisplay()).isTrue();
+ assertThat(deviceEffects.getExtraEffects()).containsExactly("1", "2", "3", "4", "5");
}
@Test
@@ -73,11 +82,13 @@
.setShouldDisableTiltToWake(true)
.setShouldUseNightMode(true)
.setShouldSuppressAmbientDisplay(true)
+ .addExtraEffect("1")
.build();
ZenDeviceEffects modified = new ZenDeviceEffects.Builder(original)
.setShouldDisplayGrayscale(true)
.setShouldUseNightMode(false)
+ .addExtraEffect("2")
.build();
assertThat(modified.shouldDimWallpaper()).isTrue(); // from original
@@ -85,6 +96,32 @@
assertThat(modified.shouldDisplayGrayscale()).isTrue(); // updated
assertThat(modified.shouldUseNightMode()).isFalse(); // updated
assertThat(modified.shouldSuppressAmbientDisplay()).isTrue(); // from original
+ assertThat(modified.getExtraEffects()).containsExactly("1", "2"); // updated
+ }
+
+ @Test
+ public void builder_add_merges() {
+ ZenDeviceEffects zde1 = new ZenDeviceEffects.Builder()
+ .setShouldDimWallpaper(true)
+ .addExtraEffect("one")
+ .build();
+ ZenDeviceEffects zde2 = new ZenDeviceEffects.Builder()
+ .setShouldDisableTouch(true)
+ .addExtraEffect("two")
+ .build();
+ ZenDeviceEffects zde3 = new ZenDeviceEffects.Builder()
+ .setShouldMinimizeRadioUsage(true)
+ .addExtraEffect("three")
+ .build();
+
+ ZenDeviceEffects add = new ZenDeviceEffects.Builder().add(zde1).add(zde2).add(zde3).build();
+
+ assertThat(add).isEqualTo(new ZenDeviceEffects.Builder()
+ .setShouldDimWallpaper(true)
+ .setShouldDisableTouch(true)
+ .setShouldMinimizeRadioUsage(true)
+ .setExtraEffects(ImmutableSet.of("one", "two", "three"))
+ .build());
}
@Test
@@ -95,6 +132,7 @@
.setShouldMinimizeRadioUsage(true)
.setShouldUseNightMode(true)
.setShouldSuppressAmbientDisplay(true)
+ .setExtraEffects(ImmutableSet.of("1", "2", "3"))
.build();
Parcel parcel = Parcel.obtain();
@@ -113,6 +151,7 @@
assertThat(copy.shouldUseNightMode()).isTrue();
assertThat(copy.shouldSuppressAmbientDisplay()).isTrue();
assertThat(copy.shouldDisplayGrayscale()).isFalse();
+ assertThat(copy.getExtraEffects()).containsExactly("1", "2", "3");
}
@Test
@@ -128,4 +167,36 @@
.build();
assertThat(effects.hasEffects()).isTrue();
}
+
+ @Test
+ public void hasEffects_extras_returnsTrue() {
+ ZenDeviceEffects effects = new ZenDeviceEffects.Builder()
+ .addExtraEffect("extra")
+ .build();
+ assertThat(effects.hasEffects()).isTrue();
+ }
+
+ @Test
+ public void validate_extrasLength() {
+ ZenDeviceEffects okay = new ZenDeviceEffects.Builder()
+ .addExtraEffect("short")
+ .addExtraEffect("anotherShort")
+ .build();
+
+ ZenDeviceEffects pushingIt = new ZenDeviceEffects.Builder()
+ .addExtraEffect("0123456789".repeat(60))
+ .addExtraEffect("1234567890".repeat(60))
+ .build();
+
+ ZenDeviceEffects excessive = new ZenDeviceEffects.Builder()
+ .addExtraEffect("0123456789".repeat(60))
+ .addExtraEffect("1234567890".repeat(60))
+ .addExtraEffect("2345678901".repeat(60))
+ .addExtraEffect("3456789012".repeat(30))
+ .build();
+
+ okay.validate(); // No exception.
+ pushingIt.validate(); // No exception.
+ assertThrows(Exception.class, () -> excessive.validate());
+ }
}
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/ZenModeConfigTest.java b/services/tests/uiservicestests/src/com/android/server/notification/ZenModeConfigTest.java
index 539bb37..12f9e26 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/ZenModeConfigTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/ZenModeConfigTest.java
@@ -49,6 +49,8 @@
import com.android.modules.utils.TypedXmlSerializer;
import com.android.server.UiServiceTestCase;
+import com.google.common.collect.ImmutableSet;
+
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -86,7 +88,8 @@
private final int CREATION_TIME = 123;
@Rule
- public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+ public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(
+ SetFlagsRule.DefaultInitValueType.DEVICE_DEFAULT);
@Before
public final void setUp() {
@@ -496,6 +499,7 @@
.setShouldDisableTouch(true)
.setShouldMinimizeRadioUsage(false)
.setShouldMaximizeDoze(true)
+ .setExtraEffects(ImmutableSet.of("one", "two"))
.build();
rule.creationTime = CREATION_TIME;
@@ -543,6 +547,28 @@
}
@Test
+ public void testRuleXml_weirdEffects() throws Exception {
+ ZenModeConfig.ZenRule rule = new ZenModeConfig.ZenRule();
+ rule.zenDeviceEffects = new ZenDeviceEffects.Builder()
+ .setShouldMaximizeDoze(true)
+ .addExtraEffect("one,stillOne,,andStillOne,,,andYetStill")
+ .addExtraEffect(",two,stillTwo,")
+ .addExtraEffect("three\\andThree")
+ .addExtraEffect("four\\,andFour")
+ .build();
+
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ writeRuleXml(rule, baos);
+ ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
+ ZenModeConfig.ZenRule fromXml = readRuleXml(bais);
+
+ assertThat(fromXml.zenDeviceEffects.getExtraEffects()).isNotNull();
+ assertThat(fromXml.zenDeviceEffects.getExtraEffects())
+ .containsExactly("one,stillOne,,andStillOne,,,andYetStill", ",two,stillTwo,",
+ "three\\andThree", "four\\,andFour");
+ }
+
+ @Test
public void testRuleXml_pkg_component() throws Exception {
ZenModeConfig.ZenRule rule = new ZenModeConfig.ZenRule();
rule.configurationActivity = new ComponentName("a", "a");
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/ZenModeEventLoggerFake.java b/services/tests/uiservicestests/src/com/android/server/notification/ZenModeEventLoggerFake.java
index 5b35e34..ff1308c 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/ZenModeEventLoggerFake.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/ZenModeEventLoggerFake.java
@@ -132,4 +132,9 @@
checkInRange(i);
return mChanges.get(i).getAreChannelsBypassing();
}
+
+ public int[] getActiveRuleTypes(int i) throws IllegalArgumentException {
+ checkInRange(i);
+ return mChanges.get(i).getActiveRuleTypes();
+ }
}
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/ZenModeHelperTest.java b/services/tests/uiservicestests/src/com/android/server/notification/ZenModeHelperTest.java
index 0d88b98d..f9ba33b 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/ZenModeHelperTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/ZenModeHelperTest.java
@@ -17,6 +17,7 @@
package com.android.server.notification;
import static android.app.AutomaticZenRule.TYPE_BEDTIME;
+import static android.app.AutomaticZenRule.TYPE_IMMERSIVE;
import static android.app.NotificationManager.AUTOMATIC_RULE_STATUS_ACTIVATED;
import static android.app.NotificationManager.AUTOMATIC_RULE_STATUS_DEACTIVATED;
import static android.app.NotificationManager.AUTOMATIC_RULE_STATUS_DISABLED;
@@ -68,6 +69,7 @@
import static com.android.os.dnd.DNDProtoEnums.ROOT_CONFIG;
import static com.android.os.dnd.DNDProtoEnums.STATE_ALLOW;
import static com.android.os.dnd.DNDProtoEnums.STATE_DISALLOW;
+import static com.android.server.notification.ZenModeEventLogger.ACTIVE_RULE_TYPE_MANUAL;
import static com.android.server.notification.ZenModeHelper.RULE_LIMIT_PER_PACKAGE;
import static com.google.common.collect.Iterables.getOnlyElement;
@@ -161,6 +163,7 @@
import com.android.server.notification.ManagedServices.UserProfiles;
import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSet;
import com.google.common.truth.Correspondence;
import com.google.common.util.concurrent.SettableFuture;
import com.google.protobuf.InvalidProtocolBufferException;
@@ -2581,6 +2584,7 @@
mSetFlagsRule.enableFlags(Flags.FLAG_MODES_API);
ZenDeviceEffects original = new ZenDeviceEffects.Builder()
.setShouldDisableTapToWake(true)
+ .addExtraEffect("extra")
.build();
String ruleId = mZenModeHelper.addAutomaticZenRule(mContext.getPackageName(),
new AutomaticZenRule.Builder("Rule", CONDITION_ID)
@@ -2592,6 +2596,7 @@
ZenDeviceEffects updateFromApp = new ZenDeviceEffects.Builder()
.setShouldUseNightMode(true) // Good
.setShouldMaximizeDoze(true) // Bad
+ .addExtraEffect("should be rejected") // Bad
.build();
mZenModeHelper.updateAutomaticZenRule(ruleId,
new AutomaticZenRule.Builder("Rule", CONDITION_ID)
@@ -2605,6 +2610,7 @@
new ZenDeviceEffects.Builder()
.setShouldUseNightMode(true) // From update.
.setShouldDisableTapToWake(true) // From original.
+ .addExtraEffect("extra")
.build());
}
@@ -3550,6 +3556,89 @@
}
@Test
+ @EnableFlags(Flags.FLAG_MODES_API)
+ public void testZenModeEventLog_activeRuleTypes() {
+ mTestFlagResolver.setFlagOverride(LOG_DND_STATE_EVENTS, true);
+ setupZenConfig();
+
+ // Event 1: turn on manual zen mode. Manual rule will have ACTIVE_RULE_TYPE_MANUAL
+ mZenModeHelper.setManualZenMode(ZEN_MODE_IMPORTANT_INTERRUPTIONS, null,
+ UPDATE_ORIGIN_SYSTEM_OR_SYSTEMUI, "", null, Process.SYSTEM_UID);
+
+ // Create bedtime rule
+ AutomaticZenRule bedtime = new AutomaticZenRule.Builder("Bedtime Mode (TM)", CONDITION_ID)
+ .setType(TYPE_BEDTIME)
+ .build();
+ String bedtimeRuleId = mZenModeHelper.addAutomaticZenRule("pkg", bedtime, UPDATE_ORIGIN_APP,
+ "reason", CUSTOM_PKG_UID);
+
+ // Create immersive rule
+ AutomaticZenRule immersive = new AutomaticZenRule.Builder("Immersed", CONDITION_ID)
+ .setType(TYPE_IMMERSIVE)
+ .build();
+ String immersiveId = mZenModeHelper.addAutomaticZenRule("pkg", immersive, UPDATE_ORIGIN_APP,
+ "reason", CUSTOM_PKG_UID);
+
+ // Event 2: Activate bedtime rule
+ mZenModeHelper.setAutomaticZenRuleState(bedtimeRuleId,
+ new Condition(bedtime.getConditionId(), "", STATE_TRUE, SOURCE_SCHEDULE),
+ UPDATE_ORIGIN_APP, CUSTOM_PKG_UID);
+
+ // Event 3: Turn immersive on
+ mZenModeHelper.setAutomaticZenRuleState(immersiveId,
+ new Condition(immersive.getConditionId(), "", STATE_TRUE, SOURCE_SCHEDULE),
+ UPDATE_ORIGIN_APP, CUSTOM_PKG_UID);
+
+ // Event 4: Turn off bedtime mode, leaving just unknown + immersive
+ mZenModeHelper.setAutomaticZenRuleState(bedtimeRuleId,
+ new Condition(bedtime.getConditionId(), "", STATE_FALSE, SOURCE_SCHEDULE),
+ UPDATE_ORIGIN_APP, CUSTOM_PKG_UID);
+
+ // Total of 4 events
+ assertEquals(4, mZenModeEventLogger.numLoggedChanges());
+
+ // First event: DND_TURNED_ON; active rules: 1; type is ACTIVE_RULE_TYPE_MANUAL
+ assertThat(mZenModeEventLogger.getEventId(0)).isEqualTo(
+ ZenModeEventLogger.ZenStateChangedEvent.DND_TURNED_ON.getId());
+ assertThat(mZenModeEventLogger.getChangedRuleType(0)).isEqualTo(
+ DNDProtoEnums.MANUAL_RULE);
+ assertThat(mZenModeEventLogger.getNumRulesActive(0)).isEqualTo(1);
+ int[] ruleTypes0 = mZenModeEventLogger.getActiveRuleTypes(0);
+ assertThat(ruleTypes0.length).isEqualTo(1);
+ assertThat(ruleTypes0[0]).isEqualTo(ACTIVE_RULE_TYPE_MANUAL);
+
+ // Second event: active rules: 2; types are TYPE_MANUAL and TYPE_BEDTIME
+ assertThat(mZenModeEventLogger.getChangedRuleType(1)).isEqualTo(
+ DNDProtoEnums.AUTOMATIC_RULE);
+ assertThat(mZenModeEventLogger.getNumRulesActive(1)).isEqualTo(2);
+ int[] ruleTypes1 = mZenModeEventLogger.getActiveRuleTypes(1);
+ assertThat(ruleTypes1.length).isEqualTo(2);
+ assertThat(ruleTypes1[0]).isEqualTo(TYPE_BEDTIME);
+ assertThat(ruleTypes1[1]).isEqualTo(ACTIVE_RULE_TYPE_MANUAL);
+
+ // Third event: active rules: 3
+ assertThat(mZenModeEventLogger.getEventId(2)).isEqualTo(
+ ZenModeEventLogger.ZenStateChangedEvent.DND_ACTIVE_RULES_CHANGED.getId());
+ assertThat(mZenModeEventLogger.getChangedRuleType(2)).isEqualTo(
+ DNDProtoEnums.AUTOMATIC_RULE);
+ int[] ruleTypes2 = mZenModeEventLogger.getActiveRuleTypes(2);
+ assertThat(ruleTypes2.length).isEqualTo(3);
+ assertThat(ruleTypes2[0]).isEqualTo(TYPE_BEDTIME);
+ assertThat(ruleTypes2[1]).isEqualTo(TYPE_IMMERSIVE);
+ assertThat(ruleTypes2[2]).isEqualTo(ACTIVE_RULE_TYPE_MANUAL);
+
+ // Fourth event: active rules 2, types are TYPE_MANUAL and TYPE_IMMERSIVE
+ assertThat(mZenModeEventLogger.getEventId(3)).isEqualTo(
+ ZenModeEventLogger.ZenStateChangedEvent.DND_ACTIVE_RULES_CHANGED.getId());
+ assertThat(mZenModeEventLogger.getChangedRuleType(3)).isEqualTo(
+ DNDProtoEnums.AUTOMATIC_RULE);
+ int[] ruleTypes3 = mZenModeEventLogger.getActiveRuleTypes(3);
+ assertThat(ruleTypes3.length).isEqualTo(2);
+ assertThat(ruleTypes3[0]).isEqualTo(TYPE_IMMERSIVE);
+ assertThat(ruleTypes3[1]).isEqualTo(ACTIVE_RULE_TYPE_MANUAL);
+ }
+
+ @Test
@DisableFlags(Flags.FLAG_MODES_API)
public void testUpdateConsolidatedPolicy_preModesApiDefaultRulesOnly_takesGlobalDefault() {
setupZenConfig();
@@ -4701,19 +4790,26 @@
verify(mDeviceEffectsApplier).apply(eq(NO_EFFECTS), eq(UPDATE_ORIGIN_INIT));
String ruleId = addRuleWithEffects(
- new ZenDeviceEffects.Builder().setShouldDisplayGrayscale(true).build());
+ new ZenDeviceEffects.Builder()
+ .setShouldDisplayGrayscale(true)
+ .addExtraEffect("ONE")
+ .build());
mZenModeHelper.setAutomaticZenRuleState(ruleId, CONDITION_TRUE, UPDATE_ORIGIN_APP,
CUSTOM_PKG_UID);
mTestableLooper.processAllMessages();
verify(mDeviceEffectsApplier).apply(
eq(new ZenDeviceEffects.Builder()
.setShouldDisplayGrayscale(true)
+ .addExtraEffect("ONE")
.build()),
eq(UPDATE_ORIGIN_APP));
// Now create and activate a second rule that adds more effects.
String secondRuleId = addRuleWithEffects(
- new ZenDeviceEffects.Builder().setShouldDimWallpaper(true).build());
+ new ZenDeviceEffects.Builder()
+ .setShouldDimWallpaper(true)
+ .addExtraEffect("TWO")
+ .build());
mZenModeHelper.setAutomaticZenRuleState(secondRuleId, CONDITION_TRUE, UPDATE_ORIGIN_APP,
CUSTOM_PKG_UID);
mTestableLooper.processAllMessages();
@@ -4722,6 +4818,7 @@
eq(new ZenDeviceEffects.Builder()
.setShouldDisplayGrayscale(true)
.setShouldDimWallpaper(true)
+ .setExtraEffects(ImmutableSet.of("ONE", "TWO"))
.build()),
eq(UPDATE_ORIGIN_APP));
}
@@ -4732,7 +4829,10 @@
mZenModeHelper.setDeviceEffectsApplier(mDeviceEffectsApplier);
verify(mDeviceEffectsApplier).apply(eq(NO_EFFECTS), eq(UPDATE_ORIGIN_INIT));
- ZenDeviceEffects zde = new ZenDeviceEffects.Builder().setShouldUseNightMode(true).build();
+ ZenDeviceEffects zde = new ZenDeviceEffects.Builder()
+ .setShouldUseNightMode(true)
+ .addExtraEffect("extra_effect")
+ .build();
String ruleId = addRuleWithEffects(zde);
mZenModeHelper.setAutomaticZenRuleState(ruleId, CONDITION_TRUE, UPDATE_ORIGIN_APP,
CUSTOM_PKG_UID);
@@ -4798,7 +4898,7 @@
.setDeviceEffects(effects)
.build();
return mZenModeHelper.addAutomaticZenRule(mContext.getPackageName(), rule,
- UPDATE_ORIGIN_APP, "reasons", CUSTOM_PKG_UID);
+ UPDATE_ORIGIN_SYSTEM_OR_SYSTEMUI, "reasons", Process.SYSTEM_UID);
}
@Test
diff --git a/services/tests/vibrator/src/com/android/server/vibrator/VibratorManagerServiceTest.java b/services/tests/vibrator/src/com/android/server/vibrator/VibratorManagerServiceTest.java
index bdbb6c6..7db707a 100644
--- a/services/tests/vibrator/src/com/android/server/vibrator/VibratorManagerServiceTest.java
+++ b/services/tests/vibrator/src/com/android/server/vibrator/VibratorManagerServiceTest.java
@@ -1797,7 +1797,6 @@
cancelVibrate(service); // Clean up long effect.
}
- @FlakyTest
@Test
public void onExternalVibration_withNewSameImportanceButRepeating_cancelsOngoingVibration()
throws Exception {
diff --git a/services/tests/voiceinteractiontests/src/com/android/server/voiceinteraction/SetSandboxedTrainingDataAllowedTest.java b/services/tests/voiceinteractiontests/src/com/android/server/voiceinteraction/SetSandboxedTrainingDataAllowedTest.java
deleted file mode 100644
index 159c760..0000000
--- a/services/tests/voiceinteractiontests/src/com/android/server/voiceinteraction/SetSandboxedTrainingDataAllowedTest.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.server.voiceinteraction;
-
-import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.junit.Assert.assertThrows;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-
-import android.Manifest;
-import android.app.ActivityManagerInternal;
-import android.app.AppOpsManager;
-import android.app.role.RoleManager;
-import android.content.Context;
-import android.content.pm.ApplicationInfo;
-import android.os.PermissionEnforcer;
-import android.os.Process;
-import android.os.test.FakePermissionEnforcer;
-import android.platform.test.annotations.Presubmit;
-
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-import androidx.test.filters.SmallTest;
-
-import com.android.modules.utils.testing.ExtendedMockitoRule;
-import com.android.server.LocalServices;
-import com.android.server.pm.UserManagerInternal;
-import com.android.server.pm.permission.LegacyPermissionManagerInternal;
-import com.android.server.pm.permission.PermissionManagerServiceInternal;
-import com.android.server.wm.ActivityTaskManagerInternal;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.ArgumentCaptor;
-import org.mockito.Captor;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.mockito.quality.Strictness;
-
-@SmallTest
-@Presubmit
-@RunWith(AndroidJUnit4.class)
-public class SetSandboxedTrainingDataAllowedTest {
-
- @Captor private ArgumentCaptor<Integer> mOpIdCaptor, mUidCaptor, mOpModeCaptor;
-
- @Mock
- private AppOpsManager mAppOpsManager;
-
- @Mock
- private VoiceInteractionManagerServiceImpl mVoiceInteractionManagerServiceImpl;
-
- private FakePermissionEnforcer mPermissionEnforcer = new FakePermissionEnforcer();
-
- private Context mContext;
-
- private VoiceInteractionManagerService mVoiceInteractionManagerService;
- private VoiceInteractionManagerService.VoiceInteractionManagerServiceStub
- mVoiceInteractionManagerServiceStub;
-
- private ApplicationInfo mApplicationInfo = new ApplicationInfo();
-
- @Rule
- public final ExtendedMockitoRule mExtendedMockitoRule =
- new ExtendedMockitoRule.Builder(this)
- .setStrictness(Strictness.WARN)
- .mockStatic(LocalServices.class)
- .mockStatic(PermissionEnforcer.class)
- .build();
-
- @Before
- public void setUp() {
- MockitoAnnotations.initMocks(this);
-
- mContext = spy(ApplicationProvider.getApplicationContext());
-
- doReturn(mPermissionEnforcer).when(() -> PermissionEnforcer.fromContext(any()));
- doReturn(mock(PermissionManagerServiceInternal.class)).when(
- () -> LocalServices.getService(PermissionManagerServiceInternal.class));
- doReturn(mock(ActivityManagerInternal.class)).when(
- () -> LocalServices.getService(ActivityManagerInternal.class));
- doReturn(mock(UserManagerInternal.class)).when(
- () -> LocalServices.getService(UserManagerInternal.class));
- doReturn(mock(ActivityTaskManagerInternal.class)).when(
- () -> LocalServices.getService(ActivityTaskManagerInternal.class));
- doReturn(mock(LegacyPermissionManagerInternal.class)).when(
- () -> LocalServices.getService(LegacyPermissionManagerInternal.class));
- doReturn(mock(RoleManager.class)).when(mContext).getSystemService(RoleManager.class);
- doReturn(mAppOpsManager).when(mContext).getSystemService(Context.APP_OPS_SERVICE);
- doReturn(mApplicationInfo).when(mVoiceInteractionManagerServiceImpl).getApplicationInfo();
-
- mVoiceInteractionManagerService = new VoiceInteractionManagerService(mContext);
- mVoiceInteractionManagerServiceStub =
- mVoiceInteractionManagerService.new VoiceInteractionManagerServiceStub();
- mVoiceInteractionManagerServiceStub.mImpl = mVoiceInteractionManagerServiceImpl;
- mPermissionEnforcer.grant(Manifest.permission.MANAGE_HOTWORD_DETECTION);
- }
-
- @Test
- public void setShouldReceiveSandboxedTrainingData_currentAndPreinstalledAssistant_setsOp() {
- // Set application info so current app is the current and preinstalled assistant.
- mApplicationInfo.uid = Process.myUid();
- mApplicationInfo.flags = ApplicationInfo.FLAG_SYSTEM;
-
- mVoiceInteractionManagerServiceStub.setShouldReceiveSandboxedTrainingData(
- /* allowed= */ true);
-
- verify(mAppOpsManager).setUidMode(mOpIdCaptor.capture(), mUidCaptor.capture(),
- mOpModeCaptor.capture());
- assertThat(mOpIdCaptor.getValue()).isEqualTo(
- AppOpsManager.OP_RECEIVE_SANDBOXED_DETECTION_TRAINING_DATA);
- assertThat(mOpModeCaptor.getValue()).isEqualTo(AppOpsManager.MODE_ALLOWED);
- assertThat(mUidCaptor.getValue()).isEqualTo(Process.myUid());
- }
-
- @Test
- public void setShouldReceiveSandboxedTrainingData_missingPermission_doesNotSetOp() {
- // Set application info so current app is the current and preinstalled assistant.
- mApplicationInfo.uid = Process.myUid();
- mApplicationInfo.flags = ApplicationInfo.FLAG_SYSTEM;
-
- // Simulate missing MANAGE_HOTWORD_DETECTION permission.
- mPermissionEnforcer.revoke(Manifest.permission.MANAGE_HOTWORD_DETECTION);
-
- assertThrows(SecurityException.class,
- () -> mVoiceInteractionManagerServiceStub.setShouldReceiveSandboxedTrainingData(
- /* allowed= */ true));
-
- verify(mAppOpsManager, never()).setUidMode(anyInt(), anyInt(), anyInt());
- }
-
- @Test
- public void setShouldReceiveSandboxedTrainingData_notPreinstalledAssistant_doesNotSetOp() {
- // Set application info so current app is not preinstalled assistant.
- mApplicationInfo.uid = Process.myUid();
- mApplicationInfo.flags = ApplicationInfo.FLAG_INSTALLED; // Does not contain FLAG_SYSTEM.
-
- assertThrows(SecurityException.class,
- () -> mVoiceInteractionManagerServiceStub.setShouldReceiveSandboxedTrainingData(
- /* allowed= */ true));
-
- verify(mAppOpsManager, never()).setUidMode(anyInt(), anyInt(), anyInt());
- }
-
- @Test
- public void setShouldReceiveSandboxedTrainingData_notCurrentAssistant_doesNotSetOp() {
- // Set application info so current app is not current assistant.
- mApplicationInfo.uid = Process.SHELL_UID; // Set current assistant uid to shell UID.
- mApplicationInfo.flags = ApplicationInfo.FLAG_SYSTEM;
-
- assertThrows(SecurityException.class,
- () -> mVoiceInteractionManagerServiceStub.setShouldReceiveSandboxedTrainingData(
- /* allowed= */ true));
-
- verify(mAppOpsManager, never()).setUidMode(anyInt(), anyInt(), anyInt());
- }
-}
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 29faed1..847c9d0 100644
--- a/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java
@@ -413,6 +413,7 @@
});
doReturn(null).when(mMockPackageManager).getDefaultHomeActivity(anyInt());
doReturn(mMockPackageManager).when(mAtm).getPackageManagerInternalLocked();
+ doReturn("packageName").when(mMockPackageManager).getNameForUid(anyInt());
doReturn(false).when(mMockPackageManager).isInstantAppInstallerComponent(any());
doReturn(null).when(mMockPackageManager).resolveIntent(any(), any(), anyLong(), anyLong(),
anyInt(), anyBoolean(), anyInt());
diff --git a/services/tests/wmtests/src/com/android/server/wm/BackgroundActivityStartControllerTests.java b/services/tests/wmtests/src/com/android/server/wm/BackgroundActivityStartControllerTests.java
new file mode 100644
index 0000000..c99fda9
--- /dev/null
+++ b/services/tests/wmtests/src/com/android/server/wm/BackgroundActivityStartControllerTests.java
@@ -0,0 +1,254 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.wm;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
+
+import android.app.ActivityOptions;
+import android.app.AppOpsManager;
+import android.app.BackgroundStartPrivileges;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManagerInternal;
+import android.platform.test.annotations.Presubmit;
+import android.provider.DeviceConfig;
+
+import androidx.test.filters.SmallTest;
+
+import com.android.compatibility.common.util.DeviceConfigStateHelper;
+import com.android.server.am.PendingIntentRecord;
+import com.android.server.wm.BackgroundActivityStartController.BalVerdict;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.mockito.quality.Strictness;
+
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Tests for the {@link ActivityStarter} class.
+ *
+ * Build/Install/Run:
+ * atest WmTests:BackgroundActivityStartControllerTests
+ */
+@SmallTest
+@Presubmit
+@RunWith(JUnit4.class)
+public class BackgroundActivityStartControllerTests {
+
+ private static final int REGULAR_UID_1 = 10001;
+ private static final int REGULAR_UID_2 = 10002;
+ private static final int NO_UID = 01;
+ private static final int REGULAR_PID_1 = 11001;
+ private static final int REGULAR_PID_2 = 11002;
+ private static final int NO_PID = 01;
+ private static final String REGULAR_PACKAGE_1 = "package.app1";
+ private static final String REGULAR_PACKAGE_2 = "package.app2";
+
+ public @Rule MockitoRule mMockitoRule = MockitoJUnit.rule().strictness(Strictness.STRICT_STUBS);
+
+ BackgroundActivityStartController mController;
+ @Mock
+ ActivityMetricsLogger mActivityMetricsLogger;
+ @Mock
+ WindowProcessController mCallerApp;
+ DeviceConfigStateHelper mDeviceConfig = new DeviceConfigStateHelper(
+ DeviceConfig.NAMESPACE_WINDOW_MANAGER);
+ @Mock
+ ActivityRecord mResultRecord;
+
+ @Mock
+ ActivityTaskManagerService mService;
+ @Mock
+ Context /* mService. */ mContext;
+ @Mock
+ PackageManagerInternal /* mService. */ mPackageManagerInternal;
+ @Mock
+ RootWindowContainer /* mService. */ mRootWindowContainer;
+ @Mock
+ AppOpsManager mAppOpsManager;
+ MirrorActiveUids mActiveUids = new MirrorActiveUids();
+ WindowProcessControllerMap mProcessMap = new WindowProcessControllerMap();
+
+ @Mock
+ ActivityTaskSupervisor mSupervisor;
+ @Mock
+ RecentTasks /* mSupervisor. */ mRecentTasks;
+
+ @Mock
+ PendingIntentRecord mPendingIntentRecord; // just so we can pass a non-null instance
+
+ record BalAllowedLog(String packageName, int code) {
+ }
+
+ List<String> mShownToasts = new ArrayList<>();
+ List<BalAllowedLog> mBalAllowedLogs = new ArrayList<>();
+
+ @Before
+ public void setUp() throws Exception {
+ // wire objects
+ mService.mTaskSupervisor = mSupervisor;
+ mService.mContext = mContext;
+ setViaReflection(mService, "mActiveUids", mActiveUids);
+ Mockito.when(mService.getPackageManagerInternalLocked()).thenReturn(
+ mPackageManagerInternal);
+ mService.mRootWindowContainer = mRootWindowContainer;
+ Mockito.when(mService.getAppOpsManager()).thenReturn(mAppOpsManager);
+ setViaReflection(mService, "mProcessMap", mProcessMap);
+
+ //Mockito.when(mSupervisor.getBackgroundActivityLaunchController()).thenReturn(mController);
+ setViaReflection(mSupervisor, "mRecentTasks", mRecentTasks);
+
+ mController = new BackgroundActivityStartController(mService, mSupervisor) {
+ @Override
+ protected void showToast(String toastText) {
+ mShownToasts.add(toastText);
+ }
+
+ @Override
+ protected void writeBalAllowedLog(String activityName, int code,
+ BackgroundActivityStartController.BalState state) {
+ mBalAllowedLogs.add(new BalAllowedLog(activityName, code));
+ }
+ };
+
+ // safe defaults
+ Mockito.when(mAppOpsManager.checkOpNoThrow(
+ eq(AppOpsManager.OP_SYSTEM_EXEMPT_FROM_ACTIVITY_BG_START_RESTRICTION),
+ anyInt(), anyString())).thenReturn(AppOpsManager.MODE_DEFAULT);
+ Mockito.when(mCallerApp.areBackgroundActivityStartsAllowed(anyInt())).thenReturn(
+ BalVerdict.BLOCK);
+
+ }
+
+ private void setViaReflection(Object o, String property, Object value) {
+ try {
+ Field field = o.getClass().getDeclaredField(property);
+ field.setAccessible(true);
+ field.set(o, value);
+ } catch (IllegalAccessException | NoSuchFieldException e) {
+ throw new IllegalArgumentException("Cannot set " + property + " of " + o.getClass(), e);
+ }
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ }
+
+ @Test
+ public void testRegularActivityStart_noExemption_isBlocked() {
+ // setup state
+
+ // prepare call
+ int callingUid = REGULAR_UID_1;
+ int callingPid = REGULAR_PID_1;
+ final String callingPackage = REGULAR_PACKAGE_1;
+ int realCallingUid = NO_UID;
+ int realCallingPid = NO_PID;
+ PendingIntentRecord originatingPendingIntent = null;
+ BackgroundStartPrivileges forcedBalByPiSender = BackgroundStartPrivileges.NONE;
+ Intent intent = new Intent();
+ ActivityOptions checkedOptions = ActivityOptions.makeBasic();
+
+ // call
+ BalVerdict verdict = mController.checkBackgroundActivityStart(callingUid, callingPid,
+ callingPackage, realCallingUid, realCallingPid, mCallerApp,
+ originatingPendingIntent, forcedBalByPiSender, mResultRecord, intent,
+ checkedOptions);
+
+ // assertions
+ assertThat(verdict.getCode()).isEqualTo(BackgroundActivityStartController.BAL_BLOCK);
+
+ assertThat(mBalAllowedLogs).isEmpty();
+ }
+
+ @Test
+ public void testRegularActivityStart_allowedBLPC_isAllowed() {
+ // setup state
+ BalVerdict blpcVerdict = new BalVerdict(
+ BackgroundActivityStartController.BAL_ALLOW_PERMISSION, true, "Allowed by BLPC");
+ Mockito.when(mCallerApp.areBackgroundActivityStartsAllowed(anyInt())).thenReturn(
+ blpcVerdict);
+
+ // prepare call
+ int callingUid = REGULAR_UID_1;
+ int callingPid = REGULAR_PID_1;
+ final String callingPackage = REGULAR_PACKAGE_1;
+ int realCallingUid = NO_UID;
+ int realCallingPid = NO_PID;
+ PendingIntentRecord originatingPendingIntent = null;
+ BackgroundStartPrivileges forcedBalByPiSender = BackgroundStartPrivileges.NONE;
+ Intent intent = new Intent();
+ ActivityOptions checkedOptions = ActivityOptions.makeBasic();
+
+ // call
+ BalVerdict verdict = mController.checkBackgroundActivityStart(callingUid, callingPid,
+ callingPackage, realCallingUid, realCallingPid, mCallerApp,
+ originatingPendingIntent, forcedBalByPiSender, mResultRecord, intent,
+ checkedOptions);
+
+ // assertions
+ assertThat(verdict).isEqualTo(blpcVerdict);
+ assertThat(mBalAllowedLogs).containsExactly(
+ new BalAllowedLog("", BackgroundActivityStartController.BAL_ALLOW_PERMISSION));
+ }
+
+ @Test
+ public void testRegularActivityStart_allowedByCallerBLPC_isAllowed() {
+ // setup state
+ BalVerdict blpcVerdict = new BalVerdict(
+ BackgroundActivityStartController.BAL_ALLOW_PERMISSION, true, "Allowed by BLPC");
+ Mockito.when(mCallerApp.areBackgroundActivityStartsAllowed(anyInt())).thenReturn(
+ blpcVerdict);
+
+ // prepare call
+ int callingUid = REGULAR_UID_1;
+ int callingPid = REGULAR_PID_1;
+ final String callingPackage = REGULAR_PACKAGE_1;
+ int realCallingUid = REGULAR_UID_2;
+ int realCallingPid = REGULAR_PID_2;
+ PendingIntentRecord originatingPendingIntent = mPendingIntentRecord;
+ BackgroundStartPrivileges forcedBalByPiSender = BackgroundStartPrivileges.NONE;
+ Intent intent = new Intent();
+ ActivityOptions checkedOptions = ActivityOptions.makeBasic();
+
+ // call
+ BalVerdict verdict = mController.checkBackgroundActivityStart(callingUid, callingPid,
+ callingPackage, realCallingUid, realCallingPid, mCallerApp,
+ originatingPendingIntent, forcedBalByPiSender, mResultRecord, intent,
+ checkedOptions);
+
+ // assertions
+ assertThat(verdict).isEqualTo(blpcVerdict);
+ assertThat(mBalAllowedLogs).containsExactly(
+ new BalAllowedLog("", BackgroundActivityStartController.BAL_ALLOW_PERMISSION));
+ }
+}
diff --git a/services/usb/java/com/android/server/usb/UsbPortManager.java b/services/usb/java/com/android/server/usb/UsbPortManager.java
index fc7c6a6..55a8923 100644
--- a/services/usb/java/com/android/server/usb/UsbPortManager.java
+++ b/services/usb/java/com/android/server/usb/UsbPortManager.java
@@ -319,6 +319,16 @@
}
/**
+ * Returns true if the provided port supports changing its mode.
+ */
+ public boolean isModeChangeSupported(String portId) {
+ synchronized (mLock) {
+ final PortInfo portInfo = mPorts.get(portId);
+ return portInfo != null ? portInfo.mCanChangeMode : false;
+ }
+ }
+
+ /**
* Enables/disables contaminant detection.
*
* @param portId port identifier.
diff --git a/services/usb/java/com/android/server/usb/UsbService.java b/services/usb/java/com/android/server/usb/UsbService.java
index fb13b33..530a39e 100644
--- a/services/usb/java/com/android/server/usb/UsbService.java
+++ b/services/usb/java/com/android/server/usb/UsbService.java
@@ -781,6 +781,20 @@
}
}
+ @android.annotation.EnforcePermission(android.Manifest.permission.MANAGE_USB)
+ @Override
+ public boolean isModeChangeSupported(String portId) {
+ isModeChangeSupported_enforcePermission();
+ Objects.requireNonNull(portId, "portId must not be null");
+
+ final long ident = Binder.clearCallingIdentity();
+ try {
+ return mPortManager != null ? mPortManager.isModeChangeSupported(portId) : false;
+ } finally {
+ Binder.restoreCallingIdentity(ident);
+ }
+ }
+
@Override
public void setPortRoles(String portId, int powerRole, int dataRole) {
Objects.requireNonNull(portId, "portId must not be null");
diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/DetectorSession.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/DetectorSession.java
index fb18375..20a0850 100644
--- a/services/voiceinteraction/java/com/android/server/voiceinteraction/DetectorSession.java
+++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/DetectorSession.java
@@ -19,7 +19,6 @@
import static android.Manifest.permission.CAPTURE_AUDIO_HOTWORD;
import static android.Manifest.permission.LOG_COMPAT_CHANGE;
import static android.Manifest.permission.READ_COMPAT_CHANGE_CONFIG;
-import static android.Manifest.permission.RECEIVE_SANDBOXED_DETECTION_TRAINING_DATA;
import static android.Manifest.permission.RECORD_AUDIO;
import static android.app.AppOpsManager.MODE_ALLOWED;
import static android.app.AppOpsManager.MODE_DEFAULT;
@@ -30,8 +29,6 @@
import static android.service.voice.HotwordDetectionService.INITIALIZATION_STATUS_UNKNOWN;
import static android.service.voice.HotwordDetectionService.KEY_INITIALIZATION_STATUS;
import static android.service.voice.HotwordDetectionServiceFailure.ERROR_CODE_COPY_AUDIO_DATA_FAILURE;
-import static android.service.voice.HotwordDetectionServiceFailure.ERROR_CODE_ON_TRAINING_DATA_EGRESS_LIMIT_EXCEEDED;
-import static android.service.voice.HotwordDetectionServiceFailure.ERROR_CODE_ON_TRAINING_DATA_SECURITY_EXCEPTION;
import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTION_SERVICE_INIT_RESULT_REPORTED__RESULT__CALLBACK_INIT_STATE_ERROR;
import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTION_SERVICE_INIT_RESULT_REPORTED__RESULT__CALLBACK_INIT_STATE_SUCCESS;
@@ -51,10 +48,6 @@
import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__DETECT_SECURITY_EXCEPTION;
import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__DETECT_UNEXPECTED_CALLBACK;
import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__REJECT_UNEXPECTED_CALLBACK;
-import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__TRAINING_DATA;
-import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__TRAINING_DATA_EGRESS_LIMIT_REACHED;
-import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__TRAINING_DATA_REMOTE_EXCEPTION;
-import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__TRAINING_DATA_SECURITY_EXCEPTION;
import static com.android.internal.util.FrameworkStatsLog.HOTWORD_EVENT_EGRESS_SIZE__EVENT_TYPE__HOTWORD_DETECTION;
import static com.android.internal.util.FrameworkStatsLog.HOTWORD_EVENT_EGRESS_SIZE__EVENT_TYPE__HOTWORD_REJECTION;
import static com.android.internal.util.FrameworkStatsLog.HOTWORD_EVENT_EGRESS_SIZE__EVENT_TYPE__HOTWORD_TRAINING_DATA;
@@ -76,9 +69,7 @@
import android.os.Bundle;
import android.os.IBinder;
import android.os.IRemoteCallback;
-import android.os.Parcel;
import android.os.ParcelFileDescriptor;
-import android.os.Parcelable;
import android.os.PersistableBundle;
import android.os.RemoteException;
import android.os.SharedMemory;
@@ -87,8 +78,6 @@
import android.service.voice.HotwordDetectionServiceFailure;
import android.service.voice.HotwordDetector;
import android.service.voice.HotwordRejectedResult;
-import android.service.voice.HotwordTrainingData;
-import android.service.voice.HotwordTrainingDataLimitEnforcer;
import android.service.voice.IDspHotwordDetectionCallback;
import android.service.voice.IMicrophoneHotwordDetectionVoiceInteractionCallback;
import android.service.voice.VisualQueryDetectionServiceFailure;
@@ -99,7 +88,6 @@
import com.android.internal.annotations.GuardedBy;
import com.android.internal.app.IHotwordRecognitionStatusCallback;
import com.android.internal.infra.AndroidFuture;
-import com.android.internal.os.BackgroundThread;
import com.android.server.LocalServices;
import com.android.server.policy.AppOpsPolicy;
import com.android.server.voiceinteraction.VoiceInteractionManagerServiceImpl.DetectorRemoteExceptionListener;
@@ -142,9 +130,6 @@
private static final String HOTWORD_DETECTION_OP_MESSAGE =
"Providing hotword detection result to VoiceInteractionService";
- private static final String HOTWORD_TRAINING_DATA_OP_MESSAGE =
- "Providing hotword training data to VoiceInteractionService";
-
// The error codes are used for onHotwordDetectionServiceFailure callback.
// Define these due to lines longer than 100 characters.
static final int ONDETECTED_GOT_SECURITY_EXCEPTION =
@@ -529,7 +514,6 @@
if (result != null) {
Slog.i(TAG, "Egressed 'hotword rejected result' "
+ "from hotword trusted process");
- logEgressSizeStats(result);
if (mDebugHotwordLogging) {
Slog.i(TAG, "Egressed detected result: " + result);
}
@@ -538,25 +522,6 @@
}
@Override
- public void onTrainingData(HotwordTrainingData data)
- throws RemoteException {
- sendTrainingData(new TrainingDataEgressCallback() {
- @Override
- public void onHotwordDetectionServiceFailure(
- HotwordDetectionServiceFailure failure)
- throws RemoteException {
- callback.onHotwordDetectionServiceFailure(failure);
- }
-
- @Override
- public void onTrainingData(HotwordTrainingData data)
- throws RemoteException {
- callback.onTrainingData(data);
- }
- }, data);
- }
-
- @Override
public void onDetected(HotwordDetectedResult triggerResult)
throws RemoteException {
synchronized (mLock) {
@@ -622,7 +587,6 @@
Slog.i(TAG, "Egressed "
+ HotwordDetectedResult.getUsageSize(newResult)
+ " bits from hotword trusted process");
- logEgressSizeStats(newResult);
if (mDebugHotwordLogging) {
Slog.i(TAG,
"Egressed detected result: " + newResult);
@@ -639,134 +603,6 @@
mVoiceInteractionServiceUid);
}
- void logEgressSizeStats(HotwordTrainingData data) {
- logEgressSizeStats(data, HOTWORD_EVENT_TYPE_TRAINING_DATA);
- }
-
- void logEgressSizeStats(HotwordDetectedResult data) {
- logEgressSizeStats(data, HOTWORD_EVENT_TYPE_DETECTION);
-
- }
-
- void logEgressSizeStats(HotwordRejectedResult data) {
- logEgressSizeStats(data, HOTWORD_EVENT_TYPE_REJECTION);
- }
-
- /** Logs event size stats for events egressed from trusted hotword detection service. */
- private void logEgressSizeStats(Parcelable data, int eventType) {
- BackgroundThread.getExecutor().execute(() -> {
- Parcel parcel = Parcel.obtain();
- parcel.writeValue(data);
- int dataSizeBytes = parcel.dataSize();
- parcel.recycle();
-
- HotwordMetricsLogger.writeHotwordDataEgressSize(eventType, dataSizeBytes,
- getDetectorType(), mVoiceInteractionServiceUid);
- });
- }
-
- /** Used to send training data.
- *
- * @hide
- */
- interface TrainingDataEgressCallback {
- /** Called to send training data */
- void onTrainingData(HotwordTrainingData trainingData) throws RemoteException;
-
- /** Called to inform failure to send training data. */
- void onHotwordDetectionServiceFailure(HotwordDetectionServiceFailure failure) throws
- RemoteException;
-
- }
-
- /** Default implementation to send training data from {@link HotwordDetectionService}
- * to {@link HotwordDetector}.
- *
- * <p> Verifies RECEIVE_SANDBOXED_DETECTION_TRAINING_DATA permission has been
- * granted and training data egress is within daily limit.
- *
- * @param callback used to send training data or inform of failures to send training data.
- * @param data training data to egress.
- *
- * @hide
- */
- void sendTrainingData(
- TrainingDataEgressCallback callback, HotwordTrainingData data) throws RemoteException {
- Slog.d(TAG, "onTrainingData()");
- int detectorType = getDetectorType();
- HotwordMetricsLogger.writeKeyphraseTriggerEvent(
- detectorType,
- HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__TRAINING_DATA,
- mVoiceInteractionServiceUid);
-
- // Check training data permission is granted.
- try {
- enforcePermissionForTrainingDataDelivery();
- } catch (SecurityException e) {
- Slog.w(TAG, "Ignoring training data due to a SecurityException", e);
- HotwordMetricsLogger.writeKeyphraseTriggerEvent(
- detectorType,
- HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__TRAINING_DATA_SECURITY_EXCEPTION,
- mVoiceInteractionServiceUid);
- try {
- callback.onHotwordDetectionServiceFailure(
- new HotwordDetectionServiceFailure(
- ERROR_CODE_ON_TRAINING_DATA_SECURITY_EXCEPTION,
- "Security exception occurred"
- + "in #onTrainingData method."));
- } catch (RemoteException e1) {
- notifyOnDetectorRemoteException();
- HotwordMetricsLogger.writeDetectorEvent(
- detectorType,
- HOTWORD_DETECTOR_EVENTS__EVENT__CALLBACK_ON_ERROR_EXCEPTION,
- mVoiceInteractionServiceUid);
- throw e1;
- }
- return;
- }
-
- // Check whether within daily egress limit.
- boolean withinEgressLimit = HotwordTrainingDataLimitEnforcer.getInstance(mContext)
- .incrementEgressCount();
- if (!withinEgressLimit) {
- Slog.d(TAG, "Ignoring training data as exceeded egress limit.");
- HotwordMetricsLogger.writeKeyphraseTriggerEvent(
- detectorType,
- HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__TRAINING_DATA_EGRESS_LIMIT_REACHED,
- mVoiceInteractionServiceUid);
- try {
- callback.onHotwordDetectionServiceFailure(
- new HotwordDetectionServiceFailure(
- ERROR_CODE_ON_TRAINING_DATA_EGRESS_LIMIT_EXCEEDED,
- "Training data egress limit exceeded."));
- } catch (RemoteException e) {
- notifyOnDetectorRemoteException();
- HotwordMetricsLogger.writeDetectorEvent(
- detectorType,
- HOTWORD_DETECTOR_EVENTS__EVENT__CALLBACK_ON_ERROR_EXCEPTION,
- mVoiceInteractionServiceUid);
- throw e;
- }
- return;
- }
-
- try {
- Slog.i(TAG, "Egressing training data from hotword trusted process.");
- if (mDebugHotwordLogging) {
- Slog.d(TAG, "Egressing hotword training data " + data);
- }
- callback.onTrainingData(data);
- } catch (RemoteException e) {
- notifyOnDetectorRemoteException();
- HotwordMetricsLogger.writeKeyphraseTriggerEvent(
- detectorType,
- HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__TRAINING_DATA_REMOTE_EXCEPTION,
- mVoiceInteractionServiceUid);
- throw e;
- }
- logEgressSizeStats(data);
- }
-
void initialize(@Nullable PersistableBundle options, @Nullable SharedMemory sharedMemory) {
synchronized (mLock) {
if (mInitialized || mDestroyed) {
@@ -955,27 +791,6 @@
}
/**
- * Enforces permission for training data delivery.
- *
- * <p> Throws a {@link SecurityException} if training data egress permission is not granted.
- */
- void enforcePermissionForTrainingDataDelivery() {
- Binder.withCleanCallingIdentity(() -> {
- synchronized (mLock) {
- enforcePermissionForDataDelivery(mContext, mVoiceInteractorIdentity,
- RECEIVE_SANDBOXED_DETECTION_TRAINING_DATA,
- HOTWORD_TRAINING_DATA_OP_MESSAGE);
-
- mAppOpsManager.noteOpNoThrow(
- AppOpsManager.OP_RECEIVE_SANDBOXED_DETECTION_TRAINING_DATA,
- mVoiceInteractorIdentity.uid, mVoiceInteractorIdentity.packageName,
- mVoiceInteractorIdentity.attributionTag,
- HOTWORD_TRAINING_DATA_OP_MESSAGE);
- }
- });
- }
-
- /**
* Throws a {@link SecurityException} if the given identity has no permission to receive data.
*
* @param context A {@link Context}, used for permission checks.
diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/DspTrustedHotwordDetectorSession.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/DspTrustedHotwordDetectorSession.java
index 2938a58..9a4fbdc 100644
--- a/services/voiceinteraction/java/com/android/server/voiceinteraction/DspTrustedHotwordDetectorSession.java
+++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/DspTrustedHotwordDetectorSession.java
@@ -42,7 +42,6 @@
import android.service.voice.HotwordDetectionServiceFailure;
import android.service.voice.HotwordDetector;
import android.service.voice.HotwordRejectedResult;
-import android.service.voice.HotwordTrainingData;
import android.service.voice.IDspHotwordDetectionCallback;
import android.util.Slog;
@@ -186,7 +185,6 @@
if (mDebugHotwordLogging) {
Slog.i(TAG, "Egressed detected result: " + newResult);
}
- logEgressSizeStats(newResult);
}
}
@@ -229,26 +227,8 @@
if (mDebugHotwordLogging && result != null) {
Slog.i(TAG, "Egressed rejected result: " + result);
}
- logEgressSizeStats(result);
}
}
-
- @Override
- public void onTrainingData(HotwordTrainingData data) throws RemoteException {
- sendTrainingData(new TrainingDataEgressCallback() {
- @Override
- public void onHotwordDetectionServiceFailure(
- HotwordDetectionServiceFailure failure) throws RemoteException {
- externalCallback.onHotwordDetectionServiceFailure(failure);
- }
-
- @Override
- public void onTrainingData(HotwordTrainingData data)
- throws RemoteException {
- externalCallback.onTrainingData(data);
- }
- }, data);
- }
};
mValidatingDspTrigger = true;
diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/HotwordDetectionConnection.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/HotwordDetectionConnection.java
index dc8b5a1..cd390a1 100644
--- a/services/voiceinteraction/java/com/android/server/voiceinteraction/HotwordDetectionConnection.java
+++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/HotwordDetectionConnection.java
@@ -239,6 +239,7 @@
new ServiceConnectionFactory(visualQueryDetectionServiceIntent,
bindInstantServiceAllowed, DETECTION_SERVICE_TYPE_VISUAL_QUERY);
+
mLastRestartInstant = Instant.now();
AppOpsManager appOpsManager = mContext.getSystemService(AppOpsManager.class);
@@ -995,8 +996,7 @@
session = new SoftwareTrustedHotwordDetectorSession(
mRemoteHotwordDetectionService, mLock, mContext, token, callback,
mVoiceInteractionServiceUid, mVoiceInteractorIdentity,
- mScheduledExecutorService, mDebugHotwordLogging,
- mRemoteExceptionListener);
+ mScheduledExecutorService, mDebugHotwordLogging, mRemoteExceptionListener);
}
mHotwordRecognitionCallback = callback;
mDetectorSessions.put(detectorType, session);
diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/SoftwareTrustedHotwordDetectorSession.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/SoftwareTrustedHotwordDetectorSession.java
index 9de7f9a..f06c997 100644
--- a/services/voiceinteraction/java/com/android/server/voiceinteraction/SoftwareTrustedHotwordDetectorSession.java
+++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/SoftwareTrustedHotwordDetectorSession.java
@@ -40,7 +40,6 @@
import android.service.voice.HotwordDetectionServiceFailure;
import android.service.voice.HotwordDetector;
import android.service.voice.HotwordRejectedResult;
-import android.service.voice.HotwordTrainingData;
import android.service.voice.IDspHotwordDetectionCallback;
import android.service.voice.IMicrophoneHotwordDetectionVoiceInteractionCallback;
import android.service.voice.ISandboxedDetectionService;
@@ -179,7 +178,6 @@
}
Slog.i(TAG, "Egressed " + HotwordDetectedResult.getUsageSize(newResult)
+ " bits from hotword trusted process");
- logEgressSizeStats(newResult);
if (mDebugHotwordLogging) {
Slog.i(TAG, "Egressed detected result: " + newResult);
}
@@ -195,24 +193,8 @@
HotwordDetector.DETECTOR_TYPE_TRUSTED_HOTWORD_SOFTWARE,
HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__REJECTED,
mVoiceInteractionServiceUid);
- logEgressSizeStats(result);
// onRejected isn't allowed here, and we are not expecting it.
}
-
- public void onTrainingData(HotwordTrainingData data) throws RemoteException {
- sendTrainingData(new TrainingDataEgressCallback() {
- @Override
- public void onHotwordDetectionServiceFailure(
- HotwordDetectionServiceFailure failure) throws RemoteException {
- mSoftwareCallback.onHotwordDetectionServiceFailure(failure);
- }
-
- @Override
- public void onTrainingData(HotwordTrainingData data) throws RemoteException {
- mSoftwareCallback.onTrainingData(data);
- }
- }, data);
- }
};
mRemoteDetectionService.run(
diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/VisualQueryDetectorSession.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/VisualQueryDetectorSession.java
index d7b860f..e4ac993 100644
--- a/services/voiceinteraction/java/com/android/server/voiceinteraction/VisualQueryDetectorSession.java
+++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/VisualQueryDetectorSession.java
@@ -33,6 +33,7 @@
import android.service.voice.IMicrophoneHotwordDetectionVoiceInteractionCallback;
import android.service.voice.ISandboxedDetectionService;
import android.service.voice.IVisualQueryDetectionVoiceInteractionCallback;
+import android.service.voice.VisualQueryAttentionResult;
import android.service.voice.VisualQueryDetectedResult;
import android.service.voice.VisualQueryDetectionServiceFailure;
import android.util.Slog;
@@ -105,7 +106,7 @@
new IDetectorSessionVisualQueryDetectionCallback.Stub(){
@Override
- public void onAttentionGained() {
+ public void onAttentionGained(VisualQueryAttentionResult attentionResult) {
Slog.v(TAG, "BinderCallback#onAttentionGained");
synchronized (mLock) {
mEgressingData = true;
@@ -113,7 +114,7 @@
return;
}
try {
- mAttentionListener.onAttentionGained();
+ mAttentionListener.onAttentionGained(attentionResult);
} catch (RemoteException e) {
Slog.e(TAG, "Error delivering attention gained event.", e);
try {
@@ -129,7 +130,7 @@
}
@Override
- public void onAttentionLost() {
+ public void onAttentionLost(int interactionIntention) {
Slog.v(TAG, "BinderCallback#onAttentionLost");
synchronized (mLock) {
mEgressingData = false;
@@ -137,7 +138,7 @@
return;
}
try {
- mAttentionListener.onAttentionLost();
+ mAttentionListener.onAttentionLost(interactionIntention);
} catch (RemoteException e) {
Slog.e(TAG, "Error delivering attention lost event.", e);
try {
diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java
index c902d459..4cdec70 100644
--- a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java
+++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java
@@ -18,14 +18,12 @@
import android.Manifest;
import android.annotation.CallbackExecutor;
-import android.annotation.EnforcePermission;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.UserIdInt;
import android.app.ActivityManager;
import android.app.ActivityManagerInternal;
import android.app.AppGlobals;
-import android.app.AppOpsManager;
import android.app.role.OnRoleHoldersChangedListener;
import android.app.role.RoleManager;
import android.content.ComponentName;
@@ -652,8 +650,8 @@
}
private String getForceVoiceInteractionServicePackage(Resources res) {
- String interactorPackage =
- res.getString(com.android.internal.R.string.config_forceVoiceInteractionServicePackage);
+ String interactorPackage = res.getString(
+ com.android.internal.R.string.config_forceVoiceInteractionServicePackage);
return TextUtils.isEmpty(interactorPackage) ? null : interactorPackage;
}
@@ -1544,57 +1542,6 @@
}
}
- @Override
- @android.annotation.EnforcePermission(
- android.Manifest.permission.RESET_HOTWORD_TRAINING_DATA_EGRESS_COUNT)
- public void resetHotwordTrainingDataEgressCountForTest() {
- super.resetHotwordTrainingDataEgressCountForTest_enforcePermission();
- synchronized (this) {
- enforceIsCurrentVoiceInteractionService();
-
- if (mImpl == null) {
- Slog.w(TAG, "resetHotwordTrainingDataEgressCountForTest without running"
- + " voice interaction service");
- return;
- }
- final long caller = Binder.clearCallingIdentity();
- try {
- mImpl.resetHotwordTrainingDataEgressCountForTest();
- } finally {
- Binder.restoreCallingIdentity(caller);
- }
-
- }
- }
-
- @Override
- @EnforcePermission(android.Manifest.permission.MANAGE_HOTWORD_DETECTION)
- public void setShouldReceiveSandboxedTrainingData(boolean allowed) {
- super.setShouldReceiveSandboxedTrainingData_enforcePermission();
-
- synchronized (this) {
- if (mImpl == null) {
- throw new IllegalStateException(
- "setShouldReceiveSandboxedTrainingData without running voice "
- + "interaction service");
- }
-
- enforceIsCallerPreinstalledAssistant();
-
- int callingUid = Binder.getCallingUid();
- final long caller = Binder.clearCallingIdentity();
- try {
- AppOpsManager appOpsManager = (AppOpsManager)
- mContext.getSystemService(Context.APP_OPS_SERVICE);
- appOpsManager.setUidMode(
- AppOpsManager.OP_RECEIVE_SANDBOXED_DETECTION_TRAINING_DATA,
- callingUid, allowed ? AppOpsManager.MODE_ALLOWED :
- AppOpsManager.MODE_ERRORED);
- } finally {
- Binder.restoreCallingIdentity(caller);
- }
- }
- }
//----------------- Model management APIs --------------------------------//
@@ -1807,7 +1754,8 @@
enforceIsCurrentVoiceInteractionService();
if (callback == null || recognitionConfig == null || bcp47Locale == null) {
- throw new IllegalArgumentException("Illegal argument(s) in startRecognition");
+ throw new IllegalArgumentException(
+ "Illegal argument(s) in startRecognition");
}
if (runInBatterySaverMode) {
enforceCallingPermission(
@@ -2413,7 +2361,8 @@
UserHandle.USER_ALL);
}
- @Override public void onChange(boolean selfChange) {
+ @Override
+ public void onChange(boolean selfChange) {
synchronized (VoiceInteractionManagerServiceStub.this) {
switchImplementationIfNeededLocked(false);
}
@@ -2446,7 +2395,8 @@
PackageMonitor mPackageMonitor = new PackageMonitor() {
@Override
- public boolean onHandleForceStop(Intent intent, String[] packages, int uid, boolean doit) {
+ public boolean onHandleForceStop(Intent intent, String[] packages, int uid,
+ boolean doit) {
if (DEBUG) Slog.d(TAG, "onHandleForceStop uid=" + uid + " doit=" + doit);
int userHandle = UserHandle.getUserId(uid);
diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl.java
index 7e0cbad..7538142 100644
--- a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl.java
+++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl.java
@@ -61,7 +61,6 @@
import android.os.SystemProperties;
import android.os.UserHandle;
import android.service.voice.HotwordDetector;
-import android.service.voice.HotwordTrainingDataLimitEnforcer;
import android.service.voice.IMicrophoneHotwordDetectionVoiceInteractionCallback;
import android.service.voice.IVisualQueryDetectionVoiceInteractionCallback;
import android.service.voice.IVoiceInteractionService;
@@ -74,7 +73,6 @@
import android.util.Slog;
import android.view.IWindowManager;
-import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.app.IHotwordRecognitionStatusCallback;
import com.android.internal.app.IVisualQueryDetectionAttentionListener;
import com.android.internal.app.IVoiceActionCheckCallback;
@@ -998,12 +996,6 @@
}
}
- @VisibleForTesting
- void resetHotwordTrainingDataEgressCountForTest() {
- HotwordTrainingDataLimitEnforcer.getInstance(mContext.getApplicationContext())
- .resetTrainingDataEgressCount();
- }
-
void startLocked() {
Intent intent = new Intent(VoiceInteractionService.SERVICE_INTERFACE);
intent.setComponent(mComponent);
diff --git a/telecomm/java/android/telecom/PhoneAccount.java b/telecomm/java/android/telecom/PhoneAccount.java
index 6bdc43e..e6fe406 100644
--- a/telecomm/java/android/telecom/PhoneAccount.java
+++ b/telecomm/java/android/telecom/PhoneAccount.java
@@ -190,6 +190,8 @@
* this may be used to skip call filtering when it has already been performed on another device.
* @hide
*/
+ @SystemApi
+ @FlaggedApi(com.android.server.telecom.flags.Flags.FLAG_TELECOM_RESOLVE_HIDDEN_DEPENDENCIES)
public static final String EXTRA_SKIP_CALL_FILTERING =
"android.telecom.extra.SKIP_CALL_FILTERING";
diff --git a/telecomm/java/android/telecom/TelecomManager.java b/telecomm/java/android/telecom/TelecomManager.java
index 3daa014..15a978d 100644
--- a/telecomm/java/android/telecom/TelecomManager.java
+++ b/telecomm/java/android/telecom/TelecomManager.java
@@ -1611,6 +1611,26 @@
* {@link PhoneAccount} when the upper bound limit, 10, has already been reached.
*
* @param account The complete {@link PhoneAccount}.
+ * @throws UnsupportedOperationException if the caller cannot modify phone state and the device
+ * does not have the Telecom feature.
+ * @throws SecurityException if:
+ * <ol>
+ * <li>the caller cannot modify phone state and the phone account doesn't belong to the
+ * calling user.</li>
+ * <li>the caller is registering a self-managed phone and either they are not allowed to
+ * manage their own calls or if the account is call capable, a connection manager, or a
+ * sim account.</li>
+ * <li>the caller is registering a sim account without the ability to do so.</li>
+ * <li>the caller is registering a multi-user phone account but isn't a system app.</li>
+ * <li>the account can make SIM-based voice calls but the caller cannot register sim
+ * accounts or isn't a sim call manager.</li>
+ * <li>the account defines the EXTRA_SKIP_CALL_FILTERING extra but the caller isn't
+ * able to modify the phone state.</li>
+ * <li>the caller is registering an account for a different user but isn't able to
+ * interact across users.</li>
+ * <li>if simultaneous calling is available and the phone account package name doesn't
+ * correspond to the simultaneous calling accounts associated with this phone account.</li>
+ * </ol>
*/
public void registerPhoneAccount(PhoneAccount account) {
ITelecomService service = getTelecomService();
diff --git a/telephony/java/android/telephony/SubscriptionManager.java b/telephony/java/android/telephony/SubscriptionManager.java
index 7118207..cd641b8 100644
--- a/telephony/java/android/telephony/SubscriptionManager.java
+++ b/telephony/java/android/telephony/SubscriptionManager.java
@@ -1156,6 +1156,28 @@
*/
public static final String TRANSFER_STATUS = SimInfo.COLUMN_TRANSFER_STATUS;
+ /**
+ * TelephonyProvider column name for satellite entitlement status. The value of this column is
+ * set based on entitlement query result for satellite configuration.
+ * By default, it's disabled.
+ * <P>Type: INTEGER (int)</P>
+ *
+ * @hide
+ */
+ public static final String SATELLITE_ENTITLEMENT_STATUS =
+ SimInfo.COLUMN_SATELLITE_ENTITLEMENT_STATUS;
+
+ /**
+ * TelephonyProvider column name for satellite entitlement plmns. The value of this column is
+ * set based on entitlement query result for satellite configuration.
+ * By default, it's empty.
+ * <P>Type: TEXT </P>
+ *
+ * @hide
+ */
+ public static final String SATELLITE_ENTITLEMENT_PLMNS =
+ SimInfo.COLUMN_SATELLITE_ENTITLEMENT_PLMNS;
+
/** @hide */
@Retention(RetentionPolicy.SOURCE)
@IntDef(prefix = {"USAGE_SETTING_"},
diff --git a/telephony/java/android/telephony/euicc/EuiccManager.java b/telephony/java/android/telephony/euicc/EuiccManager.java
index 7935d24..e3ce766 100644
--- a/telephony/java/android/telephony/euicc/EuiccManager.java
+++ b/telephony/java/android/telephony/euicc/EuiccManager.java
@@ -1024,11 +1024,22 @@
/**
* Attempt to download the given {@link DownloadableSubscription}.
*
- * <p>Requires the {@code android.Manifest.permission#WRITE_EMBEDDED_SUBSCRIPTIONS} permission,
- * or the calling app must be authorized to manage both the currently-active subscription on the
+ * <p>Requires the {@code android.Manifest.permission#WRITE_EMBEDDED_SUBSCRIPTIONS}
+ * or the calling app must be authorized to manage both the currently-active
+ * subscription on the
* current eUICC and the subscription to be downloaded according to the subscription metadata.
* Without the former, an {@link #EMBEDDED_SUBSCRIPTION_RESULT_RESOLVABLE_ERROR} will be
- * returned in the callback intent to prompt the user to accept the download.
+ * eturned in the callback intent to prompt the user to accept the download.
+ *
+ * <p> Starting from Android {@link android.os.Build.VERSION_CODES#VANILLA_ICE_CREAM},
+ * if the caller has the
+ * {@code android.Manifest.permission#MANAGE_DEVICE_POLICY_MANAGED_SUBSCRIPTIONS} permission or
+ * is a profile owner or device owner, and
+ * {@code switchAfterDownload} is {@code false}, then the downloaded subscription
+ * will be managed by that caller. If {@code switchAfterDownload} is true,
+ * an {@link #EMBEDDED_SUBSCRIPTION_RESULT_RESOLVABLE_ERROR} will be
+ * returned in the callback intent to prompt the user to accept the download and the
+ * subscription will not be managed.
*
* <p>On a multi-active SIM device, requires the
* {@code android.Manifest.permission#WRITE_EMBEDDED_SUBSCRIPTIONS} permission, or a calling app
@@ -1061,7 +1072,9 @@
* @throws UnsupportedOperationException If the device does not have
* {@link PackageManager#FEATURE_TELEPHONY_EUICC}.
*/
- @RequiresPermission(Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS)
+ @RequiresPermission(anyOf = {
+ Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS,
+ Manifest.permission.MANAGE_DEVICE_POLICY_MANAGED_SUBSCRIPTIONS})
public void downloadSubscription(DownloadableSubscription subscription,
boolean switchAfterDownload, PendingIntent callbackIntent) {
if (!isEnabled()) {
@@ -1243,6 +1256,12 @@
* <p>Requires that the calling app has carrier privileges according to the metadata of the
* profile to be deleted, or the
* {@code android.Manifest.permission#WRITE_EMBEDDED_SUBSCRIPTIONS} permission.
+ * Starting from Android {@link android.os.Build.VERSION_CODES#VANILLA_ICE_CREAM}, if the
+ * caller is a device owner, profile owner, or holds the
+ * {@code android.Manifest.permission#MANAGE_DEVICE_POLICY_MANAGED_SUBSCRIPTIONS} permission,
+ * then the caller can delete a subscription that was downloaded by that caller.
+ * If such a caller tries to delete any other subscription then the
+ * operation will fail with {@link #EMBEDDED_SUBSCRIPTION_RESULT_ERROR}.
*
* @param subscriptionId the ID of the subscription to delete.
* @param callbackIntent a PendingIntent to launch when the operation completes.
@@ -1250,7 +1269,9 @@
* @throws UnsupportedOperationException If the device does not have
* {@link PackageManager#FEATURE_TELEPHONY_EUICC}.
*/
- @RequiresPermission(Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS)
+ @RequiresPermission(anyOf = {
+ Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS,
+ Manifest.permission.MANAGE_DEVICE_POLICY_MANAGED_SUBSCRIPTIONS})
public void deleteSubscription(int subscriptionId, PendingIntent callbackIntent) {
if (!isEnabled()) {
sendUnavailableError(callbackIntent);
diff --git a/test-mock/api/test-current.txt b/test-mock/api/test-current.txt
index 9ed0108..14f1b64 100644
--- a/test-mock/api/test-current.txt
+++ b/test-mock/api/test-current.txt
@@ -3,6 +3,7 @@
public class MockContext extends android.content.Context {
method public int getDisplayId();
+ method public void updateDisplay(int);
}
@Deprecated public class MockPackageManager extends android.content.pm.PackageManager {
diff --git a/tests/StatusBar/src/com/android/statusbartest/StatusBarTest.java b/tests/StatusBar/src/com/android/statusbartest/StatusBarTest.java
index 6bcfebc..3ab8d37 100644
--- a/tests/StatusBar/src/com/android/statusbartest/StatusBarTest.java
+++ b/tests/StatusBar/src/com/android/statusbartest/StatusBarTest.java
@@ -176,19 +176,25 @@
},
new Test("Disable Alerts") {
public void run() {
- mStatusBarManager.disable(StatusBarManager.DISABLE_NOTIFICATION_ALERTS);
+ StatusBarManager.DisableInfo info = new StatusBarManager.DisableInfo();
+ info.setNotificationPeekingDisabled(true);
+ mStatusBarManager.requestDisabledComponent(info, "test");
}
},
new Test("Disable Ticker") {
public void run() {
- mStatusBarManager.disable(StatusBarManager.DISABLE_NOTIFICATION_TICKER);
+ StatusBarManager.DisableInfo info = new StatusBarManager.DisableInfo();
+ info.setNotificationTickerDisabled(true);
+ mStatusBarManager.requestDisabledComponent(info, "test");
}
},
new Test("Disable Expand in 3 sec.") {
public void run() {
mHandler.postDelayed(new Runnable() {
public void run() {
- mStatusBarManager.disable(StatusBarManager.DISABLE_EXPAND);
+ StatusBarManager.DisableInfo info = new StatusBarManager.DisableInfo();
+ info.setStatusBarExpansionDisabled(true);
+ mStatusBarManager.requestDisabledComponent(info, "test");
}
}, 3000);
}
@@ -197,7 +203,9 @@
public void run() {
mHandler.postDelayed(new Runnable() {
public void run() {
- mStatusBarManager.disable(StatusBarManager.DISABLE_NOTIFICATION_ICONS);
+ StatusBarManager.DisableInfo info = new StatusBarManager.DisableInfo();
+ info.setNotificationIconsDisabled(true);
+ mStatusBarManager.requestDisabledComponent(info, "test");
}
}, 3000);
}
@@ -206,56 +214,73 @@
public void run() {
mHandler.postDelayed(new Runnable() {
public void run() {
- mStatusBarManager.disable(StatusBarManager.DISABLE_EXPAND
- | StatusBarManager.DISABLE_NOTIFICATION_ICONS);
+ StatusBarManager.DisableInfo info = new StatusBarManager.DisableInfo();
+ info.setStatusBarExpansionDisabled(true);
+ info.setNotificationIconsDisabled(true);
+ mStatusBarManager.requestDisabledComponent(info, "test");
}
}, 3000);
}
},
new Test("Disable Home (StatusBarManager)") {
public void run() {
- mStatusBarManager.disable(StatusBarManager.DISABLE_HOME);
+ StatusBarManager.DisableInfo info = new StatusBarManager.DisableInfo();
+ info.setNavigationHomeDisabled(true);
+ mStatusBarManager.requestDisabledComponent(info, "test");
}
},
new Test("Disable Back (StatusBarManager)") {
public void run() {
- mStatusBarManager.disable(StatusBarManager.DISABLE_BACK);
+ StatusBarManager.DisableInfo info = new StatusBarManager.DisableInfo();
+ info.setBackDisabled(true);
+ mStatusBarManager.requestDisabledComponent(info, "test");
}
},
new Test("Disable Recent (StatusBarManager)") {
public void run() {
- mStatusBarManager.disable(StatusBarManager.DISABLE_RECENT);
+ StatusBarManager.DisableInfo info = new StatusBarManager.DisableInfo();
+ info.setRecentsDisabled(true);
+ mStatusBarManager.requestDisabledComponent(info, "test");
}
},
new Test("Disable Clock") {
public void run() {
- mStatusBarManager.disable(StatusBarManager.DISABLE_CLOCK);
+ StatusBarManager.DisableInfo info = new StatusBarManager.DisableInfo();
+ info.setClockDisabled(true);
+ mStatusBarManager.requestDisabledComponent(info, "test");
}
},
new Test("Disable System Info") {
public void run() {
- mStatusBarManager.disable(StatusBarManager.DISABLE_SYSTEM_INFO);
+ StatusBarManager.DisableInfo info = new StatusBarManager.DisableInfo();
+ info.setSystemIconsDisabled(true);
+ mStatusBarManager.requestDisabledComponent(info, "test");
}
},
new Test("Disable everything in 3 sec") {
public void run() {
mHandler.postDelayed(new Runnable() {
public void run() {
- mStatusBarManager.disable(~StatusBarManager.DISABLE_NONE);
+ StatusBarManager.DisableInfo info = new StatusBarManager.DisableInfo();
+ info.setDisableAll();
+ mStatusBarManager.requestDisabledComponent(info, "test");
}
}, 3000);
}
},
new Test("Enable everything") {
public void run() {
- mStatusBarManager.disable(StatusBarManager.DISABLE_NONE);
+ StatusBarManager.DisableInfo info = new StatusBarManager.DisableInfo();
+ mStatusBarManager.requestDisabledComponent(info, "test");
}
},
new Test("Enable everything in 3 sec.") {
public void run() {
mHandler.postDelayed(new Runnable() {
public void run() {
- mStatusBarManager.disable(0);
+ StatusBarManager.DisableInfo info = new StatusBarManager.DisableInfo();
+ info.setEnableAll();
+ mStatusBarManager.requestDisabledComponent(info, "test");
}
}, 3000);
}
diff --git a/tests/UsbManagerTests/Android.bp b/tests/UsbManagerTests/Android.bp
index 70c7dad..a16a7ea 100644
--- a/tests/UsbManagerTests/Android.bp
+++ b/tests/UsbManagerTests/Android.bp
@@ -33,6 +33,8 @@
"platform-test-annotations",
"truth",
"UsbManagerTestLib",
+ "flag-junit",
+ "TestParameterInjector",
],
jni_libs: [
// Required for ExtendedMockito
diff --git a/tests/UsbManagerTests/src/android/hardware/usb/UsbPortStatusTest.java b/tests/UsbManagerTests/src/android/hardware/usb/UsbPortStatusTest.java
new file mode 100644
index 0000000..64d761d
--- /dev/null
+++ b/tests/UsbManagerTests/src/android/hardware/usb/UsbPortStatusTest.java
@@ -0,0 +1,99 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.usb;
+
+import static android.hardware.usb.UsbPortStatus.CONTAMINANT_DETECTION_NOT_SUPPORTED;
+import static android.hardware.usb.UsbPortStatus.CONTAMINANT_PROTECTION_NONE;
+import static android.hardware.usb.UsbPortStatus.DATA_ROLE_DEVICE;
+import static android.hardware.usb.UsbPortStatus.DATA_ROLE_HOST;
+import static android.hardware.usb.UsbPortStatus.DATA_ROLE_NONE;
+import static android.hardware.usb.UsbPortStatus.MODE_NONE;
+import static android.hardware.usb.UsbPortStatus.POWER_ROLE_NONE;
+import static android.hardware.usb.UsbPortStatus.POWER_ROLE_SINK;
+import static android.hardware.usb.UsbPortStatus.POWER_ROLE_SOURCE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.hardware.usb.flags.Flags;
+import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
+
+import com.google.testing.junit.testparameterinjector.TestParameter;
+import com.google.testing.junit.testparameterinjector.TestParameterInjector;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/** Tests for {@link android.hardware.usb.UsbPortStatus} */
+@RunWith(TestParameterInjector.class)
+public class UsbPortStatusTest {
+
+ @Rule
+ public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
+ @Test
+ @RequiresFlagsEnabled(Flags.FLAG_ENABLE_IS_PD_COMPLIANT_API)
+ public void testIsPdCompliant(
+ @TestParameter boolean isSinkDeviceRoleSupported,
+ @TestParameter boolean isSinkHostRoleSupported,
+ @TestParameter boolean isSourceDeviceRoleSupported,
+ @TestParameter boolean isSourceHostRoleSupported) {
+ int supportedRoleCombinations = getSupportedRoleCombinations(
+ isSinkDeviceRoleSupported,
+ isSinkHostRoleSupported,
+ isSourceDeviceRoleSupported,
+ isSourceHostRoleSupported);
+ UsbPortStatus usbPortStatus = new UsbPortStatus(
+ MODE_NONE,
+ POWER_ROLE_NONE,
+ DATA_ROLE_NONE,
+ supportedRoleCombinations,
+ CONTAMINANT_PROTECTION_NONE,
+ CONTAMINANT_DETECTION_NOT_SUPPORTED);
+ boolean expectedResult = isSinkDeviceRoleSupported
+ && isSinkHostRoleSupported
+ && isSourceDeviceRoleSupported
+ && isSourceHostRoleSupported;
+
+ assertThat(usbPortStatus.isPdCompliant()).isEqualTo(expectedResult);
+ }
+
+ private int getSupportedRoleCombinations(
+ boolean isSinkDeviceRoleSupported,
+ boolean isSinkHostRoleSupported,
+ boolean isSourceDeviceRoleSupported,
+ boolean isSourceHostRoleSupported) {
+ int result = UsbPort.combineRolesAsBit(POWER_ROLE_NONE, DATA_ROLE_NONE);
+
+ if (isSinkDeviceRoleSupported) {
+ result |= UsbPort.combineRolesAsBit(POWER_ROLE_SINK, DATA_ROLE_DEVICE);
+ }
+ if (isSinkHostRoleSupported) {
+ result |= UsbPort.combineRolesAsBit(POWER_ROLE_SINK, DATA_ROLE_HOST);
+ }
+ if (isSourceDeviceRoleSupported) {
+ result |= UsbPort.combineRolesAsBit(POWER_ROLE_SOURCE, DATA_ROLE_DEVICE);
+ }
+ if (isSourceHostRoleSupported) {
+ result |= UsbPort.combineRolesAsBit(POWER_ROLE_SOURCE, DATA_ROLE_HOST);
+ }
+
+ return result;
+ }
+}
diff --git a/tests/UsbManagerTests/src/android/hardware/usb/UsbPortTest.java b/tests/UsbManagerTests/src/android/hardware/usb/UsbPortTest.java
new file mode 100644
index 0000000..afd14193
--- /dev/null
+++ b/tests/UsbManagerTests/src/android/hardware/usb/UsbPortTest.java
@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.usb;
+
+import static android.hardware.usb.UsbPortStatus.CONTAMINANT_PROTECTION_NONE;
+import static android.hardware.usb.UsbPortStatus.MODE_NONE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import android.hardware.usb.flags.Flags;
+import android.os.RemoteException;
+import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
+
+import androidx.test.InstrumentationRegistry;
+
+import com.google.testing.junit.testparameterinjector.TestParameter;
+import com.google.testing.junit.testparameterinjector.TestParameterInjector;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/** Tests for {@link android.hardware.usb.UsbPortStatus} */
+@RunWith(TestParameterInjector.class)
+public class UsbPortTest {
+
+ private IUsbManager mMockUsbService;
+
+ @Rule
+ public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
+ private UsbManager mUsbManager;
+
+ @Before
+ public void setUp() throws Exception {
+ mMockUsbService = mock(IUsbManager.class);
+ mUsbManager = new UsbManager(InstrumentationRegistry.getContext(), mMockUsbService);
+ }
+
+ @Test
+ @RequiresFlagsEnabled(Flags.FLAG_ENABLE_IS_MODE_CHANGE_SUPPORTED_API)
+ public void testIsModeSupported(@TestParameter boolean isModeChangeSupported)
+ throws RemoteException {
+ String testPortId = "port-1";
+ when(mMockUsbService.isModeChangeSupported(testPortId)).thenReturn(isModeChangeSupported);
+ UsbPort usbPort = new UsbPort(
+ mUsbManager,
+ testPortId,
+ MODE_NONE,
+ CONTAMINANT_PROTECTION_NONE,
+ false /* supportsEnableContaminantPresenceProtection= */ ,
+ false /* supportsEnableContaminantPresenceDetection= */);
+
+ assertThat(usbPort.isModeChangeSupported()).isEqualTo(isModeChangeSupported);
+ }
+}
diff --git a/tools/protologtool/OWNERS b/tools/protologtool/OWNERS
new file mode 100644
index 0000000..18cf2be
--- /dev/null
+++ b/tools/protologtool/OWNERS
@@ -0,0 +1,3 @@
+# ProtoLog owners
+# Bug component: 1157642
+include platform/development:/tools/winscope/OWNERS
diff --git a/wifi/TEST_MAPPING b/wifi/TEST_MAPPING
index 14f5af3..757ecaa8 100644
--- a/wifi/TEST_MAPPING
+++ b/wifi/TEST_MAPPING
@@ -4,14 +4,14 @@
"name": "FrameworksWifiNonUpdatableApiTests"
}
],
+ "postsubmit": [
+ {
+ "name": "CtsWifiNonUpdatableTestCases"
+ }
+ ],
"presubmit-large": [
{
- "name": "CtsWifiTestCases",
- "options": [
- {
- "exclude-annotation": "android.net.wifi.cts.VirtualDeviceNotSupported"
- }
- ]
+ "name": "CtsWifiTestCases"
}
]
}
diff --git a/wifi/java/src/android/net/wifi/WifiKeystore.java b/wifi/java/src/android/net/wifi/WifiKeystore.java
index ca86dde..1cda032 100644
--- a/wifi/java/src/android/net/wifi/WifiKeystore.java
+++ b/wifi/java/src/android/net/wifi/WifiKeystore.java
@@ -16,6 +16,7 @@
package android.net.wifi;
import android.annotation.NonNull;
+import android.annotation.SuppressLint;
import android.annotation.SystemApi;
import android.os.Process;
import android.os.ServiceManager;
@@ -24,9 +25,11 @@
import android.util.Log;
/**
- * @hide This class allows wifi framework to store and access wifi certificate blobs.
+ * This class allows the storage and retrieval of non-standard Wifi certificate blobs.
+ * @hide
*/
-@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
+@SystemApi
+@SuppressLint("UnflaggedApi") // Promoting from @SystemApi(MODULE_LIBRARIES)
public final class WifiKeystore {
private static final String TAG = "WifiKeystore";
private static final String LEGACY_KEYSTORE_SERVICE_NAME = "android.security.legacykeystore";
@@ -48,7 +51,8 @@
* @return true if the blob was successfully added. False otherwise.
* @hide
*/
- @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
+ @SystemApi
+ @SuppressLint("UnflaggedApi")
public static boolean put(@NonNull String alias, @NonNull byte[] blob) {
try {
Log.i(TAG, "put blob. alias " + alias);
@@ -68,7 +72,8 @@
* Returns null if no blob was found.
* @hide
*/
- @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
+ @SystemApi
+ @SuppressLint("UnflaggedApi")
public static @NonNull byte[] get(@NonNull String alias) {
try {
Log.i(TAG, "get blob. alias " + alias);
@@ -89,7 +94,8 @@
* @return True if a blob was removed. False if no such blob was found.
* @hide
*/
- @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
+ @SystemApi
+ @SuppressLint("UnflaggedApi")
public static boolean remove(@NonNull String alias) {
try {
getService().remove(alias, Process.WIFI_UID);
@@ -110,7 +116,8 @@
* The return value may be empty but never null.
* @hide
*/
- @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
+ @SystemApi
+ @SuppressLint("UnflaggedApi")
public static @NonNull String[] list(@NonNull String prefix) {
try {
final String[] aliases = getService().list(prefix, Process.WIFI_UID);
@@ -123,4 +130,4 @@
}
return new String[0];
}
-}
\ No newline at end of file
+}